[gnome-applets] accessx-status: simplify code
- From: Alberts Muktupāvels <muktupavels src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-applets] accessx-status: simplify code
- Date: Tue, 10 Mar 2020 18:21:01 +0000 (UTC)
commit 9c502d34d531a086a50222455e25c79fedb276d3
Author: Alberts Muktupāvels <alberts muktupavels gmail com>
Date: Tue Mar 10 19:14:44 2020 +0200
accessx-status: simplify code
accessx-status/src/applet.c | 116 ++++++++++++++++++--------------------------
1 file changed, 46 insertions(+), 70 deletions(-)
---
diff --git a/accessx-status/src/applet.c b/accessx-status/src/applet.c
index 67e5de639..08238f83e 100644
--- a/accessx-status/src/applet.c
+++ b/accessx-status/src/applet.c
@@ -932,60 +932,6 @@ accessx_applet_add_stock_icons (AccessxStatusApplet *sapplet, GtkWidget *widget)
sapplet->icon_factory = factory;
}
-static void
-accessx_status_applet_reparent_widget (GtkWidget *widget, GtkContainer *container)
-{
- if (widget) {
- if (gtk_widget_get_parent (widget)) {
- g_object_ref (G_OBJECT (widget));
- gtk_container_remove (GTK_CONTAINER (gtk_widget_get_parent (widget)), widget);
- }
- gtk_container_add (container, widget);
- }
-}
-
-static void
-accessx_status_applet_layout_box (AccessxStatusApplet *sapplet, GtkWidget *box, GtkWidget *stickyfoo)
-{
- AtkObject *atko;
-
- accessx_status_applet_reparent_widget (sapplet->shift_indicator, GTK_CONTAINER (stickyfoo));
- accessx_status_applet_reparent_widget (sapplet->ctrl_indicator, GTK_CONTAINER (stickyfoo));
- accessx_status_applet_reparent_widget (sapplet->alt_indicator, GTK_CONTAINER (stickyfoo));
- accessx_status_applet_reparent_widget (sapplet->meta_indicator, GTK_CONTAINER (stickyfoo));
- accessx_status_applet_reparent_widget (sapplet->hyper_indicator, GTK_CONTAINER (stickyfoo));
- accessx_status_applet_reparent_widget (sapplet->super_indicator, GTK_CONTAINER (stickyfoo));
- accessx_status_applet_reparent_widget (sapplet->alt_graph_indicator, GTK_CONTAINER (stickyfoo));
- accessx_status_applet_reparent_widget (sapplet->idlefoo, GTK_CONTAINER (box));
- accessx_status_applet_reparent_widget (sapplet->mousefoo, GTK_CONTAINER (box));
- accessx_status_applet_reparent_widget (stickyfoo, GTK_CONTAINER (box));
- accessx_status_applet_reparent_widget (sapplet->slowfoo, GTK_CONTAINER (box));
- accessx_status_applet_reparent_widget (sapplet->bouncefoo, GTK_CONTAINER (box));
-
- if (sapplet->stickyfoo) {
- gtk_widget_destroy (sapplet->stickyfoo);
- }
-
- if (sapplet->box) {
- gtk_container_remove (GTK_CONTAINER (sapplet->applet), sapplet->box);
- }
-
- gtk_container_add (GTK_CONTAINER (sapplet->applet), box);
- sapplet->stickyfoo = stickyfoo;
- sapplet->box = box;
-
- atko = gtk_widget_get_accessible (sapplet->box);
- atk_object_set_name (atko, _("AccessX Status"));
- atk_object_set_description (atko, _("Shows keyboard status when accessibility features are used."));
-
- gtk_widget_show (sapplet->box);
- gtk_widget_show (GTK_WIDGET (sapplet->applet));
-
- if (gtk_widget_get_realized (sapplet->box) &&
- sapplet->initialized)
- accessx_status_applet_update (sapplet, ACCESSX_STATUS_ALL, NULL);
-}
-
static void
disable_applet (AccessxStatusApplet* sapplet)
{
@@ -1044,13 +990,11 @@ static AccessxStatusApplet *
create_applet (PanelApplet *applet)
{
AccessxStatusApplet *sapplet = g_new0 (AccessxStatusApplet, 1);
- GtkWidget *box, *stickyfoo;
AtkObject *atko;
GdkPixbuf *pixbuf;
sapplet->xkb = NULL;
sapplet->xkb_display = NULL;
- sapplet->box = NULL;
sapplet->initialized = False; /* there must be a better way */
sapplet->error_type = ACCESSX_STATUS_ERROR_NONE;
sapplet->applet = applet;
@@ -1058,19 +1002,18 @@ create_applet (PanelApplet *applet)
sapplet->orient = panel_applet_get_orient (applet);
if (sapplet->orient == PANEL_APPLET_ORIENT_LEFT ||
sapplet->orient == PANEL_APPLET_ORIENT_RIGHT) {
- box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
- stickyfoo = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
+ sapplet->box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
+ sapplet->stickyfoo = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
}
else {
- box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
- stickyfoo = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
+ sapplet->box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
+ sapplet->stickyfoo = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
}
- gtk_box_set_homogeneous (GTK_BOX (stickyfoo), TRUE);
sapplet->size = 24;
icon_size_spec = GTK_ICON_SIZE_LARGE_TOOLBAR;
- accessx_applet_add_stock_icons (sapplet, box);
+ accessx_applet_add_stock_icons (sapplet, sapplet->box);
pixbuf = accessx_status_applet_mousekeys_image (sapplet, NULL);
sapplet->mousefoo = gtk_image_new_from_pixbuf (pixbuf);
g_object_unref (pixbuf);
@@ -1112,10 +1055,39 @@ create_applet (PanelApplet *applet)
sapplet->idlefoo = gtk_image_new_from_stock (ACCESSX_APPLET, icon_size_spec);
gtk_widget_show (sapplet->slowfoo);
- accessx_status_applet_layout_box (sapplet, box, stickyfoo);
+ gtk_container_add (GTK_CONTAINER (sapplet->applet), sapplet->box);
+ gtk_widget_show (sapplet->box);
+
+ gtk_container_add (GTK_CONTAINER (sapplet->box), sapplet->idlefoo);
+ gtk_container_add (GTK_CONTAINER (sapplet->box), sapplet->mousefoo);
+ gtk_container_add (GTK_CONTAINER (sapplet->box), sapplet->stickyfoo);
+ gtk_container_add (GTK_CONTAINER (sapplet->box), sapplet->slowfoo);
+ gtk_container_add (GTK_CONTAINER (sapplet->box), sapplet->bouncefoo);
+
+ gtk_container_add (GTK_CONTAINER (sapplet->stickyfoo), sapplet->shift_indicator);
+ gtk_container_add (GTK_CONTAINER (sapplet->stickyfoo), sapplet->ctrl_indicator);
+ gtk_container_add (GTK_CONTAINER (sapplet->stickyfoo), sapplet->alt_indicator);
+ gtk_container_add (GTK_CONTAINER (sapplet->stickyfoo), sapplet->meta_indicator);
+ gtk_container_add (GTK_CONTAINER (sapplet->stickyfoo), sapplet->hyper_indicator);
+ gtk_container_add (GTK_CONTAINER (sapplet->stickyfoo), sapplet->super_indicator);
+ gtk_container_add (GTK_CONTAINER (sapplet->stickyfoo), sapplet->alt_graph_indicator);
+
+ gtk_box_set_homogeneous (GTK_BOX (sapplet->stickyfoo), TRUE);
+ gtk_widget_show (sapplet->stickyfoo);
+
+ gtk_widget_show (GTK_WIDGET (sapplet->applet));
+
+ if (gtk_widget_get_realized (sapplet->box) && sapplet->initialized)
+ accessx_status_applet_update (sapplet, ACCESSX_STATUS_ALL, NULL);
+
atko = gtk_widget_get_accessible (GTK_WIDGET (sapplet->applet));
atk_object_set_name (atko, _("AccessX Status"));
atk_object_set_description (atko, _("Shows keyboard status when accessibility features are used."));
+
+ atko = gtk_widget_get_accessible (sapplet->box);
+ atk_object_set_name (atko, _("AccessX Status"));
+ atk_object_set_description (atko, _("Shows keyboard status when accessibility features are used."));
+
return sapplet;
}
@@ -1137,21 +1109,25 @@ static void
accessx_status_applet_reorient (GtkWidget *widget, PanelAppletOrient o, gpointer user_data)
{
AccessxStatusApplet *sapplet = user_data;
- GtkWidget *box, *stickyfoo;
sapplet->orient = o;
if (o == PANEL_APPLET_ORIENT_LEFT ||
o == PANEL_APPLET_ORIENT_RIGHT) {
- box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
- stickyfoo = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
+ gtk_orientable_set_orientation (GTK_ORIENTABLE (sapplet->box),
+ GTK_ORIENTATION_VERTICAL);
+ gtk_orientable_set_orientation (GTK_ORIENTABLE (sapplet->stickyfoo),
+ GTK_ORIENTATION_VERTICAL);
}
else {
- box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
- stickyfoo = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
+ gtk_orientable_set_orientation (GTK_ORIENTABLE (sapplet->box),
+ GTK_ORIENTATION_HORIZONTAL);
+ gtk_orientable_set_orientation (GTK_ORIENTABLE (sapplet->stickyfoo),
+ GTK_ORIENTATION_HORIZONTAL);
}
- gtk_box_set_homogeneous (GTK_BOX (stickyfoo), TRUE);
- accessx_status_applet_layout_box (sapplet, box, stickyfoo);
+
+ if (gtk_widget_get_realized (sapplet->box) && sapplet->initialized)
+ accessx_status_applet_update (sapplet, ACCESSX_STATUS_ALL, NULL);
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]