[gnome-settings-daemon] Use LED icons instead of files



commit 5665065374d8a3a5acba5367efeea26b31d42ff7
Author: Sergey V. Udaltsov <svu gnome org>
Date:   Tue Apr 27 22:12:15 2010 +0100

    Use LED icons instead of files

 plugins/keyboard/Makefile.am                       |   14 +++++++--
 .../keyboard/{caps.off.png => capslock_off.png}    |  Bin 1650 -> 1650 bytes
 plugins/keyboard/{caps.on.png => capslock_on.png}  |  Bin 1488 -> 1488 bytes
 plugins/keyboard/gsd-keyboard-xkb.c                |   32 ++++++++++++--------
 plugins/keyboard/{num.off.png => numlock_off.png}  |  Bin 1742 -> 1742 bytes
 plugins/keyboard/{num.on.png => numlock_on.png}    |  Bin 1591 -> 1591 bytes
 .../{scroll.off.png => scrolllock_off.png}         |  Bin 1467 -> 1467 bytes
 .../keyboard/{scroll.on.png => scrolllock_on.png}  |  Bin 1337 -> 1337 bytes
 8 files changed, 30 insertions(+), 16 deletions(-)
---
diff --git a/plugins/keyboard/Makefile.am b/plugins/keyboard/Makefile.am
index 98ff5fe..3fc766a 100644
--- a/plugins/keyboard/Makefile.am
+++ b/plugins/keyboard/Makefile.am
@@ -4,10 +4,17 @@ plugin_LTLIBRARIES = \
 	libkeyboard.la		\
 	$(NULL)
 
+themedir = $(pkgdatadir)/icons/hicolor
+size = 64x64
+context = devices
+
+iconsdir = $(themedir)/$(size)/$(context)
+icons_DATA = \
+	  capslock_off.png numlock_off.png scrolllock_off.png \
+	  capslock_on.png numlock_on.png scrolllock_on.png
+
 uidir   = $(pkgdatadir)
-ui_DATA = modmap-dialog.ui show-layout.ui \
-	  caps.off.png num.off.png scroll.off.png \
-	  caps.on.png num.on.png scroll.on.png
+ui_DATA = modmap-dialog.ui show-layout.ui
 
 libkeyboard_la_SOURCES = 	\
 	gsd-keyboard-plugin.h	\
@@ -50,6 +57,7 @@ plugin_in_files = 		\
 plugin_DATA = $(plugin_in_files:.gnome-settings-plugin.in=.gnome-settings-plugin)
 
 EXTRA_DIST = 			\
+	$(icons_DATA)		\
 	$(plugin_in_files)	\
 	$(ui_DATA)		\
 	$(NULL)
diff --git a/plugins/keyboard/caps.off.png b/plugins/keyboard/capslock_off.png
similarity index 100%
rename from plugins/keyboard/caps.off.png
rename to plugins/keyboard/capslock_off.png
diff --git a/plugins/keyboard/caps.on.png b/plugins/keyboard/capslock_on.png
similarity index 100%
rename from plugins/keyboard/caps.on.png
rename to plugins/keyboard/capslock_on.png
diff --git a/plugins/keyboard/gsd-keyboard-xkb.c b/plugins/keyboard/gsd-keyboard-xkb.c
index 278ab81..7618375 100644
--- a/plugins/keyboard/gsd-keyboard-xkb.c
+++ b/plugins/keyboard/gsd-keyboard-xkb.c
@@ -84,15 +84,15 @@ static Atom scroll_lock;
 
 static GtkStatusIcon *indicator_icons[3];
 static const gchar *indicator_on_icon_names[] = {
-	DATADIR "/scroll.on.png",
-	DATADIR "/num.on.png",
-	DATADIR "/caps.on.png"
+	"scrolllock_on",
+	"numlock_on",
+	"capslock_on"
 };
 
 static const gchar *indicator_off_icon_names[] = {
-	DATADIR "/scroll.off.png",
-	DATADIR "/num.off.png",
-	DATADIR "/caps.off.png"
+	"scrolllock_off",
+	"numlock_off",
+	"capslock_off"
 };
 
 #define noGSDKX
@@ -902,11 +902,13 @@ gsd_keyboard_update_indicator_icons ()
 
 	for (i = sizeof (indicator_icons) / sizeof (indicator_icons[0]);
 	     --i >= 0;) {
-		gtk_status_icon_set_from_file (indicator_icons[i],
-					       (new_state & (1 << i)) ?
-					       indicator_on_icon_names[i] :
-					       indicator_off_icon_names
-					       [i]);
+		gtk_status_icon_set_from_icon_name (indicator_icons[i],
+						    (new_state & (1 << i))
+						    ?
+						    indicator_on_icon_names
+						    [i] :
+						    indicator_off_icon_names
+						    [i]);
 	}
 }
 
@@ -930,6 +932,10 @@ gsd_keyboard_xkb_init (GConfClient * client,
 	Display *display = GDK_DISPLAY ();
 	gnome_settings_profile_start (NULL);
 
+	gtk_icon_theme_append_search_path (gtk_icon_theme_get_default (),
+					   DATADIR G_DIR_SEPARATOR_S
+					   "icons");
+
 	caps_lock = XInternAtom (display, "Caps Lock", False);
 	num_lock = XInternAtom (display, "Num Lock", False);
 	scroll_lock = XInternAtom (display, "Scroll Lock", False);
@@ -937,8 +943,8 @@ gsd_keyboard_xkb_init (GConfClient * client,
 	for (i = sizeof (indicator_icons) / sizeof (indicator_icons[0]);
 	     --i >= 0;) {
 		indicator_icons[i] =
-		    gtk_status_icon_new_from_file (indicator_off_icon_names
-						   [i]);
+		    gtk_status_icon_new_from_icon_name
+		    (indicator_off_icon_names[i]);
 	}
 
 	gsd_keyboard_update_indicator_icons ();
diff --git a/plugins/keyboard/num.off.png b/plugins/keyboard/numlock_off.png
similarity index 100%
rename from plugins/keyboard/num.off.png
rename to plugins/keyboard/numlock_off.png
diff --git a/plugins/keyboard/num.on.png b/plugins/keyboard/numlock_on.png
similarity index 100%
rename from plugins/keyboard/num.on.png
rename to plugins/keyboard/numlock_on.png
diff --git a/plugins/keyboard/scroll.off.png b/plugins/keyboard/scrolllock_off.png
similarity index 100%
rename from plugins/keyboard/scroll.off.png
rename to plugins/keyboard/scrolllock_off.png
diff --git a/plugins/keyboard/scroll.on.png b/plugins/keyboard/scrolllock_on.png
similarity index 100%
rename from plugins/keyboard/scroll.on.png
rename to plugins/keyboard/scrolllock_on.png



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]