#include <libempathy/empathy-chatroom.h>
#include <libempathy/empathy-contact-list.h>
#include <libempathy/empathy-contact-manager.h>
+#include <libempathy/empathy-contact-factory.h>
#include "empathy-main-window.h"
#include "empathy-contact-dialogs.h"
#include "empathy-new-chatroom-dialog.h"
#include "empathy-chatrooms-window.h"
#include "empathy-log-window.h"
+#include "empathy-gtk-enum-types.h"
#define DEBUG_DOMAIN "MainWindow"
typedef struct {
EmpathyContactListView *list_view;
EmpathyContactListStore *list_store;
- MissionControl *mc;
+ MissionControl *mc;
EmpathyChatroomManager *chatroom_manager;
/* Main widgets */
empathy_status_presets_get_all ();
list_iface = EMPATHY_CONTACT_LIST (empathy_contact_manager_new ());
- empathy_contact_list_setup (list_iface);
window->list_store = empathy_contact_list_store_new (list_iface);
window->list_view = empathy_contact_list_view_new (window->list_store);
+ empathy_contact_list_view_set_interactive (window->list_view, TRUE);
g_object_unref (list_iface);
gtk_widget_show (GTK_WIDGET (window->list_view));
main_window_edit_personal_information_cb (GtkWidget *widget,
EmpathyMainWindow *window)
{
- //empathy_vcard_dialog_show (GTK_WINDOW (window->window));
+ GSList *accounts;
+
+ accounts = mission_control_get_online_connections (window->mc, NULL);
+ if (accounts) {
+ EmpathyContactFactory *factory;
+ EmpathyContact *contact;
+ McAccount *account;
+
+ account = accounts->data;
+ factory = empathy_contact_factory_new ();
+ contact = empathy_contact_factory_get_user (factory, account);
+ empathy_contact_information_dialog_show (contact,
+ GTK_WINDOW (window->window),
+ TRUE, FALSE);
+ g_slist_foreach (accounts, (GFunc) g_object_unref, NULL);
+ g_slist_free (accounts);
+ g_object_unref (factory);
+ }
}
static void
}
static void
-main_window_notify_sort_criterium_cb (EmpathyConf *conf,
+main_window_notify_sort_criterium_cb (EmpathyConf *conf,
const gchar *key,
EmpathyMainWindow *window)
{
gchar *str = NULL;
- if (empathy_conf_get_string (conf, key, &str)) {
+ if (empathy_conf_get_string (conf, key, &str) && str) {
GType type;
GEnumClass *enum_class;
GEnumValue *enum_value;
if (enum_value) {
empathy_contact_list_store_set_sort_criterium (window->list_store,
- enum_value->value);
+ enum_value->value);
}
}
}