]> git.0d.be Git - empathy.git/blobdiff - src/empathy-status-icon.c
Be more compatible with Facebook emoticon codes
[empathy.git] / src / empathy-status-icon.c
index d6f5b2e4627d7e602718f4d7da32efed2589a328..2f71fa13d52ab04ecd79926ac4d446f7b1e8cc4b 100644 (file)
  * Authors: Xavier Claessens <xclaesse@gmail.com>
  */
 
-#include <config.h>
-
-#include <string.h>
-
-#include <glib.h>
-
-#include <gtk/gtk.h>
-#include <gdk/gdkkeysyms.h>
-#include <glib/gi18n.h>
-
-#include <telepathy-glib/account-manager.h>
-#include <telepathy-glib/util.h>
-
-#include <libempathy/empathy-gsettings.h>
-#include <libempathy/empathy-utils.h>
+#include "config.h"
+#include "empathy-status-icon.h"
 
-#include <libempathy-gtk/empathy-presence-chooser.h>
-#include <libempathy-gtk/empathy-ui-utils.h>
-#include <libempathy-gtk/empathy-images.h>
-#include <libempathy-gtk/empathy-new-message-dialog.h>
-#include <libempathy-gtk/empathy-new-call-dialog.h>
+#include <tp-account-widgets/tpaw-builder.h>
+#include <tp-account-widgets/tpaw-utils.h>
 
-#include "empathy-accounts-dialog.h"
-#include "empathy-status-icon.h"
-#include "empathy-preferences.h"
 #include "empathy-event-manager.h"
+#include "empathy-gsettings.h"
+#include "empathy-new-call-dialog.h"
+#include "empathy-new-message-dialog.h"
+#include "empathy-presence-chooser.h"
+#include "empathy-ui-utils.h"
+#include "empathy-utils.h"
 
 #define DEBUG_FLAG EMPATHY_DEBUG_DISPATCHER
-#include <libempathy/empathy-debug.h>
+#include "empathy-debug.h"
 
 /* Number of ms to wait when blinking */
 #define BLINK_TIMEOUT 500
@@ -96,7 +83,7 @@ status_icon_update_tooltip (EmpathyStatusIcon *icon)
                type = tp_account_manager_get_most_available_presence (
                        priv->account_manager, NULL, &msg);
 
-               if (!EMP_STR_EMPTY (msg)) {
+               if (!TPAW_STR_EMPTY (msg)) {
                        gtk_status_icon_set_tooltip_text (priv->icon, msg);
                }
                else {
@@ -224,7 +211,7 @@ status_icon_set_visibility (EmpathyStatusIcon *icon,
        if (!visible) {
                gtk_widget_hide (priv->window);
        } else {
-               empathy_window_present (GTK_WINDOW (priv->window));
+               tpaw_window_present (GTK_WINDOW (priv->window));
        }
 }
 
@@ -320,7 +307,9 @@ static void
 status_icon_quit_cb (GtkAction         *action,
                     EmpathyStatusIcon *icon)
 {
-       gtk_main_quit ();
+       EmpathyStatusIconPriv *priv = GET_PRIV (icon);
+
+       gtk_widget_destroy (priv->window);
 }
 
 static void
@@ -365,7 +354,7 @@ status_icon_create_menu (EmpathyStatusIcon *icon)
        gchar                 *filename;
 
        filename = empathy_file_lookup ("empathy-status-icon.ui", "src");
-       gui = empathy_builder_get_file (filename,
+       gui = tpaw_builder_get_file (filename,
                                        "ui_manager", &priv->ui_manager,
                                        "menu", &priv->popup_menu,
                                        "show_list", &priv->show_window_item,
@@ -374,7 +363,7 @@ status_icon_create_menu (EmpathyStatusIcon *icon)
                                       NULL);
        g_free (filename);
 
-       empathy_builder_connect (gui, icon,
+       tpaw_builder_connect (gui, icon,
                              "show_list", "toggled", status_icon_show_hide_window_cb,
                              "new_message", "activate", status_icon_new_message_cb,
                              "new_call", "activate", status_icon_new_call_cb,
@@ -443,13 +432,13 @@ account_manager_prepared_cb (GObject *source_object,
                return;
        }
 
-       list = tp_account_manager_get_valid_accounts (account_manager);
+       list = tp_account_manager_dup_valid_accounts (account_manager);
        for (l = list; l != NULL; l = l->next) {
                tp_g_signal_connect_object (l->data, "status-changed",
                                             G_CALLBACK (status_icon_status_changed_cb),
                                             icon, 0);
        }
-       g_list_free (list);
+       g_list_free_full (list, g_object_unref);
 
        status_icon_presence_changed_cb (icon);
 }