rpms/moblin-panel-status/devel mps-mc5-port.patch, NONE, 1.1 moblin-panel-status.spec, 1.3, 1.4
Bastien Nocera
hadess at fedoraproject.org
Mon Sep 28 21:34:31 UTC 2009
Author: hadess
Update of /cvs/pkgs/rpms/moblin-panel-status/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv1436
Modified Files:
moblin-panel-status.spec
Added Files:
mps-mc5-port.patch
Log Message:
* Mon Sep 28 2009 Bastien Nocera <bnocera at redhat.com> 0.0.5-2
- Add patch for new Mission Control support
mps-mc5-port.patch:
b/configure.ac | 2
b/src/mnb-im-status-row.c | 150 ++++++++++++++--------
b/src/mnb-status-marshal.list | 2
b/src/moblin-panel-status.c | 285 ++++++++++++++++++------------------------
configure.ac | 3
5 files changed, 228 insertions(+), 214 deletions(-)
--- NEW FILE mps-mc5-port.patch ---
commit 419ffd4e56794e2b5ab068586d55419b7a808356
Author: Jonny Lamb <jonny.lamb at collabora.co.uk>
Date: Mon Sep 28 15:35:49 2009 +0100
configure.ac: add a versioned depends on telepathy-glib
Signed-off-by: Jonny Lamb <jonny.lamb at collabora.co.uk>
diff --git a/configure.ac b/configure.ac
index 555a04b..4bd087b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -23,7 +23,7 @@ PKG_CHECK_MODULES([STATUS],
clutter-x11-1.0 >= 1.0.0 dnl
clutter-gtk-0.10
mojito-client >= 0.20.1 dnl
- telepathy-glib
+ telepathy-glib >= 0.9.0
nbtk-1.2])
AC_ARG_ENABLE([cache],
commit 937414d951216d1bb5399ef33d9777f66c09869a
Author: Jonny Lamb <jonny.lamb at collabora.co.uk>
Date: Sat Sep 26 17:03:59 2009 +0100
moblin-panel-status: update to use new tp-glib account helper API
Signed-off-by: Jonny Lamb <jonny.lamb at collabora.co.uk>
diff --git a/src/moblin-panel-status.c b/src/moblin-panel-status.c
index 84f2b17..950179c 100644
--- a/src/moblin-panel-status.c
+++ b/src/moblin-panel-status.c
@@ -37,10 +37,9 @@
#include <mojito-client/mojito-client.h>
+#include <telepathy-glib/account-manager.h>
#include <telepathy-glib/dbus.h>
#include <telepathy-glib/util.h>
-#include <libmissioncontrol/mission-control.h>
-#include <libmissioncontrol/mc-account-monitor.h>
#include <moblin-panel/mpl-panel-clutter.h>
#include <moblin-panel/mpl-panel-common.h>
@@ -61,9 +60,7 @@ typedef struct _MoblinStatusPanel
ClutterActor *header_label;
MojitoClient *mojito_client;
-
- MissionControl *mc;
- McAccountMonitor *account_monitor;
+ TpAccountManager *account_manager;
GSList *services;
GSList *accounts;
@@ -100,7 +97,7 @@ typedef struct _AccountInfo
MoblinStatusPanel *panel;
- McAccount *account;
+ TpAccount *account;
ClutterActor *row;
ClutterActor *box;
@@ -155,14 +152,13 @@ account_find_by_name (MoblinStatusPanel *panel,
}
static void
-on_row_status_changed (MnbIMStatusRow *row,
- gint presence,
- const gchar *status,
- AccountInfo *a_info)
+on_row_status_changed (MnbIMStatusRow *row,
+ TpConnectionPresenceType presence,
+ const gchar *status,
+ AccountInfo *a_info)
{
- MissionControl *mc = a_info->panel->mc;
-
- mission_control_set_presence (mc, presence, status, NULL, NULL);
+ tp_account_manager_set_all_requested_presences (a_info->panel->account_manager,
+ presence, status, NULL);
}
static void
@@ -180,10 +176,11 @@ add_account_row (MoblinStatusPanel *panel,
}
static void
-on_mc_presence_changed (MissionControl *mc,
- TpConnectionPresenceType state,
- gchar *status,
- MoblinStatusPanel *panel)
+on_presence_changed (TpAccountManager *account_manager,
+ TpConnectionPresenceType state,
+ const gchar *status,
+ const gchar *status_message,
+ MoblinStatusPanel *panel)
{
const gchar *state_str = NULL;
GSList *a;
@@ -226,8 +223,8 @@ on_mc_presence_changed (MissionControl *mc,
}
g_free (panel->im_status);
- panel->im_status = ((status != NULL && *status != '\0') ? g_strdup (status)
- : NULL);
+ panel->im_status = ((status_message != NULL && *status_message != '\0') ? g_strdup (status_message)
+ : NULL);
g_debug ("%s: PresenceChanged ['%s'[%d], '%s']",
G_STRLOC,
@@ -474,82 +471,42 @@ update_header (NbtkLabel *header,
}
static void
-update_mc (MoblinStatusPanel *panel,
- gboolean is_online)
+update_im_status (MoblinStatusPanel *panel,
+ gboolean is_online)
{
- McPresence cur_state, mc_state = MC_PRESENCE_UNSET;
- const gchar *mc_status = NULL;
+ TpConnectionPresenceType cur_state, actual_state = TP_CONNECTION_PRESENCE_TYPE_UNSET;
+ gchar *actual_status = NULL;
const gchar *state_str = NULL;
GError *error = NULL;
- switch (panel->im_presence)
+ cur_state = panel->im_presence;
+
+ actual_state = tp_account_manager_get_most_available_presence (panel->account_manager,
+ NULL, &actual_status);
+
+ switch (cur_state)
{
case TP_CONNECTION_PRESENCE_TYPE_OFFLINE:
- cur_state = MC_PRESENCE_OFFLINE;
+ state_str = _("Offline");
break;
case TP_CONNECTION_PRESENCE_TYPE_AVAILABLE:
- cur_state = MC_PRESENCE_AVAILABLE;
- break;
-
- case TP_CONNECTION_PRESENCE_TYPE_AWAY:
- cur_state = MC_PRESENCE_AWAY;
- break;
-
- case TP_CONNECTION_PRESENCE_TYPE_EXTENDED_AWAY:
- cur_state = MC_PRESENCE_EXTENDED_AWAY;
- break;
-
- case TP_CONNECTION_PRESENCE_TYPE_HIDDEN:
- cur_state = MC_PRESENCE_HIDDEN;
- break;
-
- case TP_CONNECTION_PRESENCE_TYPE_BUSY:
- cur_state = MC_PRESENCE_DO_NOT_DISTURB;
- break;
-
- default:
- cur_state = MC_PRESENCE_UNSET;
- break;
- }
-
- mc_state = mission_control_get_presence_actual (panel->mc, &error);
- if (error)
- {
- g_warning ("Unable to get the actual presence: %s", error->message);
- g_clear_error (&error);
-
- mc_state = MC_PRESENCE_UNSET;
- }
-
- mc_status = mission_control_get_presence_message_actual (panel->mc, &error);
- if (error)
- {
- g_warning ("Unable to get the actual status: %s", error->message);
- g_clear_error (&error);
-
- mc_status = NULL;
- }
-
- switch (cur_state)
- {
- case MC_PRESENCE_AVAILABLE:
state_str = _("Available");
break;
- case MC_PRESENCE_AWAY:
+ case TP_CONNECTION_PRESENCE_TYPE_AWAY:
state_str = _("Away");
break;
- case MC_PRESENCE_EXTENDED_AWAY:
+ case TP_CONNECTION_PRESENCE_TYPE_EXTENDED_AWAY:
state_str = _("Away");
break;
- case MC_PRESENCE_HIDDEN:
+ case TP_CONNECTION_PRESENCE_TYPE_HIDDEN:
state_str = _("Busy");
break;
- case MC_PRESENCE_DO_NOT_DISTURB:
+ case TP_CONNECTION_PRESENCE_TYPE_BUSY:
state_str = _("Busy");
break;
@@ -564,35 +521,39 @@ update_mc (MoblinStatusPanel *panel,
g_debug ("%s: cur_state [%d], mc_state [%d]",
G_STRLOC,
cur_state,
- mc_state);
+ actual_state);
- if (cur_state == MC_PRESENCE_UNSET || cur_state == mc_state)
+ if (cur_state == TP_CONNECTION_PRESENCE_TYPE_UNSET || cur_state == actual_state)
{
- on_mc_presence_changed (panel->mc,
- panel->im_presence,
- (gchar *) state_str,
- panel);
+ on_presence_changed (panel->account_manager,
+ panel->im_presence,
+ state_str, NULL,
+ panel);
}
- else if (cur_state != mc_state && cur_state == MC_PRESENCE_AVAILABLE)
+ else if (cur_state != actual_state && cur_state == TP_CONNECTION_PRESENCE_TYPE_AVAILABLE)
{
- mission_control_set_presence (panel->mc, cur_state, state_str,
- NULL,
- NULL);
+ tp_account_manager_set_all_requested_presences (panel->account_manager,
+ cur_state, NULL, state_str);
}
else
{
- mission_control_set_presence (panel->mc, mc_state, mc_status,
- NULL,
- NULL);
+ tp_account_manager_set_all_requested_presences (panel->account_manager,
+ actual_state,
+ NULL, actual_status);
}
+
+ g_free (actual_status);
}
static void
-on_mc_account_enabled (McAccountMonitor *monitor,
- gchar *name,
- MoblinStatusPanel *panel)
+on_account_enabled (TpAccountManager *account_manager,
+ TpAccount *account,
+ MoblinStatusPanel *panel)
{
AccountInfo *a_info;
+ const gchar *name;
+
+ name = tp_proxy_get_object_path (account);
a_info = account_find_by_name (panel, name);
if (a_info == NULL)
@@ -600,7 +561,7 @@ on_mc_account_enabled (McAccountMonitor *monitor,
a_info = g_slice_new (AccountInfo);
a_info->name = g_strdup (name);
a_info->panel = panel;
- a_info->account = mc_account_lookup (name);
+ a_info->account = g_object_ref (account);
a_info->row = NULL;
a_info->box = panel->box;
a_info->is_visible = FALSE;
@@ -617,15 +578,18 @@ on_mc_account_enabled (McAccountMonitor *monitor,
clutter_actor_hide (panel->empty_im_bin);
- update_mc (panel, panel->is_online);
+ update_im_status (panel, panel->is_online);
}
static void
-on_mc_account_disabled (McAccountMonitor *monitor,
- gchar *name,
- MoblinStatusPanel *panel)
+on_account_disabled (TpAccountManager *account_manager,
+ TpAccount *account,
+ MoblinStatusPanel *panel)
{
AccountInfo *a_info;
+ const gchar *name;
+
+ name = tp_proxy_get_object_path (account);
a_info = account_find_by_name (panel, name);
if (a_info == NULL)
@@ -638,22 +602,7 @@ on_mc_account_disabled (McAccountMonitor *monitor,
if (panel->n_im_available == 0)
clutter_actor_show (panel->empty_im_bin);
- update_mc (panel, panel->is_online);
-}
-
-static void
-on_mc_account_changed (McAccountMonitor *monitor,
- gchar *name,
- MoblinStatusPanel *panel)
-{
- AccountInfo *a_info;
-
- a_info = account_find_by_name (panel, name);
- if (a_info == NULL)
- return;
-
- if (a_info->row)
- mnb_im_status_row_update (MNB_IM_STATUS_ROW (a_info->row));
+ update_im_status (panel, panel->is_online);
}
static void
@@ -668,25 +617,18 @@ on_mojito_online_changed (MojitoClient *client,
panel->is_online = is_online;
- /* if we are online but MC reports an unset presence then we
- * should assume we are offline
- */
- if (panel->is_online &&
- panel->im_presence == TP_CONNECTION_PRESENCE_TYPE_UNSET)
- {
- panel->im_presence = TP_CONNECTION_PRESENCE_TYPE_OFFLINE;
- panel->im_status = NULL;
- }
-
cur_accounts = NULL;
- accounts = mc_accounts_list_by_enabled (TRUE);
+ accounts = tp_account_manager_get_valid_accounts (panel->account_manager);
for (l = accounts; l != NULL; l = l->next)
{
- McAccount *account = l->data;
+ TpAccount *account = l->data;
AccountInfo *a_info;
const gchar *name;
- name = mc_account_get_unique_name (account);
+ if (!tp_account_is_enabled (account))
+ continue;
+
+ name = tp_proxy_get_object_path (account);
if (account_find_by_name (panel, name) != NULL)
continue;
@@ -704,7 +646,7 @@ on_mojito_online_changed (MojitoClient *client,
cur_accounts = g_slist_prepend (cur_accounts, a_info);
}
- mc_accounts_list_free (accounts);
+ g_list_free (accounts);
if (panel->accounts == NULL)
panel->accounts = g_slist_reverse (cur_accounts);
@@ -726,37 +668,55 @@ on_mojito_online_changed (MojitoClient *client,
}
update_header (NBTK_LABEL (panel->header_label), is_online);
- update_mc (panel, is_online);
+
+ update_im_status (panel, is_online);
+
}
static void
-on_mojito_is_online (MojitoClient *client,
- gboolean is_online,
- gpointer data)
+on_account_manager_ready (GObject *source_object,
+ GAsyncResult *result,
+ gpointer userdata)
{
- MoblinStatusPanel *panel = data;
+ TpAccountManager *account_manager = TP_ACCOUNT_MANAGER (source_object);
GList *accounts, *l;
GSList *cur_accounts, *a;
+ MoblinStatusPanel *panel = userdata;
+ GError *error = NULL;
- g_debug ("%s: We are now %s", G_STRLOC, is_online ? "online" : "offline");
+ if (!tp_account_manager_prepare_finish (account_manager, result, &error))
+ {
+ g_warning ("Failed to prepare account manager: %s", error->message);
+ g_error_free (error);
+ return;
+ }
- panel->is_online = is_online;
+ g_debug ("%s: Account manager is ready\n", G_STRLOC);
+
+ /* Get initial presence */
+ g_free (panel->im_status);
+ panel->im_presence = tp_account_manager_get_most_available_presence (account_manager, NULL,
+ &(panel->im_status));
if (panel->is_online)
{
panel->im_presence = TP_CONNECTION_PRESENCE_TYPE_AVAILABLE;
+ g_free (panel->im_status);
panel->im_status = NULL;
}
cur_accounts = NULL;
- accounts = mc_accounts_list_by_enabled (TRUE);
+ accounts = tp_account_manager_get_valid_accounts (panel->account_manager);
for (l = accounts; l != NULL; l = l->next)
{
- McAccount *account = l->data;
+ TpAccount *account = l->data;
AccountInfo *a_info;
const gchar *name;
- name = mc_account_get_unique_name (account);
+ if (!tp_account_is_enabled (account))
+ continue;
+
+ name = tp_proxy_get_object_path (account);
if (account_find_by_name (panel, name) != NULL)
continue;
@@ -774,7 +734,7 @@ on_mojito_is_online (MojitoClient *client,
cur_accounts = g_slist_prepend (cur_accounts, a_info);
}
- mc_accounts_list_free (accounts);
+ g_list_free (accounts);
if (panel->accounts == NULL)
panel->accounts = g_slist_reverse (cur_accounts);
@@ -795,13 +755,29 @@ on_mojito_is_online (MojitoClient *client,
panel->is_online);
}
- update_header (NBTK_LABEL (panel->header_label), is_online);
- update_mc (panel, is_online);
+ update_header (NBTK_LABEL (panel->header_label), panel->is_online);
+ update_im_status (panel, panel->is_online);
/* get notification when the online state changes */
g_signal_connect (panel->mojito_client, "online-changed",
G_CALLBACK (on_mojito_online_changed),
panel);
+
+}
+
+static void
+on_mojito_is_online (MojitoClient *client,
+ gboolean is_online,
+ gpointer data)
+{
+ MoblinStatusPanel *panel = data;
+
+ g_debug ("%s: We are now %s", G_STRLOC, is_online ? "online" : "offline");
+
+ panel->is_online = is_online;
+
+ tp_account_manager_prepare_async (panel->account_manager, NULL,
+ on_account_manager_ready, panel);
}
#if 0
@@ -1044,32 +1020,24 @@ make_status (MoblinStatusPanel *panel)
nbtk_box_layout_set_vertical (NBTK_BOX_LAYOUT (panel->box), TRUE);
clutter_container_add_actor (CLUTTER_CONTAINER (scroll), panel->box);
- /* mission control: instant messaging
- *
- * we need MC first because the online/offline notification is
- * managed through Mojito; XXX yes, this is dumb - Moblin needs
+ /*
+ * we need an account manager first because the online/offline notification
+ * is managed through Mojito; XXX yes, this is dumb - Moblin needs
* a "shell" library that notifies when we're online or offline
*/
- panel->mc = mission_control_new (tp_get_bus ());
+ panel->account_manager = tp_account_manager_dup ();
panel->im_presence = TP_CONNECTION_PRESENCE_TYPE_UNSET;
panel->im_status = NULL;
- panel->account_monitor = mc_account_monitor_new ();
- g_signal_connect (panel->account_monitor,
- "account-enabled", G_CALLBACK (on_mc_account_enabled),
- panel);
- g_signal_connect (panel->account_monitor,
- "account-changed", G_CALLBACK (on_mc_account_changed),
+ g_signal_connect (panel->account_manager,
+ "account-enabled", G_CALLBACK (on_account_enabled),
panel);
- g_signal_connect (panel->account_monitor,
- "account-disabled", G_CALLBACK (on_mc_account_disabled),
+ g_signal_connect (panel->account_manager,
+ "account-disabled", G_CALLBACK (on_account_disabled),
panel);
-
- /* update the status when the presence changes */
- dbus_g_proxy_connect_signal (DBUS_G_PROXY (panel->mc),
- "PresenceChanged",
- G_CALLBACK (on_mc_presence_changed),
- panel, NULL);
+ g_signal_connect (panel->account_manager,
+ "most-available-presence-changed",
+ G_CALLBACK (on_presence_changed), panel);
/* mojito: web services */
panel->mojito_client = mojito_client_new ();
@@ -1211,8 +1179,7 @@ main (int argc, char *argv[])
g_slist_foreach (panel->services, (GFunc) service_info_destroy, NULL);
g_slist_free (panel->services);
- g_object_unref (panel->account_monitor);
- g_object_unref (panel->mc);
+ g_object_unref (panel->account_manager);
g_object_unref (panel->mojito_client);
g_free (panel->im_status);
g_free (panel);
commit 422dd0ab585fed35760751079293f985ac602b7a
Author: Jonny Lamb <jonny.lamb at collabora.co.uk>
Date: Sat Sep 26 17:00:46 2009 +0100
mnb-im-status-row: update to use new telepathy-glib account helper API
Signed-off-by: Jonny Lamb <jonny.lamb at collabora.co.uk>
diff --git a/src/mnb-im-status-row.c b/src/mnb-im-status-row.c
index 0cdffd2..6ebd5cd 100644
--- a/src/mnb-im-status-row.c
+++ b/src/mnb-im-status-row.c
@@ -25,9 +25,14 @@
#include <glib/gi18n.h>
#include <stdlib.h>
-#include "penge-magic-texture.h"
+#include <gdk-pixbuf/gdk-pixbuf.h>
+
+#include <clutter-gtk/clutter-gtk.h>
-#include <libmissioncontrol/mission-control.h>
+#include <telepathy-glib/account-manager.h>
+#include <telepathy-glib/enums.h>
+
+#include "penge-magic-texture.h"
#include "mnb-im-status-row.h"
#include "mnb-status-marshal.h"
@@ -65,7 +70,7 @@ struct _MnbIMStatusRowPrivate
guint is_online : 1;
guint is_expanded : 1;
- McAccount *account;
+ TpAccount *account;
TpConnectionPresenceType presence;
gchar *status;
@@ -588,18 +593,82 @@ mnb_im_status_row_get_property (GObject *gobject,
}
static void
-mnb_im_status_row_constructed (GObject *gobject)
+_account_got_avatar_cb (GObject *source_object,
+ GAsyncResult *result,
+ gpointer userdata)
{
- MnbIMStatusRow *row = MNB_IM_STATUS_ROW (gobject);
+ TpAccount *account = TP_ACCOUNT (source_object);
+ MnbIMStatusRow *row = MNB_IM_STATUS_ROW (userdata);
+ MnbIMStatusRowPrivate *priv = row->priv;
+ const GArray *avatar;
+ GError *error = NULL;
+ GdkPixbufLoader *loader = NULL;
+ gboolean avatar_set = FALSE;
+
+ avatar = tp_account_get_avatar_finish (account, result, &error);
+
+ if (avatar != NULL && avatar->len > 0)
+ {
+ GdkPixbuf *pixbuf;
+
+ loader = gdk_pixbuf_loader_new ();
+ if (!gdk_pixbuf_loader_write (loader, avatar->data, avatar->len, &error))
+ goto error;
+
+ if (!gdk_pixbuf_loader_close (loader, &error))
+ goto error;
+
+ pixbuf = gdk_pixbuf_loader_get_pixbuf (loader);
+
+ if (!gtk_clutter_texture_set_from_pixbuf (CLUTTER_TEXTURE (priv->user_icon),
+ pixbuf, &error))
+ goto error;
+
+ avatar_set = TRUE;
+ }
+
+error:
+ if (error)
+ {
+ g_warning ("Unable to load avatar image: %s", error->message);
+ g_error_free (error);
+ }
+
+ if (!avatar_set)
+ {
+ clutter_texture_set_load_async (CLUTTER_TEXTURE (priv->user_icon), FALSE);
+ clutter_texture_set_from_file (CLUTTER_TEXTURE (priv->user_icon),
+ priv->no_icon_file,
+ NULL);
+ }
+
+ if (loader != NULL)
+ g_object_unref (loader);
+}
+
+static void
+_account_manager_ready_cb (GObject *source_object,
+ GAsyncResult *result,
+ gpointer userdata)
+{
+ TpAccountManager *account_manager = TP_ACCOUNT_MANAGER (source_object);
+ MnbIMStatusRow *row = userdata;
MnbIMStatusRowPrivate *priv = row->priv;
gchar *name;
+ GError *error = NULL;
- g_assert (priv->account_name != NULL);
+ if (!tp_account_manager_prepare_finish (account_manager, result, &error))
+ {
+ g_warning ("Failed to prepare account manager: %s", error->message);
+ g_error_free (error);
+ return;
+ }
- priv->account = mc_account_lookup (priv->account_name);
+ priv->account = tp_account_manager_ensure_account (account_manager,
+ priv->account_name);
if (priv->display_name == NULL)
- priv->display_name = g_strdup (mc_account_get_display_name (priv->account));
+ priv->display_name = g_strdup (tp_account_get_display_name (priv->account));
priv->is_online = FALSE;
@@ -607,27 +676,24 @@ mnb_im_status_row_constructed (GObject *gobject)
nbtk_label_set_text (NBTK_LABEL (priv->account_label), name);
g_free (name);
- if (mc_account_get_avatar (priv->account, &name, NULL, NULL))
- {
- GError *error = NULL;
+ tp_account_get_avatar_async (priv->account, _account_got_avatar_cb, row);
- clutter_texture_set_load_async (CLUTTER_TEXTURE (priv->user_icon), TRUE);
- clutter_texture_set_from_file (CLUTTER_TEXTURE (priv->user_icon),
- name,
- &error);
- if (error)
- {
- g_warning ("Unable to load avatar image: %s", error->message);
- g_error_free (error);
+ g_object_unref (account_manager);
+}
- clutter_texture_set_load_async (CLUTTER_TEXTURE (priv->user_icon), FALSE);
- clutter_texture_set_from_file (CLUTTER_TEXTURE (priv->user_icon),
- priv->no_icon_file,
- NULL);
- }
+static void
+mnb_im_status_row_constructed (GObject *gobject)
+{
+ MnbIMStatusRow *row = MNB_IM_STATUS_ROW (gobject);
+ MnbIMStatusRowPrivate *priv = row->priv;
+ TpAccountManager *account_manager;
- g_free (name);
- }
+ g_assert (priv->account_name != NULL);
+
+ account_manager = tp_account_manager_dup ();
+
+ tp_account_manager_prepare_async (account_manager, NULL,
+ _account_manager_ready_cb, row);
if (G_OBJECT_CLASS (mnb_im_status_row_parent_class)->constructed)
G_OBJECT_CLASS (mnb_im_status_row_parent_class)->constructed (gobject);
@@ -657,14 +723,14 @@ mnb_im_status_row_class_init (MnbIMStatusRowClass *klass)
pspec = g_param_spec_string ("account-name",
"Account Name",
- "The unique name of the MissionControl account",
+ "The unique name of the Telepathy account",
NULL,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY);
g_object_class_install_property (gobject_class, PROP_ACCOUNT_NAME, pspec);
pspec = g_param_spec_string ("display-name",
"Display Name",
- "The display name of the MissionControl account",
+ "The display name of the Telepathy account",
NULL,
G_PARAM_READWRITE);
g_object_class_install_property (gobject_class, PROP_DISPLAY_NAME, pspec);
@@ -675,9 +741,9 @@ mnb_im_status_row_class_init (MnbIMStatusRowClass *klass)
G_SIGNAL_RUN_LAST,
0,
NULL, NULL,
- mnb_status_marshal_VOID__INT_STRING,
+ mnb_status_marshal_VOID__UINT_STRING,
G_TYPE_NONE, 2,
- G_TYPE_INT,
+ G_TYPE_UINT,
G_TYPE_STRING);
}
@@ -948,31 +1014,11 @@ mnb_im_status_row_update (MnbIMStatusRow *row)
priv = row->priv;
g_free (priv->display_name);
- priv->display_name = g_strdup (mc_account_get_display_name (priv->account));
+ priv->display_name = g_strdup (tp_account_get_display_name (priv->account));
str = g_strconcat (" - ", priv->display_name, NULL);
nbtk_label_set_text (NBTK_LABEL (priv->account_label), str);
g_free (str);
- if (mc_account_get_avatar (priv->account, &name, NULL, NULL))
- {
- GError *error = NULL;
-
- clutter_texture_set_load_async (CLUTTER_TEXTURE (priv->user_icon), TRUE);
- clutter_texture_set_from_file (CLUTTER_TEXTURE (priv->user_icon),
- name,
- &error);
- if (error)
- {
- g_warning ("Unable to load avatar image: %s", error->message);
- g_error_free (error);
-
- clutter_texture_set_load_async (CLUTTER_TEXTURE (priv->user_icon), FALSE);
- clutter_texture_set_from_file (CLUTTER_TEXTURE (priv->user_icon),
- priv->no_icon_file,
- NULL);
- }
-
- g_free (name);
- }
+ tp_account_get_avatar_async (priv->account, _account_got_avatar_cb, row);
}
diff --git a/src/mnb-status-marshal.list b/src/mnb-status-marshal.list
index 7095c6c..844df91 100644
--- a/src/mnb-status-marshal.list
+++ b/src/mnb-status-marshal.list
@@ -1,3 +1,3 @@
-VOID:INT,STRING
+VOID:UINT,STRING
VOID:STRING
VOID:VOID
commit 48450fd1db8689547bb3516c1251217f74c6f057
Author: Jonny Lamb <jonny.lamb at collabora.co.uk>
Date: Sat Sep 26 17:00:04 2009 +0100
Build with clutter-gtk and telepathy-glib.
Signed-off-by: Jonny Lamb <jonny.lamb at collabora.co.uk>
diff --git a/configure.ac b/configure.ac
index b29fbc1..555a04b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -21,8 +21,9 @@ PKG_CHECK_MODULES([MPL], [moblin-panel])
PKG_CHECK_MODULES([STATUS],
[dbus-glib-1 dnl
clutter-x11-1.0 >= 1.0.0 dnl
- libmissioncontrol dnl
+ clutter-gtk-0.10
mojito-client >= 0.20.1 dnl
+ telepathy-glib
nbtk-1.2])
AC_ARG_ENABLE([cache],
Index: moblin-panel-status.spec
===================================================================
RCS file: /cvs/pkgs/rpms/moblin-panel-status/devel/moblin-panel-status.spec,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -p -r1.3 -r1.4
--- moblin-panel-status.spec 19 Sep 2009 13:53:02 -0000 1.3
+++ moblin-panel-status.spec 28 Sep 2009 21:34:30 -0000 1.4
@@ -1,6 +1,6 @@
Name: moblin-panel-status
Version: 0.0.5
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: Moblin Panel for Social Network Status
Group: System Environment/Libraries
@@ -18,6 +18,11 @@ BuildRequires: nbtk-devel
BuildRequires: telepathy-mission-control-devel
BuildRequires: intltool
+# Generated with:
+# git show -p 419ffd4e56794e2b5ab068586d55419b7a808356~4..
+# in mc5 branch of git://git.collabora.co.uk/git/user/jonny/moblin-panel-status.git
+Patch0: mps-mc5-port.patch
+
# Require these because the git tarball doesn't have the configure built
BuildRequires: libtool
BuildRequires: gnome-common
@@ -29,6 +34,7 @@ status.
%prep
%setup -q
+%patch0 -p1 -b .mc5
# run autogen.sh until we have a proper release, but don't run configure twice.
NOCONFIGURE=true ./autogen.sh
@@ -54,6 +60,9 @@ rm -rf %{buildroot}
%{_datadir}/%{name}
%changelog
+* Mon Sep 28 2009 Bastien Nocera <bnocera at redhat.com> 0.0.5-2
+- Add patch for new Mission Control support
+
* Sun Sep 19 2009 Peter Robinson <pbrobinson at gmail.com> 0.0.5-1
- New upstream 0.0.5 release
More information about the fedora-extras-commits
mailing list