gtk/gtkstatusbox.h

Tue, 17 Oct 2006 08:13:41 +0000

author
Etan Reisner <deryni@pidgin.im>
date
Tue, 17 Oct 2006 08:13:41 +0000
changeset 14801
6554d4d17db8
parent 14767
34cc644b452f
child 14804
8c79ca123c25
permissions
-rw-r--r--

[gaim-migrate @ 17495]
This should fix the statusbox issues that were keeping us from releasing beta
4 (and which were just really annoying). Thakn sadrul for most of this, I just
added the if (index == -1) bit. Anyway, the way this works now is that for
saved/popular statuses the primitive underlying that status is where the
dropdown for the statusbox starts. If we don't like that we can change it but
I'm not sure we'll find something better.

Also, this might plug a couple leaks, I'm not really sure but it certainly
looks right.

Up next, the patch to make the docklet use the per-protocol statuses in the
top section.

10643
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
1 /*
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
2 * @file gtkstatusbox.c GTK+ Status Selection Widget
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
3 * @ingroup gtkui
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
4 *
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
5 * gaim
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
6 *
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
7 * Gaim is the legal property of its developers, whose names are too numerous
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
8 * to list here. Please refer to the COPYRIGHT file distributed with this
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
9 * source distribution.
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
10 *
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
11 * This program is free software; you can redistribute it and/or modify
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
12 * it under the terms of the GNU General Public License as published by
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
13 * the Free Software Foundation; either version 2 of the License, or
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
14 * (at your option) any later version.
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
15 *
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
16 * This program is distributed in the hope that it will be useful,
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
19 * GNU General Public License for more details.
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
20 *
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
21 * You should have received a copy of the GNU General Public License
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
22 * along with this program; if not, write to the Free Software
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
23 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
24 */
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
25
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
26
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
27 #ifndef __GTK_GAIM_STATUS_BOX_H__
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
28 #define __GTK_GAIM_STATUS_BOX_H__
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
29
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
30 #include <gtk/gtk.h>
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
31 #include "gtkimhtml.h"
11499
95be4b16bfaf [gaim-migrate @ 13744]
Tim Ringenbach <marv@pidgin.im>
parents: 10703
diff changeset
32 #include "account.h"
11677
89c2ab8d2ebf [gaim-migrate @ 13963]
Mark Doliner <markdoliner@pidgin.im>
parents: 11638
diff changeset
33 #include "savedstatuses.h"
11739
cc15987b3937 [gaim-migrate @ 14030]
Mark Doliner <markdoliner@pidgin.im>
parents: 11738
diff changeset
34 #include "status.h"
10643
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
35 #include <gtk/gtktreemodel.h>
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
36 #include <gtk/gtktreeview.h>
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
37
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
38 G_BEGIN_DECLS
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
39
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
40 #define GTK_GAIM_TYPE_STATUS_BOX (gtk_gaim_status_box_get_type ())
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
41 #define GTK_GAIM_STATUS_BOX(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_GAIM_TYPE_STATUS_BOX, GtkGaimStatusBox))
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
42 #define GTK_GAIM_STATUS_BOX_CLASS(vtable) (G_TYPE_CHECK_CLASS_CAST ((vtable), GTK_GAIM_TYPE_STATUS_BOX, GtkGaimStatusBoxClass))
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
43 #define GTK_GAIM_IS_STATUS_BOX(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_GAIM_TYPE_STATUS_BOX))
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
44 #define GTK_GAIM_IS_STATUS_BOX_CLASS(vtable) (G_TYPE_CHECK_CLASS_TYPE ((vtable), GTK_GAIM_TYPE_STATUS_BOX))
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
45 #define GTK_GAIM_STATUS_BOX_GET_CLASS(inst) (G_TYPE_INSTANCE_GET_CLASS ((inst), GTK_GAIM_TYPE_STATUS_BOX, GtkGaimStatusBoxClass))
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
46
11739
cc15987b3937 [gaim-migrate @ 14030]
Mark Doliner <markdoliner@pidgin.im>
parents: 11738
diff changeset
47 /**
cc15987b3937 [gaim-migrate @ 14030]
Mark Doliner <markdoliner@pidgin.im>
parents: 11738
diff changeset
48 * This is a hidden field in the GtkStatusBox that identifies the
cc15987b3937 [gaim-migrate @ 14030]
Mark Doliner <markdoliner@pidgin.im>
parents: 11738
diff changeset
49 * item in the list store. The item could be a normal
cc15987b3937 [gaim-migrate @ 14030]
Mark Doliner <markdoliner@pidgin.im>
parents: 11738
diff changeset
50 * GaimStatusPrimitive, or it could be something special like the
cc15987b3937 [gaim-migrate @ 14030]
Mark Doliner <markdoliner@pidgin.im>
parents: 11738
diff changeset
51 * "Custom..." item, or "Saved..." or a GtkSeparator.
cc15987b3937 [gaim-migrate @ 14030]
Mark Doliner <markdoliner@pidgin.im>
parents: 11738
diff changeset
52 */
cc15987b3937 [gaim-migrate @ 14030]
Mark Doliner <markdoliner@pidgin.im>
parents: 11738
diff changeset
53 typedef enum
cc15987b3937 [gaim-migrate @ 14030]
Mark Doliner <markdoliner@pidgin.im>
parents: 11738
diff changeset
54 {
12779
b0d89f38aebb [gaim-migrate @ 15126]
Mark Doliner <markdoliner@pidgin.im>
parents: 12778
diff changeset
55 GTK_GAIM_STATUS_BOX_TYPE_SEPARATOR,
b0d89f38aebb [gaim-migrate @ 15126]
Mark Doliner <markdoliner@pidgin.im>
parents: 12778
diff changeset
56 GTK_GAIM_STATUS_BOX_TYPE_PRIMITIVE,
b0d89f38aebb [gaim-migrate @ 15126]
Mark Doliner <markdoliner@pidgin.im>
parents: 12778
diff changeset
57 GTK_GAIM_STATUS_BOX_TYPE_POPULAR,
11739
cc15987b3937 [gaim-migrate @ 14030]
Mark Doliner <markdoliner@pidgin.im>
parents: 11738
diff changeset
58 GTK_GAIM_STATUS_BOX_TYPE_CUSTOM,
cc15987b3937 [gaim-migrate @ 14030]
Mark Doliner <markdoliner@pidgin.im>
parents: 11738
diff changeset
59 GTK_GAIM_STATUS_BOX_TYPE_SAVED,
cc15987b3937 [gaim-migrate @ 14030]
Mark Doliner <markdoliner@pidgin.im>
parents: 11738
diff changeset
60 GTK_GAIM_STATUS_BOX_NUM_TYPES
cc15987b3937 [gaim-migrate @ 14030]
Mark Doliner <markdoliner@pidgin.im>
parents: 11738
diff changeset
61 } GtkGaimStatusBoxItemType;
cc15987b3937 [gaim-migrate @ 14030]
Mark Doliner <markdoliner@pidgin.im>
parents: 11738
diff changeset
62
10643
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
63 typedef struct _GtkGaimStatusBox GtkGaimStatusBox;
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
64 typedef struct _GtkGaimStatusBoxClass GtkGaimStatusBoxClass;
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
65
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
66 struct _GtkGaimStatusBox
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
67 {
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
68 GtkComboBox parent_instance;
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
69
11739
cc15987b3937 [gaim-migrate @ 14030]
Mark Doliner <markdoliner@pidgin.im>
parents: 11738
diff changeset
70 /**
cc15987b3937 [gaim-migrate @ 14030]
Mark Doliner <markdoliner@pidgin.im>
parents: 11738
diff changeset
71 * This GtkListStore contains only one row--the currently selected status.
cc15987b3937 [gaim-migrate @ 14030]
Mark Doliner <markdoliner@pidgin.im>
parents: 11738
diff changeset
72 */
10643
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
73 GtkListStore *store;
11739
cc15987b3937 [gaim-migrate @ 14030]
Mark Doliner <markdoliner@pidgin.im>
parents: 11738
diff changeset
74
cc15987b3937 [gaim-migrate @ 14030]
Mark Doliner <markdoliner@pidgin.im>
parents: 11738
diff changeset
75 /**
cc15987b3937 [gaim-migrate @ 14030]
Mark Doliner <markdoliner@pidgin.im>
parents: 11738
diff changeset
76 * This is the dropdown GtkListStore that contains the available statuses,
cc15987b3937 [gaim-migrate @ 14030]
Mark Doliner <markdoliner@pidgin.im>
parents: 11738
diff changeset
77 * plus some recently used statuses, plus the "Custom..." and "Saved..."
cc15987b3937 [gaim-migrate @ 14030]
Mark Doliner <markdoliner@pidgin.im>
parents: 11738
diff changeset
78 * options.
cc15987b3937 [gaim-migrate @ 14030]
Mark Doliner <markdoliner@pidgin.im>
parents: 11738
diff changeset
79 */
10643
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
80 GtkListStore *dropdown_store;
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
81
11499
95be4b16bfaf [gaim-migrate @ 13744]
Tim Ringenbach <marv@pidgin.im>
parents: 10703
diff changeset
82 GaimAccount *account;
95be4b16bfaf [gaim-migrate @ 13744]
Tim Ringenbach <marv@pidgin.im>
parents: 10703
diff changeset
83
14725
39980ddc0b9a [gaim-migrate @ 17409]
Daniel Atallah <datallah@pidgin.im>
parents: 14253
diff changeset
84 /* This will be non-NULL and contain a sample account
39980ddc0b9a [gaim-migrate @ 17409]
Daniel Atallah <datallah@pidgin.im>
parents: 14253
diff changeset
85 * when all enabled accounts use the same statuses */
39980ddc0b9a [gaim-migrate @ 17409]
Daniel Atallah <datallah@pidgin.im>
parents: 14253
diff changeset
86 GaimAccount *token_status_account;
39980ddc0b9a [gaim-migrate @ 17409]
Daniel Atallah <datallah@pidgin.im>
parents: 14253
diff changeset
87
10643
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
88 GtkWidget *vbox, *sw;
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
89 GtkWidget *imhtml;
14195
0f7cb3b272b2 [gaim-migrate @ 16775]
Sean Egan <seanegan@pidgin.im>
parents: 13124
diff changeset
90
0f7cb3b272b2 [gaim-migrate @ 16775]
Sean Egan <seanegan@pidgin.im>
parents: 13124
diff changeset
91 char *buddy_icon_path;
14203
f3a50c328ddc [gaim-migrate @ 16783]
Mark Doliner <markdoliner@pidgin.im>
parents: 14195
diff changeset
92 GdkPixbuf *buddy_icon;
f3a50c328ddc [gaim-migrate @ 16783]
Mark Doliner <markdoliner@pidgin.im>
parents: 14195
diff changeset
93 GdkPixbuf *buddy_icon_hover;
14195
0f7cb3b272b2 [gaim-migrate @ 16775]
Sean Egan <seanegan@pidgin.im>
parents: 13124
diff changeset
94 GtkWidget *buddy_icon_sel;
14203
f3a50c328ddc [gaim-migrate @ 16783]
Mark Doliner <markdoliner@pidgin.im>
parents: 14195
diff changeset
95 GtkWidget *icon;
14195
0f7cb3b272b2 [gaim-migrate @ 16775]
Sean Egan <seanegan@pidgin.im>
parents: 13124
diff changeset
96 GtkWidget *icon_box;
0f7cb3b272b2 [gaim-migrate @ 16775]
Sean Egan <seanegan@pidgin.im>
parents: 13124
diff changeset
97 GdkCursor *hand_cursor;
0f7cb3b272b2 [gaim-migrate @ 16775]
Sean Egan <seanegan@pidgin.im>
parents: 13124
diff changeset
98 GdkCursor *arrow_cursor;
14203
f3a50c328ddc [gaim-migrate @ 16783]
Mark Doliner <markdoliner@pidgin.im>
parents: 14195
diff changeset
99 int icon_size;
14195
0f7cb3b272b2 [gaim-migrate @ 16775]
Sean Egan <seanegan@pidgin.im>
parents: 13124
diff changeset
100
10643
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
101 gboolean imhtml_visible;
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
102
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
103 GtkWidget *cell_view;
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
104 GtkCellRenderer *icon_rend;
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
105 GtkCellRenderer *text_rend;
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
106
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
107 GdkPixbuf *error_pixbuf;
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
108 int connecting_index;
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
109 GdkPixbuf *connecting_pixbufs[4];
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
110 int typing_index;
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
111 GdkPixbuf *typing_pixbufs[4];
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
112
14767
34cc644b452f [gaim-migrate @ 17458]
Nathan Walp <nwalp@pidgin.im>
parents: 14725
diff changeset
113 gboolean network_available;
10643
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
114 gboolean connecting;
13124
1750c1be8e81 [gaim-migrate @ 15485]
Mark Doliner <markdoliner@pidgin.im>
parents: 13123
diff changeset
115 guint typing;
10643
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
116
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
117 GtkTreeIter iter;
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
118 char *error;
11960
2efa2d4369e5 [gaim-migrate @ 14251]
Tim Ringenbach <marv@pidgin.im>
parents: 11739
diff changeset
119
2efa2d4369e5 [gaim-migrate @ 14251]
Tim Ringenbach <marv@pidgin.im>
parents: 11739
diff changeset
120 gulong status_changed_signal;
12619
ef002c1a594e [gaim-migrate @ 14955]
Mark Doliner <markdoliner@pidgin.im>
parents: 12269
diff changeset
121
13122
85136c011157 [gaim-migrate @ 15483]
Mark Doliner <markdoliner@pidgin.im>
parents: 12779
diff changeset
122 /*
85136c011157 [gaim-migrate @ 15483]
Mark Doliner <markdoliner@pidgin.im>
parents: 12779
diff changeset
123 * These widgets are made for renderin'
85136c011157 [gaim-migrate @ 15483]
Mark Doliner <markdoliner@pidgin.im>
parents: 12779
diff changeset
124 * That's just what they'll do
85136c011157 [gaim-migrate @ 15483]
Mark Doliner <markdoliner@pidgin.im>
parents: 12779
diff changeset
125 * One of these days these widgets
85136c011157 [gaim-migrate @ 15483]
Mark Doliner <markdoliner@pidgin.im>
parents: 12779
diff changeset
126 * Are gonna render all over you
85136c011157 [gaim-migrate @ 15483]
Mark Doliner <markdoliner@pidgin.im>
parents: 12779
diff changeset
127 */
12262
91aa0bd039aa [gaim-migrate @ 14564]
Sean Egan <seanegan@pidgin.im>
parents: 12087
diff changeset
128 GtkWidget *hbox;
91aa0bd039aa [gaim-migrate @ 14564]
Sean Egan <seanegan@pidgin.im>
parents: 12087
diff changeset
129 GtkWidget *toggle_button;
91aa0bd039aa [gaim-migrate @ 14564]
Sean Egan <seanegan@pidgin.im>
parents: 12087
diff changeset
130 GtkWidget *vsep;
91aa0bd039aa [gaim-migrate @ 14564]
Sean Egan <seanegan@pidgin.im>
parents: 12087
diff changeset
131 GtkWidget *arrow;
10643
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
132 };
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
133
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
134 struct _GtkGaimStatusBoxClass
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
135 {
14203
f3a50c328ddc [gaim-migrate @ 16783]
Mark Doliner <markdoliner@pidgin.im>
parents: 14195
diff changeset
136 GtkComboBoxClass parent_class;
10643
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
137
14203
f3a50c328ddc [gaim-migrate @ 16783]
Mark Doliner <markdoliner@pidgin.im>
parents: 14195
diff changeset
138 /* signals */
f3a50c328ddc [gaim-migrate @ 16783]
Mark Doliner <markdoliner@pidgin.im>
parents: 14195
diff changeset
139 void (* changed) (GtkComboBox *combo_box);
10643
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
140
14203
f3a50c328ddc [gaim-migrate @ 16783]
Mark Doliner <markdoliner@pidgin.im>
parents: 14195
diff changeset
141 /* Padding for future expansion */
f3a50c328ddc [gaim-migrate @ 16783]
Mark Doliner <markdoliner@pidgin.im>
parents: 14195
diff changeset
142 void (*_gtk_reserved0) (void);
f3a50c328ddc [gaim-migrate @ 16783]
Mark Doliner <markdoliner@pidgin.im>
parents: 14195
diff changeset
143 void (*_gtk_reserved1) (void);
f3a50c328ddc [gaim-migrate @ 16783]
Mark Doliner <markdoliner@pidgin.im>
parents: 14195
diff changeset
144 void (*_gtk_reserved2) (void);
f3a50c328ddc [gaim-migrate @ 16783]
Mark Doliner <markdoliner@pidgin.im>
parents: 14195
diff changeset
145 void (*_gtk_reserved3) (void);
10643
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
146 };
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
147
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
148
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
149 GType gtk_gaim_status_box_get_type (void) G_GNUC_CONST;
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
150 GtkWidget *gtk_gaim_status_box_new (void);
11499
95be4b16bfaf [gaim-migrate @ 13744]
Tim Ringenbach <marv@pidgin.im>
parents: 10703
diff changeset
151 GtkWidget *gtk_gaim_status_box_new_with_account (GaimAccount *);
10643
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
152
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
153 void
12778
e98948ef3259 [gaim-migrate @ 15125]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 12619
diff changeset
154 gtk_gaim_status_box_add(GtkGaimStatusBox *status_box, GtkGaimStatusBoxItemType type, GdkPixbuf *pixbuf, const char *text, const char *sec_text, gpointer data);
10643
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
155
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
156 void
11738
207d5519a4d0 [gaim-migrate @ 14029]
Mark Doliner <markdoliner@pidgin.im>
parents: 11732
diff changeset
157 gtk_gaim_status_box_add_separator(GtkGaimStatusBox *status_box);
207d5519a4d0 [gaim-migrate @ 14029]
Mark Doliner <markdoliner@pidgin.im>
parents: 11732
diff changeset
158
207d5519a4d0 [gaim-migrate @ 14029]
Mark Doliner <markdoliner@pidgin.im>
parents: 11732
diff changeset
159 void
14767
34cc644b452f [gaim-migrate @ 17458]
Nathan Walp <nwalp@pidgin.im>
parents: 14725
diff changeset
160 gtk_gaim_status_box_set_network_available(GtkGaimStatusBox *status_box, gboolean available);
34cc644b452f [gaim-migrate @ 17458]
Nathan Walp <nwalp@pidgin.im>
parents: 14725
diff changeset
161
34cc644b452f [gaim-migrate @ 17458]
Nathan Walp <nwalp@pidgin.im>
parents: 14725
diff changeset
162 void
10643
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
163 gtk_gaim_status_box_set_connecting(GtkGaimStatusBox *status_box, gboolean connecting);
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
164
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
165 void
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
166 gtk_gaim_status_box_pulse_connecting(GtkGaimStatusBox *status_box);
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
167
14195
0f7cb3b272b2 [gaim-migrate @ 16775]
Sean Egan <seanegan@pidgin.im>
parents: 13124
diff changeset
168 void
0f7cb3b272b2 [gaim-migrate @ 16775]
Sean Egan <seanegan@pidgin.im>
parents: 13124
diff changeset
169 gtk_gaim_status_box_set_buddy_icon(GtkGaimStatusBox *status_box, const char *filename);
0f7cb3b272b2 [gaim-migrate @ 16775]
Sean Egan <seanegan@pidgin.im>
parents: 13124
diff changeset
170
0f7cb3b272b2 [gaim-migrate @ 16775]
Sean Egan <seanegan@pidgin.im>
parents: 13124
diff changeset
171 const char *
0f7cb3b272b2 [gaim-migrate @ 16775]
Sean Egan <seanegan@pidgin.im>
parents: 13124
diff changeset
172 gtk_gaim_status_box_get_buddy_icon(GtkGaimStatusBox *status_box);
0f7cb3b272b2 [gaim-migrate @ 16775]
Sean Egan <seanegan@pidgin.im>
parents: 13124
diff changeset
173
11638
1821b40269a3 [gaim-migrate @ 13914]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11499
diff changeset
174 char *gtk_gaim_status_box_get_message(GtkGaimStatusBox *status_box);
10649
cd536d7aff51 [gaim-migrate @ 12167]
Sean Egan <seanegan@pidgin.im>
parents: 10643
diff changeset
175
10643
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
176 G_END_DECLS
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
177
70f67d7c84c4 [gaim-migrate @ 12153]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
178 #endif /* __GTK_GAIM_GTK_STATUS_COMBO_BOX_H__ */

mercurial