Sun, 21 Mar 2004 18:38:30 +0000
[gaim-migrate @ 9214]
" this fixes and should close 9, 10, and 12 on simguys
list... those are...
9 Buttons that are pushed in when text is sent, stay
pushed in. They should reset to the default for the
line based on the B/I/U preferences.
10 Buttons are not properly pushed in if B/I/U are set
in the prefs when the conversation window appears.
12 Buttons don't push in and out when the cursor
enters regions that are differently formatted. For
example, if you move the cursor to a place where the
text is bold, the B button should probably be pushed in.
While working on these i uncovered another bug which
i'll start working on shortly, but thats no reason to
hold this back when someone may find something I missed..." --Gary Kramlich
as per his note, this does not fix moving the cursor with the mouse, but
that doesn't work without this patch either.
committer: Luke Schierer <lschiere@pidgin.im>
|
5034
077678f7b048
[gaim-migrate @ 5377]
Christian Hammond <chipx86@chipx86.com>
parents:
5032
diff
changeset
|
1 | /** |
|
077678f7b048
[gaim-migrate @ 5377]
Christian Hammond <chipx86@chipx86.com>
parents:
5032
diff
changeset
|
2 | * @file ui.h Main GTK+ UI include file |
|
077678f7b048
[gaim-migrate @ 5377]
Christian Hammond <chipx86@chipx86.com>
parents:
5032
diff
changeset
|
3 | * @defgroup gtkui GTK+ User Interface |
|
077678f7b048
[gaim-migrate @ 5377]
Christian Hammond <chipx86@chipx86.com>
parents:
5032
diff
changeset
|
4 | * |
| 2417 | 5 | * gaim |
| 6 | * | |
| 8046 | 7 | * Gaim is the legal property of its developers, whose names are too numerous |
| 8 | * to list here. Please refer to the COPYRIGHT file distributed with this | |
| 9 | * source distribution. | |
|
7060
717cbeb22b6d
[gaim-migrate @ 7623]
Christian Hammond <chipx86@chipx86.com>
parents:
6982
diff
changeset
|
10 | * |
| 2417 | 11 | * This program is free software; you can redistribute it and/or modify |
| 12 | * it under the terms of the GNU General Public License as published by | |
| 13 | * the Free Software Foundation; either version 2 of the License, or | |
| 14 | * (at your option) any later version. | |
| 15 | * | |
| 16 | * This program is distributed in the hope that it will be useful, | |
| 17 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| 19 | * GNU General Public License for more details. | |
| 20 | * | |
| 21 | * You should have received a copy of the GNU General Public License | |
| 22 | * along with this program; if not, write to the Free Software | |
| 23 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
| 24 | */ | |
| 25 | ||
| 26 | #ifndef _UI_H_ | |
| 27 | #define _UI_H_ | |
| 28 | ||
|
5872
754c63f29b77
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5779
diff
changeset
|
29 | #include "account.h" |
|
754c63f29b77
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5779
diff
changeset
|
30 | #include "conversation.h" |
|
5779
8c8b8c8139c2
[gaim-migrate @ 6204]
Christian Hammond <chipx86@chipx86.com>
parents:
5773
diff
changeset
|
31 | |
|
8c8b8c8139c2
[gaim-migrate @ 6204]
Christian Hammond <chipx86@chipx86.com>
parents:
5773
diff
changeset
|
32 | /** |
|
8c8b8c8139c2
[gaim-migrate @ 6204]
Christian Hammond <chipx86@chipx86.com>
parents:
5773
diff
changeset
|
33 | * Our UI's identifier. |
|
8c8b8c8139c2
[gaim-migrate @ 6204]
Christian Hammond <chipx86@chipx86.com>
parents:
5773
diff
changeset
|
34 | */ |
|
8c8b8c8139c2
[gaim-migrate @ 6204]
Christian Hammond <chipx86@chipx86.com>
parents:
5773
diff
changeset
|
35 | #define GAIM_GTK_UI "gtk-gaim" |
|
8c8b8c8139c2
[gaim-migrate @ 6204]
Christian Hammond <chipx86@chipx86.com>
parents:
5773
diff
changeset
|
36 | |
|
8c8b8c8139c2
[gaim-migrate @ 6204]
Christian Hammond <chipx86@chipx86.com>
parents:
5773
diff
changeset
|
37 | |
|
2725
a844d0964552
[gaim-migrate @ 2738]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2699
diff
changeset
|
38 | #define GAIM_DIALOG(x) x = gtk_window_new(GTK_WINDOW_TOPLEVEL); \ |
|
a844d0964552
[gaim-migrate @ 2738]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2699
diff
changeset
|
39 | gtk_window_set_type_hint(GTK_WINDOW(x), GDK_WINDOW_TYPE_HINT_DIALOG) |
|
3554
2e890297b051
[gaim-migrate @ 3644]
Robert McQueen <robot101@debian.org>
parents:
3541
diff
changeset
|
40 | #define GAIM_WINDOW_ICONIFIED(x) (gdk_window_get_state(GTK_WIDGET(x)->window) & GDK_WINDOW_STATE_ICONIFIED) |
| 3517 | 41 | |
|
5105
3565a4c4de6a
[gaim-migrate @ 5468]
David J. Brigada <brigada@prism.net>
parents:
5034
diff
changeset
|
42 | /* This is backwards-compatibility code for old versions of GTK+ (2.2.1 and |
|
3565a4c4de6a
[gaim-migrate @ 5468]
David J. Brigada <brigada@prism.net>
parents:
5034
diff
changeset
|
43 | * earlier). It defines the new wrap behavior (unknown in earlier versions) |
|
3565a4c4de6a
[gaim-migrate @ 5468]
David J. Brigada <brigada@prism.net>
parents:
5034
diff
changeset
|
44 | * as the old (slightly buggy) wrap behavior. |
|
3565a4c4de6a
[gaim-migrate @ 5468]
David J. Brigada <brigada@prism.net>
parents:
5034
diff
changeset
|
45 | */ |
|
3565a4c4de6a
[gaim-migrate @ 5468]
David J. Brigada <brigada@prism.net>
parents:
5034
diff
changeset
|
46 | #ifndef GTK_WRAP_WORD_CHAR |
|
3565a4c4de6a
[gaim-migrate @ 5468]
David J. Brigada <brigada@prism.net>
parents:
5034
diff
changeset
|
47 | #define GTK_WRAP_WORD_CHAR GTK_WRAP_WORD |
|
3565a4c4de6a
[gaim-migrate @ 5468]
David J. Brigada <brigada@prism.net>
parents:
5034
diff
changeset
|
48 | #endif |
|
3565a4c4de6a
[gaim-migrate @ 5468]
David J. Brigada <brigada@prism.net>
parents:
5034
diff
changeset
|
49 | |
| 3473 | 50 | #define DEFAULT_FONT_FACE "Helvetica" |
|
2761
db48e3d8e208
[gaim-migrate @ 2774]
Decklin Foster <decklin@red-bean.com>
parents:
2725
diff
changeset
|
51 | |
| 3376 | 52 | |
|
2438
fcfcd515eebf
[gaim-migrate @ 2451]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2437
diff
changeset
|
53 | /* XXX CUI: away messages aren't really anything more than char* but we need two char*'s |
|
2435
dd274490e14b
[gaim-migrate @ 2448]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2417
diff
changeset
|
54 | * for the UI so that people can name their away messages when they save them. So these |
|
dd274490e14b
[gaim-migrate @ 2448]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2417
diff
changeset
|
55 | * are really a UI function and struct away_message should be removed from the core. */ |
| 7942 | 56 | /* WTF? How does having a title for something mean that it is part of the UI? */ |
|
2435
dd274490e14b
[gaim-migrate @ 2448]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2417
diff
changeset
|
57 | struct away_message { |
|
dd274490e14b
[gaim-migrate @ 2448]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2417
diff
changeset
|
58 | char name[80]; |
|
dd274490e14b
[gaim-migrate @ 2448]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2417
diff
changeset
|
59 | char message[2048]; |
|
dd274490e14b
[gaim-migrate @ 2448]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2417
diff
changeset
|
60 | }; |
|
dd274490e14b
[gaim-migrate @ 2448]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2417
diff
changeset
|
61 | |
| 2986 | 62 | |
| 63 | ||
|
2435
dd274490e14b
[gaim-migrate @ 2448]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2417
diff
changeset
|
64 | /* this is used for queuing messages received while away. This is really a UI function |
|
dd274490e14b
[gaim-migrate @ 2448]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2417
diff
changeset
|
65 | * which is why the struct is here. */ |
| 4608 | 66 | |
|
2435
dd274490e14b
[gaim-migrate @ 2448]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2417
diff
changeset
|
67 | struct queued_message { |
|
dd274490e14b
[gaim-migrate @ 2448]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2417
diff
changeset
|
68 | char name[80]; |
| 8413 | 69 | char alias[80]; |
|
2435
dd274490e14b
[gaim-migrate @ 2448]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2417
diff
changeset
|
70 | char *message; |
|
dd274490e14b
[gaim-migrate @ 2448]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2417
diff
changeset
|
71 | time_t tm; |
|
5563
d5a7852aa0cb
[gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents:
5560
diff
changeset
|
72 | GaimAccount *account; |
|
6621
2a18ef3e5224
[gaim-migrate @ 7145]
Robert McQueen <robot101@debian.org>
parents:
6479
diff
changeset
|
73 | GaimMessageFlags flags; |
|
2435
dd274490e14b
[gaim-migrate @ 2448]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2417
diff
changeset
|
74 | }; |
|
dd274490e14b
[gaim-migrate @ 2448]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2417
diff
changeset
|
75 | |
| 4288 | 76 | struct smiley_theme { |
| 77 | char *path; | |
| 78 | char *name; | |
| 79 | char *desc; | |
| 80 | char *icon; | |
| 81 | char *author; | |
| 82 | ||
| 83 | struct smiley_list *list; | |
| 84 | }; | |
| 85 | ||
|
2435
dd274490e14b
[gaim-migrate @ 2448]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2417
diff
changeset
|
86 | /* Globals in aim.c */ |
|
2493
ec90aa48cd51
[gaim-migrate @ 2506]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2442
diff
changeset
|
87 | extern GtkWidget *mainwindow; |
| 4687 | 88 | extern int docklet_count; |
|
2435
dd274490e14b
[gaim-migrate @ 2448]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2417
diff
changeset
|
89 | |
|
dd274490e14b
[gaim-migrate @ 2448]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2417
diff
changeset
|
90 | /* Globals in away.c */ |
|
6479
ed29d5b112b5
[gaim-migrate @ 6992]
Robert McQueen <robot101@debian.org>
parents:
6465
diff
changeset
|
91 | extern GSList *away_messages; |
|
2435
dd274490e14b
[gaim-migrate @ 2448]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2417
diff
changeset
|
92 | extern struct away_message *awaymessage; |
|
dd274490e14b
[gaim-migrate @ 2448]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2417
diff
changeset
|
93 | extern GtkWidget *awaymenu; |
| 4412 | 94 | extern GtkWidget *awayqueue; |
| 95 | extern GtkListStore *awayqueuestore; | |
|
2435
dd274490e14b
[gaim-migrate @ 2448]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2417
diff
changeset
|
96 | |
| 2417 | 97 | /* Globals in dialog.c */ |
|
2763
18a8e555039b
[gaim-migrate @ 2776]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2761
diff
changeset
|
98 | extern char fontxfld[256]; |
| 3367 | 99 | extern GtkWidget *fgcseld; |
| 100 | extern GtkWidget *bgcseld; | |
| 2417 | 101 | |
|
4157
5d3d2f6517ae
[gaim-migrate @ 4385]
Robert McQueen <robot101@debian.org>
parents:
4124
diff
changeset
|
102 | /* Globals in session.c */ |
|
5d3d2f6517ae
[gaim-migrate @ 4385]
Robert McQueen <robot101@debian.org>
parents:
4124
diff
changeset
|
103 | extern gboolean session_managed; |
|
5d3d2f6517ae
[gaim-migrate @ 4385]
Robert McQueen <robot101@debian.org>
parents:
4124
diff
changeset
|
104 | |
| 4288 | 105 | /* Globals in themes.c */ |
| 106 | extern struct smiley_theme *current_smiley_theme; | |
| 107 | extern GSList *smiley_themes; | |
| 108 | ||
| 109 | ||
| 2417 | 110 | /* Functions in about.c */ |
| 111 | extern void show_about(GtkWidget *, void *); | |
| 112 | ||
|
5872
754c63f29b77
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5779
diff
changeset
|
113 | /* Functions in main.c */ |
|
2435
dd274490e14b
[gaim-migrate @ 2448]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2417
diff
changeset
|
114 | extern void show_login(); |
|
5872
754c63f29b77
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5779
diff
changeset
|
115 | extern void gaim_setup(GaimConnection *); |
|
2435
dd274490e14b
[gaim-migrate @ 2448]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2417
diff
changeset
|
116 | |
|
dd274490e14b
[gaim-migrate @ 2448]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2417
diff
changeset
|
117 | /* Functions in away.c */ |
|
dd274490e14b
[gaim-migrate @ 2448]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2417
diff
changeset
|
118 | extern void rem_away_mess(GtkWidget *, struct away_message *); |
|
dd274490e14b
[gaim-migrate @ 2448]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2417
diff
changeset
|
119 | extern void do_away_message(GtkWidget *, struct away_message *); |
|
dd274490e14b
[gaim-migrate @ 2448]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2417
diff
changeset
|
120 | extern void do_away_menu(); |
|
dd274490e14b
[gaim-migrate @ 2448]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2417
diff
changeset
|
121 | extern void toggle_away_queue(); |
|
4274
2309c547cd6e
[gaim-migrate @ 4525]
Robert McQueen <robot101@debian.org>
parents:
4263
diff
changeset
|
122 | extern void purge_away_queue(GSList**); |
|
5773
ff7abd16aaf1
[gaim-migrate @ 6198]
Christian Hammond <chipx86@chipx86.com>
parents:
5772
diff
changeset
|
123 | extern void do_im_back(GtkWidget *w, GtkWidget *x); |
|
2435
dd274490e14b
[gaim-migrate @ 2448]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2417
diff
changeset
|
124 | |
|
dd274490e14b
[gaim-migrate @ 2448]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2417
diff
changeset
|
125 | /* Functions in dialogs.c */ |
| 6695 | 126 | extern void alias_dialog_bud(GaimBuddy *); |
| 7245 | 127 | extern void alias_dialog_contact(GaimContact *); |
|
7118
280b3b85a28a
[gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents:
7085
diff
changeset
|
128 | extern void alias_dialog_blist_chat(GaimChat *); |
|
7879
8e5689b82138
[gaim-migrate @ 8533]
Mark Doliner <markdoliner@pidgin.im>
parents:
7757
diff
changeset
|
129 | extern void show_warn_dialog(GaimConnection *, const char *); |
|
2435
dd274490e14b
[gaim-migrate @ 2448]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2417
diff
changeset
|
130 | extern void show_im_dialog(); |
|
dd274490e14b
[gaim-migrate @ 2448]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2417
diff
changeset
|
131 | extern void show_info_dialog(); |
|
dd274490e14b
[gaim-migrate @ 2448]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2417
diff
changeset
|
132 | extern void destroy_all_dialogs(); |
|
5676
d3c2fdaf4821
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5633
diff
changeset
|
133 | extern void show_fgcolor_dialog(GaimConversation *c, GtkWidget *color); |
|
d3c2fdaf4821
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5633
diff
changeset
|
134 | extern void show_bgcolor_dialog(GaimConversation *c, GtkWidget *color); |
|
d3c2fdaf4821
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5633
diff
changeset
|
135 | extern void cancel_fgcolor(GtkWidget *widget, GaimConversation *c); |
|
d3c2fdaf4821
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5633
diff
changeset
|
136 | extern void cancel_bgcolor(GtkWidget *widget, GaimConversation *c); |
|
2435
dd274490e14b
[gaim-migrate @ 2448]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2417
diff
changeset
|
137 | extern void create_away_mess(GtkWidget *, void *); |
|
7927
04c40b1716d0
[gaim-migrate @ 8598]
Mark Doliner <markdoliner@pidgin.im>
parents:
7879
diff
changeset
|
138 | extern void dialog_link_show(GaimConversation *); |
|
04c40b1716d0
[gaim-migrate @ 8598]
Mark Doliner <markdoliner@pidgin.im>
parents:
7879
diff
changeset
|
139 | extern void dialog_link_destroy(GaimConversation *); |
|
2435
dd274490e14b
[gaim-migrate @ 2448]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2417
diff
changeset
|
140 | extern void set_smiley_array(GtkWidget *widget, int smiley_type); |
|
5676
d3c2fdaf4821
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5633
diff
changeset
|
141 | extern void show_font_dialog(GaimConversation *c, GtkWidget *font); |
|
d3c2fdaf4821
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5633
diff
changeset
|
142 | extern void cancel_font(GtkWidget *widget, GaimConversation *c); |
| 3379 | 143 | extern void destroy_fontsel(GtkWidget *w, gpointer d); |
|
2435
dd274490e14b
[gaim-migrate @ 2448]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2417
diff
changeset
|
144 | |
|
2906
6d1a38606840
[gaim-migrate @ 2919]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2883
diff
changeset
|
145 | /* Functions in server.c */ |
|
6d1a38606840
[gaim-migrate @ 2919]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2883
diff
changeset
|
146 | /* server.c is in desperate need need of a split */ |
|
7927
04c40b1716d0
[gaim-migrate @ 8598]
Mark Doliner <markdoliner@pidgin.im>
parents:
7879
diff
changeset
|
147 | /* pizza pizza */ |
|
2906
6d1a38606840
[gaim-migrate @ 2919]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2883
diff
changeset
|
148 | extern int find_queue_total_by_name(char *); |
|
6d1a38606840
[gaim-migrate @ 2919]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2883
diff
changeset
|
149 | |
|
4157
5d3d2f6517ae
[gaim-migrate @ 4385]
Robert McQueen <robot101@debian.org>
parents:
4124
diff
changeset
|
150 | /* Functions in session.c */ |
|
5d3d2f6517ae
[gaim-migrate @ 4385]
Robert McQueen <robot101@debian.org>
parents:
4124
diff
changeset
|
151 | extern void session_init(gchar *, gchar *); |
|
5d3d2f6517ae
[gaim-migrate @ 4385]
Robert McQueen <robot101@debian.org>
parents:
4124
diff
changeset
|
152 | extern void session_end(); |
|
5d3d2f6517ae
[gaim-migrate @ 4385]
Robert McQueen <robot101@debian.org>
parents:
4124
diff
changeset
|
153 | |
| 4263 | 154 | /* Functions in themes.c */ |
| 155 | extern void smiley_themeize(GtkWidget *); | |
| 4298 | 156 | extern void smiley_theme_probe(); |
| 4892 | 157 | extern void load_smiley_theme(const char *file, gboolean load); |
| 7956 | 158 | extern GSList *get_proto_smileys(const char *id); |
| 4263 | 159 | |
| 2417 | 160 | #endif /* _UI_H_ */ |