[gnome-media] Fix setting the application's startup page



commit 7ae42160d2873b58424a3f51a9152ef8bcda97fc
Author: Bastien Nocera <hadess hadess net>
Date:   Fri Oct 9 16:38:37 2009 +0100

    Fix setting the application's startup page

 gnome-volume-control/src/dialog-main.c      |    5 +--
 gnome-volume-control/src/gvc-mixer-dialog.c |   38 +++++++++++++++++++--------
 2 files changed, 29 insertions(+), 14 deletions(-)
---
diff --git a/gnome-volume-control/src/dialog-main.c b/gnome-volume-control/src/dialog-main.c
index 1142168..b3f06c0 100644
--- a/gnome-volume-control/src/dialog-main.c
+++ b/gnome-volume-control/src/dialog-main.c
@@ -98,8 +98,7 @@ on_control_ready (GvcMixerControl *control,
                           G_CALLBACK (on_dialog_close),
                           NULL);
 
-        if (page != NULL)
-                gvc_mixer_dialog_set_page(GVC_MIXER_DIALOG (dialog), page);
+        gvc_mixer_dialog_set_page(GVC_MIXER_DIALOG (dialog), page);
 
         g_signal_connect (app, "message-received",
                           G_CALLBACK (message_received_cb), dialog);
@@ -152,7 +151,7 @@ main (int argc, char **argv)
         GvcMixerControl    *control;
         UniqueApp          *app;
         static GOptionEntry entries[] = {
-                { "page", 'p', 0, G_OPTION_ARG_STRING, &page, N_("Startup page"), "playback|recording|effects|applications" },
+                { "page", 'p', 0, G_OPTION_ARG_STRING, &page, N_("Startup page"), "effects|hardware|input|output|applications" },
                 { "debug", 0, 0, G_OPTION_ARG_NONE, &debug, N_("Enable debugging code"), NULL },
                 { "version", 0, 0, G_OPTION_ARG_NONE, &show_version, N_("Version of this application"), NULL },
                 { NULL, 0, 0, 0, NULL, NULL, NULL }
diff --git a/gnome-volume-control/src/gvc-mixer-dialog.c b/gnome-volume-control/src/gvc-mixer-dialog.c
index 12dc02a..4a67d70 100644
--- a/gnome-volume-control/src/gvc-mixer-dialog.c
+++ b/gnome-volume-control/src/gvc-mixer-dialog.c
@@ -651,7 +651,7 @@ on_adjustment_value_changed (GtkAdjustment  *adjustment,
 
         stream = g_object_get_data (G_OBJECT (adjustment), "gvc-mixer-dialog-stream");
         if (stream != NULL) {
-        	GObject *bar;
+                GObject *bar;
                 gdouble volume, rounded;
                 char *name;
 
@@ -1940,22 +1940,38 @@ gvc_mixer_dialog_new (GvcMixerControl *control)
         return GVC_MIXER_DIALOG (dialog);
 }
 
+enum {
+        PAGE_EVENTS,
+        PAGE_HARDWARE,
+        PAGE_INPUT,
+        PAGE_OUTPUT,
+        PAGE_APPLICATIONS
+};
+
 gboolean
 gvc_mixer_dialog_set_page (GvcMixerDialog *self,
                            const char     *page)
 {
+        guint num;
+
         g_return_val_if_fail (self != NULL, FALSE);
 
-        if (g_ascii_strncasecmp(page, "playback",8) == 0)
-                gtk_notebook_set_current_page (GTK_NOTEBOOK (self->priv->notebook), 2);
-        else if (g_ascii_strncasecmp(page, "recording",9) == 0)
-                gtk_notebook_set_current_page (GTK_NOTEBOOK (self->priv->notebook), 1);
-        else if (g_ascii_strncasecmp(page, "effects",7) == 0)
-                gtk_notebook_set_current_page (GTK_NOTEBOOK (self->priv->notebook), 0);
-        else if (g_ascii_strncasecmp(page, "applications",12) == 0)
-                gtk_notebook_set_current_page (GTK_NOTEBOOK (self->priv->notebook), 3);
-        else /* default is "playback" */
-                gtk_notebook_set_current_page (GTK_NOTEBOOK (self->priv->notebook), 0);
+        if (page == NULL)
+                num = 0;
+        else if (g_str_equal (page, "effects"))
+                num = PAGE_EVENTS;
+        else if (g_str_equal (page, "hardware"))
+                num = PAGE_HARDWARE;
+        else if (g_str_equal (page, "input"))
+                num = PAGE_INPUT;
+        else if (g_str_equal (page, "output"))
+                num = PAGE_OUTPUT;
+        else if (g_str_equal (page, "applications"))
+                num = PAGE_APPLICATIONS;
+        else
+                num = 0;
+
+        gtk_notebook_set_current_page (GTK_NOTEBOOK (self->priv->notebook), num);
 
         return TRUE;
 }



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