diff options
author | Marco Pesenti Gritti <mpg@redhat.com> | 2005-09-07 14:55:34 (GMT) |
---|---|---|
committer | Marco Pesenti Gritti <marco@src.gnome.org> | 2005-09-07 14:55:34 (GMT) |
commit | 02291c7a30eed2a32470219909c8cb96735f8f27 (patch) | |
tree | 5ac2a671c93dd59fe8fbadbade096d72c1842cb4 | |
parent | 9f8ec2d921de1c31da212c8486ab2bda85d51bf9 (diff) |
Use mozilla style vs gtk style, way better for links.
2005-09-07 Marco Pesenti Gritti <mpg@redhat.com>
* lib/ev-tooltip.c:
Use mozilla style vs gtk style, way better for links.
* shell/ev-view.c: (ev_view_motion_notify_event),
(ev_view_destroy), (ev_view_init):
Deactive tooltip when the link hovered is changed.
-rw-r--r-- | ChangeLog | 11 | ||||
-rw-r--r-- | lib/ev-tooltip.c | 2 | ||||
-rw-r--r-- | shell/ev-view.c | 15 |
3 files changed, 21 insertions, 7 deletions
@@ -1,5 +1,16 @@ 2005-09-07 Marco Pesenti Gritti <mpg@redhat.com> + * lib/ev-tooltip.c: + + Use mozilla style vs gtk style, way better for links. + + * shell/ev-view.c: (ev_view_motion_notify_event), + (ev_view_destroy), (ev_view_init): + + Deactive tooltip when the link hovered is changed. + +2005-09-07 Marco Pesenti Gritti <mpg@redhat.com> + * backend/ev-document.h: * backend/ev-link.c: (ev_link_type_get_type), (ev_link_get_top), (ev_link_get_left), (ev_link_get_zoom), (ev_link_get_property), diff --git a/lib/ev-tooltip.c b/lib/ev-tooltip.c index 4aeb365..ce8158c 100644 --- a/lib/ev-tooltip.c +++ b/lib/ev-tooltip.c @@ -29,7 +29,7 @@ #include <gtk/gtklabel.h> #define DEFAULT_DELAY 500 -#define STICKY_DELAY 0 +#define STICKY_DELAY 500 #define STICKY_REVERT_DELAY 1000 struct _EvTooltipPrivate { diff --git a/shell/ev-view.c b/shell/ev-view.c index 052529e..fa0f087 100644 --- a/shell/ev-view.c +++ b/shell/ev-view.c @@ -150,6 +150,7 @@ struct _EvView { int pressed_button; EvViewCursor cursor; GtkWidget *link_tooltip; + EvLink *hovered_link; EvPageCache *page_cache; EvPixbufCache *pixbuf_cache; @@ -1588,16 +1589,18 @@ ev_view_motion_notify_event (GtkWidget *widget, link = get_link_at_location (view, event->x + view->scroll_x, event->y + view->scroll_y); - if (!link && view->link_tooltip) { + if (view->link_tooltip == NULL) { + view->link_tooltip = ev_tooltip_new (GTK_WIDGET (view)); + } + + if (view->hovered_link != link) { + view->hovered_link = link; ev_tooltip_deactivate (EV_TOOLTIP (view->link_tooltip)); } if (link) { char *msg = tip_from_link (view, link); - if (view->link_tooltip == NULL) { - view->link_tooltip = ev_tooltip_new (GTK_WIDGET (view)); - } ev_tooltip_set_position (EV_TOOLTIP (view->link_tooltip), event->x, event->y); ev_tooltip_set_text (EV_TOOLTIP (view->link_tooltip), msg); ev_tooltip_activate (EV_TOOLTIP (view->link_tooltip)); @@ -1946,13 +1949,14 @@ ev_view_destroy (GtkObject *object) g_object_unref (view->document); view->document = NULL; } + if (view->pixbuf_cache) { g_object_unref (view->pixbuf_cache); view->pixbuf_cache = NULL; } + if (view->link_tooltip) { gtk_widget_destroy (view->link_tooltip); - view->link_tooltip = NULL; } ev_view_set_scroll_adjustments (view, NULL, NULL); @@ -2191,7 +2195,6 @@ ev_view_init (EvView *view) view->cursor = EV_VIEW_CURSOR_NORMAL; view->drag_info.in_drag = FALSE; view->selection_info.in_selection = FALSE; - view->selection_mode = EV_VIEW_SELECTION_TEXT; view->continuous = TRUE; view->dual_page = FALSE; |