gimp r27028 - in trunk: . app/actions app/menus app/widgets



Author: neo
Date: Sun Sep 21 18:53:14 2008
New Revision: 27028
URL: http://svn.gnome.org/viewvc/gimp?rev=27028&view=rev

Log:
2008-09-21  Sven Neumann  <sven gimp org>

	* app/actions/windows-actions.c: don't set a help ID on the
	display menu items.

	* app/widgets/gimphelp-ids.h: removed now unused help ID.

	* app/menus/windows-menu.c: show a larger image preview in the
	tooltip.



Modified:
   trunk/ChangeLog
   trunk/app/actions/windows-actions.c
   trunk/app/menus/windows-menu.c
   trunk/app/widgets/gimphelp-ids.h

Modified: trunk/app/actions/windows-actions.c
==============================================================================
--- trunk/app/actions/windows-actions.c	(original)
+++ trunk/app/actions/windows-actions.c	Sun Sep 21 18:53:14 2008
@@ -212,7 +212,7 @@
           entry.accelerator = NULL;
           entry.tooltip     = NULL;
           entry.callback    = G_CALLBACK (windows_show_display_cmd_callback);
-          entry.help_id     = GIMP_HELP_WINDOWS_SHOW_IMAGE_WINDOW;
+          entry.help_id     = NULL;
 
           gimp_action_group_add_actions (group, &entry, 1);
 
@@ -268,7 +268,8 @@
 {
   GtkAction       *action;
   GimpActionEntry  entry;
-  gchar           *action_name = g_strdup_printf ("windows-dock-%04d", dock->ID);
+  gchar           *action_name = g_strdup_printf ("windows-dock-%04d",
+                                                  dock->ID);
 
   entry.name        = action_name;
   entry.stock_id    = NULL;

Modified: trunk/app/menus/windows-menu.c
==============================================================================
--- trunk/app/menus/windows-menu.c	(original)
+++ trunk/app/menus/windows-menu.c	Sun Sep 21 18:53:14 2008
@@ -27,6 +27,7 @@
 #include "config/gimpguiconfig.h"
 
 #include "core/gimp.h"
+#include "core/gimpimage.h"
 #include "core/gimplist.h"
 #include "core/gimpviewable.h"
 
@@ -66,6 +67,13 @@
                                            GimpSessionInfo   *info,
                                            GimpUIManager     *manager);
 
+static gboolean  windows_menu_display_query_tooltip (GtkWidget  *widget,
+                                                     gint        x,
+                                                     gint        y,
+                                                     gboolean    keyboard_mode,
+                                                     GtkTooltip *tooltip,
+                                                     GimpAction *action);
+
 
 void
 windows_menu_setup (GimpUIManager *manager,
@@ -181,11 +189,14 @@
 
       if (! merge_id)
         {
+          GtkWidget   *widget;
           const gchar *ui_path;
           gchar       *action_name;
           gchar       *action_path;
+          gchar       *full_path;
 
-          ui_path = g_object_get_data (G_OBJECT (manager), "image-menu-ui-path");
+          ui_path = g_object_get_data (G_OBJECT (manager),
+                                       "image-menu-ui-path");
 
           action_name = g_strdup_printf ("windows-display-%04d",
                                          gimp_display_get_ID (display));
@@ -201,8 +212,26 @@
                                  GTK_UI_MANAGER_MENUITEM,
                                  FALSE);
 
-          g_free (action_path);
+          full_path = g_strconcat (action_path, "/", action_name, NULL);
+
+          widget = gtk_ui_manager_get_widget (GTK_UI_MANAGER (manager),
+                                              full_path);
+
+          if (widget)
+            {
+              GtkAction *action;
+
+              action = gimp_ui_manager_find_action (manager,
+                                                    "windows", action_name);
+
+              g_signal_connect_object (widget, "query-tooltip",
+                                       G_CALLBACK (windows_menu_display_query_tooltip),
+                                       action, 0);
+            }
+
           g_free (action_name);
+          g_free (action_path);
+          g_free (full_path);
         }
 
       g_free (merge_key);
@@ -324,3 +353,38 @@
 
   g_free (merge_key);
 }
+
+static gboolean
+windows_menu_display_query_tooltip (GtkWidget  *widget,
+                                    gint        x,
+                                    gint        y,
+                                    gboolean    keyboard_mode,
+                                    GtkTooltip *tooltip,
+                                    GimpAction *action)
+{
+  GimpImage *image = GIMP_IMAGE (action->viewable);
+  gchar     *text;
+  gdouble    xres;
+  gdouble    yres;
+  gint       width;
+  gint       height;
+
+  text = gtk_widget_get_tooltip_text (widget);
+  gtk_tooltip_set_text (tooltip, text);
+  g_free (text);
+
+  gimp_image_get_resolution (image, &xres, &yres);
+
+  gimp_viewable_calc_preview_size (gimp_image_get_width  (image),
+                                   gimp_image_get_height (image),
+                                   GIMP_VIEW_SIZE_HUGE, GIMP_VIEW_SIZE_HUGE,
+                                   FALSE, xres, yres,
+                                   &width, &height, NULL);
+
+  gtk_tooltip_set_icon (tooltip,
+                        gimp_viewable_get_pixbuf (action->viewable,
+                                                  action->context,
+                                                  width, height));
+
+  return TRUE;
+}

Modified: trunk/app/widgets/gimphelp-ids.h
==============================================================================
--- trunk/app/widgets/gimphelp-ids.h	(original)
+++ trunk/app/widgets/gimphelp-ids.h	Sun Sep 21 18:53:14 2008
@@ -478,7 +478,6 @@
 #define GIMP_HELP_EXPORT_CONFIRM_DIALOG           "gimp-export-confirm-dialog"
 #define GIMP_HELP_UNIT_DIALOG                     "gimp-unit-dialog"
 
-#define GIMP_HELP_WINDOWS_SHOW_IMAGE_WINDOW       "gimp-windows-show-image-window"
 #define GIMP_HELP_WINDOWS_SHOW_DOCK               "gimp-windows-show-dock"
 #define GIMP_HELP_WINDOWS_OPEN_RECENT_DOCK        "gimp-windows-open-recent-dock"
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]