gnome-media r4073 - in trunk/gnome-volume-control: . src



Author: malureau
Date: Fri Dec  5 00:30:21 2008
New Revision: 4073
URL: http://svn.gnome.org/viewvc/gnome-media?rev=4073&view=rev

Log:
2008-12-05  Marc-Andrà Lureau  <marcandre lureau gmail com>

* src/gvc-mixer-dialog.c (gvc_mixer_dialog_set_page):
Added --page argument for compatibility reasons (used by g-s-r,
for instance). Closes: #563289

Modified:
   trunk/gnome-volume-control/ChangeLog
   trunk/gnome-volume-control/src/dialog-main.c
   trunk/gnome-volume-control/src/gvc-mixer-dialog.c
   trunk/gnome-volume-control/src/gvc-mixer-dialog.h

Modified: trunk/gnome-volume-control/src/dialog-main.c
==============================================================================
--- trunk/gnome-volume-control/src/dialog-main.c	(original)
+++ trunk/gnome-volume-control/src/dialog-main.c	Fri Dec  5 00:30:21 2008
@@ -43,6 +43,7 @@
 
 static gboolean show_version = FALSE;
 static gboolean debug = FALSE;
+static gchar* page = NULL;
 
 static void
 on_bus_name_lost (DBusGProxy *bus_proxy,
@@ -158,11 +159,16 @@
                   gpointer         data)
 {
         GvcMixerDialog *dialog;
+
         dialog = gvc_mixer_dialog_new (control);
         g_signal_connect (dialog,
                           "response",
                           G_CALLBACK (on_dialog_response),
                           NULL);
+
+        if (page != NULL)
+                gvc_mixer_dialog_set_page(dialog, page);
+
         gtk_widget_show (GTK_WIDGET (dialog));
 }
 
@@ -172,6 +178,7 @@
         GError             *error;
         GvcMixerControl    *control;
         static GOptionEntry entries[] = {
+                { "page", 'p', 0, G_OPTION_ARG_STRING, &page, N_("Startup page"), "playback|recording|effects|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 }

Modified: trunk/gnome-volume-control/src/gvc-mixer-dialog.c
==============================================================================
--- trunk/gnome-volume-control/src/gvc-mixer-dialog.c	(original)
+++ trunk/gnome-volume-control/src/gvc-mixer-dialog.c	Fri Dec  5 00:30:21 2008
@@ -45,6 +45,7 @@
 {
         GvcMixerControl *mixer_control;
         GHashTable      *bars;
+        GtkWidget       *notebook;
         GtkWidget       *output_bar;
         GtkWidget       *input_bar;
         GtkWidget       *effects_bar;
@@ -765,7 +766,6 @@
         GtkWidget        *label;
         GtkWidget        *alignment;
         GtkWidget        *box;
-        GtkWidget        *notebook;
         GSList           *streams;
         GSList           *l;
         GvcMixerStream   *stream;
@@ -794,16 +794,16 @@
         gtk_box_pack_start (GTK_BOX (self->priv->output_stream_box),
                             self->priv->output_bar, TRUE, TRUE, 12);
 
-        notebook = gtk_notebook_new ();
+        self->priv->notebook = gtk_notebook_new ();
         gtk_box_pack_start (GTK_BOX (main_vbox),
-                            notebook,
+                            self->priv->notebook,
                             TRUE, TRUE, 12);
 
         /* Effects page */
         self->priv->sound_effects_box = gtk_vbox_new (FALSE, 6);
         gtk_container_set_border_width (GTK_CONTAINER (self->priv->sound_effects_box), 12);
         label = gtk_label_new (_("Sound Effects"));
-        gtk_notebook_append_page (GTK_NOTEBOOK (notebook),
+        gtk_notebook_append_page (GTK_NOTEBOOK (self->priv->notebook),
                                   self->priv->sound_effects_box,
                                   label);
 
@@ -823,7 +823,7 @@
         self->priv->input_box = gtk_vbox_new (FALSE, 12);
         gtk_container_set_border_width (GTK_CONTAINER (self->priv->input_box), 12);
         label = gtk_label_new (_("Input"));
-        gtk_notebook_append_page (GTK_NOTEBOOK (notebook),
+        gtk_notebook_append_page (GTK_NOTEBOOK (self->priv->notebook),
                                   self->priv->input_box,
                                   label);
 
@@ -862,7 +862,7 @@
         self->priv->output_box = gtk_vbox_new (FALSE, 12);
         gtk_container_set_border_width (GTK_CONTAINER (self->priv->output_box), 12);
         label = gtk_label_new (_("Output"));
-        gtk_notebook_append_page (GTK_NOTEBOOK (notebook),
+        gtk_notebook_append_page (GTK_NOTEBOOK (self->priv->notebook),
                                   self->priv->output_box,
                                   label);
 
@@ -894,7 +894,7 @@
         self->priv->applications_box = gtk_vbox_new (FALSE, 12);
         gtk_container_set_border_width (GTK_CONTAINER (self->priv->applications_box), 12);
         label = gtk_label_new (_("Applications"));
-        gtk_notebook_append_page (GTK_NOTEBOOK (notebook),
+        gtk_notebook_append_page (GTK_NOTEBOOK (self->priv->notebook),
                                   self->priv->applications_box,
                                   label);
 
@@ -1002,3 +1002,20 @@
                                NULL);
         return GVC_MIXER_DIALOG (dialog);
 }
+
+gboolean
+gvc_mixer_dialog_set_page (GvcMixerDialog *self, const gchar* page)
+{
+        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);
+}

Modified: trunk/gnome-volume-control/src/gvc-mixer-dialog.h
==============================================================================
--- trunk/gnome-volume-control/src/gvc-mixer-dialog.h	(original)
+++ trunk/gnome-volume-control/src/gvc-mixer-dialog.h	Fri Dec  5 00:30:21 2008
@@ -49,6 +49,7 @@
 GType               gvc_mixer_dialog_get_type            (void);
 
 GvcMixerDialog *    gvc_mixer_dialog_new                 (GvcMixerControl *control);
+gboolean            gvc_mixer_dialog_set_page            (GvcMixerDialog *dialog, const gchar* page);
 
 G_END_DECLS
 



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