aboutsummaryrefslogtreecommitdiffstats
path: root/palm/synce-trayicon
diff options
context:
space:
mode:
Diffstat (limited to 'palm/synce-trayicon')
-rw-r--r--palm/synce-trayicon/Makefile44
-rw-r--r--palm/synce-trayicon/distinfo6
-rw-r--r--palm/synce-trayicon/files/patch-data_Makefile.in18
-rw-r--r--palm/synce-trayicon/files/patch-data_synce-trayicon.schemas.in15
-rw-r--r--palm/synce-trayicon/files/patch-data_synce_trayicon_properties.glade51
-rw-r--r--palm/synce-trayicon/files/patch-device-info.c387
-rw-r--r--palm/synce-trayicon/files/patch-gtop_stuff.c26
-rw-r--r--palm/synce-trayicon/files/patch-po_Makefile.in122
-rw-r--r--palm/synce-trayicon/files/patch-src_properties.c94
-rw-r--r--palm/synce-trayicon/files/patch-synce-trayicon.111
-rw-r--r--palm/synce-trayicon/files/pkg-message.in7
-rw-r--r--palm/synce-trayicon/pkg-descr2
-rw-r--r--palm/synce-trayicon/pkg-plist11
13 files changed, 775 insertions, 19 deletions
diff --git a/palm/synce-trayicon/Makefile b/palm/synce-trayicon/Makefile
index 318cfc5cc079..3917e8f8d9a5 100644
--- a/palm/synce-trayicon/Makefile
+++ b/palm/synce-trayicon/Makefile
@@ -5,26 +5,46 @@
# $FreeBSD$
PORTNAME= synce-trayicon
-PORTVERSION= 0.9.0
-PORTREVISION= 7
+PORTVERSION= 0.11
CATEGORIES= palm
-MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
+MASTER_SITES= SF
MASTER_SITE_SUBDIR= synce
MAINTAINER= ports@logvinov.com
COMMENT= GNOME tray icon showing battery and storage status of a WinCE device
-BUILD_DEPENDS= ${LOCALBASE}/lib/gnome-vfs-2.0/modules/libsyncevfs.so:${PORTSDIR}/palm/synce-gnomevfs
-RUN_DEPENDS= ${LOCALBASE}/lib/gnome-vfs-2.0/modules/libsyncevfs.so:${PORTSDIR}/palm/synce-gnomevfs
-LIB_DEPENDS= gtop-2.0.7:${PORTSDIR}/devel/libgtop
+LIB_DEPENDS= rra.0:${PORTSDIR}/palm/synce-librra \
+ gtop-2.0.7:${PORTSDIR}/devel/libgtop
+OPTIONS= NOTIFY "Enable libnotify support" on
+
+GNU_CONFIGURE= yes
USE_GMAKE= yes
-USE_GNOME= libgnomeui gnometarget
USE_GETTEXT= yes
-GNU_CONFIGURE= yes
+USE_GNOME= gnomeprefix gnomehack gnometarget libgnomeui
+INSTALLS_ICONS= yes
+GCONF_SCHEMAS= ${PORTNAME}.schemas
LDFLAGS+= -L${LOCALBASE}/lib -lsynce
-CONFIGURE_ENV+= LDFLAGS="${LDFLAGS}"
-CONFIGURE_ARGS+= --with-libsynce=${LOCALBASE} \
- --with-librapi2=${LOCALBASE}
+CFLAGS+= -I${LOCALBASE}/include
+CONFIGURE_ENV= CFLAGS="${CFLAGS} ${PTHREAD_CFLAGS}" \
+ LDFLAGS="${LDFLAGS} ${PTHREAD_LIBS}"
+SUB_FILES= pkg-message
+
+MAN1= ${PORTNAME}.1
+
+.include <bsd.port.pre.mk>
+
+.if defined(WITH_NOTIFY)
+LIB_DEPENDS+= notify.1:${PORTSDIR}/devel/libnotify
+RUN_DEPENDS+= ${LOCALBASE}/libexec/notification-daemon:${PORTSDIR}/deskutils/notification-daemon
+.endif
+
+post-patch:
+.if !defined(WITH_NOTIFY)
+ @${REINPLACE_CMD} -e 's|enable_notify=yes|enable_notify=no|' ${WRKSRC}/configure
+.endif
+
+post-install:
+ @${CAT} ${PKGMESSAGE}
-.include <bsd.port.mk>
+.include <bsd.port.post.mk>
diff --git a/palm/synce-trayicon/distinfo b/palm/synce-trayicon/distinfo
index 5ba7bf43f2f0..d506d33fa7e6 100644
--- a/palm/synce-trayicon/distinfo
+++ b/palm/synce-trayicon/distinfo
@@ -1,3 +1,3 @@
-MD5 (synce-trayicon-0.9.0.tar.gz) = b639e3f681d01d69e6a1c703ab4fc8e8
-SHA256 (synce-trayicon-0.9.0.tar.gz) = 1904254ff51a3be56ed8d21bc993df580f16bb01fec25a6bf35fe080dd42ed9e
-SIZE (synce-trayicon-0.9.0.tar.gz) = 375464
+MD5 (synce-trayicon-0.11.tar.gz) = dc24b3260d25ace872f1f5f8fab87714
+SHA256 (synce-trayicon-0.11.tar.gz) = 77c3da9f9b1e030580f7637b6f4cd464d7be77786a5b591c9b49c9092f8a23d0
+SIZE (synce-trayicon-0.11.tar.gz) = 457128
diff --git a/palm/synce-trayicon/files/patch-data_Makefile.in b/palm/synce-trayicon/files/patch-data_Makefile.in
new file mode 100644
index 000000000000..6ccc10e92327
--- /dev/null
+++ b/palm/synce-trayicon/files/patch-data_Makefile.in
@@ -0,0 +1,18 @@
+--- data/Makefile.in.orig 2008-07-26 23:24:21.000000000 +1000
++++ data/Makefile.in 2008-07-26 23:25:28.000000000 +1000
+@@ -452,13 +452,8 @@
+ @INTLTOOL_SCHEMAS_RULE@
+
+ @GCONF_SCHEMAS_INSTALL_TRUE@install-data-hook:
+-@GCONF_SCHEMAS_INSTALL_TRUE@ @-if test -z "$(DESTDIR)"; then \
+-@GCONF_SCHEMAS_INSTALL_TRUE@ echo "Installing GConf schemas"; \
+-@GCONF_SCHEMAS_INSTALL_TRUE@ -$(gconf_schema_install); \
+-@GCONF_SCHEMAS_INSTALL_TRUE@ else \
+-@GCONF_SCHEMAS_INSTALL_TRUE@ echo "*** GConf schema not installed. After install, run this:"; \
+-@GCONF_SCHEMAS_INSTALL_TRUE@ echo "*** $(gconf_schema_install)"; \
+-@GCONF_SCHEMAS_INSTALL_TRUE@ fi
++@GCONF_SCHEMAS_INSTALL_TRUE@ GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE) \
++@GCONF_SCHEMAS_INSTALL_TRUE@ $(GCONFTOOL) --makefile-install-rule $(schema_DATA)
+
+ @GCONF_SCHEMAS_INSTALL_TRUE@uninstall-hook:
+ @GCONF_SCHEMAS_INSTALL_TRUE@ @-if test -z "$(DESTDIR)"; then \
diff --git a/palm/synce-trayicon/files/patch-data_synce-trayicon.schemas.in b/palm/synce-trayicon/files/patch-data_synce-trayicon.schemas.in
new file mode 100644
index 000000000000..ffe70c983d99
--- /dev/null
+++ b/palm/synce-trayicon/files/patch-data_synce-trayicon.schemas.in
@@ -0,0 +1,15 @@
+--- data/synce-trayicon.schemas.in.orig 2008-07-26 22:21:11.000000000 +1000
++++ data/synce-trayicon.schemas.in 2008-07-26 22:22:37.000000000 +1000
+@@ -19,10 +19,10 @@
+ <applyto>/apps/synce/trayicon/dccm</applyto>
+ <owner>synce-trayicon</owner>
+ <type>string</type>
+- <default>o</default>
++ <default>h</default>
+ <locale name="C">
+ <short>The dccm implementation used</short>
+- <long>The dccm implementation used, 'o' for odccm (the default), 'v' for vdccm.</long>
++ <long>The dccm implementation used, 'h' for synce-hal (the default), 'v' for vdccm.</long>
+ </locale>
+ </schema>
+
diff --git a/palm/synce-trayicon/files/patch-data_synce_trayicon_properties.glade b/palm/synce-trayicon/files/patch-data_synce_trayicon_properties.glade
new file mode 100644
index 000000000000..03040b28b2f5
--- /dev/null
+++ b/palm/synce-trayicon/files/patch-data_synce_trayicon_properties.glade
@@ -0,0 +1,51 @@
+--- data/synce_trayicon_properties.glade.orig 2008-04-16 05:17:48.000000000 +1000
++++ data/synce_trayicon_properties.glade 2008-07-26 22:06:15.000000000 +1000
+@@ -53,20 +53,6 @@
+ <property name="visible">True</property>
+ <property name="spacing">6</property>
+ <child>
+- <widget class="GtkRadioButton" id="prefs_use_odccm">
+- <property name="visible">True</property>
+- <property name="can_focus">True</property>
+- <property name="label" translatable="yes">Odccm</property>
+- <property name="use_underline">True</property>
+- <property name="response_id">0</property>
+- <property name="draw_indicator">True</property>
+- </widget>
+- <packing>
+- <property name="expand">False</property>
+- <property name="fill">False</property>
+- </packing>
+- </child>
+- <child>
+ <widget class="GtkRadioButton" id="prefs_use_hal">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+@@ -74,12 +60,10 @@
+ <property name="use_underline">True</property>
+ <property name="response_id">0</property>
+ <property name="draw_indicator">True</property>
+- <property name="group">prefs_use_odccm</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+- <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+@@ -90,12 +74,12 @@
+ <property name="use_underline">True</property>
+ <property name="response_id">0</property>
+ <property name="draw_indicator">True</property>
+- <property name="group">prefs_use_odccm</property>
++ <property name="group">prefs_use_hal</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+- <property name="position">2</property>
++ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
diff --git a/palm/synce-trayicon/files/patch-device-info.c b/palm/synce-trayicon/files/patch-device-info.c
new file mode 100644
index 000000000000..dedcffdf5895
--- /dev/null
+++ b/palm/synce-trayicon/files/patch-device-info.c
@@ -0,0 +1,387 @@
+--- src/device-info.c.orig 2008-04-16 05:17:47.000000000 +1000
++++ src/device-info.c 2008-06-11 20:59:44.000000000 +1000
+@@ -356,12 +356,12 @@
+ }
+
+ gint response;
+- guint32 index, item;
++ guint32 item;
+ gboolean active, result;
+ guint id;
+ gchar *name = NULL;
++ GtkListStore *store = NULL;
+ GtkTreeIter iter;
+- GtkTreeModel *model;
+ GtkCellRenderer *renderer;
+ GtkTreeViewColumn *column;
+ GtkWidget *device_info_dialog = priv->dialog;
+@@ -369,7 +369,6 @@
+ GtkWidget *create_pship_dialog = glade_xml_get_widget (xml, "create_partnership_dialog");
+ GtkWidget *pship_name_entry = glade_xml_get_widget (xml, "pship_name_entry");
+ GtkWidget *sync_items_listview = glade_xml_get_widget (xml, "sync_items_listview");
+- GtkTreeSelection *selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (sync_items_listview));
+ GArray *sync_items_required = NULL;
+ GHashTable *sync_items = NULL;
+ GError *error = NULL;
+@@ -433,10 +432,10 @@
+ goto exit;
+ }
+
+- GtkListStore *store = gtk_list_store_new (SYNCITEM_N_COLUMNS,
+- G_TYPE_INT, /* index */
+- G_TYPE_BOOLEAN, /* selected */
+- G_TYPE_STRING); /* program name */
++ store = gtk_list_store_new (SYNCITEM_N_COLUMNS,
++ G_TYPE_INT, /* index */
++ G_TYPE_BOOLEAN, /* selected */
++ G_TYPE_STRING); /* program name */
+
+ g_hash_table_foreach(sync_items, setup_sync_item_store, store);
+ g_hash_table_destroy(sync_items);
+@@ -529,6 +528,256 @@
+ }
+
+
++#if GLIB_MINOR_VERSION < 14
++static void
++get_sync_item_keys(gpointer key,
++ gpointer value,
++ gpointer user_data)
++{
++ *(GList **)user_data = g_list_append(*(GList **)user_data, key);
++}
++#endif
++
++
++static gboolean
++check_delete_orphans(WmDeviceInfo *self, guint id, gchar *guid)
++{
++ WmDeviceInfoPrivate *priv = WM_DEVICE_INFO_GET_PRIVATE (self);
++ if (priv->disposed) {
++ g_warning("%s: Disposed object passed", G_STRFUNC);
++ return FALSE;
++ }
++
++ GError *error = NULL;
++ DBusGConnection *dbus_connection = NULL;
++ DBusGProxy *sync_engine_proxy = NULL;
++ gboolean result = FALSE;
++
++ GPtrArray* partnership_list = NULL;
++ GValueArray *partnership = NULL;
++ GHashTable *sync_items = NULL;
++ gboolean show_extra_warning;
++ GArray *orphaned_items = NULL;
++ GArray *sync_items_active = NULL;
++ GHashTable *pship_connections = NULL;
++ GList *item_keys = NULL, *tmp_list = NULL;
++ guint *sync_item_key = NULL;
++ guint index;
++
++ dbus_connection = dbus_g_bus_get (DBUS_BUS_SESSION, &error);
++ if (dbus_connection == NULL) {
++ g_critical("%s: Failed to open connection to bus: %s", G_STRFUNC, error->message);
++
++ GtkWidget *failed_dialog = gtk_message_dialog_new(GTK_WINDOW(priv->dialog),
++ GTK_DIALOG_DESTROY_WITH_PARENT,
++ GTK_MESSAGE_WARNING,
++ GTK_BUTTONS_OK,
++ "Deletion of partnership was unsuccessful: %s",
++ error->message);
++
++ gtk_dialog_run(GTK_DIALOG(failed_dialog));
++ gtk_widget_destroy (failed_dialog);
++
++ g_error_free (error);
++ goto exit;
++ }
++
++ sync_engine_proxy = dbus_g_proxy_new_for_name (dbus_connection,
++ "org.synce.SyncEngine",
++ "/org/synce/SyncEngine",
++ "org.synce.SyncEngine");
++ if (sync_engine_proxy == NULL) {
++ g_critical("%s: Failed to create proxy to sync engine", G_STRFUNC);
++
++ GtkWidget *failed_dialog = gtk_message_dialog_new(GTK_WINDOW(priv->dialog),
++ GTK_DIALOG_DESTROY_WITH_PARENT,
++ GTK_MESSAGE_WARNING,
++ GTK_BUTTONS_OK,
++ "Deletion of partnership was unsuccessful: Failed to connect to SyncEngine");
++
++ gtk_dialog_run(GTK_DIALOG(failed_dialog));
++ gtk_widget_destroy (failed_dialog);
++
++ goto exit;
++ }
++
++ result = org_synce_syncengine_get_partnerships (sync_engine_proxy, &partnership_list, &error);
++ if (!result) {
++ g_critical("%s: Error getting partnership list from sync-engine: %s", G_STRFUNC, error->message);
++
++ GtkWidget *failed_dialog = gtk_message_dialog_new(GTK_WINDOW(priv->dialog),
++ GTK_DIALOG_DESTROY_WITH_PARENT,
++ GTK_MESSAGE_WARNING,
++ GTK_BUTTONS_OK,
++ "Failed to retrieve partnership information: %s",
++ error->message);
++
++ gtk_dialog_run(GTK_DIALOG(failed_dialog));
++ gtk_widget_destroy (failed_dialog);
++
++ g_error_free(error);
++ goto exit;
++ }
++
++ result = org_synce_syncengine_get_item_types(sync_engine_proxy, &sync_items, &error);
++ if (!result) {
++ g_critical("%s: Error fetching sync item list: %s", G_STRFUNC, error->message);
++
++ GtkWidget *failed_dialog = gtk_message_dialog_new(GTK_WINDOW(priv->dialog),
++ GTK_DIALOG_DESTROY_WITH_PARENT,
++ GTK_MESSAGE_WARNING,
++ GTK_BUTTONS_OK,
++ "Failed to retrieve partnership information: %s",
++ error->message);
++
++ gtk_dialog_run(GTK_DIALOG(failed_dialog));
++ gtk_widget_destroy (failed_dialog);
++
++ g_error_free(error);
++ goto exit;
++ }
++
++#if GLIB_MINOR_VERSION < 14
++ g_hash_table_foreach(sync_items,
++ get_sync_item_keys,
++ &item_keys);
++#else
++ item_keys = g_hash_table_get_keys(sync_items);
++#endif
++
++ pship_connections = g_hash_table_new_full(g_int_hash, g_int_equal, g_free, NULL);
++
++ tmp_list = item_keys;
++
++ while (tmp_list) {
++ sync_item_key = (guint *) g_malloc (sizeof (guint));
++ *sync_item_key = GPOINTER_TO_UINT(tmp_list->data);
++
++ g_hash_table_insert(pship_connections, sync_item_key, GUINT_TO_POINTER(0));
++
++ tmp_list = g_list_next(tmp_list);
++ }
++
++ g_list_free(item_keys);
++
++ index = 0;
++ while(index < partnership_list->len)
++ {
++ partnership = g_ptr_array_index(partnership_list, index);
++
++ /* an array of sync item ids - au - array of uint32 */
++ sync_items_active = g_value_get_boxed(g_value_array_get_nth (partnership, 6));
++
++ guint i;
++ guint active_item;
++ guint current_count;
++ for (i = 0; i < sync_items_active->len; i++) {
++ active_item = g_array_index(sync_items_active, guint, i);
++ current_count = GPOINTER_TO_UINT(g_hash_table_lookup(pship_connections, &active_item));
++ current_count++;
++
++ sync_item_key = (guint *) g_malloc (sizeof (guint));
++ *sync_item_key = active_item;
++
++ g_hash_table_insert(pship_connections, sync_item_key, GUINT_TO_POINTER(current_count));
++ }
++
++ index++;
++ }
++
++ show_extra_warning = FALSE;
++ orphaned_items = g_array_new(FALSE, TRUE, sizeof(guint));
++ index = 0;
++ while(index < partnership_list->len)
++ {
++ partnership = g_ptr_array_index(partnership_list, index);
++
++ guint partnership_id = g_value_get_uint(g_value_array_get_nth (partnership, 0));
++ const gchar *partnership_guid = g_value_get_string(g_value_array_get_nth (partnership, 1));
++
++ if ((partnership_id == id) && (strcmp(partnership_guid, guid) == 0)) {
++ sync_items_active = g_value_get_boxed(g_value_array_get_nth (partnership, 6));
++
++ guint i;
++ guint active_item;
++ guint current_count;
++ for (i = 0; i < sync_items_active->len; i++) {
++ active_item = g_array_index(sync_items_active, guint, i);
++ current_count = GPOINTER_TO_UINT(g_hash_table_lookup(pship_connections, &active_item));
++
++ if (current_count == 1) {
++ show_extra_warning = TRUE;
++ g_array_append_val(orphaned_items, active_item);
++ }
++ }
++
++ break;
++ }
++ index++;
++ }
++
++ g_hash_table_destroy(pship_connections);
++
++ if (show_extra_warning) {
++ GString *orphaned_str = NULL;
++ guint i;
++ guint item;
++ gint reply;
++
++ for (i = 0; i < orphaned_items->len; i++) {
++ item = g_array_index(orphaned_items, guint, i);
++
++ if (!orphaned_str)
++ orphaned_str = g_string_new(g_hash_table_lookup(sync_items, GUINT_TO_POINTER(item)));
++ else
++ g_string_append_printf(orphaned_str, ", %s", (gchar *)g_hash_table_lookup(sync_items, GUINT_TO_POINTER(item)));
++ }
++
++ g_array_free(orphaned_items, TRUE);
++
++ GtkWidget *dialog = gtk_message_dialog_new(GTK_WINDOW(priv->dialog),
++ GTK_DIALOG_DESTROY_WITH_PARENT,
++ GTK_MESSAGE_WARNING,
++ GTK_BUTTONS_YES_NO,
++ "It appears you are using a Windows Mobile 6 device. Deleting this partnership might result in all items of types %s being deleted from the device because no other partnership is connected with them. Are you really sure you want to delete this partnership?",
++ orphaned_str->str);
++
++ gtk_window_set_title(GTK_WINDOW(dialog), "Possible deletion of 'orphaned' items");
++ reply = gtk_dialog_run(GTK_DIALOG(dialog));
++ gtk_widget_destroy (dialog);
++
++ g_string_free(orphaned_str, TRUE);
++
++ if (reply != GTK_RESPONSE_YES)
++ result = FALSE;
++ else
++ result = TRUE;
++
++ } else
++ result = TRUE;
++
++exit:
++
++ if (partnership_list) {
++ index = 0;
++ while(index < partnership_list->len) {
++ partnership = g_ptr_array_index(partnership_list, index);
++ g_value_array_free(partnership);
++
++ index++;
++ }
++ g_ptr_array_free(partnership_list, TRUE);
++ }
++
++ if (sync_items) g_hash_table_destroy(sync_items);
++
++ if (sync_engine_proxy) g_object_unref(sync_engine_proxy);
++ if (dbus_connection) dbus_g_connection_unref(dbus_connection);
++
++ return result;
++}
++
++
+ static void
+ partners_remove_button_clicked_synceng_cb (GtkWidget *widget, gpointer data)
+ {
+@@ -544,9 +793,10 @@
+ }
+
+ guint index, id;
++ guint os_major, os_minor;
+ gchar *guid = NULL;
+ gchar *name;
+- GtkTreeIter iter;
++ GtkTreeIter iter, parent_iter;
+ GtkTreeModel *model;
+ GtkWidget *partners_list_view = glade_xml_get_widget (priv->xml, "partners_list");
+ GtkTreeSelection *selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (partners_list_view));
+@@ -572,6 +822,20 @@
+ return;
+ }
+
++ /* if the user selected one of the subitems */
++
++ if (gtk_tree_model_iter_parent(model, &parent_iter, &iter)) {
++ g_free(guid);
++ g_free(name);
++ gtk_tree_model_get (model,
++ &parent_iter,
++ SYNCENG_INDEX_COLUMN, &index,
++ SYNCENG_ID_COLUMN, &id,
++ SYNCENG_GUID_COLUMN, &guid,
++ SYNCENG_NAME_COLUMN, &name,
++ -1);
++ }
++
+ GtkWidget *device_info_dialog = priv->dialog;
+ GtkWidget *confirm_dialog = gtk_message_dialog_new(GTK_WINDOW(device_info_dialog),
+ GTK_DIALOG_DESTROY_WITH_PARENT,
+@@ -628,6 +892,21 @@
+ goto exit;
+ }
+
++ /*
++ Check whether the removal of this particular partnership would result
++ in orphaned itemtypes, that would be deleted by wm6
++ */
++
++ g_object_get(priv->device,
++ "os-major", &os_major,
++ "os-minor", &os_minor,
++ NULL);
++
++ if ((os_major > 4) && (os_minor > 1)) {
++ if (!check_delete_orphans(self, id, guid))
++ goto exit;
++ }
++
+ result = org_synce_syncengine_delete_partnership(sync_engine_proxy, id, guid, &error);
+ if (!result) {
+ g_critical("%s: Error deleting partnership via sync-engine: %s", G_STRFUNC, error->message);
+@@ -673,7 +952,7 @@
+ GtkTreeModel *model;
+ gint index, id;
+ gchar *name;
+- GtkWidget *partners_create_button, *partners_remove_button;
++ GtkWidget *partners_remove_button;
+
+ partners_remove_button = glade_xml_get_widget (priv->xml, "partners_remove_button");
+
+@@ -701,15 +980,6 @@
+ }
+
+
+-#if GLIB_MINOR_VERSION < 14
+-get_sync_item_keys(gpointer key,
+- gpointer value,
+- gpointer user_data)
+-{
+- *(GList **)user_data = g_list_append(*(GList **)user_data, key);
+-}
+-#endif
+-
+ static void
+ partners_setup_view_store_synceng(WmDeviceInfo *self)
+ {
+@@ -1765,9 +2035,6 @@
+ static void
+ wm_device_info_finalize (GObject *obj)
+ {
+- WmDeviceInfo *self = WM_DEVICE_INFO(obj);
+- WmDeviceInfoPrivate *priv = WM_DEVICE_INFO_GET_PRIVATE (self);
+-
+ if (G_OBJECT_CLASS (wm_device_info_parent_class)->finalize)
+ G_OBJECT_CLASS (wm_device_info_parent_class)->finalize (obj);
+ }
diff --git a/palm/synce-trayicon/files/patch-gtop_stuff.c b/palm/synce-trayicon/files/patch-gtop_stuff.c
new file mode 100644
index 000000000000..c33b9c68b158
--- /dev/null
+++ b/palm/synce-trayicon/files/patch-gtop_stuff.c
@@ -0,0 +1,26 @@
+--- src/gtop_stuff.c.orig 2008-04-16 05:17:47.000000000 +1000
++++ src/gtop_stuff.c 2008-06-11 20:59:54.000000000 +1000
+@@ -63,12 +63,12 @@
+ static GArray *
+ find_dccm () {
+ glibtop_proclist proclist;
+- unsigned *pid_list;
++ pid_t *pid_list;
+ gint i = 0;
+ gint n = 0;
+ gint which, arg;
+
+- GArray *dccm_list = g_array_new(FALSE, FALSE, sizeof(unsigned));
++ GArray *dccm_list = g_array_new(FALSE, FALSE, sizeof(pid_t));
+
+ glibtop_init ();
+
+@@ -134,7 +134,7 @@
+ num = 0;
+ while (num < dccm_list->len)
+ {
+- if (kill(g_array_index(dccm_list, unsigned, num), sig) != 0)
++ if (kill(g_array_index(dccm_list, pid_t, num), sig) != 0)
+ result = FALSE;
+ num++;
+ }
diff --git a/palm/synce-trayicon/files/patch-po_Makefile.in b/palm/synce-trayicon/files/patch-po_Makefile.in
new file mode 100644
index 000000000000..904e67a2ff94
--- /dev/null
+++ b/palm/synce-trayicon/files/patch-po_Makefile.in
@@ -0,0 +1,122 @@
+--- po/Makefile.in.in.orig 2008-04-16 05:18:16.000000000 +1000
++++ po/Makefile.in.in 2008-06-11 20:59:30.000000000 +1000
+@@ -1,10 +1,10 @@
+ # Makefile for program source directory in GNU NLS utilities package.
+ # Copyright (C) 1995, 1996, 1997 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
+-# Copyright (C) 2004-2008 Rodney Dawes <dobey.pwns@gmail.com>
+ #
+-# This file may be copied and used freely without restrictions. It may
+-# be used in projects which are not available under a GNU Public License,
++# This file file be copied and used freely without restrictions. It can
++# be used in projects which are not available under the GNU Public License
+ # but which still want to provide support for the GNU gettext functionality.
++# Please note that the actual code is *not* freely available.
+ #
+ # - Modified by Owen Taylor <otaylor@redhat.com> to use GETTEXT_PACKAGE
+ # instead of PACKAGE and to look for po2tbl in ./ not in intl/
+@@ -12,7 +12,7 @@
+ # - Modified by jacob berkman <jacob@ximian.com> to install
+ # Makefile.in.in and po2tbl.sed.in for use with glib-gettextize
+ #
+-# - Modified by Rodney Dawes <dobey.pwns@gmail.com> for use with intltool
++# - Modified by Rodney Dawes <dobey@novell.com> for use with intltool
+ #
+ # We have the following line for use by intltoolize:
+ # INTLTOOL_MAKEFILE
+@@ -25,7 +25,7 @@
+
+ srcdir = @srcdir@
+ top_srcdir = @top_srcdir@
+-top_builddir = @top_builddir@
++top_builddir = ..
+ VPATH = @srcdir@
+
+ prefix = @prefix@
+@@ -56,19 +56,15 @@
+
+ PO_LINGUAS=$(shell if test -r $(srcdir)/LINGUAS; then grep -v "^\#" $(srcdir)/LINGUAS; fi)
+
+-USER_LINGUAS=$(shell if test -n "$(LINGUAS)"; then LLINGUAS="$(LINGUAS)"; ALINGUAS="$(ALL_LINGUAS)"; for lang in $$LLINGUAS; do if test -n "`grep ^$$lang$$ $(srcdir)/LINGUAS`" -o -n "`echo $$ALINGUAS|grep ' ?$$lang ?'`"; then printf "$$lang "; fi; done; fi)
+-
+-USE_LINGUAS=$(shell if test -n "$(USER_LINGUAS)"; then LLINGUAS="$(USER_LINGUAS)"; else if test -n "$(PO_LINGUAS)"; then LLINGUAS="$(PO_LINGUAS)"; else LLINGUAS="$(ALL_LINGUAS)"; fi; fi; for lang in $$LLINGUAS; do printf "$$lang "; done)
+-
+-POFILES=$(shell LINGUAS="$(USE_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.po "; done)
++POFILES=$(shell if test -n "$(PO_LINGUAS)"; then LINGUAS="$(PO_LINGUAS)"; else LINGUAS="$(ALL_LINGUAS)"; fi; for lang in $$LINGUAS; do printf "$$lang.po "; done)
+
+ DISTFILES = ChangeLog Makefile.in.in POTFILES.in $(POFILES)
+ EXTRA_DISTFILES = POTFILES.skip Makevars LINGUAS
+
+ POTFILES = \
+-# This comment gets stripped out
++#This Gets Replace for some reason
+
+-CATALOGS=$(shell LINGUAS="$(USE_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.gmo "; done)
++CATALOGS=$(shell if test -n "$(PO_LINGUAS)"; then LINGUAS="$(PO_LINGUAS)"; else LINGUAS="$(ALL_LINGUAS)"; fi; for lang in $$LINGUAS; do printf "$$lang.gmo "; done)
+
+ .SUFFIXES:
+ .SUFFIXES: .po .pox .gmo .mo .msg .cat
+@@ -102,7 +98,11 @@
+ install-data-no: all
+ install-data-yes: all
+ $(mkdir_p) $(DESTDIR)$(itlocaledir)
+- linguas="$(USE_LINGUAS)"; \
++ if test -n "$(PO_LINGUAS)"; then \
++ linguas="$(PO_LINGUAS)"; \
++ else \
++ linguas="$(ALL_LINGUAS)"; \
++ fi; \
+ for lang in $$linguas; do \
+ dir=$(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES; \
+ $(mkdir_p) $$dir; \
+@@ -133,21 +133,20 @@
+ dvi info tags TAGS ID:
+
+ # Define this as empty until I found a useful application.
+-install-exec installcheck:
++installcheck:
+
+ uninstall:
+- linguas="$(USE_LINGUAS)"; \
++ if test -n "$(PO_LINGUAS)"; then \
++ linguas="$(PO_LINGUAS)"; \
++ else \
++ linguas="$(ALL_LINGUAS)"; \
++ fi; \
+ for lang in $$linguas; do \
+ rm -f $(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo; \
+ rm -f $(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo.m; \
+ done
+
+ check: all $(GETTEXT_PACKAGE).pot
+- rm -f missing notexist
+- srcdir=$(srcdir) $(INTLTOOL_UPDATE) -m
+- if [ -r missing -o -r notexist ]; then \
+- exit 1; \
+- fi
+
+ mostlyclean:
+ rm -f *.pox $(GETTEXT_PACKAGE).pot *.old.po cat-id-tbl.tmp
+@@ -180,7 +179,11 @@
+ update-po: Makefile
+ $(MAKE) $(GETTEXT_PACKAGE).pot
+ tmpdir=`pwd`; \
+- linguas="$(USE_LINGUAS)"; \
++ if test -n "$(PO_LINGUAS)"; then \
++ linguas="$(PO_LINGUAS)"; \
++ else \
++ linguas="$(ALL_LINGUAS)"; \
++ fi; \
+ for lang in $$linguas; do \
+ echo "$$lang:"; \
+ result="`$(MSGMERGE) -o $$tmpdir/$$lang.new.po $$lang`"; \
+@@ -208,8 +211,8 @@
+ $(MAKE) stamp-it; \
+ fi
+
+-stamp-it: Makefile.in.in $(top_builddir)/config.status POTFILES.in
+- cd $(top_builddir) \
++stamp-it: Makefile.in.in ../config.status POTFILES.in
++ cd .. \
+ && CONFIG_FILES=$(subdir)/Makefile.in CONFIG_HEADERS= CONFIG_LINKS= \
+ $(SHELL) ./config.status
+
diff --git a/palm/synce-trayicon/files/patch-src_properties.c b/palm/synce-trayicon/files/patch-src_properties.c
new file mode 100644
index 000000000000..305571356508
--- /dev/null
+++ b/palm/synce-trayicon/files/patch-src_properties.c
@@ -0,0 +1,94 @@
+--- src/properties.c.orig 2008-07-26 22:26:43.000000000 +1000
++++ src/properties.c 2008-07-26 22:28:54.000000000 +1000
+@@ -23,7 +23,6 @@
+
+ if (!(g_ascii_strcasecmp(key, "/apps/synce/trayicon/dccm"))) {
+ const gchar *which_dccm = gconf_value_get_string(value);
+- GtkWidget *prefs_use_odccm = glade_xml_get_widget (xml, "prefs_use_odccm");
+ GtkWidget *prefs_use_vdccm = glade_xml_get_widget (xml, "prefs_use_vdccm");
+ GtkWidget *prefs_use_hal = glade_xml_get_widget (xml, "prefs_use_hal");
+ GtkWidget *prefs_start_stop_vdccm = glade_xml_get_widget (xml, "prefs_start_stop_vdccm");
+@@ -31,33 +30,18 @@
+ if (!(g_ascii_strcasecmp(which_dccm, "v"))) {
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (prefs_use_vdccm), TRUE);
+ gtk_widget_set_sensitive(prefs_start_stop_vdccm, TRUE);
+- } else if (!(g_ascii_strcasecmp(which_dccm, "o"))) {
+- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (prefs_use_odccm), TRUE);
+- gtk_widget_set_sensitive(prefs_start_stop_vdccm, FALSE);
+ } else if (!(g_ascii_strcasecmp(which_dccm, "h"))) {
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (prefs_use_hal), TRUE);
+ gtk_widget_set_sensitive(prefs_start_stop_vdccm, FALSE);
+ } else {
+ gconf_client_set_string (conf_client,
+- "/apps/synce/trayicon/dccm", "o", NULL);
++ "/apps/synce/trayicon/dccm", "h", NULL);
+ }
+ }
+ }
+
+
+ static void
+-prefs_use_odccm_toggled_cb (GtkWidget *widget, gpointer data)
+-{
+- gboolean state;
+- GConfClient *conf_client = gconf_client_get_default();
+-
+- state = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget));
+- if (state)
+- gconf_client_set_string (conf_client,
+- "/apps/synce/trayicon/dccm", "o", NULL);
+-}
+-
+-static void
+ prefs_use_vdccm_toggled_cb (GtkWidget *widget, gpointer data)
+ {
+ gboolean state;
+@@ -107,7 +91,7 @@
+ GtkWidget *
+ run_prefs_dialog (SynceTrayIcon *trayicon)
+ {
+- GtkWidget *prefs_window, *prefs_use_odccm, *prefs_use_vdccm, *prefs_use_hal, *prefs_start_stop_vdccm, *close_button;
++ GtkWidget *prefs_window, *prefs_use_vdccm, *prefs_use_hal, *prefs_start_stop_vdccm, *close_button;
+ gchar *which_dccm;
+ GError *error = NULL;
+
+@@ -117,36 +101,30 @@
+
+ prefs_window = glade_xml_get_widget (xml, "prefs_window");
+
+- prefs_use_odccm = glade_xml_get_widget (xml, "prefs_use_odccm");
+ prefs_use_vdccm = glade_xml_get_widget (xml, "prefs_use_vdccm");
+ prefs_use_hal = glade_xml_get_widget (xml, "prefs_use_hal");
+ prefs_start_stop_vdccm = glade_xml_get_widget (xml, "prefs_start_stop_vdccm");
+
+ if (!(which_dccm = gconf_client_get_string (conf_client,
+ "/apps/synce/trayicon/dccm", &error))) {
+- which_dccm = g_strdup("o");
++ which_dccm = g_strdup("h");
+ if (error) {
+ g_warning("%s: Get dccm type from gconf failed: %s", G_STRFUNC, error->message);
+ g_error_free(error);
+ }
+ }
+
+- if (!(g_ascii_strcasecmp(which_dccm, "h"))) {
+- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (prefs_use_hal), TRUE);
+- gtk_widget_set_sensitive(prefs_start_stop_vdccm, FALSE);
+- } else if (!(g_ascii_strcasecmp(which_dccm, "v"))) {
++ if (!(g_ascii_strcasecmp(which_dccm, "v"))) {
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (prefs_use_vdccm), TRUE);
+ gtk_widget_set_sensitive(prefs_start_stop_vdccm, TRUE);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (prefs_start_stop_vdccm),
+ gconf_client_get_bool (conf_client,
+ "/apps/synce/trayicon/start_vdccm", NULL));
+ } else {
+- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (prefs_use_odccm), TRUE);
++ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (prefs_use_hal), TRUE);
+ gtk_widget_set_sensitive(prefs_start_stop_vdccm, FALSE);
+ }
+
+- g_signal_connect (G_OBJECT (prefs_use_odccm), "toggled",
+- G_CALLBACK (prefs_use_odccm_toggled_cb), NULL);
+ g_signal_connect (G_OBJECT (prefs_use_vdccm), "toggled",
+ G_CALLBACK (prefs_use_vdccm_toggled_cb), prefs_start_stop_vdccm);
+ g_signal_connect (G_OBJECT (prefs_use_hal), "toggled",
diff --git a/palm/synce-trayicon/files/patch-synce-trayicon.1 b/palm/synce-trayicon/files/patch-synce-trayicon.1
new file mode 100644
index 000000000000..3695c56bd47f
--- /dev/null
+++ b/palm/synce-trayicon/files/patch-synce-trayicon.1
@@ -0,0 +1,11 @@
+--- man/synce-trayicon.1.orig 2008-04-16 05:17:48.000000000 +1000
++++ man/synce-trayicon.1 2008-06-11 20:59:11.000000000 +1000
+@@ -3,7 +3,7 @@
+ synce-trayicon \- Gnome system tray app for SynCE
+ .SH SYNOPSIS
+ .B synce-trayicon
+-[-f] [-d level]
++[\-f] [\-d level]
+ .SH DESCRIPTION
+ \fBsynce-trayicon\fP is a Gnome system tray application for synCE, for
+ monitoring connected Windows CE based devices.
diff --git a/palm/synce-trayicon/files/pkg-message.in b/palm/synce-trayicon/files/pkg-message.in
new file mode 100644
index 000000000000..d4f8ad0481b0
--- /dev/null
+++ b/palm/synce-trayicon/files/pkg-message.in
@@ -0,0 +1,7 @@
+
+You need to install one of the dccm implementation:
+
+palm/synce-hal or palm/synce-serial with palm/synce-vdccm
+
+Please check your palm/synce-libsynce port options.
+
diff --git a/palm/synce-trayicon/pkg-descr b/palm/synce-trayicon/pkg-descr
index 2ff74c0493f7..6187d8e7e916 100644
--- a/palm/synce-trayicon/pkg-descr
+++ b/palm/synce-trayicon/pkg-descr
@@ -2,4 +2,4 @@ SynCE is a project for connecting to devices running Windows CE or Pocket PC.
The trayicon sits in the notification area displays information about a
connected Windows CE device such as battery charge and storage space.
-WWW: http://synce.sourceforge.net/
+WWW: http://www.synce.org/moin/
diff --git a/palm/synce-trayicon/pkg-plist b/palm/synce-trayicon/pkg-plist
index 165fb37ed135..5d26392b6ade 100644
--- a/palm/synce-trayicon/pkg-plist
+++ b/palm/synce-trayicon/pkg-plist
@@ -1,8 +1,13 @@
bin/synce-trayicon
+lib/synce-trayicon/modules/test-mod.so
+lib/synce-trayicon/modules/test-mod.la
share/locale/ru/LC_MESSAGES/synce-trayicon.mo
share/locale/sv/LC_MESSAGES/synce-trayicon.mo
-share/pixmaps/synce/synce-color-small.png
-share/pixmaps/synce/synce-gray-small.png
+share/icons/hicolor/22x22/apps/synce-gray.png
+share/icons/hicolor/22x22/apps/synce-color.png
+share/icons/hicolor/48x48/apps/synce-gray.png
+share/icons/hicolor/48x48/apps/synce-color.png
share/synce/synce_trayicon_properties.glade
-@dirrm share/pixmaps/synce
+@dirrmtry lib/synce-trayicon/modules
+@dirrmtry lib/synce-trayicon
@dirrmtry share/synce