[Xfce4-commits] r30141 - terminal/trunk/terminal

Nick Schermer nick at xfce.org
Thu Jul 2 21:16:03 CEST 2009


Author: nick
Date: 2009-07-02 19:16:03 +0000 (Thu, 02 Jul 2009)
New Revision: 30141

Modified:
   terminal/trunk/terminal/terminal-options.c
Log:
Add separate function for the --{show,hide}-* options.


Modified: terminal/trunk/terminal/terminal-options.c
===================================================================
--- terminal/trunk/terminal/terminal-options.c	2009-07-02 18:52:39 UTC (rev 30140)
+++ terminal/trunk/terminal/terminal-options.c	2009-07-02 19:16:03 UTC (rev 30141)
@@ -98,6 +98,34 @@
 
 
 
+static gboolean
+terminal_option_show_hide_cmp (const gchar         *long_name,
+                               gint                 argc,
+                               gchar              **argv,
+                               gint                *argv_offset,
+                               TerminalVisibility  *return_visibility)
+{
+  gchar *arg = argv[*argv_offset];
+
+  terminal_return_val_if_fail (long_name != NULL, FALSE);
+  terminal_return_val_if_fail (return_visibility != NULL, FALSE);
+
+  if ((strncmp (arg, "--show-", 7) == 0 || strncmp (arg, "--hide-", 7) == 0)
+      && strcmp (arg + 7, long_name) == 0)
+    {
+      if (*(arg + 2) == 's')
+        *return_visibility = TERMINAL_VISIBILITY_SHOW;
+      else
+        *return_visibility = TERMINAL_VISIBILITY_HIDE;
+
+      return TRUE;
+    }
+
+  return FALSE;
+}
+
+
+
 static void
 terminal_tab_attr_free (TerminalTabAttr *attr)
 {
@@ -135,6 +163,7 @@
   gchar              *s;
   GSList             *tp, *wp;
   gint                n;
+  TerminalVisibility  visible;
 
   if (attrs_return != NULL)
     {
@@ -311,16 +340,11 @@
               win_attr->startup_id = g_strdup (s);
             }
         }
-      else if (terminal_option_cmp ("show-menubar", 0, argc, argv, &n, NULL))
+      else if (terminal_option_show_hide_cmp ("menubar", argc, argv, &n, &visible))
         {
           if (win_attr != NULL)
-            win_attr->menubar = TERMINAL_VISIBILITY_SHOW;
+            win_attr->menubar = visible;
         }
-      else if (terminal_option_cmp ("hide-menubar", 0, argc, argv, &n, NULL))
-        {
-          if (win_attr != NULL)
-            win_attr->menubar = TERMINAL_VISIBILITY_HIDE;
-        }
       else if (terminal_option_cmp ("fullscreen", 0, argc, argv, &n, NULL))
         {
           if (win_attr != NULL)
@@ -331,26 +355,16 @@
           if (win_attr != NULL)
             win_attr->maximize = TRUE;
         }
-      else if (terminal_option_cmp ("show-borders", 0, argc, argv, &n, NULL))
+      else if (terminal_option_show_hide_cmp ("borders", argc, argv, &n, &visible))
         {
           if (win_attr != NULL)
-            win_attr->borders = TERMINAL_VISIBILITY_SHOW;
+            win_attr->borders = visible;
         }
-      else if (terminal_option_cmp ("hide-borders", 0, argc, argv, &n, NULL))
+      else if (terminal_option_show_hide_cmp ("toolbars", argc, argv, &n, &visible))
         {
           if (win_attr != NULL)
-            win_attr->borders = TERMINAL_VISIBILITY_HIDE;
+            win_attr->toolbars = visible;
         }
-      else if (terminal_option_cmp ("show-toolbars", 0, argc, argv, &n, NULL))
-        {
-          if (win_attr != NULL)
-            win_attr->toolbars = TERMINAL_VISIBILITY_SHOW;
-        }
-      else if (terminal_option_cmp ("hide-toolbars", 0, argc, argv, &n, NULL))
-        {
-          if (win_attr != NULL)
-            win_attr->toolbars = TERMINAL_VISIBILITY_HIDE;
-        }
       else if (terminal_option_cmp ("tab", 0, argc, argv, &n, NULL))
         {
           if (win_attr != NULL)




More information about the Xfce4-commits mailing list