summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammed Sadiq <sadiq@sadiqpk.org>2020-05-11 12:34:56 +0530
committerRobert Ancell <robert.ancell@gmail.com>2020-05-12 22:24:00 +0000
commit70ded401b0d94f91709487d1f2ec615af8cfa209 (patch)
tree0d07e670b51edb626967de865bcae3122920169e
parent1bf5d4f55f8217dfce2f7d267d202b3e5083d3b8 (diff)
downloadgnome-control-center-70ded401b0d94f91709487d1f2ec615af8cfa209.tar.gz
notifications: Use CcListRow for list box rows
This will reduce the amount of code used and let the user change the item value clicking on the row.
-rw-r--r--panels/notifications/cc-notifications-panel.c13
-rw-r--r--panels/notifications/cc-notifications-panel.ui103
2 files changed, 15 insertions, 101 deletions
diff --git a/panels/notifications/cc-notifications-panel.c b/panels/notifications/cc-notifications-panel.c
index 79c1f0d1e..510d7065d 100644
--- a/panels/notifications/cc-notifications-panel.c
+++ b/panels/notifications/cc-notifications-panel.c
@@ -25,6 +25,7 @@
#include <gio/gio.h>
#include <gio/gdesktopappinfo.h>
+#include "cc-list-row.h"
#include "list-box-helper.h"
#include "cc-notifications-panel.h"
#include "cc-notifications-resources.h"
@@ -38,11 +39,11 @@ struct _CcNotificationsPanel {
CcPanel parent_instance;
GtkListBox *app_listbox;
- GtkSwitch *lock_screen_switch;
+ CcListRow *lock_screen_row;
GtkScrolledWindow *main_scrolled_window;
GtkBox *main_box;
GtkListBox *options_listbox;
- GtkSwitch *dnd_switch;
+ CcListRow *dnd_row;
GtkSizeGroup *sizegroup1;
GSettings *master_settings;
@@ -177,10 +178,10 @@ cc_notifications_panel_init (CcNotificationsPanel *panel)
panel->master_settings = g_settings_new (MASTER_SCHEMA);
g_settings_bind (panel->master_settings, "show-banners",
- panel->dnd_switch,
+ panel->dnd_row,
"active", G_SETTINGS_BIND_INVERT_BOOLEAN);
g_settings_bind (panel->master_settings, "show-in-lock-screen",
- panel->lock_screen_switch,
+ panel->lock_screen_row,
"active", G_SETTINGS_BIND_DEFAULT);
panel->focus_adjustment = gtk_scrolled_window_get_vadjustment (panel->main_scrolled_window);
@@ -237,11 +238,11 @@ cc_notifications_panel_class_init (CcNotificationsPanelClass *klass)
gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/control-center/notifications/cc-notifications-panel.ui");
gtk_widget_class_bind_template_child (widget_class, CcNotificationsPanel, app_listbox);
- gtk_widget_class_bind_template_child (widget_class, CcNotificationsPanel, lock_screen_switch);
+ gtk_widget_class_bind_template_child (widget_class, CcNotificationsPanel, lock_screen_row);
gtk_widget_class_bind_template_child (widget_class, CcNotificationsPanel, main_scrolled_window);
gtk_widget_class_bind_template_child (widget_class, CcNotificationsPanel, main_box);
gtk_widget_class_bind_template_child (widget_class, CcNotificationsPanel, options_listbox);
- gtk_widget_class_bind_template_child (widget_class, CcNotificationsPanel, dnd_switch);
+ gtk_widget_class_bind_template_child (widget_class, CcNotificationsPanel, dnd_row);
gtk_widget_class_bind_template_child (widget_class, CcNotificationsPanel, sizegroup1);
gtk_widget_class_bind_template_callback (widget_class, keynav_failed);
diff --git a/panels/notifications/cc-notifications-panel.ui b/panels/notifications/cc-notifications-panel.ui
index d3df1806d..527e03b53 100644
--- a/panels/notifications/cc-notifications-panel.ui
+++ b/panels/notifications/cc-notifications-panel.ui
@@ -42,108 +42,21 @@
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<property name="selection_mode">none</property>
- <property name="activate_on_single_click">False</property>
<signal name="keynav-failed" handler="keynav_failed" object="CcNotificationsPanel" swapped="yes" />
<child>
- <object class="GtkListBoxRow">
+ <object class="CcListRow" id="dnd_row">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="activatable">False</property>
- <property name="selectable">False</property>
- <child>
- <object class="GtkBox">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="valign">center</property>
- <child>
- <object class="GtkLabel">
- <property name="height_request">32</property>
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="halign">start</property>
- <property name="margin_start">12</property>
- <property name="margin_top">8</property>
- <property name="margin_bottom">8</property>
- <property name="hexpand">True</property>
- <property name="ellipsize">end</property>
- <property name="xalign">0</property>
- <property name="label" translatable="yes">_Do Not Disturb</property>
- <property name="use_underline">True</property>
- <property name="mnemonic_widget">dnd_switch</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkSwitch" id="dnd_switch">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="halign">end</property>
- <property name="valign">center</property>
- <property name="margin_end">12</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">1</property>
- </packing>
- </child>
- </object>
- </child>
+ <property name="title" translatable="yes">_Do Not Disturb</property>
+ <property name="use-underline">True</property>
+ <property name="show-switch">True</property>
</object>
</child>
<child>
- <object class="GtkListBoxRow">
+ <object class="CcListRow" id="lock_screen_row">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="activatable">False</property>
- <property name="selectable">False</property>
- <child>
- <object class="GtkBox">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="valign">center</property>
- <child>
- <object class="GtkLabel">
- <property name="height_request">32</property>
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="halign">start</property>
- <property name="margin_start">12</property>
- <property name="margin_top">8</property>
- <property name="margin_bottom">8</property>
- <property name="hexpand">True</property>
- <property name="ellipsize">end</property>
- <property name="xalign">0</property>
- <property name="label" translatable="yes">_Lock Screen Notifications</property>
- <property name="use_underline">True</property>
- <property name="mnemonic_widget">lock_screen_switch</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkSwitch" id="lock_screen_switch">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="halign">end</property>
- <property name="valign">center</property>
- <property name="margin_end">12</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">1</property>
- </packing>
- </child>
- </object>
- </child>
+ <property name="title" translatable="yes">_Lock Screen Notifications</property>
+ <property name="use-underline">True</property>
+ <property name="show-switch">True</property>
</object>
</child>
</object>