[gnome-commander] Show/hide mainmenu
- From: Uwe Scholz <uwescholz src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-commander] Show/hide mainmenu
- Date: Sat, 9 Jul 2016 09:38:42 +0000 (UTC)
commit 7ac9cfcfb949a16e7ed154e7c3b8d55a5b1d5356
Author: Puux <puuxmine gmail com>
Date: Wed Jul 6 18:54:49 2016 +0300
Show/hide mainmenu
src/gnome-cmd-data.cc | 3 +++
src/gnome-cmd-data.h | 1 +
src/gnome-cmd-main-win.cc | 16 +++++++++++++++-
src/gnome-cmd-main-win.h | 1 +
src/gnome-cmd-user-actions.cc | 9 +++++++++
src/gnome-cmd-user-actions.h | 1 +
6 files changed, 30 insertions(+), 1 deletions(-)
---
diff --git a/src/gnome-cmd-data.cc b/src/gnome-cmd-data.cc
index 12b4fc7..8e3c762 100644
--- a/src/gnome-cmd-data.cc
+++ b/src/gnome-cmd-data.cc
@@ -1289,6 +1289,7 @@ GnomeCmdData::GnomeCmdData(): search_defaults(selections)
concombo_visibility = TRUE;
cmdline_visibility = TRUE;
buttonbar_visibility = TRUE;
+ mainmenu_visibility = TRUE;
dev_icon_size = 16;
memset(fs_col_width, 0, sizeof(fs_col_width));
@@ -1533,6 +1534,7 @@ void GnomeCmdData::load()
concombo_visibility = gnome_cmd_data_get_bool ("/options/con_list_visibility", TRUE);
cmdline_visibility = gnome_cmd_data_get_bool ("/options/cmdline_visibility", TRUE);
buttonbar_visibility = gnome_cmd_data_get_bool ("/programs/buttonbar_visibility", TRUE);
+ mainmenu_visibility = gnome_cmd_data_get_bool ("/programs/mainmenu_visibility", TRUE);
if (gui_update_rate < MIN_GUI_UPDATE_RATE)
gui_update_rate = MIN_GUI_UPDATE_RATE;
@@ -1971,6 +1973,7 @@ void GnomeCmdData::save()
gnome_cmd_data_set_bool ("/options/con_list_visibility", concombo_visibility);
gnome_cmd_data_set_bool ("/options/cmdline_visibility", cmdline_visibility);
gnome_cmd_data_set_bool ("/programs/buttonbar_visibility", buttonbar_visibility);
+ gnome_cmd_data_set_bool ("/programs/mainmenu_visibility", mainmenu_visibility);
if (priv->symlink_prefix && *priv->symlink_prefix && strcmp(priv->symlink_prefix, _("link to %s"))!=0)
gnome_cmd_data_set_string ("/options/symlink_prefix", priv->symlink_prefix);
diff --git a/src/gnome-cmd-data.h b/src/gnome-cmd-data.h
index 25f9aac..5c4e5e5 100644
--- a/src/gnome-cmd-data.h
+++ b/src/gnome-cmd-data.h
@@ -447,6 +447,7 @@ struct GnomeCmdData
gboolean concombo_visibility;
gboolean cmdline_visibility;
gboolean buttonbar_visibility;
+ gboolean mainmenu_visibility;
guint dev_icon_size;
guint fs_col_width[GnomeCmdFileList::NUM_COLUMNS];
diff --git a/src/gnome-cmd-main-win.cc b/src/gnome-cmd-main-win.cc
index 20a5049..33c60e2 100644
--- a/src/gnome-cmd-main-win.cc
+++ b/src/gnome-cmd-main-win.cc
@@ -771,7 +771,8 @@ static void init (GnomeCmdMainWin *mw)
mw->priv->menubar = gnome_cmd_main_menu_new ();
g_object_ref (mw->priv->menubar);
g_object_set_data_full (*mw, "vbox", mw->priv->menubar, g_object_unref);
- gtk_widget_show (mw->priv->menubar);
+ if(gnome_cmd_data.mainmenu_visibility)
+ gtk_widget_show (mw->priv->menubar);
gtk_box_pack_start (GTK_BOX (mw->priv->vbox), mw->priv->menubar, FALSE, TRUE, 0);
gtk_box_pack_start (GTK_BOX (mw->priv->vbox), create_separator (FALSE), FALSE, TRUE, 0);
@@ -1289,6 +1290,19 @@ void GnomeCmdMainWin::update_list_orientation()
}
+void GnomeCmdMainWin::update_mainmenu_visibility()
+{
+ if (gnome_cmd_data.mainmenu_visibility)
+ {
+ gtk_widget_show (priv->menubar);
+ }
+ else
+ {
+ gtk_widget_hide (priv->menubar);
+ }
+}
+
+
void GnomeCmdMainWin::add_plugin_menu(PluginData *data)
{
gnome_cmd_main_menu_add_plugin_menu (GNOME_CMD_MAIN_MENU (priv->menubar), data);
diff --git a/src/gnome-cmd-main-win.h b/src/gnome-cmd-main-win.h
index 6dc2594..ec507c0 100644
--- a/src/gnome-cmd-main-win.h
+++ b/src/gnome-cmd-main-win.h
@@ -95,6 +95,7 @@ struct GnomeCmdMainWin
void update_cmdline_visibility();
void update_buttonbar_visibility();
void update_list_orientation();
+ void update_mainmenu_visibility();
void add_plugin_menu(PluginData *data);
diff --git a/src/gnome-cmd-user-actions.cc b/src/gnome-cmd-user-actions.cc
index 55406cf..851faa9 100644
--- a/src/gnome-cmd-user-actions.cc
+++ b/src/gnome-cmd-user-actions.cc
@@ -229,6 +229,8 @@ static UserActionData user_actions_data[] = {
{view_terminal, "view.terminal", N_("Show terminal")},
#endif
{view_up, "view.up", N_("Up one directory")},
+
+ {view_main_menu,
"view.main.menu", N_("Display main menu")},
};
@@ -1572,6 +1574,13 @@ void view_up (GtkMenuItem *menuitem, gpointer not_used)
fs->goto_directory("..");
}
+void view_main_menu (GtkMenuItem *menuitem, gpointer not_used)
+{
+ if (!GTK_WIDGET_REALIZED (main_win)) return;
+
+ gnome_cmd_data.mainmenu_visibility = !gnome_cmd_data.mainmenu_visibility;
+ main_win->update_mainmenu_visibility();
+}
void view_first (GtkMenuItem *menuitem, gpointer not_used)
{
diff --git a/src/gnome-cmd-user-actions.h b/src/gnome-cmd-user-actions.h
index 4ff5383..b6090ad 100644
--- a/src/gnome-cmd-user-actions.h
+++ b/src/gnome-cmd-user-actions.h
@@ -311,6 +311,7 @@ GNOME_CMD_USER_ACTION(view_next_tab);
GNOME_CMD_USER_ACTION(view_in_new_tab);
GNOME_CMD_USER_ACTION(view_in_inactive_tab);
GNOME_CMD_USER_ACTION(view_toggle_tab_lock);
+GNOME_CMD_USER_ACTION(view_main_menu);
/************** Bookmarks Menu **************/
GNOME_CMD_USER_ACTION(bookmarks_add_current);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]