[Galago-commits] r1994 - in trunk/xfce4-galago: . src
galago-commits at freedesktop.org
galago-commits at freedesktop.org
Mon Jun 27 15:23:58 PDT 2005
Author: grim
Date: 2005-06-27 15:23:52 -0700 (Mon, 27 Jun 2005)
New Revision: 1994
Modified:
trunk/xfce4-galago/ChangeLog
trunk/xfce4-galago/Makefile.am
trunk/xfce4-galago/configure.ac
trunk/xfce4-galago/src/Makefile.am
trunk/xfce4-galago/src/xfce_galago.c
Log:
Added orientation support
Removed all i18n support until we determine how to handle it
Made the so unversioned and stopped building the static library
Modified: trunk/xfce4-galago/ChangeLog
===================================================================
--- trunk/xfce4-galago/ChangeLog 2005-06-26 02:52:35 UTC (rev 1993)
+++ trunk/xfce4-galago/ChangeLog 2005-06-27 22:23:52 UTC (rev 1994)
@@ -1,3 +1,9 @@
+Mon Jun 27 17:16:14 CDT 2005 Gary Kramlich <grim at reaperworld.com>
+
+ * Added orientation support
+ * Removed all i18n support until we determine how to handle it
+ * Made the so unversioned and stopped building the static library
+
Sat Jun 25 21:51:00 CDT 2005 Gary Kramlich <grim at reaperworld.com>
* Plugged a memory leak
Modified: trunk/xfce4-galago/Makefile.am
===================================================================
--- trunk/xfce4-galago/Makefile.am 2005-06-26 02:52:35 UTC (rev 1993)
+++ trunk/xfce4-galago/Makefile.am 2005-06-27 22:23:52 UTC (rev 1994)
@@ -1,5 +1,4 @@
-SUBDIRS = po src
-#intl
+SUBDIRS =src
EXTRA_DIST = \
AUTHORS \
Modified: trunk/xfce4-galago/configure.ac
===================================================================
--- trunk/xfce4-galago/configure.ac 2005-06-26 02:52:35 UTC (rev 1993)
+++ trunk/xfce4-galago/configure.ac 2005-06-27 22:23:52 UTC (rev 1994)
@@ -8,6 +8,7 @@
AC_CANONICAL_SYSTEM
AC_CONFIG_SRCDIR(config.h.in)
AC_COPYRIGHT([Copyright 2005 Gary Kramlich])
+AC_DISABLE_STATIC
dnl ################################################################
dnl # Initialize automake
@@ -108,8 +109,6 @@
dnl # Finish up
dnl #######################################################################
AC_OUTPUT([Makefile
- intl/Makefile
- po/Makefile.in
src/Makefile
])
Modified: trunk/xfce4-galago/src/Makefile.am
===================================================================
--- trunk/xfce4-galago/src/Makefile.am 2005-06-26 02:52:35 UTC (rev 1993)
+++ trunk/xfce4-galago/src/Makefile.am 2005-06-27 22:23:52 UTC (rev 1994)
@@ -11,6 +11,8 @@
$(GTK_LIBS) \
$(XFCE_LIBS)
+libxfce4_galago_la_LDFLAGS = -module -avoid-version
+
AM_CPPFLAGS = \
-DVERSION=\"$(VERSION)\" \
-DLIBDIR=\"$(XFCE_PANEL_PLUGINS_DIR)\" \
Modified: trunk/xfce4-galago/src/xfce_galago.c
===================================================================
--- trunk/xfce4-galago/src/xfce_galago.c 2005-06-26 02:52:35 UTC (rev 1993)
+++ trunk/xfce4-galago/src/xfce_galago.c 2005-06-27 22:23:52 UTC (rev 1994)
@@ -37,16 +37,22 @@
#define XG_NAME "xfce-galago"
#define XFCE_GALAGO(obj) ((XfceGalago *)(obj))
+#include <stdio.h>
+
/******************************************************************************
* Xfce Galago Stuff
*****************************************************************************/
typedef struct {
GtkWidget *ebox;
- GtkWidget *hbox;
+ GtkWidget *box;
GtkWidget *icon;
GtkWidget *label;
+ gint orientation;
+
+ GalagoAccount *account;
+
/* this is used only so we don't request the dialog more than once at a
* time since it takes a second to come up.
*/
@@ -55,10 +61,16 @@
static void
xfce_galago_update(XfceGalago *xg, GalagoAccount *account) {
+ GalagoService *service;
+
galago_gtk_presence_icon_set_account(GALAGO_GTK_PRESENCE_ICON(xg->icon),
account);
galago_gtk_presence_label_set_account(GALAGO_GTK_PRESENCE_LABEL(xg->label),
account);
+
+ service = galago_account_get_service(account);
+
+ xg->account = account;
}
static void
@@ -101,29 +113,51 @@
ret = g_new0(XfceGalago, 1);
+ ret->orientation = -1;
+
ret->ebox = gtk_event_box_new();
g_signal_connect(G_OBJECT(ret->ebox), "button-press-event",
G_CALLBACK(xfce_galago_clicked_cb), ret);
gtk_widget_show(ret->ebox);
- ret->hbox = gtk_hbox_new(FALSE, 6);
- gtk_widget_show(ret->hbox);
- gtk_container_add(GTK_CONTAINER(ret->ebox), ret->hbox);
-
+ /* we add ref counts to the icon and label so we can destroy the container
+ * and not lose the widgets.
+ */
ret->icon = galago_gtk_presence_icon_new();
+ g_object_ref(G_OBJECT(ret->icon));
galago_gtk_presence_icon_set_size(GALAGO_GTK_PRESENCE_ICON(ret->icon),
GTK_ICON_SIZE_LARGE_TOOLBAR);
gtk_widget_show(ret->icon);
- gtk_box_pack_start(GTK_BOX(ret->hbox), ret->icon, FALSE, FALSE, 0);
ret->label = galago_gtk_presence_label_new();
- gtk_label_set_text(GTK_LABEL(ret->label), "No presence selected");
+ g_object_ref(G_OBJECT(ret->label));
+ gtk_label_set_text(GTK_LABEL(ret->label), "(Select presence)");
gtk_widget_show(ret->label);
- gtk_box_pack_start(GTK_BOX(ret->hbox), ret->label, FALSE, FALSE, 0);
return ret;
}
+static void
+xfce_galago_pack(XfceGalago *xg, gint orientation) {
+ if(xg->orientation == orientation)
+ return;
+
+ if(GTK_IS_WIDGET(xg->box))
+ gtk_widget_destroy(xg->box);
+
+ if(orientation == VERTICAL)
+ xg->box = gtk_vbox_new(FALSE, 4);
+ else
+ xg->box = gtk_hbox_new(FALSE, 4);
+
+ gtk_container_set_border_width(GTK_CONTAINER(xg->box), 4);
+ gtk_widget_show(xg->box);
+ gtk_container_add(GTK_CONTAINER(xg->ebox), xg->box);
+
+ gtk_box_pack_start(GTK_BOX(xg->box), xg->icon, FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(xg->box), xg->label, FALSE, FALSE, 0);
+}
+
/******************************************************************************
* Xfce Panel Plugin Stuff
*****************************************************************************/
@@ -147,6 +181,9 @@
g_return_if_fail(xg);
+ g_object_unref(G_OBJECT(xg->icon));
+ g_object_unref(G_OBJECT(xg->label));
+
g_free(xg);
xg = NULL;
}
@@ -157,7 +194,7 @@
{
XfceGalago *xg = XFCE_GALAGO(control->data);
- g_signal_connect (xg->ebox, signal, callback, data);
+ g_signal_connect(xg->ebox, signal, callback, data);
}
static void
@@ -188,6 +225,36 @@
gtk_widget_queue_resize(xg->ebox);
}
+static void
+xfce_galago_set_orientation(Control *control, gint orientation) {
+ XfceGalago *xg = XFCE_GALAGO(control->data);
+
+ xfce_galago_pack(xg, orientation);
+}
+
+static void
+xfce_galago_read_config(Control *control, xmlNodePtr node) {
+
+}
+
+static void
+xfce_galago_write_config(Control *control, xmlNodePtr node) {
+#if 0
+ XfceGalago *xg = XFCE_GALAGO(control->data);
+ GalagoAccount *account;
+ GalagoService *service;
+ const gchar *username, *servicename;
+
+ account = galago_gtk_presence_label_get_account(
+ GALAGO_GTK_PRESENCE_LABEL(xg->label));
+
+ username = galago_account_get_username(account);
+ service = galago_account_get_service(account);
+ servicename = galago_service_get_name(service);
+
+#endif
+}
+
G_MODULE_EXPORT void
xfce_control_class_init(ControlClass *cc) {
/* required overrides */
@@ -201,7 +268,11 @@
/* optional overrides */
cc->set_size = xfce_galago_set_size;
+ cc->set_orientation = xfce_galago_set_orientation;
+ cc->read_config = xfce_galago_read_config;
+ cc->write_config = xfce_galago_write_config;
+
/* initialize galago */
galago_glib_init(XG_NAME, FALSE, NULL);
}
More information about the galago-commits
mailing list