[gnome-media] Fix setting the application's startup page
- From: Bastien Nocera <hadess src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [gnome-media] Fix setting the application's startup page
- Date: Fri, 9 Oct 2009 16:15:44 +0000 (UTC)
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]