diff options
-rw-r--r-- | ChangeLog | 35 | ||||
-rw-r--r-- | data/glade/Makefile.am | 1 | ||||
-rw-r--r-- | data/glade/toolbar-editor.glade | 418 | ||||
-rw-r--r-- | lib/ephy-autocompletion.c | 1 | ||||
-rw-r--r-- | lib/ephy-gui.c | 114 | ||||
-rw-r--r-- | lib/ephy-gui.h | 26 | ||||
-rw-r--r-- | lib/widgets/ephy-autocompletion-window.c | 29 | ||||
-rw-r--r-- | lib/widgets/ephy-location-entry.c | 10 | ||||
-rwxr-xr-x | src/appearance-prefs.c | 3 | ||||
-rw-r--r-- | src/ephy-tab.c | 7 | ||||
-rw-r--r-- | src/window-commands.c | 28 |
11 files changed, 95 insertions, 577 deletions
@@ -1,5 +1,40 @@ 2003-02-28 Marco Pesenti Gritti <marco@it.gnome.org> + * data/glade/Makefile.am: + * data/glade/toolbar-editor.glade: + + Remove old toolbar editor ui + + * lib/ephy-autocompletion.c: (ephy_autocompletion_update_matches): + + Remove an obsolete FIXME + + * lib/ephy-gui.c: + * lib/ephy-gui.h: + + Remove some functions that was used only in galeon bookmarks + + * lib/widgets/ephy-autocompletion-window.c: + (hack_tree_view_move_selection), + (ephy_autocompletion_window_key_press_hack): + * lib/widgets/ephy-location-entry.c: + (ephy_location_entry_autocompletion_window_url_selected_cb): + + Up on the top border of the autocompl window goes back to the entry + + * src/appearance-prefs.c: (setup_font_menu): + + Free fonts list + + * src/ephy-tab.c: (ephy_tab_parent_set_cb), + (ephy_tab_set_visibility): + * src/window-commands.c: (window_cmd_tabs_move_left), + (window_cmd_tabs_move_right): + + Implement tabs moving + +2003-02-28 Marco Pesenti Gritti <marco@it.gnome.org> + * src/bookmarks/ephy-node-view.c: (ephy_node_view_sort_func): fix compilation diff --git a/data/glade/Makefile.am b/data/glade/Makefile.am index 1013895d5..e693594a3 100644 --- a/data/glade/Makefile.am +++ b/data/glade/Makefile.am @@ -1,7 +1,6 @@ glade_DATA = \ epiphany.glade \ prompts.glade \ - toolbar-editor.glade \ prefs-dialog.glade \ print.glade diff --git a/data/glade/toolbar-editor.glade b/data/glade/toolbar-editor.glade deleted file mode 100644 index b5c4704d3..000000000 --- a/data/glade/toolbar-editor.glade +++ /dev/null @@ -1,418 +0,0 @@ -<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*--> -<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd"> - -<glade-interface> - -<widget class="GtkDialog" id="toolbar-editor-dialog"> - <property name="border_width">6</property> - <property name="visible">True</property> - <property name="title" translatable="yes">Toolbar Editor</property> - <property name="type">GTK_WINDOW_TOPLEVEL</property> - <property name="window_position">GTK_WIN_POS_NONE</property> - <property name="modal">False</property> - <property name="resizable">True</property> - <property name="destroy_with_parent">False</property> - <property name="has_separator">False</property> - - <child internal-child="vbox"> - <widget class="GtkVBox" id="dialog-vbox1"> - <property name="width_request">450</property> - <property name="height_request">350</property> - <property name="visible">True</property> - <property name="homogeneous">False</property> - <property name="spacing">0</property> - - <child internal-child="action_area"> - <widget class="GtkHButtonBox" id="dialog-action_area1"> - <property name="visible">True</property> - <property name="layout_style">GTK_BUTTONBOX_END</property> - - <child> - <widget class="GtkButton" id="toolbar-editor-revert-button"> - <property name="can_default">True</property> - <property name="can_focus">True</property> - <property name="relief">GTK_RELIEF_NORMAL</property> - <property name="response_id">0</property> - - <child> - <widget class="GtkAlignment" id="alignment1"> - <property name="visible">True</property> - <property name="xalign">0.5</property> - <property name="yalign">0.5</property> - <property name="xscale">0</property> - <property name="yscale">0</property> - - <child> - <widget class="GtkHBox" id="hbox2"> - <property name="visible">True</property> - <property name="homogeneous">False</property> - <property name="spacing">2</property> - - <child> - <widget class="GtkImage" id="image1"> - <property name="visible">True</property> - <property name="stock">gtk-revert-to-saved</property> - <property name="icon_size">4</property> - <property name="xalign">0.5</property> - <property name="yalign">0.5</property> - <property name="xpad">0</property> - <property name="ypad">0</property> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">False</property> - <property name="fill">False</property> - </packing> - </child> - - <child> - <widget class="GtkLabel" id="label4"> - <property name="visible">True</property> - <property name="label" translatable="yes">_Reset to defaults</property> - <property name="use_underline">True</property> - <property name="use_markup">False</property> - <property name="justify">GTK_JUSTIFY_LEFT</property> - <property name="wrap">False</property> - <property name="selectable">False</property> - <property name="xalign">0.5</property> - <property name="yalign">0.5</property> - <property name="xpad">0</property> - <property name="ypad">0</property> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">False</property> - <property name="fill">False</property> - </packing> - </child> - </widget> - </child> - </widget> - </child> - </widget> - </child> - - <child> - <widget class="GtkButton" id="toolbar-editor-undo-button"> - <property name="can_default">True</property> - <property name="can_focus">True</property> - <property name="label">gtk-undo</property> - <property name="use_stock">True</property> - <property name="relief">GTK_RELIEF_NORMAL</property> - <property name="response_id">0</property> - </widget> - </child> - - <child> - <widget class="GtkButton" id="toolbar-editor-close-button"> - <property name="visible">True</property> - <property name="can_default">True</property> - <property name="can_focus">True</property> - <property name="label">gtk-close</property> - <property name="use_stock">True</property> - <property name="relief">GTK_RELIEF_NORMAL</property> - <property name="response_id">0</property> - </widget> - </child> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="pack_type">GTK_PACK_END</property> - </packing> - </child> - - <child> - <widget class="GtkHBox" id="hbox1"> - <property name="border_width">6</property> - <property name="visible">True</property> - <property name="homogeneous">False</property> - <property name="spacing">6</property> - - <child> - <widget class="GtkVBox" id="vbox5"> - <property name="visible">True</property> - <property name="homogeneous">False</property> - <property name="spacing">6</property> - - <child> - <widget class="GtkLabel" id="label5"> - <property name="visible">True</property> - <property name="label" translatable="yes"><b>_Available Controls</b></property> - <property name="use_underline">True</property> - <property name="use_markup">True</property> - <property name="justify">GTK_JUSTIFY_LEFT</property> - <property name="wrap">False</property> - <property name="selectable">False</property> - <property name="xalign">0</property> - <property name="yalign">0.5</property> - <property name="xpad">0</property> - <property name="ypad">0</property> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">False</property> - <property name="fill">False</property> - </packing> - </child> - - <child> - <widget class="GtkScrolledWindow" id="scrolledwindow4"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property> - <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property> - <property name="shadow_type">GTK_SHADOW_IN</property> - <property name="window_placement">GTK_CORNER_TOP_LEFT</property> - - <child> - <widget class="GtkTreeView" id="toolbar-editor-available-view"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="headers_visible">False</property> - <property name="rules_hint">False</property> - <property name="reorderable">False</property> - <property name="enable_search">True</property> - </widget> - </child> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">True</property> - <property name="fill">True</property> - </packing> - </child> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">True</property> - <property name="fill">True</property> - </packing> - </child> - - <child> - <widget class="GtkVBox" id="vbox4"> - <property name="visible">True</property> - <property name="homogeneous">False</property> - <property name="spacing">0</property> - - <child> - <placeholder/> - </child> - - <child> - <widget class="GtkTable" id="table1"> - <property name="visible">True</property> - <property name="n_rows">3</property> - <property name="n_columns">3</property> - <property name="homogeneous">False</property> - <property name="row_spacing">0</property> - <property name="column_spacing">0</property> - - <child> - <widget class="GtkButton" id="toolbar-editor-up-button"> - <property name="visible">True</property> - <property name="sensitive">False</property> - <property name="can_focus">True</property> - <property name="relief">GTK_RELIEF_NONE</property> - - <child> - <widget class="GtkArrow" id="arrow2"> - <property name="visible">True</property> - <property name="arrow_type">GTK_ARROW_UP</property> - <property name="shadow_type">GTK_SHADOW_OUT</property> - <property name="xalign">0.5</property> - <property name="yalign">0.5</property> - <property name="xpad">0</property> - <property name="ypad">0</property> - </widget> - </child> - </widget> - <packing> - <property name="left_attach">1</property> - <property name="right_attach">2</property> - <property name="top_attach">0</property> - <property name="bottom_attach">1</property> - <property name="x_options"></property> - <property name="y_options"></property> - </packing> - </child> - - <child> - <widget class="GtkButton" id="toolbar-editor-right-button"> - <property name="visible">True</property> - <property name="sensitive">False</property> - <property name="can_focus">True</property> - <property name="relief">GTK_RELIEF_NONE</property> - - <child> - <widget class="GtkArrow" id="arrow1"> - <property name="visible">True</property> - <property name="arrow_type">GTK_ARROW_RIGHT</property> - <property name="shadow_type">GTK_SHADOW_OUT</property> - <property name="xalign">0.5</property> - <property name="yalign">0.5</property> - <property name="xpad">0</property> - <property name="ypad">0</property> - </widget> - </child> - </widget> - <packing> - <property name="left_attach">2</property> - <property name="right_attach">3</property> - <property name="top_attach">1</property> - <property name="bottom_attach">2</property> - <property name="x_options"></property> - <property name="y_options"></property> - </packing> - </child> - - <child> - <widget class="GtkButton" id="toolbar-editor-down-button"> - <property name="visible">True</property> - <property name="sensitive">False</property> - <property name="can_focus">True</property> - <property name="relief">GTK_RELIEF_NONE</property> - - <child> - <widget class="GtkArrow" id="arrow4"> - <property name="visible">True</property> - <property name="arrow_type">GTK_ARROW_DOWN</property> - <property name="shadow_type">GTK_SHADOW_OUT</property> - <property name="xalign">0.5</property> - <property name="yalign">0.5</property> - <property name="xpad">0</property> - <property name="ypad">0</property> - </widget> - </child> - </widget> - <packing> - <property name="left_attach">1</property> - <property name="right_attach">2</property> - <property name="top_attach">2</property> - <property name="bottom_attach">3</property> - <property name="x_options"></property> - <property name="y_options"></property> - </packing> - </child> - - <child> - <widget class="GtkButton" id="toolbar-editor-left-button"> - <property name="visible">True</property> - <property name="sensitive">False</property> - <property name="can_focus">True</property> - <property name="relief">GTK_RELIEF_NONE</property> - - <child> - <widget class="GtkArrow" id="arrow3"> - <property name="visible">True</property> - <property name="arrow_type">GTK_ARROW_LEFT</property> - <property name="shadow_type">GTK_SHADOW_OUT</property> - <property name="xalign">0.5</property> - <property name="yalign">0.5</property> - <property name="xpad">0</property> - <property name="ypad">0</property> - </widget> - </child> - </widget> - <packing> - <property name="left_attach">0</property> - <property name="right_attach">1</property> - <property name="top_attach">1</property> - <property name="bottom_attach">2</property> - <property name="x_options"></property> - <property name="y_options"></property> - </packing> - </child> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">True</property> - <property name="fill">False</property> - </packing> - </child> - - <child> - <placeholder/> - </child> - </widget> - <packing> - <property name="padding">4</property> - <property name="expand">False</property> - <property name="fill">False</property> - </packing> - </child> - - <child> - <widget class="GtkVBox" id="vbox6"> - <property name="visible">True</property> - <property name="homogeneous">False</property> - <property name="spacing">6</property> - - <child> - <widget class="GtkLabel" id="label6"> - <property name="visible">True</property> - <property name="label" translatable="yes"><b>Cu_rrent Controls</b></property> - <property name="use_underline">True</property> - <property name="use_markup">True</property> - <property name="justify">GTK_JUSTIFY_LEFT</property> - <property name="wrap">False</property> - <property name="selectable">False</property> - <property name="xalign">0</property> - <property name="yalign">0.5</property> - <property name="xpad">0</property> - <property name="ypad">0</property> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">False</property> - <property name="fill">False</property> - </packing> - </child> - - <child> - <widget class="GtkScrolledWindow" id="scrolledwindow5"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property> - <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property> - <property name="shadow_type">GTK_SHADOW_IN</property> - <property name="window_placement">GTK_CORNER_TOP_LEFT</property> - - <child> - <widget class="GtkTreeView" id="toolbar-editor-current-view"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="headers_visible">False</property> - <property name="rules_hint">False</property> - <property name="reorderable">False</property> - <property name="enable_search">True</property> - </widget> - </child> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">True</property> - <property name="fill">True</property> - </packing> - </child> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">True</property> - <property name="fill">True</property> - </packing> - </child> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">True</property> - <property name="fill">True</property> - </packing> - </child> - </widget> - </child> -</widget> - -</glade-interface> diff --git a/lib/ephy-autocompletion.c b/lib/ephy-autocompletion.c index 24578f126..5a67be64c 100644 --- a/lib/ephy-autocompletion.c +++ b/lib/ephy-autocompletion.c @@ -325,7 +325,6 @@ ephy_autocompletion_update_matches (EphyAutocompletion *ac) } if (p->status == GAS_NEEDS_REFINE) { - /* FIXME we do full update for now */ ephy_autocompletion_refine_matches (ac); } diff --git a/lib/ephy-gui.c b/lib/ephy-gui.c index 90d282b3d..01500e1e6 100644 --- a/lib/ephy-gui.c +++ b/lib/ephy-gui.c @@ -120,120 +120,6 @@ ephy_gui_gtk_radio_button_set (GtkRadioButton *radio_button, gint index) } } -GtkWidget * -ephy_gui_append_new_menuitem (GtkWidget *menu, - const char *mnemonic, - GCallback callback, - gpointer data) -{ - GtkWidget *menu_item; - - menu_item = gtk_menu_item_new_with_mnemonic (mnemonic); - gtk_widget_show (menu_item); - gtk_menu_shell_append (GTK_MENU_SHELL (menu), - menu_item); - - if (callback) - { - g_signal_connect (G_OBJECT (menu_item), - "activate", - callback, data); - } - - return menu_item; -} - -GtkWidget * -ephy_gui_append_new_menuitem_stock (GtkWidget *menu, - const char *stock_id, - GCallback callback, - gpointer data) -{ - GtkWidget *menu_item; - - menu_item = gtk_image_menu_item_new_from_stock (stock_id, NULL); - gtk_widget_show (menu_item); - gtk_menu_shell_append (GTK_MENU_SHELL (menu), - menu_item); - - if (callback) - { - g_signal_connect (G_OBJECT (menu_item), - "activate", - callback, data); - } - - return menu_item; -} - -GtkWidget * -ephy_gui_append_new_menuitem_stock_icon (GtkWidget *menu, - const char *stock_id, - const char *mnemonic, - GCallback callback, - gpointer data) -{ - GtkWidget *menu_item; - GtkWidget *image; - - menu_item = gtk_image_menu_item_new_with_mnemonic (mnemonic); - image = gtk_image_new_from_stock (stock_id, GTK_ICON_SIZE_MENU); - gtk_widget_show (image); - gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menu_item), image); - - gtk_widget_show (menu_item); - gtk_menu_shell_append (GTK_MENU_SHELL (menu), - menu_item); - - if (callback) - { - g_signal_connect (G_OBJECT (menu_item), - "activate", - callback, data); - } - - return menu_item; -} - -GtkWidget * -ephy_gui_append_new_check_menuitem (GtkWidget *menu, - const char *mnemonic, - gboolean value, - GCallback callback, - gpointer data) -{ - GtkWidget *menu_item; - - menu_item = gtk_check_menu_item_new_with_mnemonic (mnemonic); - gtk_widget_show (menu_item); - gtk_menu_shell_append (GTK_MENU_SHELL (menu), - menu_item); - - gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (menu_item), value); - - if (callback) - { - g_signal_connect (G_OBJECT (menu_item), - "activate", - callback, data); - } - - return menu_item; -} - -GtkWidget * -ephy_gui_append_separator (GtkWidget *menu) -{ - GtkWidget *menu_item; - - menu_item = gtk_menu_item_new (); - gtk_widget_show (menu_item); - gtk_menu_shell_append (GTK_MENU_SHELL (menu), - menu_item); - - return menu_item; -} - gboolean ephy_gui_confirm_overwrite_file (GtkWidget *parent, const char *filename) { diff --git a/lib/ephy-gui.h b/lib/ephy-gui.h index 0d736592f..75fc0164b 100644 --- a/lib/ephy-gui.h +++ b/lib/ephy-gui.h @@ -38,32 +38,6 @@ gint ephy_gui_gtk_radio_button_get (GtkRadioButton *radio_button); void ephy_gui_gtk_radio_button_set (GtkRadioButton *radio_button, gint index); -GList *ephy_gui_treeview_get_selection_refs (GtkTreeView *treeview); - -GtkWidget *ephy_gui_append_new_menuitem (GtkWidget *menu, - const char *mnemonic, - GCallback callback, - gpointer data); - -GtkWidget *ephy_gui_append_new_menuitem_stock (GtkWidget *menu, - const char *stock_id, - GCallback callback, - gpointer data); - -GtkWidget *ephy_gui_append_new_menuitem_stock_icon (GtkWidget *menu, - const char *stock_id, - const char *mnemonic, - GCallback callback, - gpointer data); - -GtkWidget *ephy_gui_append_new_check_menuitem (GtkWidget *menu, - const char *mnemonic, - gboolean value, - GCallback callback, - gpointer data); - -GtkWidget *ephy_gui_append_separator (GtkWidget *menu); - gboolean ephy_gui_confirm_overwrite_file (GtkWidget *parent, const char *filename); diff --git a/lib/widgets/ephy-autocompletion-window.c b/lib/widgets/ephy-autocompletion-window.c index e57735438..bd3019632 100644 --- a/lib/widgets/ephy-autocompletion-window.c +++ b/lib/widgets/ephy-autocompletion-window.c @@ -611,7 +611,8 @@ ephy_autocompletion_window_button_press_event_cb (GtkWidget *widget, } static GtkTreeView * -hack_tree_view_move_selection (GtkTreeView *tv, GtkTreeView *alternate, int dir) +hack_tree_view_move_selection (EphyAutocompletionWindow *aw, GtkTreeView *tv, + GtkTreeView *alternate, int dir) { GtkTreeSelection *ts = gtk_tree_view_get_selection (tv); GtkTreeModel *model; @@ -632,6 +633,8 @@ hack_tree_view_move_selection (GtkTreeView *tv, GtkTreeView *alternate, int dir) { GtkTreePath *p = selected->data; int i; + gboolean exit = FALSE; + if (dir > 0) { for (i = 0; i < dir; ++i) @@ -652,10 +655,18 @@ hack_tree_view_move_selection (GtkTreeView *tv, GtkTreeView *alternate, int dir) gtk_tree_selection_select_path (ts, p); gtk_tree_view_scroll_to_cell (tv, p, NULL, FALSE, 0, 0); } - } + else + { + g_signal_emit (aw, EphyAutocompletionWindowSignals + [SELECTED], 0, NULL, FALSE); + exit = TRUE; + } - g_list_foreach (selected, (GFunc) gtk_tree_path_free, NULL); - g_list_free (selected); + g_list_foreach (selected, (GFunc) gtk_tree_path_free, NULL); + g_list_free (selected); + + if (exit) return NULL; + } if (!prev_result) { @@ -680,7 +691,7 @@ hack_tree_view_move_selection (GtkTreeView *tv, GtkTreeView *alternate, int dir) } else if (gtk_tree_selection_count_selected_rows (ts) == 0) { - hack_tree_view_move_selection (alternate, tv, dir); + hack_tree_view_move_selection (aw, alternate, tv, dir); return alternate; } @@ -704,19 +715,19 @@ ephy_autocompletion_window_key_press_hack (EphyAutocompletionWindow *aw, { case GDK_Up: p->active_tree_view = hack_tree_view_move_selection - (tree_view, alt, -1); + (aw, tree_view, alt, -1); break; case GDK_Down: p->active_tree_view = hack_tree_view_move_selection - (tree_view, alt, +1); + (aw, tree_view, alt, +1); break; case GDK_Page_Down: p->active_tree_view = hack_tree_view_move_selection - (tree_view, alt, +5); + (aw, tree_view, alt, +5); break; case GDK_Page_Up: p->active_tree_view = hack_tree_view_move_selection - (tree_view, alt, -5); + (aw, tree_view, alt, -5); break; case GDK_Return: case GDK_space: diff --git a/lib/widgets/ephy-location-entry.c b/lib/widgets/ephy-location-entry.c index 57fb89485..15bcac979 100644 --- a/lib/widgets/ephy-location-entry.c +++ b/lib/widgets/ephy-location-entry.c @@ -478,7 +478,15 @@ ephy_location_entry_autocompletion_window_url_selected_cb (EphyAutocompletionWin int action, EphyLocationEntry *w) { - real_entry_set_location (w, action ? w->priv->before_completion : target); + if (target) + { + real_entry_set_location (w, action ? w->priv->before_completion : target); + } + else + { + real_entry_set_location (w, w->priv->before_completion); + gtk_editable_set_position (GTK_EDITABLE (w->priv->entry), -1); + } } void diff --git a/src/appearance-prefs.c b/src/appearance-prefs.c index 72d275f35..e19e95c79 100755 --- a/src/appearance-prefs.c +++ b/src/appearance-prefs.c @@ -220,7 +220,8 @@ setup_font_menu (AppearancePrefs *dialog, g_free (default_font); - /* FIXME free the list */ + g_list_foreach (fonts, (GFunc)g_free, NULL); + g_list_free (fonts); } static void diff --git a/src/ephy-tab.c b/src/ephy-tab.c index 578fe6a75..8a0c20863 100644 --- a/src/ephy-tab.c +++ b/src/ephy-tab.c @@ -168,9 +168,6 @@ ephy_tab_parent_set_cb (GtkWidget *widget, GtkWidget *previous_parent, { GtkWidget *toplevel; - /* FIXME maybe we dont need to set the tab parent explicitly - * anymore with this callback taking care of it */ - if (widget->parent == NULL) return; toplevel = gtk_widget_get_toplevel (widget); @@ -431,12 +428,10 @@ ephy_tab_get_size (EphyTab *tab, int *width, int *height) static void ephy_tab_set_visibility (EphyTab *tab, - gboolean visible) + gboolean visible) { g_return_if_fail (tab->priv->window != NULL); - /* FIXME show/hide the tab widget */ - tab->priv->visibility = visible; } diff --git a/src/window-commands.c b/src/window-commands.c index cec3ba859..c217b3bd4 100644 --- a/src/window-commands.c +++ b/src/window-commands.c @@ -725,11 +725,39 @@ void window_cmd_tabs_move_left (EggAction *action, EphyWindow *window) { + GtkWidget *notebook; + int page; + + notebook = ephy_window_get_notebook (window); + page = gtk_notebook_get_current_page (GTK_NOTEBOOK (notebook)); + + if (page > 0) + { + GtkWidget *child; + + child = gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook), page); + gtk_notebook_reorder_child (GTK_NOTEBOOK (notebook), child, page - 1); + } } void window_cmd_tabs_move_right (EggAction *action, EphyWindow *window) { + GtkWidget *notebook; + int page; + int last_page; + + notebook = ephy_window_get_notebook (window); + page = gtk_notebook_get_current_page (GTK_NOTEBOOK (notebook)); + last_page = gtk_notebook_get_n_pages (GTK_NOTEBOOK (notebook)) - 1; + + if (page != last_page) + { + GtkWidget *child; + + child = gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook), page); + gtk_notebook_reorder_child (GTK_NOTEBOOK (notebook), child, page + 1); + } } void |