shell: Remove the lock button from the shell
Only the date time panel used it, all other panels add their own shell using cc_shell_embed_widget_in_header which was added after the date time panel was written. Update the date time panel to use this method.
This commit is contained in:
parent
1ea0f875ee
commit
c0f41daff0
6 changed files with 16 additions and 32 deletions
|
@ -103,6 +103,7 @@ struct _CcDateTimePanel
|
||||||
GtkWidget *h_spinbutton;
|
GtkWidget *h_spinbutton;
|
||||||
GtkWidget *listbox1;
|
GtkWidget *listbox1;
|
||||||
GtkWidget *listbox2;
|
GtkWidget *listbox2;
|
||||||
|
GtkLockButton *lock_button;
|
||||||
GtkWidget *m_spinbutton;
|
GtkWidget *m_spinbutton;
|
||||||
GtkWidget *month_combobox;
|
GtkWidget *month_combobox;
|
||||||
GtkListStore *month_liststore;
|
GtkListStore *month_liststore;
|
||||||
|
@ -167,11 +168,14 @@ cc_date_time_panel_dispose (GObject *object)
|
||||||
G_OBJECT_CLASS (cc_date_time_panel_parent_class)->dispose (object);
|
G_OBJECT_CLASS (cc_date_time_panel_parent_class)->dispose (object);
|
||||||
}
|
}
|
||||||
|
|
||||||
static GPermission *
|
static void
|
||||||
cc_date_time_panel_get_permission (CcPanel *panel)
|
cc_date_time_panel_constructed (GObject *object)
|
||||||
{
|
{
|
||||||
CcDateTimePanel *self = CC_DATE_TIME_PANEL (panel);
|
CcDateTimePanel *self = CC_DATE_TIME_PANEL (object);
|
||||||
return self->permission;
|
|
||||||
|
G_OBJECT_CLASS (cc_date_time_panel_parent_class)->constructed (object);
|
||||||
|
|
||||||
|
cc_shell_embed_widget_in_header (cc_panel_get_shell (CC_PANEL (self)), GTK_WIDGET (self->lock_button));
|
||||||
}
|
}
|
||||||
|
|
||||||
static const char *
|
static const char *
|
||||||
|
@ -1113,10 +1117,10 @@ cc_date_time_panel_class_init (CcDateTimePanelClass *klass)
|
||||||
GObjectClass *object_class = G_OBJECT_CLASS (klass);
|
GObjectClass *object_class = G_OBJECT_CLASS (klass);
|
||||||
CcPanelClass *panel_class = CC_PANEL_CLASS (klass);
|
CcPanelClass *panel_class = CC_PANEL_CLASS (klass);
|
||||||
|
|
||||||
|
object_class->constructed = cc_date_time_panel_constructed;
|
||||||
object_class->dispose = cc_date_time_panel_dispose;
|
object_class->dispose = cc_date_time_panel_dispose;
|
||||||
|
|
||||||
panel_class->get_permission = cc_date_time_panel_get_permission;
|
panel_class->get_help_uri = cc_date_time_panel_get_help_uri;
|
||||||
panel_class->get_help_uri = cc_date_time_panel_get_help_uri;
|
|
||||||
|
|
||||||
gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/control-center/datetime/datetime.ui");
|
gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/control-center/datetime/datetime.ui");
|
||||||
|
|
||||||
|
@ -1135,6 +1139,7 @@ cc_date_time_panel_class_init (CcDateTimePanelClass *klass)
|
||||||
gtk_widget_class_bind_template_child (widget_class, CcDateTimePanel, h_spinbutton);
|
gtk_widget_class_bind_template_child (widget_class, CcDateTimePanel, h_spinbutton);
|
||||||
gtk_widget_class_bind_template_child (widget_class, CcDateTimePanel, listbox1);
|
gtk_widget_class_bind_template_child (widget_class, CcDateTimePanel, listbox1);
|
||||||
gtk_widget_class_bind_template_child (widget_class, CcDateTimePanel, listbox2);
|
gtk_widget_class_bind_template_child (widget_class, CcDateTimePanel, listbox2);
|
||||||
|
gtk_widget_class_bind_template_child (widget_class, CcDateTimePanel, lock_button);
|
||||||
gtk_widget_class_bind_template_child (widget_class, CcDateTimePanel, m_spinbutton);
|
gtk_widget_class_bind_template_child (widget_class, CcDateTimePanel, m_spinbutton);
|
||||||
gtk_widget_class_bind_template_child (widget_class, CcDateTimePanel, month_liststore);
|
gtk_widget_class_bind_template_child (widget_class, CcDateTimePanel, month_liststore);
|
||||||
gtk_widget_class_bind_template_child (widget_class, CcDateTimePanel, network_time_switch);
|
gtk_widget_class_bind_template_child (widget_class, CcDateTimePanel, network_time_switch);
|
||||||
|
@ -1222,6 +1227,7 @@ cc_date_time_panel_init (CcDateTimePanel *self)
|
||||||
g_warning ("Your system does not have the '%s' PolicyKit files installed. Please check your installation",
|
g_warning ("Your system does not have the '%s' PolicyKit files installed. Please check your installation",
|
||||||
DATETIME_PERMISSION);
|
DATETIME_PERMISSION);
|
||||||
}
|
}
|
||||||
|
gtk_lock_button_set_permission (GTK_LOCK_BUTTON (self->lock_button), self->permission);
|
||||||
|
|
||||||
self->location_settings = g_settings_new (LOCATION_SETTINGS);
|
self->location_settings = g_settings_new (LOCATION_SETTINGS);
|
||||||
g_signal_connect (self->location_settings, "changed",
|
g_signal_connect (self->location_settings, "changed",
|
||||||
|
|
|
@ -1,6 +1,10 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<interface>
|
<interface>
|
||||||
<!-- interface-requires gtk+ 3.10 -->
|
<!-- interface-requires gtk+ 3.10 -->
|
||||||
|
<object class="GtkLockButton" id="lock_button">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">True</property>
|
||||||
|
</object>
|
||||||
<object class="GtkListStore" id="city_liststore">
|
<object class="GtkListStore" id="city_liststore">
|
||||||
<columns>
|
<columns>
|
||||||
<!-- column-name city-human-readable -->
|
<!-- column-name city-human-readable -->
|
||||||
|
|
|
@ -252,17 +252,6 @@ cc_panel_get_shell (CcPanel *panel)
|
||||||
return priv->shell;
|
return priv->shell;
|
||||||
}
|
}
|
||||||
|
|
||||||
GPermission *
|
|
||||||
cc_panel_get_permission (CcPanel *panel)
|
|
||||||
{
|
|
||||||
CcPanelClass *class = CC_PANEL_GET_CLASS (panel);
|
|
||||||
|
|
||||||
if (class->get_permission)
|
|
||||||
return class->get_permission (panel);
|
|
||||||
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
const char *
|
const char *
|
||||||
cc_panel_get_help_uri (CcPanel *panel)
|
cc_panel_get_help_uri (CcPanel *panel)
|
||||||
{
|
{
|
||||||
|
|
|
@ -79,7 +79,6 @@ struct _CcPanelClass
|
||||||
/*< private >*/
|
/*< private >*/
|
||||||
GtkBinClass parent_class;
|
GtkBinClass parent_class;
|
||||||
|
|
||||||
GPermission * (* get_permission) (CcPanel *panel);
|
|
||||||
const char * (* get_help_uri) (CcPanel *panel);
|
const char * (* get_help_uri) (CcPanel *panel);
|
||||||
|
|
||||||
GtkWidget * (* get_title_widget) (CcPanel *panel);
|
GtkWidget * (* get_title_widget) (CcPanel *panel);
|
||||||
|
|
|
@ -64,7 +64,6 @@ struct _CcWindow
|
||||||
GtkWidget *search_button;
|
GtkWidget *search_button;
|
||||||
GtkWidget *search_bar;
|
GtkWidget *search_bar;
|
||||||
GtkWidget *search_entry;
|
GtkWidget *search_entry;
|
||||||
GtkWidget *lock_button;
|
|
||||||
GtkWidget *development_warning_dialog;
|
GtkWidget *development_warning_dialog;
|
||||||
GtkWidget *current_panel;
|
GtkWidget *current_panel;
|
||||||
char *current_panel_id;
|
char *current_panel_id;
|
||||||
|
@ -185,9 +184,6 @@ activate_panel (CcWindow *self,
|
||||||
cc_shell_set_active_panel (CC_SHELL (self), CC_PANEL (self->current_panel));
|
cc_shell_set_active_panel (CC_SHELL (self), CC_PANEL (self->current_panel));
|
||||||
gtk_widget_show (self->current_panel);
|
gtk_widget_show (self->current_panel);
|
||||||
|
|
||||||
gtk_lock_button_set_permission (GTK_LOCK_BUTTON (self->lock_button),
|
|
||||||
cc_panel_get_permission (CC_PANEL (self->current_panel)));
|
|
||||||
|
|
||||||
gtk_stack_add_named (GTK_STACK (self->stack), self->current_panel, id);
|
gtk_stack_add_named (GTK_STACK (self->stack), self->current_panel, id);
|
||||||
|
|
||||||
/* switch to the new panel */
|
/* switch to the new panel */
|
||||||
|
@ -836,7 +832,6 @@ cc_window_class_init (CcWindowClass *klass)
|
||||||
gtk_widget_class_bind_template_child (widget_class, CcWindow, header_box);
|
gtk_widget_class_bind_template_child (widget_class, CcWindow, header_box);
|
||||||
gtk_widget_class_bind_template_child (widget_class, CcWindow, header_sizegroup);
|
gtk_widget_class_bind_template_child (widget_class, CcWindow, header_sizegroup);
|
||||||
gtk_widget_class_bind_template_child (widget_class, CcWindow, list_scrolled);
|
gtk_widget_class_bind_template_child (widget_class, CcWindow, list_scrolled);
|
||||||
gtk_widget_class_bind_template_child (widget_class, CcWindow, lock_button);
|
|
||||||
gtk_widget_class_bind_template_child (widget_class, CcWindow, panel_headerbar);
|
gtk_widget_class_bind_template_child (widget_class, CcWindow, panel_headerbar);
|
||||||
gtk_widget_class_bind_template_child (widget_class, CcWindow, panel_list);
|
gtk_widget_class_bind_template_child (widget_class, CcWindow, panel_list);
|
||||||
gtk_widget_class_bind_template_child (widget_class, CcWindow, previous_button);
|
gtk_widget_class_bind_template_child (widget_class, CcWindow, previous_button);
|
||||||
|
|
|
@ -211,14 +211,6 @@
|
||||||
<object class="GtkBox" id="top_right_box">
|
<object class="GtkBox" id="top_right_box">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">True</property>
|
<property name="can_focus">True</property>
|
||||||
<child>
|
|
||||||
<object class="GtkLockButton" id="lock_button">
|
|
||||||
<property name="can_focus">True</property>
|
|
||||||
<style>
|
|
||||||
<class name="text-button" />
|
|
||||||
</style>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
</object>
|
</object>
|
||||||
<packing>
|
<packing>
|
||||||
<property name="pack_type">end</property>
|
<property name="pack_type">end</property>
|
||||||
|
@ -232,7 +224,6 @@
|
||||||
<object class="GtkSizeGroup" id="header_sizegroup">
|
<object class="GtkSizeGroup" id="header_sizegroup">
|
||||||
<property name="mode">vertical</property>
|
<property name="mode">vertical</property>
|
||||||
<widgets>
|
<widgets>
|
||||||
<widget name="lock_button"/>
|
|
||||||
<widget name="search_button"/>
|
<widget name="search_button"/>
|
||||||
<widget name="previous_button"/>
|
<widget name="previous_button"/>
|
||||||
</widgets>
|
</widgets>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue