window: Connect signals in swapped form

This commit is contained in:
Robert Ancell 2019-09-21 08:35:14 +04:00 committed by Georges Basile Stavracas Neto
parent a80fc89f48
commit bb9fe942d1
2 changed files with 32 additions and 48 deletions

View file

@ -143,8 +143,7 @@ show_sidebar (CcWindow *self)
} }
static void static void
on_sidebar_activated_cb (CcPanel *panel, on_sidebar_activated_cb (CcWindow *self)
CcWindow *self)
{ {
show_panel (self); show_panel (self);
} }
@ -204,7 +203,7 @@ activate_panel (CcWindow *self,
/* Ensure we show the panel when when the leaflet is folded and a sidebar /* Ensure we show the panel when when the leaflet is folded and a sidebar
* widget's row is activated. * widget's row is activated.
*/ */
g_signal_connect_object (self->current_panel, "sidebar-activated", G_CALLBACK (on_sidebar_activated_cb), self, 0); g_signal_connect_object (self->current_panel, "sidebar-activated", G_CALLBACK (on_sidebar_activated_cb), self, G_CONNECT_SWAPPED);
/* Finish profiling */ /* Finish profiling */
g_timer_stop (timer); g_timer_stop (timer);
@ -310,10 +309,10 @@ update_list_title (CcWindow *self)
} }
static void static void
on_row_changed_cb (GtkTreeModel *model, on_row_changed_cb (CcWindow *self,
GtkTreePath *path, GtkTreePath *path,
GtkTreeIter *iter, GtkTreeIter *iter,
CcWindow *self) GtkTreeModel *model)
{ {
g_autofree gchar *id = NULL; g_autofree gchar *id = NULL;
CcPanelVisibility visibility; CcPanelVisibility visibility;
@ -380,7 +379,7 @@ setup_model (CcWindow *shell)
} }
/* React to visibility changes */ /* React to visibility changes */
g_signal_connect_object (model, "row-changed", G_CALLBACK (on_row_changed_cb), shell, 0); g_signal_connect_object (model, "row-changed", G_CALLBACK (on_row_changed_cb), shell, G_CONNECT_SWAPPED);
} }
static void static void
@ -534,19 +533,15 @@ update_fold_state (CcWindow *shell)
} }
static void static void
notify_header_visible_child_cb (HdyLeaflet *leaflet, notify_header_visible_child_cb (CcWindow *self)
GParamSpec *pspec,
CcWindow *shell)
{ {
update_fold_state (shell); update_fold_state (self);
} }
static void static void
notify_fold_cb (HdyLeaflet *leaflet, notify_fold_cb (CcWindow *self)
GParamSpec *pspec,
CcWindow *shell)
{ {
update_fold_state (shell); update_fold_state (self);
} }
static void static void
@ -565,9 +560,8 @@ on_main_leaflet_fold_changed_cb (CcWindow *self)
} }
static void static void
show_panel_cb (CcPanelList *panel_list, show_panel_cb (CcWindow *self,
const gchar *panel_id, const gchar *panel_id)
CcWindow *self)
{ {
if (!panel_id) if (!panel_id)
return; return;
@ -576,8 +570,7 @@ show_panel_cb (CcPanelList *panel_list,
} }
static void static void
search_entry_activate_cb (GtkEntry *entry, search_entry_activate_cb (CcWindow *self)
CcWindow *self)
{ {
gboolean changed; gboolean changed;
@ -587,15 +580,13 @@ search_entry_activate_cb (GtkEntry *entry,
} }
static void static void
back_button_clicked_cb (GtkButton *button, back_button_clicked_cb (CcWindow *self)
CcWindow *self)
{ {
show_sidebar (self); show_sidebar (self);
} }
static void static void
previous_button_clicked_cb (GtkButton *button, previous_button_clicked_cb (CcWindow *shell)
CcWindow *shell)
{ {
g_debug ("Num previous panels? %d", g_queue_get_length (shell->previous_panels)); g_debug ("Num previous panels? %d", g_queue_get_length (shell->previous_panels));
@ -609,9 +600,7 @@ previous_button_clicked_cb (GtkButton *button,
} }
static void static void
gdk_window_set_cb (GObject *object, gdk_window_set_cb (CcWindow *self)
GParamSpec *pspec,
CcWindow *self)
{ {
GdkWindow *window; GdkWindow *window;
g_autofree gchar *str = NULL; g_autofree gchar *str = NULL;
@ -629,9 +618,7 @@ gdk_window_set_cb (GObject *object,
} }
static gboolean static gboolean
window_map_event_cb (GtkWidget *widget, window_map_event_cb (CcWindow *self)
GdkEvent *event,
CcWindow *self)
{ {
/* If focus ends up in a category icon view one of the items is /* If focus ends up in a category icon view one of the items is
* immediately selected which looks odd when we are starting up, so * immediately selected which looks odd when we are starting up, so
@ -641,9 +628,8 @@ window_map_event_cb (GtkWidget *widget,
} }
static gboolean static gboolean
window_key_press_event_cb (GtkWidget *win, window_key_press_event_cb (CcWindow *self,
GdkEventKey *event, GdkEventKey *event)
CcWindow *self)
{ {
GdkModifierType state; GdkModifierType state;
CcPanelListView view; CcPanelListView view;
@ -653,11 +639,11 @@ window_key_press_event_cb (GtkWidget *win,
retval = GDK_EVENT_PROPAGATE; retval = GDK_EVENT_PROPAGATE;
state = event->state; state = event->state;
keymap = gdk_keymap_get_for_display (gtk_widget_get_display (win)); keymap = gdk_keymap_get_for_display (gtk_widget_get_display (GTK_WIDGET (self)));
gdk_keymap_add_virtual_modifiers (keymap, &state); gdk_keymap_add_virtual_modifiers (keymap, &state);
state = state & gtk_accelerator_get_default_mod_mask (); state = state & gtk_accelerator_get_default_mod_mask ();
is_rtl = gtk_widget_get_direction (win) == GTK_TEXT_DIR_RTL; is_rtl = gtk_widget_get_direction (GTK_WIDGET (self)) == GTK_TEXT_DIR_RTL;
view = cc_panel_list_get_view (self->panel_list); view = cc_panel_list_get_view (self->panel_list);
/* The search only happens when we're in the MAIN view */ /* The search only happens when we're in the MAIN view */
@ -710,14 +696,12 @@ window_key_press_event_cb (GtkWidget *win,
} }
static void static void
on_development_warning_dialog_responded_cb (GtkWidget *dialog, on_development_warning_dialog_responded_cb (CcWindow *self)
gint response,
CcWindow *self)
{ {
g_debug ("Disabling development build warning dialog"); g_debug ("Disabling development build warning dialog");
g_settings_set_boolean (self->settings, "show-development-warning", FALSE); g_settings_set_boolean (self->settings, "show-development-warning", FALSE);
gtk_widget_hide (dialog); gtk_widget_hide (GTK_WIDGET (self->development_warning_dialog));
} }
/* CcShell implementation */ /* CcShell implementation */

View file

@ -6,9 +6,9 @@
<property name="window_position">center</property> <property name="window_position">center</property>
<property name="default-width">980</property> <property name="default-width">980</property>
<property name="default-height">640</property> <property name="default-height">640</property>
<signal name="notify::window" handler="gdk_window_set_cb" object="CcWindow" swapped="no" /> <signal name="notify::window" handler="gdk_window_set_cb" object="CcWindow" swapped="yes" />
<signal name="map-event" handler="window_map_event_cb" object="CcWindow" swapped="no" /> <signal name="map-event" handler="window_map_event_cb" object="CcWindow" swapped="yes" />
<signal name="key-press-event" handler="window_key_press_event_cb" object="CcWindow" swapped="no" after="yes" /> <signal name="key-press-event" handler="window_key_press_event_cb" object="CcWindow" swapped="yes" after="yes" />
<child> <child>
<object class="HdyLeaflet" id="main_leaflet"> <object class="HdyLeaflet" id="main_leaflet">
<property name="visible">True</property> <property name="visible">True</property>
@ -38,7 +38,7 @@
<property name="primary_icon_name">edit-find-symbolic</property> <property name="primary_icon_name">edit-find-symbolic</property>
<property name="primary_icon_activatable">False</property> <property name="primary_icon_activatable">False</property>
<property name="primary_icon_sensitive">False</property> <property name="primary_icon_sensitive">False</property>
<signal name="activate" handler="search_entry_activate_cb" object="CcWindow" swapped="no" /> <signal name="activate" handler="search_entry_activate_cb" object="CcWindow" swapped="yes" />
<signal name="notify::text" handler="update_list_title" object="CcWindow" swapped="yes" /> <signal name="notify::text" handler="update_list_title" object="CcWindow" swapped="yes" />
</object> </object>
</child> </child>
@ -65,7 +65,7 @@
<property name="can_focus">True</property> <property name="can_focus">True</property>
<property name="search-mode" bind-source="search_bar" bind-property="search-mode-enabled" bind-flags="bidirectional" /> <property name="search-mode" bind-source="search_bar" bind-property="search-mode-enabled" bind-flags="bidirectional" />
<property name="search-query" bind-source="search_entry" bind-property="text" bind-flags="default" /> <property name="search-query" bind-source="search_entry" bind-property="text" bind-flags="default" />
<signal name="show-panel" handler="show_panel_cb" object="CcWindow" swapped="no" /> <signal name="show-panel" handler="show_panel_cb" object="CcWindow" swapped="yes" />
</object> </object>
</child> </child>
</object> </object>
@ -115,8 +115,8 @@
<property name="mode-transition-duration" bind-source="main_leaflet" bind-property="mode-transition-duration" bind-flags="bidirectional|sync-create"/> <property name="mode-transition-duration" bind-source="main_leaflet" bind-property="mode-transition-duration" bind-flags="bidirectional|sync-create"/>
<property name="child-transition-type" bind-source="main_leaflet" bind-property="child-transition-type" bind-flags="bidirectional|sync-create"/> <property name="child-transition-type" bind-source="main_leaflet" bind-property="child-transition-type" bind-flags="bidirectional|sync-create"/>
<property name="child-transition-duration" bind-source="main_leaflet" bind-property="child-transition-duration" bind-flags="bidirectional|sync-create"/> <property name="child-transition-duration" bind-source="main_leaflet" bind-property="child-transition-duration" bind-flags="bidirectional|sync-create"/>
<signal name="notify::visible-child" handler="notify_header_visible_child_cb" swapped="no"/> <signal name="notify::visible-child" handler="notify_header_visible_child_cb" swapped="yes"/>
<signal name="notify::fold" handler="notify_fold_cb" object="CcWindow" after="yes" swapped="no"/> <signal name="notify::fold" handler="notify_fold_cb" object="CcWindow" after="yes" swapped="yes"/>
<child> <child>
<object class="GtkHeaderBar" id="header"> <object class="GtkHeaderBar" id="header">
<property name="visible">True</property> <property name="visible">True</property>
@ -127,7 +127,7 @@
<object class="GtkButton" id="previous_button"> <object class="GtkButton" id="previous_button">
<property name="can_focus">True</property> <property name="can_focus">True</property>
<property name="receives_default">True</property> <property name="receives_default">True</property>
<signal name="clicked" handler="previous_button_clicked_cb" object="CcWindow" swapped="no" /> <signal name="clicked" handler="previous_button_clicked_cb" object="CcWindow" swapped="yes" />
<child> <child>
<object class="GtkImage"> <object class="GtkImage">
<property name="visible">True</property> <property name="visible">True</property>
@ -223,7 +223,7 @@
<property name="receives_default">False</property> <property name="receives_default">False</property>
<property name="valign">center</property> <property name="valign">center</property>
<property name="use-underline">True</property> <property name="use-underline">True</property>
<signal name="clicked" handler="back_button_clicked_cb" object="CcWindow" swapped="no" /> <signal name="clicked" handler="back_button_clicked_cb" object="CcWindow" swapped="yes" />
<style> <style>
<class name="image-button"/> <class name="image-button"/>
</style> </style>
@ -318,7 +318,7 @@
<property name="buttons">ok</property> <property name="buttons">ok</property>
<property name="text" translatable="yes">Warning: Development Version</property> <property name="text" translatable="yes">Warning: Development Version</property>
<property name="secondary-text" translatable="yes">This version of Settings should only be used for development purposes. You may experience incorrect system behavior, data loss, and other unexpected issues. </property> <property name="secondary-text" translatable="yes">This version of Settings should only be used for development purposes. You may experience incorrect system behavior, data loss, and other unexpected issues. </property>
<signal name="response" handler="on_development_warning_dialog_responded_cb" object="CcWindow" swapped="no" /> <signal name="response" handler="on_development_warning_dialog_responded_cb" object="CcWindow" swapped="yes" />
</object> </object>
<menu id="primary_menu"> <menu id="primary_menu">