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

Nick Schermer nick at xfce.org
Sun Aug 6 23:50:05 CEST 2006


Author: nick
Date: 2006-08-06 21:50:05 +0000 (Sun, 06 Aug 2006)
New Revision: 1852

Added:
   xfce4-clipman-plugin/trunk/THANKS
Modified:
   xfce4-clipman-plugin/trunk/panel-plugin/clipman.c
Log:
* Patch from Darren Salt <linux at youmustbejoking.demon.co.uk>
  to use Pango's ellipsize.
* Added THANKS file


Added: xfce4-clipman-plugin/trunk/THANKS
===================================================================
--- xfce4-clipman-plugin/trunk/THANKS	                        (rev 0)
+++ xfce4-clipman-plugin/trunk/THANKS	2006-08-06 21:50:05 UTC (rev 1852)
@@ -0,0 +1,6 @@
+
+Contributors:
+-----------------------------------------------
+
+ Darren Salt <linux at youmustbejoking.demon.co.uk>
+  * Patches

Modified: xfce4-clipman-plugin/trunk/panel-plugin/clipman.c
===================================================================
--- xfce4-clipman-plugin/trunk/panel-plugin/clipman.c	2006-08-06 20:20:31 UTC (rev 1851)
+++ xfce4-clipman-plugin/trunk/panel-plugin/clipman.c	2006-08-06 21:50:05 UTC (rev 1852)
@@ -112,22 +112,12 @@
 }
 
 static gchar *
-clipman_create_title (gchar *txt,
-                      gint   chars)
+clipman_create_title (gchar *txt)
 {
-    guint  i;
     gchar *s, *t, *u;
     
-    s = g_strndup (txt, chars);
+    s = g_strdup (txt);
 
-    i = 0;
-    while (s[i] != '\0')
-    {
-        if (s[i] == '\n' || s[i] == '\r' || s[i] == '\t')
-            s[i] = ' ';
-        i++;
-    }
-
     if (!g_utf8_validate (s, -1, NULL))
     {
 	DBG ("Title is not utf8 complaint, we're going to convert it");
@@ -189,8 +179,7 @@
         clip = g_ptr_array_index (clipman->clips, i);
 	
 	g_free (clip->title);        
-        clip->title = clipman_create_title (clip->text,
-	                                    clipman->MenuCharacters);
+        clip->title = clipman_create_title (clip->text);
     }
 }
 
@@ -205,7 +194,7 @@
     {
         new_clip = g_new0 (ClipmanClip, 1);
         
-        new_clip->title    = clipman_create_title (txt, clipman->MenuCharacters);
+        new_clip->title    = clipman_create_title (txt);
 	
 	/* No valid title could be created, drop it... */
 	if (new_clip->title == NULL)
@@ -334,10 +323,12 @@
 
 static GtkWidget *
 clipman_create_menuitem (ClipmanAction *action,
+                         guint          width,
                          guint          number,
                          gboolean       bold)
 {
     GtkWidget *mi;
+    GtkLabel  *label;
     gchar     *title;
 
     mi = gtk_menu_item_new_with_label  ("");
@@ -355,9 +346,13 @@
         else
             title = g_strdup_printf("<tt><span size=\"smaller\">%d.</span></tt> %s",  number ,title);
     }
-    
-    gtk_label_set_markup (GTK_LABEL(GTK_BIN(mi)->child), title);
-    
+
+    label = GTK_LABEL(GTK_BIN(mi)->child);
+    gtk_label_set_markup (label, title);
+    gtk_label_set_single_line_mode (label, TRUE);
+    gtk_label_set_ellipsize (label, PANGO_ELLIPSIZE_END);
+    gtk_label_set_max_width_chars (label, width);
+
     return mi;
 }
 
@@ -391,13 +386,15 @@
                 G_LIKELY (clip->text != NULL) && 
                 strcmp(clip->text, dtext) == 0)
             {
-                mi = clipman_create_menuitem (action, j, TRUE);
+                mi = clipman_create_menuitem (action, clipman->MenuCharacters,
+                                              j, TRUE);
 		g_free (dtext);
 		dtext = NULL;
             }
             else
             {
-                mi = clipman_create_menuitem (action, j, FALSE);
+                mi = clipman_create_menuitem (action, clipman->MenuCharacters,
+                                              j, FALSE);
             }
             
             g_signal_connect (G_OBJECT(mi), "button_release_event",
@@ -440,13 +437,15 @@
                 G_LIKELY (clip->text != NULL) && 
                 strcmp(clip->text, ptext) == 0)
             {
-                mi = clipman_create_menuitem (action, j, TRUE);
+                mi = clipman_create_menuitem (action, clipman->MenuCharacters,
+                                              j, TRUE);
                 g_free (ptext);
 		ptext = NULL;
             }
             else
             {
-                mi = clipman_create_menuitem (action, j, FALSE);
+                mi = clipman_create_menuitem (action, clipman->MenuCharacters,
+                                              j, FALSE);
             }
                 
             g_signal_connect (G_OBJECT(mi), "button_release_event",
@@ -501,7 +500,8 @@
             G_LIKELY (clip->text != NULL) && 
             strcmp(clip->text, dtext) == 0)
         {
-            mi = clipman_create_menuitem (action, clipman->clips->len-i, TRUE);
+            mi = clipman_create_menuitem (action, clipman->MenuCharacters,
+                                          clipman->clips->len-i, TRUE);
             g_free (dtext);
 	    dtext = NULL;
         }
@@ -509,13 +509,15 @@
                  G_LIKELY (clip->text != NULL) && 
                  strcmp(clip->text, ptext) == 0)
         {
-            mi = clipman_create_menuitem (action, clipman->clips->len-i, TRUE);
+            mi = clipman_create_menuitem (action, clipman->MenuCharacters,
+                                          clipman->clips->len-i, TRUE);
             g_free (ptext);
 	    ptext = NULL;
         }
         else
         {
-            mi = clipman_create_menuitem (action, clipman->clips->len-i, FALSE);
+            mi = clipman_create_menuitem (action, clipman->MenuCharacters,
+                                          clipman->clips->len-i, FALSE);
         }
         
         g_signal_connect (G_OBJECT(mi), "button_release_event",




More information about the Goodies-commits mailing list