gtk/gtksavedstatuses.h

Tue, 17 Oct 2006 20:44:05 +0000

author
Etan Reisner <deryni@pidgin.im>
date
Tue, 17 Oct 2006 20:44:05 +0000
changeset 14806
5898b78f849e
parent 14253
b63ebf84c42b
child 20470
77693555855f
child 20472
6a6d2ef151e6
permissions
-rw-r--r--

[gaim-migrate @ 17501]
This should fix the problem that my last commit introduced. Having the base
primitive status of a saved status selected in the dropdown sounded like a
pretty good idea, only it broke actually selecting that primitive once the
saved status was selected. So any saved status based off of the Away primitive
locked you out from being able to choose the Away primitive when that saved
status was selected. So go back to selecting nothing for saved statuses.

10418
7b632343a29c [gaim-migrate @ 11669]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
1 /**
10469
3edb0348ba88 [gaim-migrate @ 11751]
Mark Doliner <markdoliner@pidgin.im>
parents: 10447
diff changeset
2 * @file gtksavedstatuses.h GTK+ Saved Status Editor UI
10418
7b632343a29c [gaim-migrate @ 11669]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
3 * @ingroup gtkui
7b632343a29c [gaim-migrate @ 11669]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
4 *
7b632343a29c [gaim-migrate @ 11669]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
5 * gaim
7b632343a29c [gaim-migrate @ 11669]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
6 *
7b632343a29c [gaim-migrate @ 11669]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
7 * Gaim is the legal property of its developers, whose names are too numerous
7b632343a29c [gaim-migrate @ 11669]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
8 * to list here. Please refer to the COPYRIGHT file distributed with this
7b632343a29c [gaim-migrate @ 11669]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
9 * source distribution.
7b632343a29c [gaim-migrate @ 11669]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
10 *
7b632343a29c [gaim-migrate @ 11669]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
11 * This program is free software; you can redistribute it and/or modify
7b632343a29c [gaim-migrate @ 11669]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
12 * it under the terms of the GNU General Public License as published by
7b632343a29c [gaim-migrate @ 11669]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
13 * the Free Software Foundation; either version 2 of the License, or
7b632343a29c [gaim-migrate @ 11669]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
14 * (at your option) any later version.
7b632343a29c [gaim-migrate @ 11669]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
15 *
7b632343a29c [gaim-migrate @ 11669]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
16 * This program is distributed in the hope that it will be useful,
7b632343a29c [gaim-migrate @ 11669]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
7b632343a29c [gaim-migrate @ 11669]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
7b632343a29c [gaim-migrate @ 11669]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
19 * GNU General Public License for more details.
7b632343a29c [gaim-migrate @ 11669]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
20 *
7b632343a29c [gaim-migrate @ 11669]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
21 * You should have received a copy of the GNU General Public License
7b632343a29c [gaim-migrate @ 11669]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
22 * along with this program; if not, write to the Free Software
7b632343a29c [gaim-migrate @ 11669]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
23 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
7b632343a29c [gaim-migrate @ 11669]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
24 */
7b632343a29c [gaim-migrate @ 11669]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
25 #ifndef _GAIM_GTKSAVEDSTATUSES_H_
7b632343a29c [gaim-migrate @ 11669]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
26 #define _GAIM_GTKSAVEDSTATUSES_H_
7b632343a29c [gaim-migrate @ 11669]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
27
10421
34797f8b5742 [gaim-migrate @ 11672]
Mark Doliner <markdoliner@pidgin.im>
parents: 10418
diff changeset
28 #include "savedstatuses.h"
10418
7b632343a29c [gaim-migrate @ 11669]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
29 #include "status.h"
7b632343a29c [gaim-migrate @ 11669]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
30
7b632343a29c [gaim-migrate @ 11669]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
31 /**
7b632343a29c [gaim-migrate @ 11669]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
32 * Shows the status window.
7b632343a29c [gaim-migrate @ 11669]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
33 */
7b632343a29c [gaim-migrate @ 11669]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
34 void gaim_gtk_status_window_show(void);
7b632343a29c [gaim-migrate @ 11669]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
35
7b632343a29c [gaim-migrate @ 11669]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
36 /**
7b632343a29c [gaim-migrate @ 11669]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
37 * Hides the status window.
7b632343a29c [gaim-migrate @ 11669]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
38 */
7b632343a29c [gaim-migrate @ 11669]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
39 void gaim_gtk_status_window_hide(void);
7b632343a29c [gaim-migrate @ 11669]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
40
7b632343a29c [gaim-migrate @ 11669]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
41 /**
10447
887380ec66f5 [gaim-migrate @ 11712]
Mark Doliner <markdoliner@pidgin.im>
parents: 10421
diff changeset
42 * Shows a status editor (used for adding a new saved status or
887380ec66f5 [gaim-migrate @ 11712]
Mark Doliner <markdoliner@pidgin.im>
parents: 10421
diff changeset
43 * editing an already existing saved status).
887380ec66f5 [gaim-migrate @ 11712]
Mark Doliner <markdoliner@pidgin.im>
parents: 10421
diff changeset
44 *
13176
df549de66219 [gaim-migrate @ 15538]
Mark Doliner <markdoliner@pidgin.im>
parents: 13014
diff changeset
45 * @param edit TRUE if we want to edit an existing saved
df549de66219 [gaim-migrate @ 15538]
Mark Doliner <markdoliner@pidgin.im>
parents: 13014
diff changeset
46 * status or FALSE to create a new one. You
df549de66219 [gaim-migrate @ 15538]
Mark Doliner <markdoliner@pidgin.im>
parents: 13014
diff changeset
47 * can not edit transient statuses--they don't
df549de66219 [gaim-migrate @ 15538]
Mark Doliner <markdoliner@pidgin.im>
parents: 13014
diff changeset
48 * have titles. If you want to edit a transient
df549de66219 [gaim-migrate @ 15538]
Mark Doliner <markdoliner@pidgin.im>
parents: 13014
diff changeset
49 * status, set this to FALSE and seed the dialog
df549de66219 [gaim-migrate @ 15538]
Mark Doliner <markdoliner@pidgin.im>
parents: 13014
diff changeset
50 * with the transient status using the status
df549de66219 [gaim-migrate @ 15538]
Mark Doliner <markdoliner@pidgin.im>
parents: 13014
diff changeset
51 * parameter to this function.
df549de66219 [gaim-migrate @ 15538]
Mark Doliner <markdoliner@pidgin.im>
parents: 13014
diff changeset
52 * @param status If edit is TRUE then this should be a
df549de66219 [gaim-migrate @ 15538]
Mark Doliner <markdoliner@pidgin.im>
parents: 13014
diff changeset
53 * pointer to the GaimSavedStatus to edit.
df549de66219 [gaim-migrate @ 15538]
Mark Doliner <markdoliner@pidgin.im>
parents: 13014
diff changeset
54 * If edit is FALSE then this can be NULL,
df549de66219 [gaim-migrate @ 15538]
Mark Doliner <markdoliner@pidgin.im>
parents: 13014
diff changeset
55 * or you can pass in a saved status to
df549de66219 [gaim-migrate @ 15538]
Mark Doliner <markdoliner@pidgin.im>
parents: 13014
diff changeset
56 * seed the initial values of the new status.
10421
34797f8b5742 [gaim-migrate @ 11672]
Mark Doliner <markdoliner@pidgin.im>
parents: 10418
diff changeset
57 */
13176
df549de66219 [gaim-migrate @ 15538]
Mark Doliner <markdoliner@pidgin.im>
parents: 13014
diff changeset
58 void gaim_gtk_status_editor_show(gboolean edit, GaimSavedStatus *status);
10421
34797f8b5742 [gaim-migrate @ 11672]
Mark Doliner <markdoliner@pidgin.im>
parents: 10418
diff changeset
59
34797f8b5742 [gaim-migrate @ 11672]
Mark Doliner <markdoliner@pidgin.im>
parents: 10418
diff changeset
60 /**
13014
fa17f785b6fe [gaim-migrate @ 15367]
Mark Doliner <markdoliner@pidgin.im>
parents: 12245
diff changeset
61 * Creates a dropdown menu of saved statuses and calls a callback
fa17f785b6fe [gaim-migrate @ 15367]
Mark Doliner <markdoliner@pidgin.im>
parents: 12245
diff changeset
62 * when one is selected
fa17f785b6fe [gaim-migrate @ 15367]
Mark Doliner <markdoliner@pidgin.im>
parents: 12245
diff changeset
63 *
fa17f785b6fe [gaim-migrate @ 15367]
Mark Doliner <markdoliner@pidgin.im>
parents: 12245
diff changeset
64 * @param status The default saved_status to show as 'selected'
fa17f785b6fe [gaim-migrate @ 15367]
Mark Doliner <markdoliner@pidgin.im>
parents: 12245
diff changeset
65 * @param callback The callback to call when the selection changes
fa17f785b6fe [gaim-migrate @ 15367]
Mark Doliner <markdoliner@pidgin.im>
parents: 12245
diff changeset
66 * @return The menu widget
fa17f785b6fe [gaim-migrate @ 15367]
Mark Doliner <markdoliner@pidgin.im>
parents: 12245
diff changeset
67 */
fa17f785b6fe [gaim-migrate @ 15367]
Mark Doliner <markdoliner@pidgin.im>
parents: 12245
diff changeset
68 GtkWidget *gaim_gtk_status_menu(GaimSavedStatus *status, GCallback callback);
fa17f785b6fe [gaim-migrate @ 15367]
Mark Doliner <markdoliner@pidgin.im>
parents: 12245
diff changeset
69
fa17f785b6fe [gaim-migrate @ 15367]
Mark Doliner <markdoliner@pidgin.im>
parents: 12245
diff changeset
70 /**
fa17f785b6fe [gaim-migrate @ 15367]
Mark Doliner <markdoliner@pidgin.im>
parents: 12245
diff changeset
71 * Returns the GTK+ status handle.
10418
7b632343a29c [gaim-migrate @ 11669]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
72 *
7b632343a29c [gaim-migrate @ 11669]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
73 * @return The handle to the GTK+ status system.
7b632343a29c [gaim-migrate @ 11669]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
74 */
7b632343a29c [gaim-migrate @ 11669]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
75 void *gaim_gtk_status_get_handle(void);
7b632343a29c [gaim-migrate @ 11669]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
76
7b632343a29c [gaim-migrate @ 11669]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
77 /**
7b632343a29c [gaim-migrate @ 11669]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
78 * Initializes the GTK+ status system.
7b632343a29c [gaim-migrate @ 11669]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
79 */
7b632343a29c [gaim-migrate @ 11669]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
80 void gaim_gtk_status_init(void);
7b632343a29c [gaim-migrate @ 11669]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
81
7b632343a29c [gaim-migrate @ 11669]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
82 /**
7b632343a29c [gaim-migrate @ 11669]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
83 * Uninitializes the GTK+ status system.
7b632343a29c [gaim-migrate @ 11669]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
84 */
7b632343a29c [gaim-migrate @ 11669]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
85 void gaim_gtk_status_uninit(void);
7b632343a29c [gaim-migrate @ 11669]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
86
7b632343a29c [gaim-migrate @ 11669]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
87 #endif /* _GAIM_GTKSAVEDSTATUSES_H_ */

mercurial