Put "View" menu items in the same order as toolbar toggle buttons.
Make "View" menu items check boxes that mirror toolbar buttons.
Change the label of the toolbar buttons to "Hide *" when activated and
"Show *" when deactivated.
return TRUE;
}
+static void
+update_activity_labels(signal_user_data_t *ud, gboolean active)
+{
+ GtkToolButton *button;
+
+ button = GTK_TOOL_BUTTON(GHB_WIDGET(ud->builder, "show_activity"));
+
+ if (!active)
+ {
+ gtk_tool_button_set_label(button, "Show\nActivity");
+ }
+ else
+ {
+ gtk_tool_button_set_label(button, "Hide\nActivity");
+ }
+}
+
G_MODULE_EXPORT void
-show_activity_clicked_cb(GtkWidget *xwidget, signal_user_data_t *ud)
+show_activity_toggled_cb(GtkWidget *widget, signal_user_data_t *ud)
{
- GtkWidget *widget = GHB_WIDGET (ud->builder, "activity_window");
- gtk_widget_set_visible(widget, gtk_toggle_tool_button_get_active(
- GTK_TOGGLE_TOOL_BUTTON(xwidget)));
+ GtkWidget *activity_window;
+ GtkCheckMenuItem *menuitem;
+ gboolean active;
+
+ active = gtk_toggle_tool_button_get_active(GTK_TOGGLE_TOOL_BUTTON(widget));
+ activity_window = GHB_WIDGET(ud->builder, "activity_window");
+ gtk_widget_set_visible(activity_window, active);
+ update_activity_labels(ud, active);
+
+ menuitem = GTK_CHECK_MENU_ITEM(GHB_WIDGET(ud->builder,
+ "show_activity_menu"));
+ gtk_check_menu_item_set_active(menuitem, active);
}
G_MODULE_EXPORT void
-show_activity_menu_clicked_cb(GtkWidget *xwidget, signal_user_data_t *ud)
+show_activity_menu_toggled_cb(GtkWidget *widget, signal_user_data_t *ud)
{
- GtkWidget *widget = GHB_WIDGET (ud->builder, "activity_window");
- gtk_widget_set_visible(widget, TRUE);
- widget = GHB_WIDGET (ud->builder, "show_activity");
- gtk_toggle_tool_button_set_active(GTK_TOGGLE_TOOL_BUTTON(widget), TRUE);
+ GtkToggleToolButton *button;
+ gboolean active;
+
+ active = gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(widget));
+ button = GTK_TOGGLE_TOOL_BUTTON(GHB_WIDGET(ud->builder, "show_activity"));
+ gtk_toggle_tool_button_set_active(button, active);
}
G_MODULE_EXPORT gboolean
gtk_widget_hide (widget);
}
+static void
+update_queue_labels(signal_user_data_t *ud, gboolean active)
+{
+ GtkToolButton *button;
+
+ button = GTK_TOOL_BUTTON(GHB_WIDGET(ud->builder, "show_queue"));
+
+ if (!active)
+ {
+ gtk_tool_button_set_label(button, "Show\nQueue");
+ }
+ else
+ {
+ gtk_tool_button_set_label(button, "Hide\nQueue");
+ }
+}
+
G_MODULE_EXPORT void
-show_queue_clicked_cb(GtkWidget *xwidget, signal_user_data_t *ud)
+show_queue_clicked_cb(GtkWidget *widget, signal_user_data_t *ud)
{
- GtkWidget *widget;
- GtkStack *stack;
+ GtkWidget *tab;
+ GtkCheckMenuItem *menuitem;
+ GtkStack *stack;
+ gboolean active;
+ active = gtk_toggle_tool_button_get_active(GTK_TOGGLE_TOOL_BUTTON(widget));
stack = GTK_STACK(GHB_WIDGET(ud->builder, "QueueStack"));
- if (gtk_toggle_tool_button_get_active(GTK_TOGGLE_TOOL_BUTTON(xwidget)))
- widget = GHB_WIDGET(ud->builder, "queue_tab");
+ if (active)
+ tab = GHB_WIDGET(ud->builder, "queue_tab");
else
- widget = GHB_WIDGET(ud->builder, "settings_tab");
- gtk_stack_set_visible_child(stack, widget);
+ tab = GHB_WIDGET(ud->builder, "settings_tab");
+ gtk_stack_set_visible_child(stack, tab);
+ update_queue_labels(ud, active);
+
+ menuitem = GTK_CHECK_MENU_ITEM(GHB_WIDGET(ud->builder, "show_queue_menu"));
+ gtk_check_menu_item_set_active(menuitem, active);
}
G_MODULE_EXPORT void
-show_queue_menu_clicked_cb(GtkWidget *xwidget, signal_user_data_t *ud)
+show_queue_menu_toggled_cb(GtkWidget *widget, signal_user_data_t *ud)
{
- GtkWidget *widget = GHB_WIDGET(ud->builder, "show_queue");
- gtk_toggle_tool_button_set_active(GTK_TOGGLE_TOOL_BUTTON(widget), TRUE);
+ GtkToggleToolButton *button;
+ gboolean active;
+
+ active = gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(widget));
+ button = GTK_TOGGLE_TOOL_BUTTON(GHB_WIDGET(ud->builder, "show_queue"));
+ gtk_toggle_tool_button_set_active(button, active);
}
G_MODULE_EXPORT void
</object>
</child>
<child>
- <object class="GtkMenuItem" id="show_preview_menu">
- <property name="label" translatable="yes">_Preview</property>
+ <object class="GtkCheckMenuItem" id="show_queue_menu">
+ <property name="label" translatable="yes">_Queue</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
- <signal name="activate" handler="picture_settings_alt_clicked_cb" swapped="no"/>
+ <signal name="toggled" handler="show_queue_menu_toggled_cb" swapped="no"/>
</object>
</child>
<child>
- <object class="GtkMenuItem" id="show_activity_menu">
- <property name="label" translatable="yes">_Activity Window</property>
+ <object class="GtkCheckMenuItem" id="show_preview_menu">
+ <property name="label" translatable="yes">_Preview</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
- <signal name="activate" handler="show_activity_menu_clicked_cb" swapped="no"/>
+ <signal name="toggled" handler="preview_menu_toggled_cb" swapped="no"/>
</object>
</child>
<child>
- <object class="GtkMenuItem" id="show_queue_menu">
- <property name="label" translatable="yes">Show _Queue</property>
+ <object class="GtkCheckMenuItem" id="show_activity_menu">
+ <property name="label" translatable="yes">_Activity Window</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
- <signal name="activate" handler="show_queue_menu_clicked_cb" swapped="no"/>
+ <signal name="toggled" handler="show_activity_menu_toggled_cb" swapped="no"/>
</object>
</child>
</object>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="tooltip_text" translatable="yes">Show Queue</property>
<property name="is_important">True</property>
- <property name="label" translatable="yes">Queue</property>
+ <property name="label" translatable="yes">Show
+Queue</property>
<property name="icon_name">hb-showqueue</property>
- <signal name="toggled" handler="show_queue_clicked_cb" swapped="no"/>
+ <signal name="toggled" handler="show_queue_toggled_cb" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="tooltip_text" translatable="yes">Open Picture Settings and Preview window.
Here you can adjust cropping, resolution, aspect ratio, and filters.</property>
<property name="is_important">True</property>
- <property name="label" translatable="yes">Preview</property>
+ <property name="label" translatable="yes">Show
+Preview</property>
<property name="icon_name">hb-picture</property>
- <signal name="toggled" handler="picture_settings_clicked_cb" swapped="no"/>
+ <signal name="toggled" handler="preview_toggled_cb" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="tooltip_text" translatable="yes">Show Activity Window</property>
<property name="is_important">True</property>
- <property name="label" translatable="yes">Activity</property>
+ <property name="label" translatable="yes">Show
+Activity</property>
<property name="icon_name">hb-activity</property>
- <signal name="toggled" handler="show_activity_clicked_cb" swapped="no"/>
+ <signal name="toggled" handler="show_activity_toggled_cb" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
</object>
</child>
<child>
- <object class="GtkMenuItem" id="show_preview_menu">
- <property name="label" translatable="yes">_Preview</property>
+ <object class="GtkCheckMenuItem" id="show_queue_menu">
+ <property name="label" translatable="yes">_Queue</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
- <signal name="activate" handler="picture_settings_alt_clicked_cb" swapped="no"/>
+ <signal name="toggled" handler="show_queue_menu_toggled_cb" swapped="no"/>
</object>
</child>
<child>
- <object class="GtkMenuItem" id="show_activity_menu">
- <property name="label" translatable="yes">_Activity Window</property>
+ <object class="GtkCheckMenuItem" id="show_preview_menu">
+ <property name="label" translatable="yes">_Preview</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
- <signal name="activate" handler="show_activity_menu_clicked_cb" swapped="no"/>
+ <signal name="toggled" handler="preview_menu_toggled_cb" swapped="no"/>
</object>
</child>
<child>
- <object class="GtkMenuItem" id="show_queue_menu">
- <property name="label" translatable="yes">Show _Queue</property>
+ <object class="GtkCheckMenuItem" id="show_activity_menu">
+ <property name="label" translatable="yes">_Activity Window</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
- <signal name="activate" handler="show_queue_menu_clicked_cb" swapped="no"/>
+ <signal name="toggled" handler="show_activity_menu_toggled_cb" swapped="no"/>
</object>
</child>
</object>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="tooltip_text" translatable="yes">Show Queue</property>
<property name="is_important">True</property>
- <property name="label" translatable="yes">Queue</property>
+ <property name="label" translatable="yes">Show
+Queue</property>
<property name="icon_name">hb-showqueue</property>
- <signal name="toggled" handler="show_queue_clicked_cb" swapped="no"/>
+ <signal name="toggled" handler="show_queue_toggled_cb" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="tooltip_text" translatable="yes">Open Picture Settings and Preview window.
Here you can adjust cropping, resolution, aspect ratio, and filters.</property>
<property name="is_important">True</property>
- <property name="label" translatable="yes">Preview</property>
+ <property name="label" translatable="yes">Show
+Preview</property>
<property name="icon_name">hb-picture</property>
- <signal name="toggled" handler="picture_settings_clicked_cb" swapped="no"/>
+ <signal name="toggled" handler="preview_toggled_cb" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="tooltip_text" translatable="yes">Show Activity Window</property>
<property name="is_important">True</property>
- <property name="label" translatable="yes">Activity</property>
+ <property name="label" translatable="yes">Show
+Activity</property>
<property name="icon_name">hb-activity</property>
- <signal name="toggled" handler="show_activity_clicked_cb" swapped="no"/>
+ <signal name="toggled" handler="show_activity_toggled_cb" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
</object>
</child>
<child>
- <object class="GtkMenuItem" id="show_preview_menu">
- <property name="label" translatable="yes">_Preview</property>
+ <object class="GtkCheckMenuItem" id="show_queue_menu">
+ <property name="label" translatable="yes">_Queue</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
- <signal name="activate" handler="picture_settings_alt_clicked_cb" swapped="no"/>
+ <signal name="toggled" handler="show_queue_menu_toggled_cb" swapped="no"/>
</object>
</child>
<child>
- <object class="GtkMenuItem" id="show_activity_menu">
- <property name="label" translatable="yes">_Activity Window</property>
+ <object class="GtkCheckMenuItem" id="show_preview_menu">
+ <property name="label" translatable="yes">_Preview</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
- <signal name="activate" handler="show_activity_menu_clicked_cb" swapped="no"/>
+ <signal name="toggled" handler="preview_menu_toggled_cb" swapped="no"/>
</object>
</child>
<child>
- <object class="GtkMenuItem" id="show_queue_menu">
- <property name="label" translatable="yes">Show _Queue</property>
+ <object class="GtkCheckMenuItem" id="show_activity_menu">
+ <property name="label" translatable="yes">_Activity Window</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
- <signal name="activate" handler="show_queue_menu_clicked_cb" swapped="no"/>
+ <signal name="toggled" handler="show_activity_menu_toggled_cb" swapped="no"/>
</object>
</child>
</object>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="tooltip_text" translatable="yes">Show Queue</property>
<property name="is_important">True</property>
- <property name="label" translatable="yes">Queue</property>
+ <property name="label" translatable="yes">Show
+Queue</property>
<property name="icon_name">hb-showqueue</property>
- <signal name="toggled" handler="show_queue_clicked_cb" swapped="no"/>
+ <signal name="toggled" handler="show_queue_toggled_cb" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="tooltip_text" translatable="yes">Open Picture Settings and Preview window.
Here you can adjust cropping, resolution, aspect ratio, and filters.</property>
<property name="is_important">True</property>
- <property name="label" translatable="yes">Preview</property>
+ <property name="label" translatable="yes">Show
+Preview</property>
<property name="icon_name">hb-picture</property>
- <signal name="toggled" handler="picture_settings_clicked_cb" swapped="no"/>
+ <signal name="toggled" handler="preview_toggled_cb" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="tooltip_text" translatable="yes">Show Activity Window</property>
<property name="is_important">True</property>
- <property name="label" translatable="yes">Activity</property>
+ <property name="label" translatable="yes">Show
+Activity</property>
<property name="icon_name">hb-activity</property>
- <signal name="toggled" handler="show_activity_clicked_cb" swapped="no"/>
+ <signal name="toggled" handler="show_activity_toggled_cb" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
{
gint title_id, titleindex;
const hb_title_t *title;
+ GtkToggleToolButton *button;
GtkWidget *widget;
gboolean active;
+ button = GTK_TOGGLE_TOOL_BUTTON(GHB_WIDGET(ud->builder, "show_preview"));
+ active = gtk_toggle_tool_button_get_active(button);
+
title_id = ghb_dict_get_int(ud->settings, "title");
title = ghb_lookup_title(title_id, &titleindex);
- active = ghb_dict_get_bool(ud->globals, "show_preview") &&
- title != NULL;
+ active &= title != NULL;
widget = GHB_WIDGET(ud->builder, "preview_window");
gtk_widget_set_visible(widget, active);
if (active)
}
}
+static void
+update_preview_labels(signal_user_data_t *ud, gboolean active)
+{
+ GtkToolButton *button;
+
+ button = GTK_TOOL_BUTTON(GHB_WIDGET(ud->builder, "show_preview"));
+
+ if (!active)
+ {
+ gtk_tool_button_set_label(button, "Show\nPreview");
+ }
+ else
+ {
+ gtk_tool_button_set_label(button, "Hide\nPreview");
+ }
+}
+
G_MODULE_EXPORT void
-picture_settings_clicked_cb(GtkWidget *xwidget, signal_user_data_t *ud)
+preview_toggled_cb(GtkWidget *xwidget, signal_user_data_t *ud)
{
- g_debug("picture_settings_clicked_cb()");
- ghb_widget_to_setting(ud->globals, xwidget);
+ GtkCheckMenuItem *menuitem;
+ gboolean active;
+ active = gtk_toggle_tool_button_get_active(GTK_TOGGLE_TOOL_BUTTON(xwidget));
ghb_preview_set_visible(ud);
+ update_preview_labels(ud, active);
+
+ menuitem = GTK_CHECK_MENU_ITEM(GHB_WIDGET(ud->builder,
+ "show_preview_menu"));
+ gtk_check_menu_item_set_active(menuitem, active);
}
G_MODULE_EXPORT void
-picture_settings_alt_clicked_cb(GtkWidget *xwidget, signal_user_data_t *ud)
+preview_menu_toggled_cb(GtkWidget *xwidget, signal_user_data_t *ud)
{
- GtkWidget *toggle;
+ GtkToggleToolButton *button;
gboolean active;
- g_debug("picture_settings_alt_clicked_cb()");
- toggle = GHB_WIDGET (ud->builder, "show_preview");
- active = gtk_toggle_tool_button_get_active(GTK_TOGGLE_TOOL_BUTTON(toggle));
- gtk_toggle_tool_button_set_active(GTK_TOGGLE_TOOL_BUTTON(toggle), !active);
+ active = gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(xwidget));
+ button = GTK_TOGGLE_TOOL_BUTTON(GHB_WIDGET(ud->builder, "show_preview"));
+ gtk_toggle_tool_button_set_active(button, active);
}
static gboolean