diff options
-rw-r--r-- | ChangeLog | 22 | ||||
-rw-r--r-- | embed/downloader-view.c | 5 | ||||
-rw-r--r-- | lib/ephy-gui.c | 55 | ||||
-rw-r--r-- | lib/ephy-gui.h | 9 | ||||
-rw-r--r-- | lib/widgets/ephy-node-view.c | 62 | ||||
-rw-r--r-- | src/bookmarks/ephy-bookmarks-editor.c | 10 | ||||
-rw-r--r-- | src/bookmarks/ephy-new-bookmark.c | 1 | ||||
-rw-r--r-- | src/bookmarks/ephy-topics-selector.c | 8 | ||||
-rw-r--r-- | src/ephy-history-window.c | 8 | ||||
-rwxr-xr-x | src/pdm-dialog.c | 5 | ||||
-rwxr-xr-x | src/ppview-toolbar.c | 2 | ||||
-rw-r--r-- | src/prefs-dialog.c | 3 | ||||
-rw-r--r-- | src/window-commands.c | 2 |
13 files changed, 133 insertions, 59 deletions
@@ -1,5 +1,27 @@ 2004-06-21 Marco Pesenti Gritti <marco@gnome.org> + * lib/ephy-gui.c: (ephy_gui_help), (ephy_gui_select_row_by_key): + * lib/widgets/ephy-node-view.c: (ephy_node_view_key_press_cb): + * src/bookmarks/ephy-topics-selector.c: (topic_key_pressed): + + Factor out the helper to select a treeview row by column and + use it also in the topic selector. + + * lib/ephy-gui.h: + * src/bookmarks/ephy-bookmarks-editor.c: + * src/bookmarks/ephy-new-bookmark.c: + * src/ephy-history-window.c: + * src/pdm-dialog.c: + * src/ppview-toolbar.c: + * src/prefs-dialog.c: + * src/window-commands.c: + * embed/downloader-view.c: + + Remove braindead gtk.h inclusion and deal with + fallout headers. + +2004-06-21 Marco Pesenti Gritti <marco@gnome.org> + * src/bookmarks/ephy-new-bookmark.c: (response_cb), (ephy_new_bookmark_construct): * src/bookmarks/ephy-topics-selector.c: (renderer_edited_cb), diff --git a/embed/downloader-view.c b/embed/downloader-view.c index 38bbc910a..48ffd1921 100644 --- a/embed/downloader-view.c +++ b/embed/downloader-view.c @@ -24,8 +24,6 @@ #endif #include "downloader-view.h" -#include "ephy-gui.h" -#include "ephy-ellipsizing-label.h" #include "ephy-file-helpers.h" #include "ephy-embed-shell.h" #include "ephy-cell-renderer-progress.h" @@ -36,6 +34,9 @@ #include <eggtraymanager.h> #include <gtk/gtktreeview.h> #include <gtk/gtkliststore.h> +#include <gtk/gtkbutton.h> +#include <gtk/gtkcellrenderertext.h> +#include <gtk/gtktreeselection.h> #include <gtk/gtktreeviewcolumn.h> #include <glib/gi18n.h> diff --git a/lib/ephy-gui.c b/lib/ephy-gui.c index 7fa42634b..09ef4ef4a 100644 --- a/lib/ephy-gui.c +++ b/lib/ephy-gui.c @@ -31,6 +31,10 @@ #include <libgnome/gnome-help.h> #include <gtk/gtktreemodel.h> #include <gtk/gtkmessagedialog.h> +#include <gtk/gtkhbox.h> +#include <gtk/gtkimage.h> +#include <gtk/gtklabel.h> +#include <gtk/gtkstock.h> /* Styles for tab labels */ GtkStyle *loading_text_style = NULL; @@ -159,3 +163,54 @@ ephy_gui_help (GtkWindow *parent, g_error_free (err); } } + +gboolean +ephy_gui_select_row_by_key (GtkTreeView *treeview, gint column, guint32 unicode) +{ + GtkTreeModel *model; + GtkTreeIter iter, last_iter; + GtkTreePath *path; + GValue value = {0, }; + char *string; + char *event_string; + gboolean found = FALSE; + char outbuf[6]; + int length; + + model = gtk_tree_view_get_model (treeview); + + length = g_unichar_to_utf8 (unicode, outbuf); + event_string = g_utf8_casefold (outbuf, length); + + if (!gtk_tree_model_get_iter_first (model, &iter)) + { + g_free (event_string); + return FALSE; + } + + do + { + last_iter = iter; + gtk_tree_model_get_value (model, &iter, column, &value); + + string = g_utf8_casefold (g_value_get_string (&value), -1); + g_utf8_strncpy (string, string, 1); + found = (g_utf8_collate (string, event_string) == 0); + + g_free (string); + g_value_unset (&value); + } + while (!found && gtk_tree_model_iter_next (model, &iter)); + + if (!found) + { + iter = last_iter; + } + + path = gtk_tree_model_get_path (model, &iter); + gtk_tree_view_set_cursor (GTK_TREE_VIEW (treeview), path, NULL, FALSE); + gtk_tree_path_free (path); + g_free (event_string); + + return TRUE; +} diff --git a/lib/ephy-gui.h b/lib/ephy-gui.h index 73ab060d2..685b70613 100644 --- a/lib/ephy-gui.h +++ b/lib/ephy-gui.h @@ -21,7 +21,10 @@ #ifndef EPHY_GUI_H #define EPHY_GUI_H -#include <gtk/gtk.h> +#include <gtk/gtkmenu.h> +#include <gtk/gtktreeview.h> +#include <gtk/gtktreeviewcolumn.h> +#include <gtk/gtkwindow.h> #include <gdk-pixbuf/gdk-pixbuf.h> #include <gdk/gdkkeysyms.h> @@ -33,6 +36,10 @@ void ephy_gui_menu_position_under_widget (GtkMenu *menu, gboolean *push_in, gpointer user_data); +gboolean ephy_gui_select_row_by_key (GtkTreeView *treeview, + gint column, + guint32 unicode); + gboolean ephy_gui_confirm_overwrite_file (GtkWidget *parent, const char *filename); diff --git a/lib/widgets/ephy-node-view.c b/lib/widgets/ephy-node-view.c index 3cf8294a2..3b037d3db 100644 --- a/lib/widgets/ephy-node-view.c +++ b/lib/widgets/ephy-node-view.c @@ -35,6 +35,7 @@ #include "ephy-tree-model-sort.h" #include "eggtreemultidnd.h" #include "ephy-dnd.h" +#include "ephy-gui.h" #include "ephy-marshal.h" #include "string.h" @@ -661,62 +662,15 @@ ephy_node_view_row_activated_cb (GtkTreeView *treeview, g_signal_emit (G_OBJECT (view), ephy_node_view_signals[NODE_ACTIVATED], 0, node); } - -static gboolean -ephy_node_view_select_node_by_key (EphyNodeView *view, GdkEventKey *event) -{ - GtkTreeIter iter, last_iter; - GtkTreePath *path; - GValue value = {0, }; - gchar *string; - gchar *event_string; - gboolean found = FALSE; - gchar outbuf[6]; - gint length; - - length = g_unichar_to_utf8 (gdk_keyval_to_unicode (event->keyval), outbuf); - event_string = g_utf8_casefold (outbuf, length); - - if (!gtk_tree_model_get_iter_first (view->priv->sortmodel, &iter)) - { - g_free (event_string); - return FALSE; - } - - do - { - last_iter = iter; - gtk_tree_model_get_value (view->priv->sortmodel, &iter, - view->priv->searchable_data_column, - &value); - - string = g_utf8_casefold (g_value_get_string (&value), -1); - g_utf8_strncpy (string, string, 1); - found = (g_utf8_collate (string, event_string) == 0); - - g_free (string); - g_value_unset (&value); - } - while (!found && gtk_tree_model_iter_next (view->priv->sortmodel, &iter)); - - if (!found) - { - iter = last_iter; - } - - path = gtk_tree_model_get_path (view->priv->sortmodel, &iter); - gtk_tree_view_set_cursor (GTK_TREE_VIEW (view), path, NULL, FALSE); - gtk_tree_path_free (path); - g_free (event_string); - - return TRUE; -} - static gboolean ephy_node_view_key_press_cb (GtkTreeView *treeview, GdkEventKey *event, EphyNodeView *view) { + guint32 unicode; + + unicode = gdk_keyval_to_unicode (event->keyval); + if ((event->state & GDK_SHIFT_MASK) && (event->keyval == GDK_F10)) { @@ -724,10 +678,10 @@ ephy_node_view_key_press_cb (GtkTreeView *treeview, return TRUE; } - else if (view->priv->searchable_data_column != -1 && - gdk_keyval_to_unicode (event->keyval)) + else if (view->priv->searchable_data_column != -1 && unicode) { - return ephy_node_view_select_node_by_key (view, event); + return ephy_gui_select_row_by_key + (treeview, view->priv->searchable_data_column, unicode); } return FALSE; diff --git a/src/bookmarks/ephy-bookmarks-editor.c b/src/bookmarks/ephy-bookmarks-editor.c index 0cc0158a0..810bb9cb2 100644 --- a/src/bookmarks/ephy-bookmarks-editor.c +++ b/src/bookmarks/ephy-bookmarks-editor.c @@ -30,9 +30,17 @@ #include <gtk/gtkhbox.h> #include <gtk/gtkvbox.h> #include <gtk/gtkactiongroup.h> -#include <gtk/gtktoggleaction.h> +#include <gtk/gtkcombobox.h> #include <gtk/gtkuimanager.h> #include <gtk/gtktoggleaction.h> +#include <gtk/gtktreeselection.h> +#include <gtk/gtktreemodelsort.h> +#include <gtk/gtkcelllayout.h> +#include <gtk/gtkcellrenderertext.h> +#include <gtk/gtkradioaction.h> +#include <gtk/gtkclipboard.h> +#include <gtk/gtkmain.h> +#include <gtk/gtktreemodelsort.h> #include <gdk/gdkkeysyms.h> #include <glib/gi18n.h> #include <libgnomeui/gnome-stock-icons.h> diff --git a/src/bookmarks/ephy-new-bookmark.c b/src/bookmarks/ephy-new-bookmark.c index 341fdd2c5..9723690b9 100644 --- a/src/bookmarks/ephy-new-bookmark.c +++ b/src/bookmarks/ephy-new-bookmark.c @@ -28,6 +28,7 @@ #include <gtk/gtkhbox.h> #include <gtk/gtkvbox.h> #include <gtk/gtkstock.h> +#include <gtk/gtkimage.h> #include <gtk/gtkscrolledwindow.h> #include <gtk/gtkeditable.h> #include <glib/gi18n.h> diff --git a/src/bookmarks/ephy-topics-selector.c b/src/bookmarks/ephy-topics-selector.c index 8d15a59b2..007a3a05d 100644 --- a/src/bookmarks/ephy-topics-selector.c +++ b/src/bookmarks/ephy-topics-selector.c @@ -25,6 +25,7 @@ #include "ephy-topics-selector.h" #include "ephy-debug.h" #include "ephy-node-view.h" +#include "ephy-gui.h" #include <glib/gi18n.h> #include <gtk/gtkliststore.h> @@ -325,6 +326,7 @@ topic_key_pressed (GtkTreeView *tree_view, GtkTreeSelection *sel = NULL; GtkTreeIter iter; GtkTreePath *path; + guint32 unicode; switch (event->keyval) { @@ -347,6 +349,12 @@ topic_key_pressed (GtkTreeView *tree_view, break; } + unicode = gdk_keyval_to_unicode (event->keyval); + if (unicode) + { + return ephy_gui_select_row_by_key (tree_view, COL_TOPIC, unicode); + } + return FALSE; } diff --git a/src/ephy-history-window.c b/src/ephy-history-window.c index 98914f857..76da44ec3 100644 --- a/src/ephy-history-window.c +++ b/src/ephy-history-window.c @@ -24,6 +24,14 @@ #include <gtk/gtktable.h> #include <gtk/gtklabel.h> +#include <gtk/gtkradioaction.h> +#include <gtk/gtkmain.h> +#include <gtk/gtkalignment.h> +#include <gtk/gtktreeselection.h> +#include <gtk/gtkhpaned.h> +#include <gtk/gtkbutton.h> +#include <gtk/gtkimage.h> +#include <gtk/gtkclipboard.h> #include <gtk/gtkstock.h> #include <gtk/gtkscrolledwindow.h> #include <gtk/gtkhbox.h> diff --git a/src/pdm-dialog.c b/src/pdm-dialog.c index 89eda8f8c..60ec410a3 100755 --- a/src/pdm-dialog.c +++ b/src/pdm-dialog.c @@ -34,6 +34,11 @@ #include "ephy-debug.h" #include "ephy-state.h" +#include <gtk/gtkbox.h> +#include <gtk/gtkstock.h> +#include <gtk/gtktable.h> +#include <gtk/gtktreeselection.h> +#include <gtk/gtkdialog.h> #include <gtk/gtktreeview.h> #include <gtk/gtkliststore.h> #include <gtk/gtkcellrenderertext.h> diff --git a/src/ppview-toolbar.c b/src/ppview-toolbar.c index f3f93f7a5..70603ea67 100755 --- a/src/ppview-toolbar.c +++ b/src/ppview-toolbar.c @@ -25,12 +25,12 @@ #include "ppview-toolbar.h" #include "ephy-window.h" #include "ephy-string.h" -#include "ephy-gui.h" #include <string.h> #include <glib/gi18n.h> #include <gtk/gtkentry.h> #include <gtk/gtkmenu.h> +#include <gtk/gtkstock.h> #include <gtk/gtkuimanager.h> static void ppview_toolbar_class_init (PPViewToolbarClass *klass); diff --git a/src/prefs-dialog.c b/src/prefs-dialog.c index 1f14b3c8c..8b715692e 100644 --- a/src/prefs-dialog.c +++ b/src/prefs-dialog.c @@ -44,6 +44,9 @@ #include "ephy-tree-model-sort.h" #include <glib/gi18n.h> +#include <gtk/gtkcellrenderertext.h> +#include <gtk/gtkcelllayout.h> +#include <gtk/gtktreeselection.h> #include <gtk/gtkframe.h> #include <gtk/gtkhbox.h> #include <gtk/gtkvbox.h> diff --git a/src/window-commands.c b/src/window-commands.c index 41f0c481b..4a6528cda 100644 --- a/src/window-commands.c +++ b/src/window-commands.c @@ -53,6 +53,8 @@ #include <libgnomeui/gnome-stock-icons.h> #include <libgnomevfs/gnome-vfs-mime-handlers.h> #include <gtk/gtkeditable.h> +#include <gtk/gtkmain.h> +#include <gtk/gtkicontheme.h> #include <gtk/gtktoggleaction.h> #include <libgnomeui/gnome-about.h> #include <glib/gi18n.h> |