[gnome-control-center] privacy: Convert to GtkListBox
- From: Thomas Wood <thos src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-control-center] privacy: Convert to GtkListBox
- Date: Tue, 2 Jul 2013 15:29:04 +0000 (UTC)
commit eac949bd918c1e6d15e7de7e938ae72cba0f02cb
Author: Alexander Larsson <alexl redhat com>
Date: Thu Jun 13 12:20:50 2013 +0200
privacy: Convert to GtkListBox
https://bugzilla.gnome.org/show_bug.cgi?id=702164
panels/privacy/cc-privacy-panel.c | 49 +++++++++++++++++++-----------------
1 files changed, 26 insertions(+), 23 deletions(-)
---
diff --git a/panels/privacy/cc-privacy-panel.c b/panels/privacy/cc-privacy-panel.c
index 019208c..5ca6a0e 100644
--- a/panels/privacy/cc-privacy-panel.c
+++ b/panels/privacy/cc-privacy-panel.c
@@ -22,7 +22,6 @@
#include "cc-privacy-panel.h"
#include "cc-privacy-resources.h"
-#include <egg-list-box/egg-list-box.h>
#include <gio/gdesktopappinfo.h>
#include <glib/gi18n.h>
@@ -171,12 +170,14 @@ add_row (CcPrivacyPanel *self,
const gchar *dialog_id,
GtkWidget *status)
{
- GtkWidget *box, *w;
+ GtkWidget *box, *row, *w;
+ row = gtk_list_box_row_new ();
box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 50);
- g_object_set_data (G_OBJECT (box), "dialog-id", (gpointer)dialog_id);
+ gtk_container_add (GTK_CONTAINER (row), box);
+ g_object_set_data (G_OBJECT (row), "dialog-id", (gpointer)dialog_id);
gtk_widget_set_hexpand (box, TRUE);
- gtk_container_add (GTK_CONTAINER (self->priv->list_box), box);
+ gtk_container_add (GTK_CONTAINER (self->priv->list_box), row);
w = gtk_label_new (label);
gtk_misc_set_alignment (GTK_MISC (w), 0.0f, 0.5f);
@@ -194,7 +195,7 @@ add_row (CcPrivacyPanel *self,
gtk_widget_set_valign (status, GTK_ALIGN_CENTER);
gtk_box_pack_end (GTK_BOX (box), status, FALSE, FALSE, 0);
- gtk_widget_show_all (box);
+ gtk_widget_show_all (row);
}
static void
@@ -626,31 +627,33 @@ cc_privacy_panel_get_help_uri (CcPanel *panel)
}
static void
-update_separator_func (GtkWidget **separator,
- GtkWidget *child,
- GtkWidget *before,
- gpointer user_data)
+update_header_func (GtkListBoxRow *row,
+ GtkListBoxRow *before,
+ gpointer user_data)
{
+ GtkWidget *current;
+
if (before == NULL)
return;
- if (*separator == NULL)
+ current = gtk_list_box_row_get_header (row);
+ if (current == NULL)
{
- *separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL);
- gtk_widget_show (*separator);
- g_object_ref_sink (*separator);
+ current = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL);
+ gtk_widget_show (current);
+ gtk_list_box_row_set_header (row, current);
}
}
static void
-activate_child (CcPrivacyPanel *self,
- GtkWidget *child)
+activate_row (CcPrivacyPanel *self,
+ GtkListBoxRow *row)
{
GObject *w;
const gchar *dialog_id;
GtkWidget *toplevel;
- dialog_id = g_object_get_data (G_OBJECT (child), "dialog-id");
+ dialog_id = g_object_get_data (G_OBJECT (row), "dialog-id");
w = gtk_builder_get_object (self->priv->builder, dialog_id);
if (w == NULL)
{
@@ -691,18 +694,18 @@ cc_privacy_panel_init (CcPrivacyPanel *self)
}
frame = WID ("frame");
- widget = GTK_WIDGET (egg_list_box_new ());
- egg_list_box_set_selection_mode (EGG_LIST_BOX (widget), GTK_SELECTION_NONE);
+ widget = gtk_list_box_new ();
+ gtk_list_box_set_selection_mode (GTK_LIST_BOX (widget), GTK_SELECTION_NONE);
gtk_container_add (GTK_CONTAINER (frame), widget);
self->priv->list_box = widget;
gtk_widget_show (widget);
- g_signal_connect_swapped (widget, "child-activated",
- G_CALLBACK (activate_child), self);
+ g_signal_connect_swapped (widget, "row-activated",
+ G_CALLBACK (activate_row), self);
- egg_list_box_set_separator_funcs (EGG_LIST_BOX (widget),
- update_separator_func,
- NULL, NULL);
+ gtk_list_box_set_header_func (GTK_LIST_BOX (widget),
+ update_header_func,
+ NULL, NULL);
self->priv->lockdown_settings = g_settings_new ("org.gnome.desktop.lockdown");
self->priv->lock_settings = g_settings_new ("org.gnome.desktop.screensaver");
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]