empathy r2787 - trunk/libempathy-gtk
- From: xclaesse svn gnome org
- To: svn-commits-list gnome org
- Subject: empathy r2787 - trunk/libempathy-gtk
- Date: Fri, 10 Apr 2009 16:54:18 +0000 (UTC)
Author: xclaesse
Date: Fri Apr 10 16:54:18 2009
New Revision: 2787
URL: http://svn.gnome.org/viewvc/empathy?rev=2787&view=rev
Log:
Don't make Hidden/Offline have customisable text
From: Davyd Madeley <davyd madeley id au>
Modified:
trunk/libempathy-gtk/empathy-presence-chooser.c
Modified: trunk/libempathy-gtk/empathy-presence-chooser.c
==============================================================================
--- trunk/libempathy-gtk/empathy-presence-chooser.c (original)
+++ trunk/libempathy-gtk/empathy-presence-chooser.c Fri Apr 10 16:54:18 2009
@@ -129,6 +129,7 @@
COL_STATE,
COL_STATUS_TEXT,
COL_DISPLAY_MARKUP,
+ COL_STATUS_CUSTOMISABLE,
COL_TYPE,
N_COLUMNS
};
@@ -150,6 +151,7 @@
MC_TYPE_PRESENCE, /* COL_STATE */
G_TYPE_STRING, /* COL_STATUS_TEXT */
G_TYPE_STRING, /* COL_DISPLAY_MARKUP */
+ G_TYPE_BOOLEAN, /* COL_STATUS_CUSTOMISABLE */
G_TYPE_INT); /* COL_TYPE */
GtkTreeIter iter;
@@ -167,6 +169,7 @@
COL_STATE, states[i],
COL_STATUS_TEXT, status,
COL_DISPLAY_MARKUP, status,
+ COL_STATUS_CUSTOMISABLE, states[i+1],
COL_TYPE, ENTRY_TYPE_BUILTIN,
-1);
@@ -180,6 +183,7 @@
COL_STATE, states[i],
COL_STATUS_TEXT, l->data,
COL_DISPLAY_MARKUP, l->data,
+ COL_STATUS_CUSTOMISABLE, TRUE,
COL_TYPE, ENTRY_TYPE_SAVED,
-1);
}
@@ -191,6 +195,7 @@
COL_STATE, states[i],
COL_STATUS_TEXT, "",
COL_DISPLAY_MARKUP, "<i>Custom Message...</i>",
+ COL_STATUS_CUSTOMISABLE, TRUE,
COL_TYPE, ENTRY_TYPE_CUSTOM,
-1);
}
@@ -358,6 +363,7 @@
GtkTreeIter iter;
char *icon_name;
+ gboolean customisable = TRUE;
int type = -1;
GtkTreeModel *model = gtk_combo_box_get_model (self);
@@ -374,11 +380,22 @@
gtk_tree_model_get (model, &iter,
COL_STATE_ICON_NAME, &icon_name,
COL_STATE, &priv->state,
+ COL_STATUS_CUSTOMISABLE, &customisable,
COL_TYPE, &type,
-1);
GtkWidget *entry = gtk_bin_get_child (GTK_BIN (self));
+ /* some types of status aren't editable, set the editability of the
+ * entry appropriately. Unless we're just about to reset it anyway,
+ * in which case, don't fiddle with it */
+ /* FIXME: there is a bug here, if we start in the Hidden state, it
+ * will be editable. It's not something that often occurs though. */
+ if (type != ENTRY_TYPE_EDIT_CUSTOM)
+ {
+ gtk_editable_set_editable (GTK_EDITABLE (entry), customisable);
+ }
+
if (type == ENTRY_TYPE_EDIT_CUSTOM)
{
/* recover the status that was unset because COL_STATUS_TEXT
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]