149
GSwitchItAppletSetBackground (PanelAppletBackgroundType type,
150
GtkRcStyle * rc_style,
152
GdkColor * color, GdkPixmap * pixmap)
148
GSwitchItAppletSetBackground (PanelApplet * applet, GtkWidget * w)
156
gtk_widget_set_style (GTK_WIDGET (w), NULL);
157
gtk_widget_modify_style (GTK_WIDGET (w), rc_style);
160
case PANEL_NO_BACKGROUND:
162
case PANEL_COLOR_BACKGROUND:
163
gtk_widget_modify_bg (GTK_WIDGET (w),
164
GTK_STATE_NORMAL, color);
166
case PANEL_PIXMAP_BACKGROUND:
167
style = gtk_style_copy (w->style);
168
if (style->bg_pixmap[GTK_STATE_NORMAL])
169
g_object_unref (style->
170
bg_pixmap[GTK_STATE_NORMAL]);
171
style->bg_pixmap[GTK_STATE_NORMAL] = g_object_ref (pixmap);
172
gtk_widget_set_style (w, style);
173
g_object_unref (style);
150
panel_applet_set_background_widget (applet, w);
177
153
if (GTK_IS_CONTAINER (w)) {
179
155
gtk_container_get_children (GTK_CONTAINER (w));
180
156
while (child != NULL) {
181
GSwitchItAppletSetBackground (type, rc_style,
157
GSwitchItAppletSetBackground (applet,
182
158
GTK_WIDGET (child->
185
160
child = child->next;
193
168
GdkColor * color, GdkPixmap * pixmap,
194
169
GSwitchItApplet * sia)
196
GtkRcStyle *rc_style = gtk_rc_style_new ();
197
GSwitchItAppletSetBackground (type, rc_style, widget, color,
199
gtk_rc_style_unref (rc_style);
172
GSwitchItAppletSetBackground (PANEL_APPLET (sia->applet), widget);
269
242
GSwitchItPreviewDestroy (GtkWidget * dialog, gint group)
271
GladeXML *gladeData =
272
GLADE_XML (gtk_object_get_data
273
(GTK_OBJECT (dialog), "gladeData"));
274
g_object_unref (G_OBJECT (gladeData));
244
GtkBuilder *builder =
245
GTK_BUILDER (gtk_object_get_data
246
(GTK_OBJECT (dialog), "builderData"));
247
g_object_unref (G_OBJECT (builder));
275
248
g_hash_table_remove (globals.previewDialogs,
276
249
GINT_TO_POINTER (group));
297
270
GtkWidget *dialog, *kbdraw;
298
271
XkbComponentNamesRec componentNames;
299
272
XklConfigRec *xklData;
300
273
GdkRectangle *rect;
274
GError *error = NULL;
302
276
XklEngine *engine = gkbd_indicator_get_xkl_engine ();
303
277
XklState *xklState = xkl_engine_get_current_state (engine);
315
glade_xml_new (GNOME_GLADEDIR "/gswitchit.glade",
316
"gswitchit_layout_view", NULL);
317
dialog = glade_xml_get_widget (gladeData, "gswitchit_layout_view");
288
builder = gtk_builder_new ();
289
gtk_builder_add_from_file (builder, GTK_BUILDERDIR "/gswitchit.ui",
293
g_error ("building ui from %s failed: %s",
294
GTK_BUILDERDIR "/gswitchit.ui", error->message);
295
g_clear_error (&error);
300
GTK_WIDGET (gtk_builder_get_object
301
(builder, "gswitchit_layout_view"));
318
302
kbdraw = gkbd_keyboard_drawing_new ();
320
304
if (xklState->group >= 0 &&
378
362
g_object_unref (G_OBJECT (xklData));
380
gtk_object_set_data (GTK_OBJECT (dialog), "gladeData", gladeData);
364
gtk_object_set_data (GTK_OBJECT (dialog), "builderData", builder);
381
365
g_signal_connect (GTK_OBJECT (dialog),
382
366
"destroy", G_CALLBACK (GSwitchItPreviewDestroy),
383
367
GINT_TO_POINTER (xklState->group));
396
380
gtk_window_set_resizable (GTK_WINDOW (dialog), TRUE);
398
382
gtk_container_add (GTK_CONTAINER
399
(glade_xml_get_widget
400
(gladeData, "preview_vbox")), kbdraw);
383
(gtk_builder_get_object
384
(builder, "preview_vbox")), kbdraw);
402
386
gtk_object_set_data (GTK_OBJECT (dialog), "kbdraw", kbdraw);
468
452
uic, GSwitchItApplet * sia, const gchar * verb)
470
454
const gchar *authors[] = {
471
"Sergey V. Udaltsov<svu@gnome.org>", NULL
455
"Sergey V. Udaltsov <svu@gnome.org>", NULL
473
457
const gchar *documenters[] = {
474
"Sergey V. Udaltsov<svu@gnome.org>", NULL
458
"Sergey V. Udaltsov <svu@gnome.org>", NULL
477
461
const gchar *translator_credits = _("translator-credits");
489
473
strcmp (translator_credits,
490
474
"translator-credits") !=
491
475
0 ? translator_credits : NULL,
492
"logo-icon-name", "gswitchit-applet", NULL);
476
"logo-icon-name", "input-keyboard", NULL);
572
556
/* Layout preview is for XKB only */
573
557
bonobo_ui_component_set_prop (popup, "/commands/Preview",
576
engine_backend_name) ?
559
g_ascii_strcasecmp ("XKB",
579
563
/* Delete the plugins item if the binary does not exist */
580
564
if (pluginsCappletFullPath == NULL)
601
585
g_set_application_name (_("Keyboard Indicator"));
603
gtk_window_set_default_icon_name ("gswitchit-applet");
587
gtk_window_set_default_icon_name ("input-keyboard");
605
589
sia->applet = GTK_WIDGET (applet);
607
591
panel_applet_set_flags (applet, PANEL_APPLET_EXPAND_MINOR);
593
/* enable transparency hack */
594
panel_applet_set_background_widget (PANEL_APPLET (applet),
595
GTK_WIDGET (applet));
609
597
sia->gki = gkbd_indicator_new ();
611
599
orient = panel_applet_get_orient (applet);