$ ./autogen
$ make && make install
-2) Setup and enable some accounts
-$ empathy-accounts
-
-3) Start the MC
+2) Start the MC
$ empathy-launcher
This will start MC and connect all enabled accounts. If you start a private chat
or someone is saying something to you, empathy-chat will be started
automagicaly and display a chat UI for your conversation.
-4) To see the contact list
+3) To see the contact list and setting accounts
$ empathy-contact-list
dialog = gossip_accounts_dialog_show ();
- gtk_widget_show (dialog);
g_signal_connect (dialog, "destroy",
G_CALLBACK (destroy_cb),
NULL);
#include <glib.h>
#include <gtk/gtk.h>
+#include <libmissioncontrol/mc-account.h>
+
#include <libempathy/empathy-session.h>
#include <libempathy-gtk/empathy-main-window.h>
#include <libempathy-gtk/gossip-stock.h>
+#include <libempathy-gtk/gossip-accounts-dialog.h>
static void
destroy_cb (GtkWidget *window,
main (int argc, char *argv[])
{
GtkWidget *window;
+ GList *accounts;
gtk_init (&argc, &argv);
- window = empathy_main_window_new ();
+ window = empathy_main_window_show ();
gossip_stock_init (window);
g_signal_connect (window, "destroy",
G_CALLBACK (destroy_cb),
NULL);
- gtk_widget_show (window);
+ /* Show the accounts dialog if there is no enabled accounts */
+ accounts = mc_accounts_list_by_enabled (TRUE);
+ if (accounts) {
+ mc_accounts_list_free (accounts);
+ } else {
+ gossip_accounts_dialog_show ();
+ }
gtk_main ();
#include "gossip-status-presets.h"
#include "gossip-geometry.h"
#include "gossip-preferences.h"
+#include "gossip-accounts-dialog.h"
#define DEBUG_DOMAIN "EmpathyMainWindow"
EmpathyMainWindow *window);
GtkWidget *
-empathy_main_window_new (void)
-{
- EmpathyMainWindow *window;
- GladeXML *glade;
- GossipConf *conf;
- GtkWidget *sw;
- GtkWidget *show_offline_widget;
- GtkWidget *ebox;
- GtkToolItem *item;
- gchar *str;
- gboolean show_offline;
- gboolean show_avatars;
- gboolean compact_contact_list;
- gint x, y, w, h;
+empathy_main_window_show (void)
+{
+ static EmpathyMainWindow *window = NULL;
+ GladeXML *glade;
+ GossipConf *conf;
+ GtkWidget *sw;
+ GtkWidget *show_offline_widget;
+ GtkWidget *ebox;
+ GtkToolItem *item;
+ gchar *str;
+ gboolean show_offline;
+ gboolean show_avatars;
+ gboolean compact_contact_list;
+ gint x, y, w, h;
+
+ if (window) {
+ gtk_window_present (GTK_WINDOW (window->window));
+ return window->window;
+ }
window = g_new0 (EmpathyMainWindow, 1);
"is-compact", compact_contact_list,
NULL);
+ gtk_widget_show (window->window);
+
return window->window;
}
main_window_edit_accounts_cb (GtkWidget *widget,
EmpathyMainWindow *window)
{
- //gossip_accounts_dialog_show (NULL);
+ gossip_accounts_dialog_show ();
}
static void
return FALSE;
}
- //gossip_accounts_dialog_show (NULL);
+ gossip_accounts_dialog_show ();
return FALSE;
}
G_BEGIN_DECLS
-GtkWidget *empathy_main_window_new (void);
+GtkWidget *empathy_main_window_show (void);
G_END_DECLS