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:
@@ -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
@@ -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>
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user