]> spindle.queued.net Git - midori/commitdiff
Calculate action name length for --help-execute
authorChristian Dywan <christian@twotoasts.de>
Sun, 13 May 2012 02:46:29 +0000 (04:46 +0200)
committerChristian Dywan <christian@twotoasts.de>
Sun, 13 May 2012 02:46:29 +0000 (04:46 +0200)
Fixes: https://bugs.launchpad.net/midori/+bug/998597
midori/main.c

index cb4e1c4d372a4703fe89092f91d21c507007368d..7db7522dfcc53e7fa9e69bcd8dd8ef893d8c58cf 100644 (file)
@@ -2020,11 +2020,21 @@ main (int    argc,
         MidoriBrowser* browser = midori_browser_new ();
         GtkActionGroup* action_group = midori_browser_get_action_group (browser);
         GList* actions = gtk_action_group_list_actions (action_group);
+        GList* temp = actions;
+        guint length = 1;
+        gchar* space;
+
+        for (; temp; temp = g_list_next (temp))
+        {
+            GtkAction* action = temp->data;
+            length = MAX (length, 1 + strlen (gtk_action_get_name (action)));
+        }
+
+        space = g_strnfill (length, ' ');
         for (; actions; actions = g_list_next (actions))
         {
             GtkAction* action = actions->data;
             const gchar* name = gtk_action_get_name (action);
-            const gchar* space = "                       ";
             gchar* padding = g_strndup (space, strlen (space) - strlen (name));
             gchar* label = katze_object_get_string (action, "label");
             gchar* stripped = katze_strip_mnemonics (label);
@@ -2036,6 +2046,7 @@ main (int    argc,
             g_free (label);
             g_free (stripped);
         }
+        g_free (space);
         g_list_free (actions);
         gtk_widget_destroy (GTK_WIDGET (browser));
         return 0;