[Goodies-commits] r6518 - in xfce4-radio-plugin/trunk: icons panel-plugin
Stefan Ott
cockroach at xfce.org
Tue Jan 20 00:20:19 CET 2009
Author: cockroach
Date: 2009-01-19 23:20:19 +0000 (Mon, 19 Jan 2009)
New Revision: 6518
Added:
xfce4-radio-plugin/trunk/icons/signal.xpm
Modified:
xfce4-radio-plugin/trunk/icons/Makefile.am
xfce4-radio-plugin/trunk/panel-plugin/xfce4-radio.c
xfce4-radio-plugin/trunk/panel-plugin/xfce4-radio.h
Log:
Added initial support for displaying signal strength using the gnomeradio xpm
Modified: xfce4-radio-plugin/trunk/icons/Makefile.am
===================================================================
--- xfce4-radio-plugin/trunk/icons/Makefile.am 2009-01-19 23:00:07 UTC (rev 6517)
+++ xfce4-radio-plugin/trunk/icons/Makefile.am 2009-01-19 23:20:19 UTC (rev 6518)
@@ -1,6 +1,7 @@
hicolor48dir = $(datadir)/icons/hicolor/48x48/apps
-hicolor48_DATA = \
- xfce-radio.png
+hicolor48_DATA = \
+ xfce-radio.png \
+ signal.xpm
EXTRA_DIST = $(hicolor48_DATA)
Added: xfce4-radio-plugin/trunk/icons/signal.xpm
===================================================================
--- xfce4-radio-plugin/trunk/icons/signal.xpm (rev 0)
+++ xfce4-radio-plugin/trunk/icons/signal.xpm 2009-01-19 23:20:19 UTC (rev 6518)
@@ -0,0 +1,144 @@
+/* XPM */
+static char * signal_xpm[] = {
+"100 30 111 2",
+" c None",
+". c #020202",
+"+ c #010101",
+"@ c #000000",
+"# c #051506",
+"$ c #0D5612",
+"% c #14861B",
+"& c #18A320",
+"* c #19AC22",
+"= c #030C04",
+"- c #106A16",
+"; c #1AB624",
+"> c #1BBB25",
+", c #061E07",
+"' c #179F20",
+") c #16951E",
+"! c #0E5912",
+"~ c #09350C",
+"{ c #072A0A",
+"] c #041205",
+"^ c #0D5111",
+"/ c #127A19",
+"( c #051B07",
+"_ c #19A922",
+": c #18A521",
+"< c #09370C",
+"[ c #041305",
+"} c #020402",
+"| c #0E5B13",
+"1 c #1AB324",
+"2 c #030703",
+"3 c #16991F",
+"4 c #127B19",
+"5 c #0F6214",
+"6 c #0C5011",
+"7 c #0E5C13",
+"8 c #041405",
+"9 c #040F04",
+"0 c #0C4B10",
+"a c #0F6114",
+"b c #0F5F14",
+"c c #1AB524",
+"d c #0B470F",
+"e c #041005",
+"f c #030B04",
+"g c #19AF23",
+"h c #0A3A0D",
+"i c #051906",
+"j c #1BBA25",
+"k c #0A3C0D",
+"l c #16921D",
+"m c #051A06",
+"n c #072408",
+"o c #1AB424",
+"p c #0F6314",
+"q c #137E19",
+"r c #137C19",
+"s c #0C4F11",
+"t c #2B2B2B",
+"u c #565656",
+"v c #1C1C1C",
+"w c #137D19",
+"x c #09380C",
+"y c #16961E",
+"z c #09340B",
+"A c #17A020",
+"B c #062208",
+"C c #202020",
+"D c #A5A5A5",
+"E c #A8A8A8",
+"F c #9A9A9A",
+"G c #0A0A0A",
+"H c #19AD22",
+"I c #1AB223",
+"J c #040E04",
+"K c #030A04",
+"L c #3F3F3F",
+"M c #1E1E1E",
+"N c #14891C",
+"O c #020302",
+"P c #1AB724",
+"Q c #1BB925",
+"R c #030903",
+"S c #1BB824",
+"T c #131313",
+"U c #878787",
+"V c #050505",
+"W c #179D1F",
+"X c #19AE22",
+"Y c #141B14",
+"Z c #060D06",
+"` c #051A07",
+" . c #555555",
+".. c #343434",
+"+. c #0D5412",
+"@. c #13821A",
+"#. c #0D5011",
+"$. c #0B430E",
+"%. c #14891B",
+"&. c #106715",
+"*. c #14881B",
+"=. c #020603",
+"-. c #19AE23",
+";. c #041105",
+">. c #15921D",
+",. c #106B16",
+"'. c #082C0A",
+"). c #0F6014",
+"!. c #111111",
+"~. c #1F1F1F",
+"{. c #0B0B0B",
+". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
+". . . . . . . . . + + @ @ @ + + . . . . . . . . . . . . . . . . . . + + @ @ @ + + . . . . . . . . . . . . . . . . . . + + @ @ @ + + . . . . . . . . . . . . . . . . . # $ % & * & % $ # . . . . . . . . ",
+". . . . . . . + @ @ @ @ @ @ @ @ @ + . . . . . . . . . . . . . . + @ @ @ @ @ @ @ @ @ + . . . . . . . . . . . . . . + @ @ @ @ @ @ @ @ @ + . . . . . . . . . . . . . = - ; > > > > > > > ; - = . . . . . . ",
+". . . . . . @ @ @ @ + + . + + @ @ @ @ . . . . . . . . . . . . @ @ @ @ + + . + + @ @ @ @ . . . . . . . . . . . . @ @ @ @ + + . + + @ @ @ @ . . . . . . . . . . . , ' > > ) ! ~ { ~ ! ) > > ' , . . . . . ",
+". . . . . @ @ @ + . + + + + + . + @ @ @ . . . . . . . . . . @ @ @ + . + + + + + . + @ @ @ . . . . . . . . . . @ @ @ + ] ^ / % / ^ ] + @ @ @ . . . . . . . . . ( _ > : < [ ^ / % / ^ [ < : > _ ( . . . . ",
+". . . . @ @ @ . + @ @ @ @ @ @ @ + . @ @ @ . . . . . . . . @ @ @ . + @ @ @ @ @ @ @ + . @ @ @ . . . . . . . . @ @ @ } | 1 > > > > > 1 | } @ @ @ . . . . . . . 2 3 > ) [ | 1 > > > > > 1 | [ ) > 3 2 . . . ",
+". . . + @ @ . + @ @ @ + + + @ @ @ + . @ @ + . . . . . . + @ @ . + @ @ @ + + + @ @ @ + . @ @ + . . . . . . + @ @ } 4 > > 3 5 6 5 3 > > 4 } @ @ + . . . . . . 7 > : 8 4 > > 3 5 6 5 3 > > 4 8 : > 7 . . . ",
+". . . @ @ + + @ @ + . + + + . + @ @ + + @ @ . . . . . . @ @ + + @ @ + 9 0 a 0 9 + @ @ + + @ @ . . . . . . @ @ + b > c d e 0 a 0 e d c > b + @ @ . . . . . f g > < b > c d e 0 a 0 e d c > b < > g f . . ",
+". . + @ @ . @ @ + + @ @ @ @ @ + + @ @ . @ @ + . . . . + @ @ . @ @ + h g > > > g h + @ @ . @ @ + . . . . + @ @ i ; j k h g > > > g h k j ; i @ @ + . . . . d > l m ; j k h g > > > g h k j ; m l > d . . ",
+". . + @ + + @ + . @ @ + + + @ @ . + @ + + @ + . . . . + @ + + @ + n c o a k a o c n + @ + + @ + . . . . + @ + p > q n c o a k a o c n q > p + @ + . . . . r > s p > q n c o a k a o c n q > p s > r . . ",
+". . @ @ . @ @ + + @ + t u v + @ + + @ @ . @ @ . . . . @ @ . @ @ + w > x t u v x > w + @ @ . @ @ . . . . @ @ . y > z w > x t u v x > w z > y . @ @ . . . . A > B y > z w > x t u v x > w z > y B > A . . ",
+". . @ @ . @ @ . @ @ C D E F G @ @ . @ @ . @ @ . . . . @ @ . @ @ . H 3 C D E F G 3 H . @ @ . @ @ . . . . @ @ . I > J H 3 C D E F G 3 H J > I . @ @ . . . . o > K I > J H 3 C D E F G 3 H J > I K > o . . ",
+". . @ @ . @ @ . @ + L E E E M + @ . @ @ . @ @ . . . . @ @ . @ @ } ; N L E E E M N ; } @ @ . @ @ . . . . @ @ O P Q R ; N L E E E M N ; R Q P O @ @ . . . . S j 2 P Q R ; N L E E E M N ; R Q P 2 j S . . ",
+". . @ @ . @ @ . @ @ T F E U V @ @ . @ @ . @ @ . . . . @ @ . @ @ . W X Y F E U Z X W . @ @ . @ @ . . . . @ @ . _ > ` W X Y F E U Z X W ` > _ . @ @ . . . . H > ] _ > ` W X Y F E U Z X W ` > _ ] > H . . ",
+". . @ @ + + @ + + + . .E ... + + + @ + + @ @ . . . . @ @ + + @ + +.- ] .E ..] - +.+ @ + + @ @ . . . . @ @ + @.> #.+.- ] .E ..] - +.#.> @.+ @ @ . . . . l > z @.> #.+.- ] .E ..] - +.#.> @.z > l . . ",
+". . + @ + + @ + . . . .E ... . . + @ + + @ + . . . . + @ + + @ + . . . .E ... . . + @ + + @ + . . . . + @ + $.> %.. . . .E ... . . %.> $.+ @ + . . . . &.> - $.> *.. . . .E ... . . *.> $.- > &.. . ",
+". . . @ @ . + . . . . .E ... . . . + . @ @ . . . . . . @ @ . + . . . . .E ... . . . + . @ @ . . . . . . @ @ =.% 8 . . . .E ... . . 8 % =.@ @ . . . . . { > -.;.% 8 . . . .E ... . . 8 % ;.-.> { . . ",
+". . . @ @ + . . . . . .E ... . . . . + @ @ . . . . . . @ @ + . . . . . .E ... . . . . + @ @ . . . . . . @ @ + O . . . . .E ... . . . O + @ @ . . . . . . >.> ,.O . . . . .E ... . . . O - > >.. . . ",
+". . . . @ + . . . . . .E ... . . . . + @ . . . . . . . . @ + . . . . . .E ... . . . . + @ . . . . . . . . @ + . . . . . .E ... . . . . + @ . . . . . . . '.Q % . . . . . .E ... . . . . % Q '.. . . ",
+". . . . + + . . . . . .E ... . . . . + + . . . . . . . . + + . . . . . .E ... . . . . + + . . . . . . . . + + . . . . . .E ... . . . . + + . . . . . . . . ).$.. . . . . .E ... . . . . $.).. . . . ",
+". . . . . . . . . . . .E ... . . . . . . . . . . . . . . . . . . . . . .E ... . . . . . . . . . . . . . . . . . . . . . .E ... . . . . . . . . . . . . . . O R . . . . . .E ... . . . . R O . . . . ",
+". . . . . . . . . . . .E ... . . . . . . . . . . . . . . . . . . . . . .E ... . . . . . . . . . . . . . . . . . . . . . .E ... . . . . . . . . . . . . . . . . . . . . . .E ... . . . . . . . . . . ",
+". . . . . . . . . . . .E ... . . . . . . . . . . . . . . . . . . . . . .E ... . . . . . . . . . . . . . . . . . . . . . .E ... . . . . . . . . . . . . . . . . . . . . . .E ... . . . . . . . . . . ",
+". . . . . . . . . . . .E ... . . . . . . . . . . . . . . . . . . . . . .E ... . . . . . . . . . . . . . . . . . . . . . .E ... . . . . . . . . . . . . . . . . . . . . . .E ... . . . . . . . . . . ",
+". . . . . . . . . . . !.~.{.. . . . . . . . . . . . . . . . . . . . . . !.~.{.. . . . . . . . . . . . . . . . . . . . . . !.~.{.. . . . . . . . . . . . . . . . . . . . . . !.~.{.. . . . . . . . . . . ",
+". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
+". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
+". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
+". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
+". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . "};
Modified: xfce4-radio-plugin/trunk/panel-plugin/xfce4-radio.c
===================================================================
--- xfce4-radio-plugin/trunk/panel-plugin/xfce4-radio.c 2009-01-19 23:00:07 UTC (rev 6517)
+++ xfce4-radio-plugin/trunk/panel-plugin/xfce4-radio.c 2009-01-19 23:20:19 UTC (rev 6518)
@@ -18,6 +18,21 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
+/*
+ * Plugin layout
+ *
+ * ,--[ ebox ]--------------------------------------------------.
+ * |,--[ outer_box ] ------------------------------------------.|
+ * || ||
+ * || ,--[ box ] ----------------------. ,--[ signal_image ]-. ||
+ * || | | | | ||
+ * || | [label] [signal_bar] | | | ||
+ * || | | | | ||
+ * || '--------------------------------' '-------------------' ||
+ * |'----------------------------------------------------------'|
+ * '------------------------------------------------------------'
+ */
+
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
@@ -28,6 +43,7 @@
#include <stdlib.h>
#include "xfce4-radio.h"
+#include "../icons/signal.xpm"
#include "radio.h"
#include "v4l1.h"
@@ -38,6 +54,31 @@
#include <libxfce4util/libxfce4util.h>
#include <gdk/gdkkeysyms.h>
+#define SIGNAL_WIDTH 25
+#define SIGNAL_HEIGHT 27
+
+static GdkPixmap *signal_s;
+
+static void
+show_signal_image(radio_gui* data, gint signal)
+{
+ // TODO:
+ // - Make sure we only add the image *once*
+ // - Fix the background color?
+ GdkImage *image;
+
+ signal_s = gdk_pixmap_create_from_xpm_d
+ (GTK_WIDGET(data->plugin)->window, NULL, NULL, signal_xpm);
+ image = gdk_drawable_get_image(signal_s, SIGNAL_WIDTH * signal, 0,
+ SIGNAL_WIDTH, SIGNAL_HEIGHT);
+
+ gtk_image_set_from_image (GTK_IMAGE(data->signal_image), image, NULL);
+ gtk_widget_show (data->signal_image);
+
+ gtk_box_pack_start (GTK_BOX (data->outer_box), data->signal_image,
+ FALSE, FALSE, 1);
+}
+
static gboolean
update_signal_bar (radio_gui* data)
{
@@ -45,6 +86,7 @@
{
gtk_widget_hide (data->signal_bar);
data->signal_timeout_id = 0;
+ show_signal_image (data, 0);
return FALSE;
}
else
@@ -74,6 +116,7 @@
(GtkFunction) update_signal_bar,
(gpointer) data);
}
+ show_signal_image (data, signal);
return TRUE;
}
}
@@ -137,6 +180,11 @@
if (data->on)
{
+ //GtkTreeIter iter;
+ //GtkTreeModel *presets = GTK_TREE_MODEL (data->presets);
+ //if (find_preset_by_freq (presets, data->freq, &iter))
+ // gtk_tree_model_get (presets, &iter, 0, &label, -1);
+ //else
label = g_strdup_printf ("%5.1f", ((float) data->freq) / 100);
update_tooltip (data);
}
@@ -480,15 +528,26 @@
}
static void
-add_box (radio_gui *gui)
+add_boxes (radio_gui *gui)
{
if (gui->orientation == GTK_ORIENTATION_HORIZONTAL)
+ {
gui->box = gtk_hbox_new (FALSE, 0);
+ gui->outer_box = gtk_hbox_new (FALSE, 0);
+ }
else
+ {
gui->box = gtk_vbox_new (FALSE, 0);
+ gui->outer_box = gtk_vbox_new (FALSE, 0);
+ }
gtk_container_set_border_width (GTK_CONTAINER (gui->box), BORDER / 2);
+
gtk_widget_show (gui->box);
+ gtk_widget_show (gui->outer_box);
+
+ gtk_container_add (GTK_CONTAINER (gui->outer_box), gui->box);
+ gtk_container_add (GTK_CONTAINER (gui->ebox), gui->outer_box);
}
static void
@@ -517,13 +576,19 @@
}
static void
+add_image (radio_gui *gui)
+{
+ gui->signal_image = gtk_image_new();
+}
+
+static void
add_gui_elements (radio_gui *gui)
{
- add_box (gui);
+ add_boxes (gui);
add_label (gui);
add_signal_bar (gui);
- gtk_container_add (GTK_CONTAINER (gui->ebox), gui->box);
+ add_image (gui);
}
static radio_gui *
@@ -1123,7 +1188,7 @@
radio_gui *gui)
{
gui->orientation = orientation;
- gtk_container_remove (GTK_CONTAINER (gui->ebox), gui->box);
+ gtk_container_remove (GTK_CONTAINER (gui->ebox), gui->outer_box);
add_gui_elements (gui);
}
Modified: xfce4-radio-plugin/trunk/panel-plugin/xfce4-radio.h
===================================================================
--- xfce4-radio-plugin/trunk/panel-plugin/xfce4-radio.h 2009-01-19 23:00:07 UTC (rev 6517)
+++ xfce4-radio-plugin/trunk/panel-plugin/xfce4-radio.h 2009-01-19 23:20:19 UTC (rev 6518)
@@ -65,10 +65,12 @@
typedef struct radio_preset_st radio_preset;
typedef struct {
+ GtkWidget* outer_box;
GtkWidget* box;
GtkWidget* ebox;
GtkWidget* label;
GtkWidget* signal_bar;
+ GtkWidget* signal_image;
GtkTooltips* tooltips;
gint orientation;
More information about the Goodies-commits
mailing list