window: Simplify window menu

We could have relied on the popover menu automatic
menu handling capabilities from the very beginning.
This commit is contained in:
Georges Basile Stavracas Neto
2018-07-29 00:54:02 -03:00
parent 89e80e688b
commit 7d99af9c36
3 changed files with 25 additions and 48 deletions
+1 -1
View File
@@ -10,7 +10,7 @@
<child>
<object class="GtkModelButton">
<property name="text" translatable="yes">_Weather</property>
<property name="menu-name">main-menu</property>
<property name="menu-name">main</property>
<property name="inverted">True</property>
<property name="centered">True</property>
<property name="visible">True</property>
+24 -35
View File
@@ -370,55 +370,44 @@
<signal name="response" handler="edit_dialog_closed" object="GcalWindow" swapped="no"/>
<signal name="delete-event" handler="gtk_widget_hide_on_delete" object="GcalWindow" swapped="no"/>
</object>
<object class="GtkPopoverMenu" id="win_menu">
<signal name="notify::visible" handler="on_popover_menu_visible_cb" object="GcalWindow" swapped="no" />
<child>
<object class="GtkStack" id="win_menu_stack">
<object class="GtkBox">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="homogeneous">False</property>
<property name="transition_type">slide-left-right</property>
<property name="interpolate-size">True</property>
<property name="margin">12</property>
<property name="orientation">vertical</property>
<!-- Synchronize -->
<child>
<!-- New Event -->
<object class="GtkBox">
<property name="margin">12</property>
<object class="GtkModelButton">
<property name="visible">True</property>
<property name="orientation">vertical</property>
<!-- Synchronize -->
<child>
<object class="GtkModelButton">
<property name="text" translatable="yes">_Synchronize</property>
<property name="action-name">app.sync</property>
<property name="visible">True</property>
</object>
</child>
<child>
<object class="GtkModelButton" id="win-menu-open-weather">
<property name="text" translatable="yes">_Weather</property>
<property name="menu-name">weather-menu</property>
<property name="visible">True</property>
</object>
</child>
<property name="action-name">app.sync</property>
<property name="text" translatable="yes">_Synchronize</property>
</object>
<packing>
<property name="name">main-menu</property>
</packing>
</child>
<!-- Weather -->
<child>
<object class="GcalWeatherSettings" id="weather_settings">
<object class="GtkModelButton">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="menu-name">weather</property>
<property name="text" translatable="yes">_Weather</property>
</object>
<packing>
<property name="name">weather-menu</property>
</packing>
</child>
</object>
</child>
<!-- Weather submenu -->
<child>
<object class="GcalWeatherSettings" id="weather_settings">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
<packing>
<property name="submenu">weather</property>
</packing>
</child>
</object>
</interface>
-12
View File
@@ -126,7 +126,6 @@ struct _GcalWindow
GtkWidget *today_button;
GtkWidget *forward_button;
GtkWidget *views_switcher;
GtkWidget *win_menu_stack;
/* new event popover widgets */
GtkWidget *quick_add_popover;
@@ -929,14 +928,6 @@ window_state_changed (GtkWidget *widget,
return FALSE;
}
static void
on_popover_menu_visible_cb (GtkWidget *widget,
GParamSpec *pspec,
GcalWindow *self)
{
gtk_stack_set_visible_child_name (GTK_STACK (self->win_menu_stack), "main-menu");
}
static void
edit_event (GcalQuickAddPopover *popover,
GcalEvent *event,
@@ -1479,7 +1470,6 @@ gcal_window_class_init (GcalWindowClass *klass)
gtk_widget_class_bind_template_child (widget_class, GcalWindow, views_overlay);
gtk_widget_class_bind_template_child (widget_class, GcalWindow, views_stack);
gtk_widget_class_bind_template_child (widget_class, GcalWindow, views_switcher);
gtk_widget_class_bind_template_child (widget_class, GcalWindow, win_menu_stack);
gtk_widget_class_bind_template_child (widget_class, GcalWindow, weather_settings);
gtk_widget_class_bind_template_child (widget_class, GcalWindow, week_view);
gtk_widget_class_bind_template_child (widget_class, GcalWindow, year_view);
@@ -1497,8 +1487,6 @@ gcal_window_class_init (GcalWindowClass *klass)
gtk_widget_class_bind_template_callback (widget_class, view_changed);
gtk_widget_class_bind_template_callback (widget_class, date_updated);
gtk_widget_class_bind_template_callback (widget_class, on_popover_menu_visible_cb);
/* Event removal related */
gtk_widget_class_bind_template_callback (widget_class, hide_notification);
gtk_widget_class_bind_template_callback (widget_class, remove_event);