[Goodies-commits] r1441 - in xfce4-clipman-plugin/trunk: . panel-plugin

Nick Schermer nick at xfce.org
Sun Jun 11 20:04:43 CEST 2006


Author: nick
Date: 2006-06-11 18:04:42 +0000 (Sun, 11 Jun 2006)
New Revision: 1441

Modified:
   xfce4-clipman-plugin/trunk/configure.ac
   xfce4-clipman-plugin/trunk/panel-plugin/clipman-dialogs.c
   xfce4-clipman-plugin/trunk/panel-plugin/clipman.c
Log:
New:
 * Use the convenience toggle button from libxfce4panel
 * Better way to calculate icon size (from launcher)

Old Commits From Berios:
 * Free tooltip on plugin exit
 * Use new titled dialog, if available


Modified: xfce4-clipman-plugin/trunk/configure.ac
===================================================================
--- xfce4-clipman-plugin/trunk/configure.ac	2006-06-09 09:10:31 UTC (rev 1440)
+++ xfce4-clipman-plugin/trunk/configure.ac	2006-06-11 18:04:42 UTC (rev 1441)
@@ -43,6 +43,14 @@
 XDT_CHECK_PACKAGE([LIBXFCE4UTIL], [libxfce4util-1.0], [4.3.90])
 XDT_CHECK_PACKAGE([LIBXFCE4PANEL], [libxfce4panel-1.0], [4.3.90])
 
+AC_MSG_CHECKING([whether to use new header dialog])
+if $PKG_CONFIG --atleast-version 4.3.90.2 libxfcegui4-1.0 >/dev/null 2>&1; then
+  AC_DEFINE([USE_NEW_DIALOG], [1], [Define to use new header dialog])
+  AC_MSG_RESULT([yes])
+else
+  AC_MSG_RESULT([no])
+fi
+
 dnl check for debugging support
 XDT_FEATURE_DEBUG()
 

Modified: xfce4-clipman-plugin/trunk/panel-plugin/clipman-dialogs.c
===================================================================
--- xfce4-clipman-plugin/trunk/panel-plugin/clipman-dialogs.c	2006-06-09 09:10:31 UTC (rev 1440)
+++ xfce4-clipman-plugin/trunk/panel-plugin/clipman-dialogs.c	2006-06-11 18:04:42 UTC (rev 1441)
@@ -151,23 +151,36 @@
     
     xfce_panel_plugin_block_menu (clipman->plugin);
     
+#ifdef USE_NEW_DIALOG
+    dialog = xfce_titled_dialog_new_with_buttons (_("Clipboard Manager"),
+                                                  GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (plugin))),
+                                                  GTK_DIALOG_DESTROY_WITH_PARENT | GTK_DIALOG_NO_SEPARATOR,
+                                                  GTK_STOCK_CLOSE, GTK_RESPONSE_OK,
+                                                  NULL);
+/*    xfce_titled_dialog_set_subtitle (XFCE_TITLED_DIALOG (dialog),
+                                     _("Configure the clipboard manager plugin")); */
+#else    
     dialog = gtk_dialog_new_with_buttons (_("Properties"), 
         GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (plugin))),
         GTK_DIALOG_DESTROY_WITH_PARENT | GTK_DIALOG_NO_SEPARATOR,
         GTK_STOCK_CLOSE, GTK_RESPONSE_OK,
         NULL);
+#endif
+
     gtk_window_set_position (GTK_WINDOW (dialog), GTK_WIN_POS_CENTER);
-    gtk_window_set_icon_name (GTK_WINDOW (dialog), GTK_STOCK_PROPERTIES);
+    gtk_window_set_icon_name (GTK_WINDOW (dialog), "xfce4-settings");
     
     g_object_set_data (G_OBJECT (clipman->plugin), "dialog", dialog);
     
     dialog_vbox = GTK_DIALOG (dialog)->vbox;
-    
+
+#ifndef USE_NEW_DIALOG
     frame = xfce_create_header (NULL, _("Clipboard Manager"));
     gtk_widget_set_size_request (GTK_BIN (frame)->child, -1, 32);
     gtk_container_set_border_width (GTK_CONTAINER (frame), BORDER-3);
     gtk_box_pack_start (GTK_BOX (dialog_vbox), frame, FALSE, TRUE, 0);
-	
+#endif
+
     notebook = gtk_notebook_new ();
     gtk_box_pack_start (GTK_BOX (dialog_vbox), notebook, FALSE, TRUE, 0);
     gtk_container_set_border_width (GTK_CONTAINER (notebook), BORDER-3);

Modified: xfce4-clipman-plugin/trunk/panel-plugin/clipman.c
===================================================================
--- xfce4-clipman-plugin/trunk/panel-plugin/clipman.c	2006-06-09 09:10:31 UTC (rev 1440)
+++ xfce4-clipman-plugin/trunk/panel-plugin/clipman.c	2006-06-11 18:04:42 UTC (rev 1441)
@@ -29,6 +29,7 @@
 #include <libxfcegui4/libxfcegui4.h>
 #include <libxfce4util/libxfce4util.h>
 #include <libxfce4panel/xfce-panel-plugin.h>
+#include <libxfce4panel/xfce-panel-convenience.h>
 
 #include "clipman.h"
 #include "clipman-dialogs.h"
@@ -902,13 +903,12 @@
     clipman->plugin = plugin;
     
     clipman->tooltip = gtk_tooltips_new ();
+    g_object_ref (clipman->tooltip);
     
     clipman_read (clipman);
     
-    clipman->button = gtk_toggle_button_new ();
-        gtk_widget_show (clipman->button);
-        gtk_button_set_relief (GTK_BUTTON (clipman->button), GTK_RELIEF_NONE);
-        gtk_button_set_focus_on_click (GTK_BUTTON (clipman->button), FALSE);
+    clipman->button = xfce_create_panel_toggle_button ();
+    gtk_widget_show (clipman->button);
         
     gtk_tooltips_set_tip (GTK_TOOLTIPS(clipman->tooltip),
                           clipman->button, _("Clipboard Manager"),
@@ -961,10 +961,12 @@
     }
     g_ptr_array_free (clipman->clips, TRUE);
 
+    gtk_tooltips_set_tip (clipman->tooltip, clipman->button, NULL, NULL);
+    g_object_unref (clipman->tooltip);
+    
     gtk_widget_destroy (clipman->icon);
     gtk_widget_destroy (clipman->button);
     
-    g_free (clipman->tooltip);
     clipman->plugin = NULL;
     
     DBG ("Plugin Freed");
@@ -978,20 +980,22 @@
                   ClipmanPlugin   *clipman)
 {
     GdkPixbuf *pb;
-    gint       newsize;
+    gint       size;
     
     DBG("Set clipman button size");
 
-    newsize = wsize - 10;
-    if (newsize < 1)
-        newsize = 1;
-    
     gtk_widget_set_size_request (clipman->button, wsize, wsize);
     
+    size = wsize - 2 - 2 * MAX (clipman->button->style->xthickness,
+                                clipman->button->style->ythickness);
+    
+    if (size < 1)
+        size = 1;
+    
     if (clipman->icon)
         gtk_widget_destroy (clipman->icon);
     
-    pb = gtk_icon_theme_load_icon (gtk_icon_theme_get_default (), "gtk-paste", newsize , 0, NULL);
+    pb = gtk_icon_theme_load_icon (gtk_icon_theme_get_default (), "gtk-paste", size , 0, NULL);
     clipman->icon = gtk_image_new_from_pixbuf (pb);
     gtk_widget_show (clipman->icon);
     gtk_container_add (GTK_CONTAINER (clipman->button), clipman->icon);




More information about the Goodies-commits mailing list