[gnac/devel] Added menu item to hide toolbar
- From: Benoît Dupasquier <bdupasqu src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnac/devel] Added menu item to hide toolbar
- Date: Mon, 1 Nov 2010 20:54:02 +0000 (UTC)
commit d16558059101cd7b19b44237e8312a8e2b393d10
Author: Benoît Dupasquier <bdupasqu src gnome org>
Date: Mon Nov 1 20:53:42 2010 +0000
Added menu item to hide toolbar
data/gnac.schemas.in | 10 ++++++++++
data/ui/gnac.xml | 20 ++++++++++++++++++--
src/gnac-gconf.c | 1 +
src/gnac-gconf.h | 1 +
src/gnac-ui.c | 40 +++++++++++++++++++++++++++++++++++-----
src/gnac-ui.h | 4 ++++
6 files changed, 69 insertions(+), 7 deletions(-)
---
diff --git a/data/gnac.schemas.in b/data/gnac.schemas.in
index 95566ab..0a3fe08 100644
--- a/data/gnac.schemas.in
+++ b/data/gnac.schemas.in
@@ -12,6 +12,16 @@
</locale>
</schema>
<schema>
+ <key>/schemas/apps/gnac/display/toolbar_visible</key>
+ <applyto>/apps/gnac/display/toolbar_visible</applyto>
+ <owner>gnac</owner>
+ <type>bool</type>
+ <default>true</default>
+ <locale name="C">
+ <short>Display a toolbar</short>
+ </locale>
+ </schema>
+ <schema>
<key>/schemas/apps/gnac/conversion/folder_hierarchy</key>
<applyto>/apps/gnac/conversion/folder_hierarchy</applyto>
<owner>gnac</owner>
diff --git a/data/ui/gnac.xml b/data/ui/gnac.xml
index 55a29d4..a6bacc5 100644
--- a/data/ui/gnac.xml
+++ b/data/ui/gnac.xml
@@ -1,5 +1,4 @@
-<?xml version="1.0"?>
-<!--Generated with glade3 3.4.5 on Mon Dec 15 14:23:48 2008 -->
+<?xml version="1.0" encoding="UTF-8"?>
<interface>
<object class="GtkUIManager" id="uimanager1">
<child>
@@ -83,6 +82,20 @@
</object>
</child>
<child>
+ <object class="GtkAction" id="menuitem3">
+ <property name="name">menuitem3</property>
+ <property name="label" translatable="yes">_View</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkToggleAction" id="view_toolbar_item">
+ <property name="label" translatable="yes">_Toolbar</property>
+ <property name="name">view_toolbar_item</property>
+ <property name="active">True</property>
+ <signal handler="gnac_ui_on_view_toolbar_cb" name="activate"/>
+ </object>
+ </child>
+ <child>
<object class="GtkAction" id="menuitem4">
<property name="name">menuitem4</property>
<property name="label" translatable="yes">_Help</property>
@@ -154,6 +167,9 @@
<separator/>
<menuitem action="prefs_item"/>
</menu>
+ <menu action="menuitem3">
+ <menuitem action="view_toolbar_item"/>
+ </menu>
<menu action="menuitem4">
<menuitem action="help_item"/>
<menuitem action="about_item"/>
diff --git a/src/gnac-gconf.c b/src/gnac-gconf.c
index 703b89b..31c0cd4 100644
--- a/src/gnac-gconf.c
+++ b/src/gnac-gconf.c
@@ -36,6 +36,7 @@
static const gchar *gnac_gconf_paths[] = {
"/apps/gnac/display/tray_icon",
+ "/apps/gnac/display/toolbar_visible",
"/apps/gnac/conversion/clear_sources",
"/apps/gnac/conversion/strip_special",
"/apps/gnac/conversion/rename_pattern",
diff --git a/src/gnac-gconf.h b/src/gnac-gconf.h
index d127a81..163b4f3 100644
--- a/src/gnac-gconf.h
+++ b/src/gnac-gconf.h
@@ -36,6 +36,7 @@ G_BEGIN_DECLS
typedef enum {
GNAC_GCONF_TRAY_ICON,
+ GNAC_GCONF_TOOLBAR_VISIBLE,
GNAC_GCONF_CLEAR_SOURCE,
GNAC_GCONF_STRIP_SPECIAL,
GNAC_GCONF_RENAME_PATTERN,
diff --git a/src/gnac-ui.c b/src/gnac-ui.c
index 5bdfbe6..b2664aa 100644
--- a/src/gnac-ui.c
+++ b/src/gnac-ui.c
@@ -449,6 +449,22 @@ gnac_remove_track(gpointer data,
}
+static void
+gnac_ui_show_toolbar(void)
+{
+ gboolean visible;
+ GtkToggleAction *view_toolbar;
+ GtkWidget *toolbar;
+
+ /* update toolbar's status */
+ view_toolbar = GTK_TOGGLE_ACTION(gnac_ui_get_action("view_toolbar_item"));
+ visible = gnac_gconf_get_boolean(GNAC_GCONF_TOOLBAR_VISIBLE);
+ gtk_toggle_action_set_active(view_toolbar, visible);
+ toolbar = gnac_ui_get_widget("main_toolbar");
+ gtk_widget_set_visible(toolbar, visible);
+}
+
+
void
gnac_ui_reset_file_filter(void)
{
@@ -592,10 +608,10 @@ gnac_ui_file_chooser_key_press_event_cb(GtkWidget *widget,
void
gnac_ui_new(void)
{
- gchar *current_profile;
- GtkWidget *file_list;
- GtkWidget *audio_profile_hbox;
- GError *err = NULL;
+ gchar *current_profile;
+ GtkWidget *audio_profile_hbox;
+ GtkWidget *file_list;
+ GError *err = NULL;
gnac_stock_items_init();
@@ -618,10 +634,10 @@ gnac_ui_new(void)
file_list = gnac_file_list_new();
+ /* Add audio profile combo box */
audio_profile_hbox = GTK_WIDGET(gtk_builder_get_object(gnac_main_builder,
"audio_profile_hbox"));
- /* Add audio profile combo box */
audio_profile_chooser_combo = gnac_profiles_get_widget(
gnac_ui_get_widget("main_window"));
@@ -912,6 +928,19 @@ gnac_ui_on_focus_in_event_cb(GtkWidget *widget,
void
+gnac_ui_on_view_toolbar_cb(GtkAction *action,
+ gpointer user_data)
+{
+ gboolean visible;
+ GtkWidget *toolbar;
+ toolbar = gnac_ui_get_widget("main_toolbar"),
+ visible = !gtk_widget_get_visible(toolbar);
+ gtk_widget_set_visible(toolbar, visible);
+ gnac_gconf_set_boolean(GNAC_GCONF_TOOLBAR_VISIBLE, visible);
+}
+
+
+void
gnac_ui_on_help_cb(GtkAction *action,
gpointer user_data)
{
@@ -1151,6 +1180,7 @@ gnac_ui_show(void)
gtk_widget_show_all(main_window);
+ gnac_ui_show_toolbar();
gnac_ui_show_progress(FALSE);
gnac_ui_show_pause(FALSE);
gnac_bars_activate_pause(FALSE);
diff --git a/src/gnac-ui.h b/src/gnac-ui.h
index 850b5e8..20cd102 100644
--- a/src/gnac-ui.h
+++ b/src/gnac-ui.h
@@ -127,6 +127,10 @@ gnac_ui_on_focus_in_event_cb(GtkWidget *widget,
gpointer data);
void
+gnac_ui_on_view_toolbar_cb(GtkAction *action,
+ gpointer user_data);
+
+void
gnac_ui_on_help_cb(GtkAction *action,
gpointer user_data);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]