aboutsummaryrefslogtreecommitdiffstats
path: root/src/ppview-toolbar.c
diff options
context:
space:
mode:
authorMarco Pesenti Gritti <marco@it.gnome.org>2003-01-23 08:34:12 +0800
committerMarco Pesenti Gritti <mpeseng@src.gnome.org>2003-01-23 08:34:12 +0800
commit7fe73f1990a361a3c794ef5517e2cb4d3188466e (patch)
treec1b0382e254dd9dd3c53072f397f40bb60675738 /src/ppview-toolbar.c
parent5d0ba75eb24a3acee481ce987b6003ef36195c94 (diff)
downloadgsoc2013-epiphany-7fe73f1990a361a3c794ef5517e2cb4d3188466e.tar
gsoc2013-epiphany-7fe73f1990a361a3c794ef5517e2cb4d3188466e.tar.gz
gsoc2013-epiphany-7fe73f1990a361a3c794ef5517e2cb4d3188466e.tar.bz2
gsoc2013-epiphany-7fe73f1990a361a3c794ef5517e2cb4d3188466e.tar.lz
gsoc2013-epiphany-7fe73f1990a361a3c794ef5517e2cb4d3188466e.tar.xz
gsoc2013-epiphany-7fe73f1990a361a3c794ef5517e2cb4d3188466e.tar.zst
gsoc2013-epiphany-7fe73f1990a361a3c794ef5517e2cb4d3188466e.zip
Fix autocompletion to not show duped entries. Complete print preview impl.
2003-01-23 Marco Pesenti Gritti <marco@it.gnome.org> * TODO: * lib/ephy-autocompletion.c: (ephy_autocompletion_reset), (ephy_autocompletion_set_key), (ephy_autocompletion_update_matches_full): * lib/widgets/ephy-location-entry.c: (get_editable_number_of_chars), (position_is_at_end), (ephy_location_entry_key_press_event_cb): * src/ephy-favicon-action.c: (ephy_favicon_action_finalize): * src/ephy-favorites-menu.c: (ephy_favorites_menu_finalize_impl), (ephy_favorites_menu_rebuild): * src/ephy-window.c: (add_widget), (setup_window), (ephy_window_finalize), (ephy_window_set_chrome): * src/ppview-toolbar.c: (toolbar_update_sensitivity), (ppview_toolbar_set_window), (toolbar_cmd_ppv_close): * src/toolbar.c: (toolbar_setup_widgets), (toolbar_finalize): Fix autocompletion to not show duped entries. Complete print preview impl. Fix actions referencing, a bug in egg still blocking it though.
Diffstat (limited to 'src/ppview-toolbar.c')
-rwxr-xr-xsrc/ppview-toolbar.c68
1 files changed, 39 insertions, 29 deletions
diff --git a/src/ppview-toolbar.c b/src/ppview-toolbar.c
index fea06c2d7..78b3b33d9 100755
--- a/src/ppview-toolbar.c
+++ b/src/ppview-toolbar.c
@@ -33,11 +33,6 @@
#include <gtk/gtkentry.h>
#include <gtk/gtkmenu.h>
-#define PPV_GOTO_FIRST_PATH "/commands/PPVGotoFirst"
-#define PPV_GOTO_LAST_PATH "/commands/PPVGotoLast"
-#define PPV_GO_BACK_PATH "/commands/PPVGoBack"
-#define PPV_GO_FORWARD_PATH "/commands/PPVGoForward"
-
static void ppview_toolbar_class_init (PPViewToolbarClass *klass);
static void ppview_toolbar_init (PPViewToolbar *t);
static void ppview_toolbar_finalize (GObject *object);
@@ -64,6 +59,7 @@ static GObjectClass *parent_class = NULL;
struct PPViewToolbarPrivate
{
EphyWindow *window;
+ EmbedChromeMask original_mask;
EggMenuMerge *ui_merge;
EggActionGroup *action_group;
guint ui_id;
@@ -208,6 +204,31 @@ ppview_toolbar_get_property (GObject *object,
}
static void
+toolbar_update_sensitivity (PPViewToolbar *t)
+{
+ int pages, c_page;
+ EphyWindow *window = t->priv->window;
+ EphyEmbed *embed;
+ EggAction *action;
+ EggActionGroup *action_group = t->priv->action_group;
+
+ embed = ephy_window_get_active_embed (window);
+ g_return_if_fail (embed != NULL);
+
+ ephy_embed_print_preview_num_pages (embed, &pages);
+ c_page = t->priv->current_page;
+
+ action = egg_action_group_get_action (action_group, "PPVGoBack");
+ g_object_set (action, "sensitive", c_page > 1, NULL);
+ action = egg_action_group_get_action (action_group, "PPVGotoFirst");
+ g_object_set (action, "sensitive", c_page > 1, NULL);
+ action = egg_action_group_get_action (action_group, "PPVGoForward");
+ g_object_set (action, "sensitive", c_page < pages, NULL);
+ action = egg_action_group_get_action (action_group, "PPVGotoLast");
+ g_object_set (action, "sensitive", c_page < pages, NULL);
+}
+
+static void
ppview_toolbar_set_window (PPViewToolbar *t, EphyWindow *window)
{
g_return_if_fail (t->priv->window == NULL);
@@ -215,12 +236,16 @@ ppview_toolbar_set_window (PPViewToolbar *t, EphyWindow *window)
t->priv->window = window;
t->priv->ui_merge = EGG_MENU_MERGE (t->priv->window->ui_merge);
+ t->priv->original_mask = ephy_window_get_chrome (window);
+
t->priv->action_group = egg_action_group_new ("PPViewActions");
egg_action_group_add_actions (t->priv->action_group, entries, n_entries);
egg_menu_merge_insert_action_group (t->priv->ui_merge,
t->priv->action_group, 0);
t->priv->ui_id = egg_menu_merge_add_ui_from_string
(t->priv->ui_merge, ui_info, -1, NULL);
+
+ toolbar_update_sensitivity (t);
}
static void
@@ -273,30 +298,6 @@ ppview_toolbar_new (EphyWindow *window)
}
static void
-toolbar_update_sensitivity (PPViewToolbar *t)
-{
- int pages, c_page;
- EphyWindow *window = t->priv->window;
- EphyEmbed *embed;
-
- embed = ephy_window_get_active_embed (window);
- g_return_if_fail (embed != NULL);
-
- ephy_embed_print_preview_num_pages (embed, &pages);
- c_page = t->priv->current_page;
-/*
- ephy_bonobo_set_sensitive (t->priv->ui_component,
- PPV_GO_BACK_PATH, c_page > 1);
- ephy_bonobo_set_sensitive (t->priv->ui_component,
- PPV_GOTO_FIRST_PATH, c_page > 1);
- ephy_bonobo_set_sensitive (t->priv->ui_component,
- PPV_GO_FORWARD_PATH, c_page < pages);
- ephy_bonobo_set_sensitive (t->priv->ui_component,
- PPV_GOTO_LAST_PATH, c_page < pages);
- */
-}
-
-static void
toolbar_cmd_ppv_goto_first (EggMenuMerge *merge,
PPViewToolbar *t)
{
@@ -375,5 +376,14 @@ static void
toolbar_cmd_ppv_close (EggMenuMerge *merge,
PPViewToolbar *t)
{
+ EphyWindow *window = t->priv->window;
+ EphyEmbed *embed;
+
+ embed = ephy_window_get_active_embed (window);
+ g_return_if_fail (embed != NULL);
+
+ ephy_window_set_chrome (t->priv->window, t->priv->original_mask);
+
+ ephy_embed_print_preview_close (embed);
}