summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Doliner <markdoliner@pidgin.im>2007-09-26 06:56:02 +0000
committerMark Doliner <markdoliner@pidgin.im>2007-09-26 06:56:02 +0000
commit17a74225c90a10903eeb283530a8fa84af1b026b (patch)
tree32c3231e4a32325463d294edbe1195bfabf0f789
parent9ce238bb718cac0a7a100bc328ac57d2e84e9afd (diff)
downloadpidgin-sadrul.currentmedia.tar.gz
Don't show "tune" and "mobile" in the Edit a Status! window, and don'tsadrul.currentmedia
show independent statuses in the Edit a Substatus! window. Our interface doesn't really let users set independent statuses themselves. It probably should.
-rw-r--r--pidgin/gtksavedstatuses.c16
1 files changed, 13 insertions, 3 deletions
diff --git a/pidgin/gtksavedstatuses.c b/pidgin/gtksavedstatuses.c
index b8d518f98d..5322e9cd70 100644
--- a/pidgin/gtksavedstatuses.c
+++ b/pidgin/gtksavedstatuses.c
@@ -63,7 +63,7 @@ enum
};
/**
- * These is used for the GtkTreeView containing the list of accounts
+ * These are used for the GtkTreeView containing the list of accounts
* at the bottom of the window when you're editing a particular
* saved status.
*/
@@ -898,6 +898,12 @@ create_status_type_menu(PurpleStatusPrimitive type)
for (i = PURPLE_STATUS_UNSET + 1; i < PURPLE_STATUS_NUM_PRIMITIVES; i++)
{
+ if (i == PURPLE_STATUS_MOBILE || i == PURPLE_STATUS_TUNE)
+ /*
+ * Special-case these. They're intended to be independent
+ * status types, so don't show them in the list.
+ */
+ continue;
item = gtk_menu_item_new_with_label(purple_primitive_get_name_from_type(i));
gtk_menu_shell_append(GTK_MENU_SHELL(menu), item);
}
@@ -1588,8 +1594,12 @@ edit_substatus(StatusEditor *status_editor, PurpleAccount *account)
status_type = list->data;
- /* Only allow users to select statuses that are flagged as "user settable" */
- if (!purple_status_type_is_user_settable(status_type))
+ /*
+ * Only allow users to select statuses that are flagged as
+ * "user settable" and that aren't independent.
+ */
+ if (!purple_status_type_is_user_settable(status_type) ||
+ purple_status_type_is_independent(status_type))
continue;
id = purple_status_type_get_id(status_type);