aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog10
-rw-r--r--libempathy-gtk/empathy-accounts-dialog.c36
-rw-r--r--libempathy-gtk/empathy-profile-chooser.c10
-rw-r--r--libempathy-gtk/empathy-profile-chooser.h1
-rw-r--r--libempathy-gtk/empathy-ui-utils.c2
5 files changed, 46 insertions, 13 deletions
diff --git a/ChangeLog b/ChangeLog
index 39bd99903..5b8b47b81 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,15 @@
2007-10-19 Xavier Claessens <xclaesse@gmail.com>
+ * libempathy-gtk/empathy-profile-chooser.c:
+ * libempathy-gtk/empathy-profile-chooser.h:
+ * libempathy-gtk/empathy-accounts-dialog.c: set unsensitive the add
+ button if there is no profile installed and tell the user to install
+ some connection managers.
+
+ * libempathy-gtk/empathy-ui-utils.c: Fix indentation.
+
+2007-10-19 Xavier Claessens <xclaesse@gmail.com>
+
* libempathy-gtk/empathy-chat-window.c: If EmpathyChat object does not
exist when DnD a contact, create one. Fixes bug #483168.
diff --git a/libempathy-gtk/empathy-accounts-dialog.c b/libempathy-gtk/empathy-accounts-dialog.c
index cc8ba4f45..914e6d471 100644
--- a/libempathy-gtk/empathy-accounts-dialog.c
+++ b/libempathy-gtk/empathy-accounts-dialog.c
@@ -240,6 +240,8 @@ accounts_dialog_update_account (EmpathyAccountsDialog *dialog,
if (!account) {
GtkTreeView *view;
GtkTreeModel *model;
+ GString *string;
+ gchar *str;
gtk_widget_show (dialog->frame_no_account);
gtk_widget_hide (dialog->vbox_details);
@@ -250,25 +252,32 @@ accounts_dialog_update_account (EmpathyAccountsDialog *dialog,
view = GTK_TREE_VIEW (dialog->treeview);
model = gtk_tree_view_get_model (view);
+ if (empathy_profile_chooser_n_profiles (dialog->combobox_profile) > 0) {
+ string = g_string_new (_("To add a new account, you can click on the "
+ "'Add' button and a new entry will be created "
+ "for you to start configuring."));
+ } else {
+ string = g_string_new (_("To add a new account, you first have to "
+ "install a backend for each protocol "
+ "you want to use."));
+ }
+
if (gtk_tree_model_iter_n_children (model, NULL) > 0) {
gtk_label_set_markup (GTK_LABEL (dialog->label_no_account),
_("<b>No Account Selected</b>"));
- gtk_label_set_markup (GTK_LABEL (dialog->label_no_account_blurb),
- _("To add a new account, you can click on the "
- "'Add' button and a new entry will be created "
- "for you to start configuring.\n"
- "\n"
- "If you do not want to add an account, simply "
- "click on the account you want to configure in "
- "the list on the left."));
+ g_string_append (string, _("\n\n"
+ "If you do not want to add an account, simply "
+ "click on the account you want to configure in "
+ "the list on the left."));
} else {
gtk_label_set_markup (GTK_LABEL (dialog->label_no_account),
_("<b>No Accounts Configured</b>"));
- gtk_label_set_markup (GTK_LABEL (dialog->label_no_account_blurb),
- _("To add a new account, you can click on the "
- "'Add' button and a new entry will be created "
- "for you to start configuring."));
}
+
+ str = g_string_free (string, FALSE);
+ gtk_label_set_markup (GTK_LABEL (dialog->label_no_account_blurb),
+ str);
+ g_free (str);
} else {
McProfile *profile;
const gchar *config_ui;
@@ -1044,6 +1053,9 @@ empathy_accounts_dialog_show (GtkWindow *parent)
dialog->combobox_profile,
TRUE, TRUE, 0);
gtk_widget_show (dialog->combobox_profile);
+ if (empathy_profile_chooser_n_profiles (dialog->combobox_profile) <= 0) {
+ gtk_widget_set_sensitive (dialog->button_add, FALSE);
+ }
/* Set up signalling */
dialog->mc = empathy_mission_control_new ();
diff --git a/libempathy-gtk/empathy-profile-chooser.c b/libempathy-gtk/empathy-profile-chooser.c
index ae32aff7f..256f95ddd 100644
--- a/libempathy-gtk/empathy-profile-chooser.c
+++ b/libempathy-gtk/empathy-profile-chooser.c
@@ -55,6 +55,16 @@ empathy_profile_chooser_get_selected (GtkWidget *widget)
return profile;
}
+gint
+empathy_profile_chooser_n_profiles (GtkWidget *widget)
+{
+ GtkTreeModel *model;
+
+ model = gtk_combo_box_get_model (GTK_COMBO_BOX (widget));
+
+ return gtk_tree_model_iter_n_children (model, NULL);
+}
+
static gint
profile_chooser_sort_profile_value (McProfile *profile)
{
diff --git a/libempathy-gtk/empathy-profile-chooser.h b/libempathy-gtk/empathy-profile-chooser.h
index 6a9c405a2..7298c12cc 100644
--- a/libempathy-gtk/empathy-profile-chooser.h
+++ b/libempathy-gtk/empathy-profile-chooser.h
@@ -29,6 +29,7 @@ G_BEGIN_DECLS
GtkWidget * empathy_profile_chooser_new (void);
McProfile * empathy_profile_chooser_get_selected (GtkWidget *widget);
+gint empathy_profile_chooser_n_profiles (GtkWidget *widget);
G_END_DECLS
#endif /* __EMPATHY_PROTOCOL_CHOOSER_H__ */
diff --git a/libempathy-gtk/empathy-ui-utils.c b/libempathy-gtk/empathy-ui-utils.c
index eabdc0a46..16f0116de 100644
--- a/libempathy-gtk/empathy-ui-utils.c
+++ b/libempathy-gtk/empathy-ui-utils.c
@@ -1259,7 +1259,7 @@ empathy_window_iconify (GtkWindow *window, GtkStatusIcon *status_icon)
XChangeProperty (dpy,
GDK_WINDOW_XID (gdk_window),
gdk_x11_get_xatom_by_name_for_display (gdk_drawable_get_display (gdk_window),
- "_NET_WM_ICON_GEOMETRY"),
+ "_NET_WM_ICON_GEOMETRY"),
XA_CARDINAL, 32, PropModeReplace,
(guchar *)&data, 4);