Move view changing functionality from GtkStackSwitcher into a view menu
This commit is contained in:
parent
438d8099b8
commit
20cc731289
@ -126,7 +126,7 @@ ag_app_open_chart(AgApp *app, GFile *file)
|
||||
uri = g_file_get_uri(file);
|
||||
ag_window_set_uri(AG_WINDOW(window), uri);
|
||||
g_free(uri);
|
||||
ag_window_open_chart_tab(AG_WINDOW(window));
|
||||
ag_window_change_tab(AG_WINDOW(window), "chart");
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -65,6 +65,17 @@ ag_window_gear_menu_action(GSimpleAction *action, GVariant *parameter, gpointer
|
||||
g_variant_unref(state);
|
||||
}
|
||||
|
||||
static void
|
||||
ag_window_view_menu_action(GSimpleAction *action, GVariant *parameter, gpointer user_data)
|
||||
{
|
||||
GVariant *state;
|
||||
|
||||
state = g_action_get_state(G_ACTION(action));
|
||||
g_action_change_state(G_ACTION(action), g_variant_new_boolean(!g_variant_get_boolean(state)));
|
||||
|
||||
g_variant_unref(state);
|
||||
}
|
||||
|
||||
static void
|
||||
ag_window_close_action(GSimpleAction *action, GVariant *parameter, gpointer user_data)
|
||||
{
|
||||
@ -475,6 +486,7 @@ static GActionEntry win_entries[] = {
|
||||
{ "save", ag_window_save_action, NULL, NULL, NULL },
|
||||
{ "save-as", ag_window_save_as_action, NULL, NULL, NULL },
|
||||
{ "export-svg", ag_window_export_svg_action, NULL, NULL, NULL },
|
||||
{ "view-menu", ag_window_view_menu_action, NULL, "false", NULL },
|
||||
{ "gear-menu", ag_window_gear_menu_action, NULL, "false", NULL },
|
||||
{ "change-tab", ag_window_change_tab_action, "s", "'edit'", NULL },
|
||||
};
|
||||
@ -677,7 +689,11 @@ ag_window_settings_save(GtkWindow *window, GSettings *settings)
|
||||
}
|
||||
|
||||
void
|
||||
ag_window_open_chart_tab(AgWindow *window)
|
||||
ag_window_change_tab(AgWindow *window, const gchar *tab_name)
|
||||
{
|
||||
gtk_stack_set_visible_child_name(GTK_STACK(window->priv->stack), "chart");
|
||||
gtk_stack_set_visible_child_name(GTK_STACK(window->priv->stack), tab_name);
|
||||
g_action_change_state(
|
||||
g_action_map_lookup_action(G_ACTION_MAP(window), "change-tab"),
|
||||
g_variant_new_string(tab_name)
|
||||
);
|
||||
}
|
||||
|
@ -45,7 +45,7 @@ void ag_window_settings_restore(GtkWindow *window,
|
||||
GSettings *settings);
|
||||
void ag_window_settings_save(GtkWindow *window,
|
||||
GSettings *settings);
|
||||
void ag_window_open_chart_tab(AgWindow *window);
|
||||
void ag_window_change_tab(AgWindow *window, const gchar *tab_name);
|
||||
|
||||
#define AG_WINDOW_ERROR (ag_window_error_quark())
|
||||
GQuark ag_window_error_quark(void);
|
||||
|
@ -2,6 +2,34 @@
|
||||
<!-- Generated with glade 3.18.3 -->
|
||||
<interface>
|
||||
<requires lib="gtk+" version="3.12"/>
|
||||
<menu id="view_menu">
|
||||
<section>
|
||||
<item>
|
||||
<attribute name="label" translatable="yes">Edit</attribute>
|
||||
<attribute name="action">win.change-tab</attribute>
|
||||
<attribute name="accel"><F3></attribute>
|
||||
<attribute name="target">edit</attribute>
|
||||
</item>
|
||||
<item>
|
||||
<attribute name="label" translatable="yes">Chart</attribute>
|
||||
<attribute name="action">win.change-tab</attribute>
|
||||
<attribute name="accel"><F5></attribute>
|
||||
<attribute name="target">chart</attribute>
|
||||
</item>
|
||||
<item>
|
||||
<attribute name="label" translatable="yes">Aspects</attribute>
|
||||
<attribute name="action">win.change-tab</attribute>
|
||||
<attribute name="accel"><F6></attribute>
|
||||
<attribute name="target">aspects</attribute>
|
||||
</item>
|
||||
<item>
|
||||
<attribute name="label" translatable="yes">Points</attribute>
|
||||
<attribute name="action">win.change-tab</attribute>
|
||||
<attribute name="accel"><F7></attribute>
|
||||
<attribute name="target">points</attribute>
|
||||
</item>
|
||||
</section>
|
||||
</menu>
|
||||
<menu id="gear_menu">
|
||||
<section>
|
||||
<item>
|
||||
@ -87,7 +115,6 @@
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="vexpand">False</property>
|
||||
<property name="hexpand">True</property>
|
||||
<property name="show_close_button">True</property>
|
||||
<child>
|
||||
<object class="GtkBox" id="box">
|
||||
@ -97,11 +124,6 @@
|
||||
<style>
|
||||
<class name="linked"/>
|
||||
</style>
|
||||
<child>
|
||||
<object class="GtkStackSwitcher">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="stack">stack</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
@ -127,9 +149,30 @@
|
||||
<property name="pack_type">end</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkMenuButton">
|
||||
<property name="visible">True</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="action_name">win.view-menu</property>
|
||||
<property name="menu_model">view_menu</property>
|
||||
<property name="use_popover">True</property>
|
||||
<style>
|
||||
<class name="image-button"/>
|
||||
</style>
|
||||
<child>
|
||||
<object class="GtkImage" id="view_image">
|
||||
<property name="visible">True</property>
|
||||
<property name="icon_size">1</property>
|
||||
<property name="icon_name">document-properties-symbolic</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="pack_type">end</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkStack" id="stack">
|
||||
|
Loading…
Reference in New Issue
Block a user