Mercurial > pidgin
annotate pidgin/gtkimhtmltoolbar.c @ 32672:3828a61c44da
A boring and large patch so I can merge heads.
author | Elliott Sales de Andrade <qulogic@pidgin.im> |
---|---|
date | Fri, 23 Dec 2011 08:21:58 +0000 |
parents | ea07a6230b57 |
children |
rev | line source |
---|---|
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1 /* |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
2 * @file gtkimhtmltoolbar.c GTK+ IMHtml Toolbar |
16193
247e421c4fa6
Rename the Doxygen group from gtkui to pidgin.
Richard Laager <rlaager@wiktel.com>
parents:
15870
diff
changeset
|
3 * @ingroup pidgin |
20074
6bf32c9e15a7
remove gpl boilerplate from doxygen docs
Sean Egan <seanegan@gmail.com>
parents:
20072
diff
changeset
|
4 */ |
6bf32c9e15a7
remove gpl boilerplate from doxygen docs
Sean Egan <seanegan@gmail.com>
parents:
20072
diff
changeset
|
5 |
6bf32c9e15a7
remove gpl boilerplate from doxygen docs
Sean Egan <seanegan@gmail.com>
parents:
20072
diff
changeset
|
6 /* pidgin |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
7 * |
15870
66dff3dfdea6
Re-sed the copyright notices so they don't all talk about Purple.
Richard Laager <rlaager@wiktel.com>
parents:
15822
diff
changeset
|
8 * Pidgin is the legal property of its developers, whose names are too numerous |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
9 * to list here. Please refer to the COPYRIGHT file distributed with this |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
10 * source distribution. |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
11 * |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
12 * This program is free software; you can redistribute it and/or modify |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
13 * under the terms of the GNU General Public License as published by |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
14 * the Free Software Foundation; either version 2 of the License, or |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
15 * (at your option) any later version. |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
16 * |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
17 * This program is distributed in the hope that it will be useful, |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
20 * GNU General Public License for more details. |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
21 * |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
22 * You should have received a copy of the GNU General Public License |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
23 * along with this program; if not, write to the Free Software |
19681
44b4e8bd759b
The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
19586
diff
changeset
|
24 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
25 * |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
26 */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
27 #include "internal.h" |
15513 | 28 #include "pidgin.h" |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
29 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
30 #include "imgstore.h" |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
31 #include "notify.h" |
19586
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
32 #include "prefs.h" |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
33 #include "request.h" |
15821
84b0f9b23ede
According to etags, pidgin/ should be completely clean of references to 'gaim' as a client
Sean Egan <seanegan@gmail.com>
parents:
15785
diff
changeset
|
34 #include "pidginstock.h" |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
35 #include "util.h" |
29249
bb9f7ba4f299
Added active conversation on GtkIMHtmlToolbar
Marcus Lundblad <ml@update.uu.se>
parents:
29247
diff
changeset
|
36 #include "debug.h" |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
37 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
38 #include "gtkdialogs.h" |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
39 #include "gtkimhtmltoolbar.h" |
22311
02eda4bd2b22
Apply the custom smiley patches from #1187, from Jorge Villaseo (Masca) and
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
22093
diff
changeset
|
40 #include "gtksmiley.h" |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
41 #include "gtkthemes.h" |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
42 #include "gtkutils.h" |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
43 |
17794
8428beecff2f
Close smiley dialog on GDK_Escape or button 1 press.
Gabriel Schulhof <nix@go-nix.ca>
parents:
17209
diff
changeset
|
44 #include <gdk/gdkkeysyms.h> |
8428beecff2f
Close smiley dialog on GDK_Escape or button 1 press.
Gabriel Schulhof <nix@go-nix.ca>
parents:
17209
diff
changeset
|
45 |
32672
3828a61c44da
A boring and large patch so I can merge heads.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32658
diff
changeset
|
46 #if !GTK_CHECK_VERSION(2,18,0) |
3828a61c44da
A boring and large patch so I can merge heads.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32658
diff
changeset
|
47 #define gtk_widget_get_visible(x) GTK_WIDGET_VISIBLE(x) |
3828a61c44da
A boring and large patch so I can merge heads.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32658
diff
changeset
|
48 #define gtk_widget_is_sensitive(x) GTK_WIDGET_IS_SENSITIVE(x) |
3828a61c44da
A boring and large patch so I can merge heads.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32658
diff
changeset
|
49 #endif |
3828a61c44da
A boring and large patch so I can merge heads.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32658
diff
changeset
|
50 |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
51 static GtkHBoxClass *parent_class = NULL; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
52 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
53 static void toggle_button_set_active_block(GtkToggleButton *button, |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
54 gboolean is_active, |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
55 GtkIMHtmlToolbar *toolbar); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
56 |
30155
7a28e9b12038
Do not trigger the formatting toolbar buttons on right-click.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
29326
diff
changeset
|
57 static gboolean |
7a28e9b12038
Do not trigger the formatting toolbar buttons on right-click.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
29326
diff
changeset
|
58 gtk_imhtmltoolbar_popup_menu(GtkWidget *widget, |
7a28e9b12038
Do not trigger the formatting toolbar buttons on right-click.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
29326
diff
changeset
|
59 GdkEventButton *event, GtkIMHtmlToolbar *toolbar); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
60 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
61 static void do_bold(GtkWidget *bold, GtkIMHtmlToolbar *toolbar) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
62 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
63 g_return_if_fail(toolbar != NULL); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
64 gtk_imhtml_toggle_bold(GTK_IMHTML(toolbar->imhtml)); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
65 gtk_widget_grab_focus(toolbar->imhtml); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
66 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
67 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
68 static void |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
69 do_italic(GtkWidget *italic, GtkIMHtmlToolbar *toolbar) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
70 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
71 g_return_if_fail(toolbar != NULL); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
72 gtk_imhtml_toggle_italic(GTK_IMHTML(toolbar->imhtml)); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
73 gtk_widget_grab_focus(toolbar->imhtml); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
74 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
75 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
76 static void |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
77 do_underline(GtkWidget *underline, GtkIMHtmlToolbar *toolbar) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
78 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
79 g_return_if_fail(toolbar != NULL); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
80 gtk_imhtml_toggle_underline(GTK_IMHTML(toolbar->imhtml)); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
81 gtk_widget_grab_focus(toolbar->imhtml); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
82 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
83 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
84 static void |
19469
42ee8f13c917
Add horizontal rules and strikethroughs to the toolbar
Sean Egan <seanegan@gmail.com>
parents:
18851
diff
changeset
|
85 do_strikethrough(GtkWidget *strikethrough, GtkIMHtmlToolbar *toolbar) |
42ee8f13c917
Add horizontal rules and strikethroughs to the toolbar
Sean Egan <seanegan@gmail.com>
parents:
18851
diff
changeset
|
86 { |
42ee8f13c917
Add horizontal rules and strikethroughs to the toolbar
Sean Egan <seanegan@gmail.com>
parents:
18851
diff
changeset
|
87 g_return_if_fail(toolbar != NULL); |
42ee8f13c917
Add horizontal rules and strikethroughs to the toolbar
Sean Egan <seanegan@gmail.com>
parents:
18851
diff
changeset
|
88 gtk_imhtml_toggle_strike(GTK_IMHTML(toolbar->imhtml)); |
42ee8f13c917
Add horizontal rules and strikethroughs to the toolbar
Sean Egan <seanegan@gmail.com>
parents:
18851
diff
changeset
|
89 gtk_widget_grab_focus(toolbar->imhtml); |
42ee8f13c917
Add horizontal rules and strikethroughs to the toolbar
Sean Egan <seanegan@gmail.com>
parents:
18851
diff
changeset
|
90 } |
42ee8f13c917
Add horizontal rules and strikethroughs to the toolbar
Sean Egan <seanegan@gmail.com>
parents:
18851
diff
changeset
|
91 |
42ee8f13c917
Add horizontal rules and strikethroughs to the toolbar
Sean Egan <seanegan@gmail.com>
parents:
18851
diff
changeset
|
92 static void |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
93 do_small(GtkWidget *smalltb, GtkIMHtmlToolbar *toolbar) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
94 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
95 g_return_if_fail(toolbar != NULL); |
17348
c8891ebd48db
Only change the size when the imhtmltoolbar button has been activated,
Kevin Stange <kevin@simguy.net>
parents:
17209
diff
changeset
|
96 /* Only shrink the font on activation, not deactivation as well */ |
c8891ebd48db
Only change the size when the imhtmltoolbar button has been activated,
Kevin Stange <kevin@simguy.net>
parents:
17209
diff
changeset
|
97 if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(smalltb))) |
c8891ebd48db
Only change the size when the imhtmltoolbar button has been activated,
Kevin Stange <kevin@simguy.net>
parents:
17209
diff
changeset
|
98 gtk_imhtml_font_shrink(GTK_IMHTML(toolbar->imhtml)); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
99 gtk_widget_grab_focus(toolbar->imhtml); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
100 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
101 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
102 static void |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
103 do_big(GtkWidget *large, GtkIMHtmlToolbar *toolbar) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
104 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
105 g_return_if_fail(toolbar); |
17348
c8891ebd48db
Only change the size when the imhtmltoolbar button has been activated,
Kevin Stange <kevin@simguy.net>
parents:
17209
diff
changeset
|
106 /* Only grow the font on activation, not deactivation as well */ |
c8891ebd48db
Only change the size when the imhtmltoolbar button has been activated,
Kevin Stange <kevin@simguy.net>
parents:
17209
diff
changeset
|
107 if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(large))) |
c8891ebd48db
Only change the size when the imhtmltoolbar button has been activated,
Kevin Stange <kevin@simguy.net>
parents:
17209
diff
changeset
|
108 gtk_imhtml_font_grow(GTK_IMHTML(toolbar->imhtml)); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
109 gtk_widget_grab_focus(toolbar->imhtml); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
110 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
111 |
21913
2a591a5b3322
Make some more event handlers return appropriate gboolean values. This turns
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21866
diff
changeset
|
112 static gboolean |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
113 destroy_toolbar_font(GtkWidget *widget, GdkEvent *event, |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
114 GtkIMHtmlToolbar *toolbar) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
115 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
116 if (widget != NULL) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
117 gtk_imhtml_toggle_fontface(GTK_IMHTML(toolbar->imhtml), ""); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
118 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
119 if (toolbar->font_dialog != NULL) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
120 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
121 gtk_widget_destroy(toolbar->font_dialog); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
122 toolbar->font_dialog = NULL; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
123 } |
21913
2a591a5b3322
Make some more event handlers return appropriate gboolean values. This turns
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21866
diff
changeset
|
124 return FALSE; |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
125 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
126 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
127 static void |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
128 realize_toolbar_font(GtkWidget *widget, GtkIMHtmlToolbar *toolbar) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
129 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
130 GtkFontSelection *sel; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
131 |
32672
3828a61c44da
A boring and large patch so I can merge heads.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32658
diff
changeset
|
132 sel = GTK_FONT_SELECTION(GTK_FONT_SELECTION_DIALOG(toolbar->font_dialog)->fontsel); |
3828a61c44da
A boring and large patch so I can merge heads.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32658
diff
changeset
|
133 gtk_widget_hide_all(gtk_widget_get_parent(sel->size_entry)); |
3828a61c44da
A boring and large patch so I can merge heads.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32658
diff
changeset
|
134 gtk_widget_show_all(sel->family_list); |
3828a61c44da
A boring and large patch so I can merge heads.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32658
diff
changeset
|
135 gtk_widget_show(gtk_widget_get_parent(sel->family_list)); |
3828a61c44da
A boring and large patch so I can merge heads.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32658
diff
changeset
|
136 gtk_widget_show(gtk_widget_get_parent(gtk_widget_get_parent(sel->family_list))); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
137 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
138 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
139 static void |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
140 cancel_toolbar_font(GtkWidget *widget, GtkIMHtmlToolbar *toolbar) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
141 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
142 destroy_toolbar_font(widget, NULL, toolbar); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
143 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
144 |
28235
401012968fea
Fix apply_font to use a PangoFontDescription to get the requested font family
Etan Reisner <pidgin@unreliablesource.net>
parents:
26630
diff
changeset
|
145 static void |
401012968fea
Fix apply_font to use a PangoFontDescription to get the requested font family
Etan Reisner <pidgin@unreliablesource.net>
parents:
26630
diff
changeset
|
146 apply_font(GtkWidget *widget, GtkFontSelectionDialog *fontsel) |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
147 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
148 /* this could be expanded to include font size, weight, etc. |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
149 but for now only works with font face */ |
28235
401012968fea
Fix apply_font to use a PangoFontDescription to get the requested font family
Etan Reisner <pidgin@unreliablesource.net>
parents:
26630
diff
changeset
|
150 gchar *fontname = gtk_font_selection_dialog_get_font_name(fontsel); |
401012968fea
Fix apply_font to use a PangoFontDescription to get the requested font family
Etan Reisner <pidgin@unreliablesource.net>
parents:
26630
diff
changeset
|
151 GtkIMHtmlToolbar *toolbar = g_object_get_data(G_OBJECT(fontsel), |
401012968fea
Fix apply_font to use a PangoFontDescription to get the requested font family
Etan Reisner <pidgin@unreliablesource.net>
parents:
26630
diff
changeset
|
152 "purple_toolbar"); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
153 |
28235
401012968fea
Fix apply_font to use a PangoFontDescription to get the requested font family
Etan Reisner <pidgin@unreliablesource.net>
parents:
26630
diff
changeset
|
154 if (fontname) { |
401012968fea
Fix apply_font to use a PangoFontDescription to get the requested font family
Etan Reisner <pidgin@unreliablesource.net>
parents:
26630
diff
changeset
|
155 const gchar *family_name = NULL; |
401012968fea
Fix apply_font to use a PangoFontDescription to get the requested font family
Etan Reisner <pidgin@unreliablesource.net>
parents:
26630
diff
changeset
|
156 PangoFontDescription *desc = NULL; |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
157 |
28235
401012968fea
Fix apply_font to use a PangoFontDescription to get the requested font family
Etan Reisner <pidgin@unreliablesource.net>
parents:
26630
diff
changeset
|
158 desc = pango_font_description_from_string(fontname); |
401012968fea
Fix apply_font to use a PangoFontDescription to get the requested font family
Etan Reisner <pidgin@unreliablesource.net>
parents:
26630
diff
changeset
|
159 family_name = pango_font_description_get_family(desc); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
160 |
28235
401012968fea
Fix apply_font to use a PangoFontDescription to get the requested font family
Etan Reisner <pidgin@unreliablesource.net>
parents:
26630
diff
changeset
|
161 if (family_name) { |
401012968fea
Fix apply_font to use a PangoFontDescription to get the requested font family
Etan Reisner <pidgin@unreliablesource.net>
parents:
26630
diff
changeset
|
162 gtk_imhtml_toggle_fontface(GTK_IMHTML(toolbar->imhtml), |
401012968fea
Fix apply_font to use a PangoFontDescription to get the requested font family
Etan Reisner <pidgin@unreliablesource.net>
parents:
26630
diff
changeset
|
163 family_name); |
401012968fea
Fix apply_font to use a PangoFontDescription to get the requested font family
Etan Reisner <pidgin@unreliablesource.net>
parents:
26630
diff
changeset
|
164 } |
401012968fea
Fix apply_font to use a PangoFontDescription to get the requested font family
Etan Reisner <pidgin@unreliablesource.net>
parents:
26630
diff
changeset
|
165 |
401012968fea
Fix apply_font to use a PangoFontDescription to get the requested font family
Etan Reisner <pidgin@unreliablesource.net>
parents:
26630
diff
changeset
|
166 pango_font_description_free(desc); |
401012968fea
Fix apply_font to use a PangoFontDescription to get the requested font family
Etan Reisner <pidgin@unreliablesource.net>
parents:
26630
diff
changeset
|
167 g_free(fontname); |
401012968fea
Fix apply_font to use a PangoFontDescription to get the requested font family
Etan Reisner <pidgin@unreliablesource.net>
parents:
26630
diff
changeset
|
168 } |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
169 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
170 cancel_toolbar_font(NULL, toolbar); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
171 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
172 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
173 static void |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
174 toggle_font(GtkWidget *font, GtkIMHtmlToolbar *toolbar) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
175 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
176 g_return_if_fail(toolbar); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
177 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
178 if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(font))) { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
179 char *fontname = gtk_imhtml_get_current_fontface(GTK_IMHTML(toolbar->imhtml)); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
180 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
181 if (!toolbar->font_dialog) { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
182 toolbar->font_dialog = gtk_font_selection_dialog_new(_("Select Font")); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
183 |
15822 | 184 g_object_set_data(G_OBJECT(toolbar->font_dialog), "purple_toolbar", toolbar); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
185 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
186 if(fontname) { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
187 char *fonttif = g_strdup_printf("%s 12", fontname); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
188 g_free(fontname); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
189 gtk_font_selection_dialog_set_font_name(GTK_FONT_SELECTION_DIALOG(toolbar->font_dialog), |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
190 fonttif); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
191 g_free(fonttif); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
192 } else { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
193 gtk_font_selection_dialog_set_font_name(GTK_FONT_SELECTION_DIALOG(toolbar->font_dialog), |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
194 DEFAULT_FONT_FACE); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
195 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
196 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
197 g_signal_connect(G_OBJECT(toolbar->font_dialog), "delete_event", |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
198 G_CALLBACK(destroy_toolbar_font), toolbar); |
32672
3828a61c44da
A boring and large patch so I can merge heads.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32658
diff
changeset
|
199 g_signal_connect(G_OBJECT(GTK_FONT_SELECTION_DIALOG(toolbar->font_dialog)->ok_button), "clicked", |
3828a61c44da
A boring and large patch so I can merge heads.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32658
diff
changeset
|
200 G_CALLBACK(apply_font), toolbar->font_dialog); |
3828a61c44da
A boring and large patch so I can merge heads.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32658
diff
changeset
|
201 g_signal_connect(G_OBJECT(GTK_FONT_SELECTION_DIALOG(toolbar->font_dialog)->cancel_button), "clicked", |
3828a61c44da
A boring and large patch so I can merge heads.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32658
diff
changeset
|
202 G_CALLBACK(cancel_toolbar_font), toolbar); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
203 g_signal_connect_after(G_OBJECT(toolbar->font_dialog), "realize", |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
204 G_CALLBACK(realize_toolbar_font), toolbar); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
205 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
206 gtk_window_present(GTK_WINDOW(toolbar->font_dialog)); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
207 } else { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
208 cancel_toolbar_font(font, toolbar); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
209 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
210 gtk_widget_grab_focus(toolbar->imhtml); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
211 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
212 |
21913
2a591a5b3322
Make some more event handlers return appropriate gboolean values. This turns
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21866
diff
changeset
|
213 static gboolean |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
214 destroy_toolbar_fgcolor(GtkWidget *widget, GdkEvent *event, |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
215 GtkIMHtmlToolbar *toolbar) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
216 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
217 if (widget != NULL) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
218 gtk_imhtml_toggle_forecolor(GTK_IMHTML(toolbar->imhtml), ""); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
219 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
220 if (toolbar->fgcolor_dialog != NULL) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
221 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
222 gtk_widget_destroy(toolbar->fgcolor_dialog); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
223 toolbar->fgcolor_dialog = NULL; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
224 } |
21913
2a591a5b3322
Make some more event handlers return appropriate gboolean values. This turns
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21866
diff
changeset
|
225 return FALSE; |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
226 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
227 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
228 static void cancel_toolbar_fgcolor(GtkWidget *widget, |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
229 GtkIMHtmlToolbar *toolbar) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
230 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
231 destroy_toolbar_fgcolor(widget, NULL, toolbar); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
232 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
233 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
234 static void do_fgcolor(GtkWidget *widget, GtkColorSelection *colorsel) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
235 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
236 GdkColor text_color; |
15822 | 237 GtkIMHtmlToolbar *toolbar = g_object_get_data(G_OBJECT(colorsel), "purple_toolbar"); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
238 char *open_tag; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
239 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
240 open_tag = g_malloc(30); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
241 gtk_color_selection_get_current_color(colorsel, &text_color); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
242 g_snprintf(open_tag, 23, "#%02X%02X%02X", |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
243 text_color.red / 256, |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
244 text_color.green / 256, |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
245 text_color.blue / 256); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
246 gtk_imhtml_toggle_forecolor(GTK_IMHTML(toolbar->imhtml), open_tag); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
247 g_free(open_tag); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
248 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
249 cancel_toolbar_fgcolor(NULL, toolbar); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
250 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
251 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
252 static void |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
253 toggle_fg_color(GtkWidget *color, GtkIMHtmlToolbar *toolbar) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
254 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
255 if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(color))) { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
256 GtkWidget *colorsel; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
257 GdkColor fgcolor; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
258 char *color = gtk_imhtml_get_current_forecolor(GTK_IMHTML(toolbar->imhtml)); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
259 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
260 if (!toolbar->fgcolor_dialog) { |
32656
a053474df2e9
Whitespace fixes. Try and check your editor settings before writing
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32648
diff
changeset
|
261 |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
262 toolbar->fgcolor_dialog = gtk_color_selection_dialog_new(_("Select Text Color")); |
32672
3828a61c44da
A boring and large patch so I can merge heads.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32658
diff
changeset
|
263 colorsel = GTK_COLOR_SELECTION_DIALOG(toolbar->fgcolor_dialog)->colorsel; |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
264 if (color) { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
265 gdk_color_parse(color, &fgcolor); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
266 gtk_color_selection_set_current_color(GTK_COLOR_SELECTION(colorsel), &fgcolor); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
267 g_free(color); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
268 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
269 |
15822 | 270 g_object_set_data(G_OBJECT(colorsel), "purple_toolbar", toolbar); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
271 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
272 g_signal_connect(G_OBJECT(toolbar->fgcolor_dialog), "delete_event", |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
273 G_CALLBACK(destroy_toolbar_fgcolor), toolbar); |
32672
3828a61c44da
A boring and large patch so I can merge heads.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32658
diff
changeset
|
274 g_signal_connect(G_OBJECT(GTK_COLOR_SELECTION_DIALOG(toolbar->fgcolor_dialog)->ok_button), "clicked", |
3828a61c44da
A boring and large patch so I can merge heads.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32658
diff
changeset
|
275 G_CALLBACK(do_fgcolor), colorsel); |
3828a61c44da
A boring and large patch so I can merge heads.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32658
diff
changeset
|
276 g_signal_connect(G_OBJECT (GTK_COLOR_SELECTION_DIALOG(toolbar->fgcolor_dialog)->cancel_button), "clicked", |
3828a61c44da
A boring and large patch so I can merge heads.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32658
diff
changeset
|
277 G_CALLBACK(cancel_toolbar_fgcolor), toolbar); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
278 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
279 gtk_window_present(GTK_WINDOW(toolbar->fgcolor_dialog)); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
280 } else { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
281 cancel_toolbar_fgcolor(color, toolbar); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
282 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
283 gtk_widget_grab_focus(toolbar->imhtml); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
284 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
285 |
21913
2a591a5b3322
Make some more event handlers return appropriate gboolean values. This turns
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21866
diff
changeset
|
286 static gboolean |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
287 destroy_toolbar_bgcolor(GtkWidget *widget, GdkEvent *event, |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
288 GtkIMHtmlToolbar *toolbar) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
289 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
290 if (widget != NULL) { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
291 if (gtk_text_buffer_get_selection_bounds(GTK_IMHTML(toolbar->imhtml)->text_buffer, NULL, NULL)) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
292 gtk_imhtml_toggle_backcolor(GTK_IMHTML(toolbar->imhtml), ""); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
293 else |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
294 gtk_imhtml_toggle_background(GTK_IMHTML(toolbar->imhtml), ""); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
295 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
296 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
297 if (toolbar->bgcolor_dialog != NULL) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
298 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
299 gtk_widget_destroy(toolbar->bgcolor_dialog); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
300 toolbar->bgcolor_dialog = NULL; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
301 } |
21913
2a591a5b3322
Make some more event handlers return appropriate gboolean values. This turns
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21866
diff
changeset
|
302 return FALSE; |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
303 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
304 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
305 static void |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
306 cancel_toolbar_bgcolor(GtkWidget *widget, GtkIMHtmlToolbar *toolbar) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
307 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
308 destroy_toolbar_bgcolor(widget, NULL, toolbar); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
309 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
310 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
311 static void do_bgcolor(GtkWidget *widget, GtkColorSelection *colorsel) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
312 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
313 GdkColor text_color; |
15822 | 314 GtkIMHtmlToolbar *toolbar = g_object_get_data(G_OBJECT(colorsel), "purple_toolbar"); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
315 char *open_tag; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
316 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
317 open_tag = g_malloc(30); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
318 gtk_color_selection_get_current_color(colorsel, &text_color); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
319 g_snprintf(open_tag, 23, "#%02X%02X%02X", |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
320 text_color.red / 256, |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
321 text_color.green / 256, |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
322 text_color.blue / 256); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
323 if (gtk_text_buffer_get_selection_bounds(GTK_IMHTML(toolbar->imhtml)->text_buffer, NULL, NULL)) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
324 gtk_imhtml_toggle_backcolor(GTK_IMHTML(toolbar->imhtml), open_tag); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
325 else |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
326 gtk_imhtml_toggle_background(GTK_IMHTML(toolbar->imhtml), open_tag); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
327 g_free(open_tag); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
328 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
329 cancel_toolbar_bgcolor(NULL, toolbar); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
330 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
331 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
332 static void |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
333 toggle_bg_color(GtkWidget *color, GtkIMHtmlToolbar *toolbar) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
334 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
335 if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(color))) { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
336 GtkWidget *colorsel; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
337 GdkColor bgcolor; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
338 char *color = gtk_imhtml_get_current_backcolor(GTK_IMHTML(toolbar->imhtml)); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
339 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
340 if (!toolbar->bgcolor_dialog) { |
32656
a053474df2e9
Whitespace fixes. Try and check your editor settings before writing
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32648
diff
changeset
|
341 |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
342 toolbar->bgcolor_dialog = gtk_color_selection_dialog_new(_("Select Background Color")); |
32672
3828a61c44da
A boring and large patch so I can merge heads.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32658
diff
changeset
|
343 colorsel = GTK_COLOR_SELECTION_DIALOG(toolbar->bgcolor_dialog)->colorsel; |
32656
a053474df2e9
Whitespace fixes. Try and check your editor settings before writing
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32648
diff
changeset
|
344 if (color) { |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
345 gdk_color_parse(color, &bgcolor); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
346 gtk_color_selection_set_current_color(GTK_COLOR_SELECTION(colorsel), &bgcolor); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
347 g_free(color); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
348 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
349 |
15822 | 350 g_object_set_data(G_OBJECT(colorsel), "purple_toolbar", toolbar); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
351 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
352 g_signal_connect(G_OBJECT(toolbar->bgcolor_dialog), "delete_event", |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
353 G_CALLBACK(destroy_toolbar_bgcolor), toolbar); |
32672
3828a61c44da
A boring and large patch so I can merge heads.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32658
diff
changeset
|
354 g_signal_connect(G_OBJECT(GTK_COLOR_SELECTION_DIALOG(toolbar->bgcolor_dialog)->ok_button), "clicked", |
3828a61c44da
A boring and large patch so I can merge heads.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32658
diff
changeset
|
355 G_CALLBACK(do_bgcolor), colorsel); |
3828a61c44da
A boring and large patch so I can merge heads.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32658
diff
changeset
|
356 g_signal_connect(G_OBJECT(GTK_COLOR_SELECTION_DIALOG(toolbar->bgcolor_dialog)->cancel_button), "clicked", |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
357 G_CALLBACK(cancel_toolbar_bgcolor), toolbar); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
358 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
359 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
360 gtk_window_present(GTK_WINDOW(toolbar->bgcolor_dialog)); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
361 } else { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
362 cancel_toolbar_bgcolor(color, toolbar); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
363 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
364 gtk_widget_grab_focus(toolbar->imhtml); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
365 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
366 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
367 static void |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
368 clear_formatting_cb(GtkWidget *clear, GtkIMHtmlToolbar *toolbar) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
369 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
370 toggle_button_set_active_block(GTK_TOGGLE_BUTTON(toolbar->clear), FALSE, toolbar); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
371 gtk_imhtml_clear_formatting(GTK_IMHTML(toolbar->imhtml)); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
372 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
373 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
374 static void |
15822 | 375 cancel_link_cb(GtkIMHtmlToolbar *toolbar, PurpleRequestFields *fields) |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
376 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
377 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(toolbar->link), FALSE); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
378 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
379 toolbar->link_dialog = NULL; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
380 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
381 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
382 static void |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
383 close_link_dialog(GtkIMHtmlToolbar *toolbar) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
384 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
385 if (toolbar->link_dialog != NULL) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
386 { |
15822 | 387 purple_request_close(PURPLE_REQUEST_FIELDS, toolbar->link_dialog); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
388 toolbar->link_dialog = NULL; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
389 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
390 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
391 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
392 static void |
15822 | 393 do_insert_link_cb(GtkIMHtmlToolbar *toolbar, PurpleRequestFields *fields) |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
394 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
395 const char *url, *description; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
396 |
15822 | 397 url = purple_request_fields_get_string(fields, "url"); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
398 if (GTK_IMHTML(toolbar->imhtml)->format_functions & GTK_IMHTML_LINKDESC) |
15822 | 399 description = purple_request_fields_get_string(fields, "description"); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
400 else |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
401 description = NULL; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
402 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
403 if (description == NULL) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
404 description = url; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
405 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
406 gtk_imhtml_insert_link(GTK_IMHTML(toolbar->imhtml), |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
407 gtk_text_buffer_get_insert(GTK_IMHTML(toolbar->imhtml)->text_buffer), |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
408 url, description); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
409 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
410 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(toolbar->link), FALSE); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
411 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
412 toolbar->link_dialog = NULL; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
413 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
414 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
415 static void |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
416 insert_link_cb(GtkWidget *w, GtkIMHtmlToolbar *toolbar) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
417 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
418 if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(toolbar->link))) { |
15822 | 419 PurpleRequestFields *fields; |
420 PurpleRequestFieldGroup *group; | |
421 PurpleRequestField *field; | |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
422 GtkTextIter start, end; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
423 char *msg; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
424 char *desc = NULL; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
425 |
15822 | 426 fields = purple_request_fields_new(); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
427 |
15822 | 428 group = purple_request_field_group_new(NULL); |
429 purple_request_fields_add_group(fields, group); | |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
430 |
15822 | 431 field = purple_request_field_string_new("url", _("_URL"), NULL, FALSE); |
432 purple_request_field_set_required(field, TRUE); | |
433 purple_request_field_group_add_field(group, field); | |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
434 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
435 if(GTK_IMHTML(toolbar->imhtml)->format_functions & GTK_IMHTML_LINKDESC) { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
436 if (gtk_text_buffer_get_selection_bounds(GTK_IMHTML(toolbar->imhtml)->text_buffer, &start, &end)) { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
437 desc = gtk_imhtml_get_text(GTK_IMHTML(toolbar->imhtml), &start, &end); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
438 } |
15822 | 439 field = purple_request_field_string_new("description", _("_Description"), |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
440 desc, FALSE); |
15822 | 441 purple_request_field_group_add_field(group, field); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
442 msg = g_strdup(_("Please enter the URL and description of the " |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
443 "link that you want to insert. The description " |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
444 "is optional.")); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
445 } else { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
446 msg = g_strdup(_("Please enter the URL of the " |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
447 "link that you want to insert.")); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
448 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
449 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
450 toolbar->link_dialog = |
21570
dccfd999ffe7
merge of '76c07fcb434a2a7aa289734bb221c171a376d73b'
Evan Schoenberg <evan.s@dreskin.net>
parents:
21244
diff
changeset
|
451 purple_request_fields(toolbar, _("Insert Link"), |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
452 NULL, |
21570
dccfd999ffe7
merge of '76c07fcb434a2a7aa289734bb221c171a376d73b'
Evan Schoenberg <evan.s@dreskin.net>
parents:
21244
diff
changeset
|
453 msg, |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
454 fields, |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
455 _("_Insert"), G_CALLBACK(do_insert_link_cb), |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
456 _("Cancel"), G_CALLBACK(cancel_link_cb), |
21570
dccfd999ffe7
merge of '76c07fcb434a2a7aa289734bb221c171a376d73b'
Evan Schoenberg <evan.s@dreskin.net>
parents:
21244
diff
changeset
|
457 NULL, NULL, NULL, |
dccfd999ffe7
merge of '76c07fcb434a2a7aa289734bb221c171a376d73b'
Evan Schoenberg <evan.s@dreskin.net>
parents:
21244
diff
changeset
|
458 toolbar); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
459 g_free(msg); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
460 g_free(desc); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
461 } else { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
462 close_link_dialog(toolbar); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
463 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
464 gtk_widget_grab_focus(toolbar->imhtml); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
465 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
466 |
19469
42ee8f13c917
Add horizontal rules and strikethroughs to the toolbar
Sean Egan <seanegan@gmail.com>
parents:
18851
diff
changeset
|
467 static void insert_hr_cb(GtkWidget *widget, GtkIMHtmlToolbar *toolbar) |
42ee8f13c917
Add horizontal rules and strikethroughs to the toolbar
Sean Egan <seanegan@gmail.com>
parents:
18851
diff
changeset
|
468 { |
32672
3828a61c44da
A boring and large patch so I can merge heads.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32658
diff
changeset
|
469 GtkTextIter iter; |
3828a61c44da
A boring and large patch so I can merge heads.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32658
diff
changeset
|
470 GtkTextMark *ins; |
19469
42ee8f13c917
Add horizontal rules and strikethroughs to the toolbar
Sean Egan <seanegan@gmail.com>
parents:
18851
diff
changeset
|
471 GtkIMHtmlScalable *hr; |
42ee8f13c917
Add horizontal rules and strikethroughs to the toolbar
Sean Egan <seanegan@gmail.com>
parents:
18851
diff
changeset
|
472 |
32672
3828a61c44da
A boring and large patch so I can merge heads.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32658
diff
changeset
|
473 ins = gtk_text_buffer_get_insert(gtk_text_view_get_buffer(GTK_TEXT_VIEW(toolbar->imhtml))); |
3828a61c44da
A boring and large patch so I can merge heads.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32658
diff
changeset
|
474 gtk_text_buffer_get_iter_at_mark(gtk_text_view_get_buffer(GTK_TEXT_VIEW(toolbar->imhtml)), &iter, ins); |
19469
42ee8f13c917
Add horizontal rules and strikethroughs to the toolbar
Sean Egan <seanegan@gmail.com>
parents:
18851
diff
changeset
|
475 hr = gtk_imhtml_hr_new(); |
42ee8f13c917
Add horizontal rules and strikethroughs to the toolbar
Sean Egan <seanegan@gmail.com>
parents:
18851
diff
changeset
|
476 gtk_imhtml_hr_add_to(hr, GTK_IMHTML(toolbar->imhtml), &iter); |
42ee8f13c917
Add horizontal rules and strikethroughs to the toolbar
Sean Egan <seanegan@gmail.com>
parents:
18851
diff
changeset
|
477 } |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
478 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
479 static void |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
480 do_insert_image_cb(GtkWidget *widget, int response, GtkIMHtmlToolbar *toolbar) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
481 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
482 gchar *filename, *name, *buf; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
483 char *filedata; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
484 size_t size; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
485 GError *error = NULL; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
486 int id; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
487 GtkTextIter iter; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
488 GtkTextMark *ins; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
489 |
21866
03c950701fac
Move some curly braces around so static analysis tools can properly detect
Stu Tomlinson <stu@nosnilmot.com>
parents:
21839
diff
changeset
|
490 if (response != GTK_RESPONSE_ACCEPT) |
03c950701fac
Move some curly braces around so static analysis tools can properly detect
Stu Tomlinson <stu@nosnilmot.com>
parents:
21839
diff
changeset
|
491 { |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
492 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(toolbar->image), FALSE); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
493 return; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
494 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
495 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
496 filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(widget)); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
497 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
498 if (filename == NULL) { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
499 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(toolbar->image), FALSE); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
500 return; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
501 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
502 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
503 /* The following triggers a callback that closes the widget */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
504 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(toolbar->image), FALSE); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
505 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
506 if (!g_file_get_contents(filename, &filedata, &size, &error)) { |
15822 | 507 purple_notify_error(NULL, NULL, error->message, NULL); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
508 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
509 g_error_free(error); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
510 g_free(filename); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
511 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
512 return; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
513 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
514 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
515 name = strrchr(filename, G_DIR_SEPARATOR) + 1; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
516 |
16375
391a79778f89
Rework the buddy icon subsystem to use the imgstore subsystem, and modify the
Richard Laager <rlaager@wiktel.com>
parents:
16202
diff
changeset
|
517 id = purple_imgstore_add_with_id(filedata, size, name); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
518 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
519 if (id == 0) { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
520 buf = g_strdup_printf(_("Failed to store image: %s\n"), filename); |
15822 | 521 purple_notify_error(NULL, NULL, buf, NULL); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
522 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
523 g_free(buf); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
524 g_free(filename); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
525 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
526 return; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
527 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
528 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
529 g_free(filename); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
530 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
531 ins = gtk_text_buffer_get_insert(gtk_text_view_get_buffer(GTK_TEXT_VIEW(toolbar->imhtml))); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
532 gtk_text_buffer_get_iter_at_mark(gtk_text_view_get_buffer(GTK_TEXT_VIEW(toolbar->imhtml)), |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
533 &iter, ins); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
534 gtk_imhtml_insert_image_at_iter(GTK_IMHTML(toolbar->imhtml), id, &iter); |
16375
391a79778f89
Rework the buddy icon subsystem to use the imgstore subsystem, and modify the
Richard Laager <rlaager@wiktel.com>
parents:
16202
diff
changeset
|
535 purple_imgstore_unref_by_id(id); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
536 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
537 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
538 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
539 static void |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
540 insert_image_cb(GtkWidget *save, GtkIMHtmlToolbar *toolbar) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
541 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
542 GtkWidget *window; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
543 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
544 if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(toolbar->image))) { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
545 window = gtk_file_chooser_dialog_new(_("Insert Image"), |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
546 NULL, |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
547 GTK_FILE_CHOOSER_ACTION_OPEN, |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
548 GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
549 GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
550 NULL); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
551 gtk_dialog_set_default_response(GTK_DIALOG(window), GTK_RESPONSE_ACCEPT); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
552 g_signal_connect(G_OBJECT(GTK_FILE_CHOOSER(window)), |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
553 "response", G_CALLBACK(do_insert_image_cb), toolbar); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
554 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
555 gtk_widget_show(window); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
556 toolbar->image_dialog = window; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
557 } else { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
558 gtk_widget_destroy(toolbar->image_dialog); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
559 toolbar->image_dialog = NULL; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
560 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
561 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
562 gtk_widget_grab_focus(toolbar->imhtml); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
563 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
564 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
565 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
566 static void |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
567 destroy_smiley_dialog(GtkIMHtmlToolbar *toolbar) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
568 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
569 if (toolbar->smiley_dialog != NULL) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
570 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
571 gtk_widget_destroy(toolbar->smiley_dialog); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
572 toolbar->smiley_dialog = NULL; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
573 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
574 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
575 |
21913
2a591a5b3322
Make some more event handlers return appropriate gboolean values. This turns
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21866
diff
changeset
|
576 static gboolean |
23137
53b3c75c9e26
Separate the custom smileys from the regular smileys, and add a 'Manage'
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23136
diff
changeset
|
577 close_smiley_dialog(GtkIMHtmlToolbar *toolbar) |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
578 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
579 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(toolbar->smiley), FALSE); |
21913
2a591a5b3322
Make some more event handlers return appropriate gboolean values. This turns
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21866
diff
changeset
|
580 return FALSE; |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
581 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
582 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
583 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
584 static void |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
585 insert_smiley_text(GtkWidget *widget, GtkIMHtmlToolbar *toolbar) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
586 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
587 char *smiley_text, *escaped_smiley; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
588 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
589 smiley_text = g_object_get_data(G_OBJECT(widget), "smiley_text"); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
590 escaped_smiley = g_markup_escape_text(smiley_text, -1); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
591 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
592 gtk_imhtml_insert_smiley(GTK_IMHTML(toolbar->imhtml), |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
593 GTK_IMHTML(toolbar->imhtml)->protocol_name, |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
594 escaped_smiley); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
595 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
596 g_free(escaped_smiley); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
597 |
23137
53b3c75c9e26
Separate the custom smileys from the regular smileys, and add a 'Manage'
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23136
diff
changeset
|
598 close_smiley_dialog(toolbar); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
599 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
600 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
601 /* smiley buttons list */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
602 struct smiley_button_list { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
603 int width, height; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
604 GtkWidget *button; |
23137
53b3c75c9e26
Separate the custom smileys from the regular smileys, and add a 'Manage'
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23136
diff
changeset
|
605 const GtkIMHtmlSmiley *smiley; |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
606 struct smiley_button_list *next; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
607 }; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
608 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
609 static struct smiley_button_list * |
23135
dfc99f5dec43
Patch from malu (mlundblad) to disable a regular smiley in the smiley
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23132
diff
changeset
|
610 sort_smileys(struct smiley_button_list *ls, GtkIMHtmlToolbar *toolbar, |
23341
3cc64898bdbd
Do not disable default smileys with dupliate shortcuts if custom smileys
Marcus Lundblad <ml@update.uu.se>
parents:
23225
diff
changeset
|
611 int *width, const GtkIMHtmlSmiley *smiley) |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
612 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
613 GtkWidget *image; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
614 GtkWidget *button; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
615 GtkRequisition size; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
616 struct smiley_button_list *cur; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
617 struct smiley_button_list *it, *it_last; |
23135
dfc99f5dec43
Patch from malu (mlundblad) to disable a regular smiley in the smiley
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23132
diff
changeset
|
618 const gchar *filename = smiley->file; |
dfc99f5dec43
Patch from malu (mlundblad) to disable a regular smiley in the smiley
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23132
diff
changeset
|
619 gchar *face = smiley->smile; |
23137
53b3c75c9e26
Separate the custom smileys from the regular smileys, and add a 'Manage'
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23136
diff
changeset
|
620 PurpleSmiley *psmiley = NULL; |
23341
3cc64898bdbd
Do not disable default smileys with dupliate shortcuts if custom smileys
Marcus Lundblad <ml@update.uu.se>
parents:
23225
diff
changeset
|
621 gboolean supports_custom = (gtk_imhtml_get_format_functions(GTK_IMHTML(toolbar->imhtml)) & GTK_IMHTML_CUSTOM_SMILEY); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
622 |
22849
28005860d2c9
Plug a small memory leak in the smiley dialog, and use g_new0/g_free
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
22093
diff
changeset
|
623 cur = g_new0(struct smiley_button_list, 1); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
624 it = ls; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
625 it_last = ls; /* list iterators*/ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
626 image = gtk_image_new_from_file(filename); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
627 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
628 gtk_widget_size_request(image, &size); |
22311
02eda4bd2b22
Apply the custom smiley patches from #1187, from Jorge Villaseo (Masca) and
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
22093
diff
changeset
|
629 |
23135
dfc99f5dec43
Patch from malu (mlundblad) to disable a regular smiley in the smiley
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23132
diff
changeset
|
630 if (size.width > 24 && |
dfc99f5dec43
Patch from malu (mlundblad) to disable a regular smiley in the smiley
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23132
diff
changeset
|
631 smiley->flags & GTK_IMHTML_SMILEY_CUSTOM) { /* This is a custom smiley, let's scale it */ |
22311
02eda4bd2b22
Apply the custom smiley patches from #1187, from Jorge Villaseo (Masca) and
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
22093
diff
changeset
|
632 GdkPixbuf *pixbuf = NULL; |
02eda4bd2b22
Apply the custom smiley patches from #1187, from Jorge Villaseo (Masca) and
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
22093
diff
changeset
|
633 GtkImageType type; |
02eda4bd2b22
Apply the custom smiley patches from #1187, from Jorge Villaseo (Masca) and
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
22093
diff
changeset
|
634 |
02eda4bd2b22
Apply the custom smiley patches from #1187, from Jorge Villaseo (Masca) and
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
22093
diff
changeset
|
635 type = gtk_image_get_storage_type(GTK_IMAGE(image)); |
02eda4bd2b22
Apply the custom smiley patches from #1187, from Jorge Villaseo (Masca) and
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
22093
diff
changeset
|
636 |
02eda4bd2b22
Apply the custom smiley patches from #1187, from Jorge Villaseo (Masca) and
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
22093
diff
changeset
|
637 if (type == GTK_IMAGE_PIXBUF) { |
02eda4bd2b22
Apply the custom smiley patches from #1187, from Jorge Villaseo (Masca) and
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
22093
diff
changeset
|
638 pixbuf = gtk_image_get_pixbuf(GTK_IMAGE(image)); |
23130
9c0a47402f7a
Unref some gdkpixbufs to plug some memory leaks. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23129
diff
changeset
|
639 } else if (type == GTK_IMAGE_ANIMATION) { |
22311
02eda4bd2b22
Apply the custom smiley patches from #1187, from Jorge Villaseo (Masca) and
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
22093
diff
changeset
|
640 GdkPixbufAnimation *animation; |
02eda4bd2b22
Apply the custom smiley patches from #1187, from Jorge Villaseo (Masca) and
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
22093
diff
changeset
|
641 |
02eda4bd2b22
Apply the custom smiley patches from #1187, from Jorge Villaseo (Masca) and
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
22093
diff
changeset
|
642 animation = gtk_image_get_animation(GTK_IMAGE(image)); |
02eda4bd2b22
Apply the custom smiley patches from #1187, from Jorge Villaseo (Masca) and
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
22093
diff
changeset
|
643 |
02eda4bd2b22
Apply the custom smiley patches from #1187, from Jorge Villaseo (Masca) and
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
22093
diff
changeset
|
644 pixbuf = gdk_pixbuf_animation_get_static_image(animation); |
02eda4bd2b22
Apply the custom smiley patches from #1187, from Jorge Villaseo (Masca) and
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
22093
diff
changeset
|
645 } |
02eda4bd2b22
Apply the custom smiley patches from #1187, from Jorge Villaseo (Masca) and
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
22093
diff
changeset
|
646 |
02eda4bd2b22
Apply the custom smiley patches from #1187, from Jorge Villaseo (Masca) and
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
22093
diff
changeset
|
647 if (pixbuf != NULL) { |
23130
9c0a47402f7a
Unref some gdkpixbufs to plug some memory leaks. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23129
diff
changeset
|
648 GdkPixbuf *resized; |
22311
02eda4bd2b22
Apply the custom smiley patches from #1187, from Jorge Villaseo (Masca) and
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
22093
diff
changeset
|
649 resized = gdk_pixbuf_scale_simple(pixbuf, 24, 24, |
02eda4bd2b22
Apply the custom smiley patches from #1187, from Jorge Villaseo (Masca) and
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
22093
diff
changeset
|
650 GDK_INTERP_HYPER); |
02eda4bd2b22
Apply the custom smiley patches from #1187, from Jorge Villaseo (Masca) and
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
22093
diff
changeset
|
651 |
23132
85c595142be6
A leak fix from malu. Thanks!
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23131
diff
changeset
|
652 gtk_image_set_from_pixbuf(GTK_IMAGE(image), resized); /* This unrefs pixbuf */ |
22311
02eda4bd2b22
Apply the custom smiley patches from #1187, from Jorge Villaseo (Masca) and
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
22093
diff
changeset
|
653 gtk_widget_size_request(image, &size); |
23130
9c0a47402f7a
Unref some gdkpixbufs to plug some memory leaks. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23129
diff
changeset
|
654 g_object_unref(G_OBJECT(resized)); |
22311
02eda4bd2b22
Apply the custom smiley patches from #1187, from Jorge Villaseo (Masca) and
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
22093
diff
changeset
|
655 } |
02eda4bd2b22
Apply the custom smiley patches from #1187, from Jorge Villaseo (Masca) and
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
22093
diff
changeset
|
656 } |
02eda4bd2b22
Apply the custom smiley patches from #1187, from Jorge Villaseo (Masca) and
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
22093
diff
changeset
|
657 |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
658 (*width) += size.width; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
659 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
660 button = gtk_button_new(); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
661 gtk_container_add(GTK_CONTAINER(button), image); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
662 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
663 g_object_set_data(G_OBJECT(button), "smiley_text", face); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
664 g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(insert_smiley_text), toolbar); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
665 |
32566
e84bdaa9d227
Replace GtkTooltips code with GtkTooltip on GTK+ 2.12+.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26352
diff
changeset
|
666 #if GTK_CHECK_VERSION(2,12,0) |
e84bdaa9d227
Replace GtkTooltips code with GtkTooltip on GTK+ 2.12+.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26352
diff
changeset
|
667 gtk_widget_set_tooltip_text(button, face); |
e84bdaa9d227
Replace GtkTooltips code with GtkTooltip on GTK+ 2.12+.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26352
diff
changeset
|
668 #else |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
669 gtk_tooltips_set_tip(toolbar->tooltips, button, face, NULL); |
32566
e84bdaa9d227
Replace GtkTooltips code with GtkTooltip on GTK+ 2.12+.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26352
diff
changeset
|
670 #endif |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
671 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
672 /* these look really weird with borders */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
673 gtk_button_set_relief(GTK_BUTTON(button), GTK_RELIEF_NONE); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
674 |
23137
53b3c75c9e26
Separate the custom smileys from the regular smileys, and add a 'Manage'
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23136
diff
changeset
|
675 psmiley = purple_smileys_find_by_shortcut(smiley->smile); |
23135
dfc99f5dec43
Patch from malu (mlundblad) to disable a regular smiley in the smiley
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23132
diff
changeset
|
676 /* If this is a "non-custom" smiley, check to see if its shortcut is |
dfc99f5dec43
Patch from malu (mlundblad) to disable a regular smiley in the smiley
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23132
diff
changeset
|
677 "shadowed" by any custom smiley. This can only happen if the connection |
dfc99f5dec43
Patch from malu (mlundblad) to disable a regular smiley in the smiley
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23132
diff
changeset
|
678 is custom smiley-enabled */ |
23341
3cc64898bdbd
Do not disable default smileys with dupliate shortcuts if custom smileys
Marcus Lundblad <ml@update.uu.se>
parents:
23225
diff
changeset
|
679 if (supports_custom && psmiley && !(smiley->flags & GTK_IMHTML_SMILEY_CUSTOM)) { |
3cc64898bdbd
Do not disable default smileys with dupliate shortcuts if custom smileys
Marcus Lundblad <ml@update.uu.se>
parents:
23225
diff
changeset
|
680 gchar tip[128]; |
25924
584063555949
Remove trailing whitespace
Mark Doliner <mark@kingant.net>
parents:
24076
diff
changeset
|
681 g_snprintf(tip, sizeof(tip), |
23341
3cc64898bdbd
Do not disable default smileys with dupliate shortcuts if custom smileys
Marcus Lundblad <ml@update.uu.se>
parents:
23225
diff
changeset
|
682 _("This smiley is disabled because a custom smiley exists for this shortcut:\n %s"), |
3cc64898bdbd
Do not disable default smileys with dupliate shortcuts if custom smileys
Marcus Lundblad <ml@update.uu.se>
parents:
23225
diff
changeset
|
683 face); |
32566
e84bdaa9d227
Replace GtkTooltips code with GtkTooltip on GTK+ 2.12+.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26352
diff
changeset
|
684 #if GTK_CHECK_VERSION(2,12,0) |
e84bdaa9d227
Replace GtkTooltips code with GtkTooltip on GTK+ 2.12+.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26352
diff
changeset
|
685 gtk_widget_set_tooltip_text(button, tip); |
e84bdaa9d227
Replace GtkTooltips code with GtkTooltip on GTK+ 2.12+.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26352
diff
changeset
|
686 #else |
23341
3cc64898bdbd
Do not disable default smileys with dupliate shortcuts if custom smileys
Marcus Lundblad <ml@update.uu.se>
parents:
23225
diff
changeset
|
687 gtk_tooltips_set_tip(toolbar->tooltips, button, tip, NULL); |
32566
e84bdaa9d227
Replace GtkTooltips code with GtkTooltip on GTK+ 2.12+.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26352
diff
changeset
|
688 #endif |
23137
53b3c75c9e26
Separate the custom smileys from the regular smileys, and add a 'Manage'
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23136
diff
changeset
|
689 gtk_widget_set_sensitive(button, FALSE); |
53b3c75c9e26
Separate the custom smileys from the regular smileys, and add a 'Manage'
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23136
diff
changeset
|
690 } else if (psmiley) { |
53b3c75c9e26
Separate the custom smileys from the regular smileys, and add a 'Manage'
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23136
diff
changeset
|
691 /* Remove the button if the smiley is destroyed */ |
53b3c75c9e26
Separate the custom smileys from the regular smileys, and add a 'Manage'
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23136
diff
changeset
|
692 g_signal_connect_object(G_OBJECT(psmiley), "destroy", G_CALLBACK(gtk_widget_destroy), |
53b3c75c9e26
Separate the custom smileys from the regular smileys, and add a 'Manage'
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23136
diff
changeset
|
693 button, G_CONNECT_SWAPPED); |
23135
dfc99f5dec43
Patch from malu (mlundblad) to disable a regular smiley in the smiley
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23132
diff
changeset
|
694 } |
dfc99f5dec43
Patch from malu (mlundblad) to disable a regular smiley in the smiley
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23132
diff
changeset
|
695 |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
696 /* set current element to add */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
697 cur->height = size.height; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
698 cur->width = size.width; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
699 cur->button = button; |
23137
53b3c75c9e26
Separate the custom smileys from the regular smileys, and add a 'Manage'
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23136
diff
changeset
|
700 cur->smiley = smiley; |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
701 cur->next = ls; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
702 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
703 /* check where to insert by height */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
704 if (ls == NULL) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
705 return cur; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
706 while (it != NULL) { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
707 it_last = it; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
708 it = it->next; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
709 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
710 cur->next = it; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
711 it_last->next = cur; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
712 return ls; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
713 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
714 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
715 static gboolean |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
716 smiley_is_unique(GSList *list, GtkIMHtmlSmiley *smiley) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
717 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
718 while (list) { |
23135
dfc99f5dec43
Patch from malu (mlundblad) to disable a regular smiley in the smiley
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23132
diff
changeset
|
719 GtkIMHtmlSmiley *cur = (GtkIMHtmlSmiley *) list->data; |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
720 if (!strcmp(cur->file, smiley->file)) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
721 return FALSE; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
722 list = list->next; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
723 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
724 return TRUE; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
725 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
726 |
17794
8428beecff2f
Close smiley dialog on GDK_Escape or button 1 press.
Gabriel Schulhof <nix@go-nix.ca>
parents:
17209
diff
changeset
|
727 static gboolean |
8428beecff2f
Close smiley dialog on GDK_Escape or button 1 press.
Gabriel Schulhof <nix@go-nix.ca>
parents:
17209
diff
changeset
|
728 smiley_dialog_input_cb(GtkWidget *dialog, GdkEvent *event, GtkIMHtmlToolbar *toolbar) |
8428beecff2f
Close smiley dialog on GDK_Escape or button 1 press.
Gabriel Schulhof <nix@go-nix.ca>
parents:
17209
diff
changeset
|
729 { |
32672
3828a61c44da
A boring and large patch so I can merge heads.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32658
diff
changeset
|
730 if ((event->type == GDK_KEY_PRESS && event->key.keyval == GDK_Escape) || |
18388
ec29522b76d0
Rework the logic to be (IMHO) easy to read.
Richard Laager <rlaager@wiktel.com>
parents:
18387
diff
changeset
|
731 (event->type == GDK_BUTTON_PRESS && event->button.button == 1)) |
ec29522b76d0
Rework the logic to be (IMHO) easy to read.
Richard Laager <rlaager@wiktel.com>
parents:
18387
diff
changeset
|
732 { |
23137
53b3c75c9e26
Separate the custom smileys from the regular smileys, and add a 'Manage'
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23136
diff
changeset
|
733 close_smiley_dialog(toolbar); |
18388
ec29522b76d0
Rework the logic to be (IMHO) easy to read.
Richard Laager <rlaager@wiktel.com>
parents:
18387
diff
changeset
|
734 return TRUE; |
ec29522b76d0
Rework the logic to be (IMHO) easy to read.
Richard Laager <rlaager@wiktel.com>
parents:
18387
diff
changeset
|
735 } |
17794
8428beecff2f
Close smiley dialog on GDK_Escape or button 1 press.
Gabriel Schulhof <nix@go-nix.ca>
parents:
17209
diff
changeset
|
736 |
18388
ec29522b76d0
Rework the logic to be (IMHO) easy to read.
Richard Laager <rlaager@wiktel.com>
parents:
18387
diff
changeset
|
737 return FALSE; |
17794
8428beecff2f
Close smiley dialog on GDK_Escape or button 1 press.
Gabriel Schulhof <nix@go-nix.ca>
parents:
17209
diff
changeset
|
738 } |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
739 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
740 static void |
23137
53b3c75c9e26
Separate the custom smileys from the regular smileys, and add a 'Manage'
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23136
diff
changeset
|
741 add_smiley_list(GtkWidget *container, struct smiley_button_list *list, |
53b3c75c9e26
Separate the custom smileys from the regular smileys, and add a 'Manage'
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23136
diff
changeset
|
742 int max_width, gboolean custom) |
53b3c75c9e26
Separate the custom smileys from the regular smileys, and add a 'Manage'
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23136
diff
changeset
|
743 { |
53b3c75c9e26
Separate the custom smileys from the regular smileys, and add a 'Manage'
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23136
diff
changeset
|
744 GtkWidget *line; |
53b3c75c9e26
Separate the custom smileys from the regular smileys, and add a 'Manage'
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23136
diff
changeset
|
745 int line_width = 0; |
53b3c75c9e26
Separate the custom smileys from the regular smileys, and add a 'Manage'
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23136
diff
changeset
|
746 |
53b3c75c9e26
Separate the custom smileys from the regular smileys, and add a 'Manage'
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23136
diff
changeset
|
747 if (!list) |
53b3c75c9e26
Separate the custom smileys from the regular smileys, and add a 'Manage'
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23136
diff
changeset
|
748 return; |
53b3c75c9e26
Separate the custom smileys from the regular smileys, and add a 'Manage'
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23136
diff
changeset
|
749 |
53b3c75c9e26
Separate the custom smileys from the regular smileys, and add a 'Manage'
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23136
diff
changeset
|
750 line = gtk_hbox_new(FALSE, 0); |
53b3c75c9e26
Separate the custom smileys from the regular smileys, and add a 'Manage'
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23136
diff
changeset
|
751 gtk_box_pack_start(GTK_BOX(container), line, FALSE, FALSE, 0); |
53b3c75c9e26
Separate the custom smileys from the regular smileys, and add a 'Manage'
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23136
diff
changeset
|
752 for (; list; list = list->next) { |
53b3c75c9e26
Separate the custom smileys from the regular smileys, and add a 'Manage'
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23136
diff
changeset
|
753 if (custom != !!(list->smiley->flags & GTK_IMHTML_SMILEY_CUSTOM)) |
53b3c75c9e26
Separate the custom smileys from the regular smileys, and add a 'Manage'
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23136
diff
changeset
|
754 continue; |
53b3c75c9e26
Separate the custom smileys from the regular smileys, and add a 'Manage'
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23136
diff
changeset
|
755 gtk_box_pack_start(GTK_BOX(line), list->button, FALSE, FALSE, 0); |
53b3c75c9e26
Separate the custom smileys from the regular smileys, and add a 'Manage'
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23136
diff
changeset
|
756 gtk_widget_show(list->button); |
53b3c75c9e26
Separate the custom smileys from the regular smileys, and add a 'Manage'
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23136
diff
changeset
|
757 line_width += list->width; |
53b3c75c9e26
Separate the custom smileys from the regular smileys, and add a 'Manage'
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23136
diff
changeset
|
758 if (line_width >= max_width) { |
53b3c75c9e26
Separate the custom smileys from the regular smileys, and add a 'Manage'
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23136
diff
changeset
|
759 if (list->next) { |
53b3c75c9e26
Separate the custom smileys from the regular smileys, and add a 'Manage'
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23136
diff
changeset
|
760 line = gtk_hbox_new(FALSE, 0); |
53b3c75c9e26
Separate the custom smileys from the regular smileys, and add a 'Manage'
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23136
diff
changeset
|
761 gtk_box_pack_start(GTK_BOX(container), line, FALSE, FALSE, 0); |
53b3c75c9e26
Separate the custom smileys from the regular smileys, and add a 'Manage'
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23136
diff
changeset
|
762 } |
53b3c75c9e26
Separate the custom smileys from the regular smileys, and add a 'Manage'
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23136
diff
changeset
|
763 line_width = 0; |
53b3c75c9e26
Separate the custom smileys from the regular smileys, and add a 'Manage'
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23136
diff
changeset
|
764 } |
53b3c75c9e26
Separate the custom smileys from the regular smileys, and add a 'Manage'
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23136
diff
changeset
|
765 } |
53b3c75c9e26
Separate the custom smileys from the regular smileys, and add a 'Manage'
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23136
diff
changeset
|
766 } |
53b3c75c9e26
Separate the custom smileys from the regular smileys, and add a 'Manage'
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23136
diff
changeset
|
767 |
53b3c75c9e26
Separate the custom smileys from the regular smileys, and add a 'Manage'
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23136
diff
changeset
|
768 static void |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
769 insert_smiley_cb(GtkWidget *smiley, GtkIMHtmlToolbar *toolbar) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
770 { |
23153
7dccb11c5f1d
Put the 'manage' button outside the scrolling area.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23142
diff
changeset
|
771 GtkWidget *dialog, *vbox; |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
772 GtkWidget *smiley_table = NULL; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
773 GSList *smileys, *unique_smileys = NULL; |
23135
dfc99f5dec43
Patch from malu (mlundblad) to disable a regular smiley in the smiley
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23132
diff
changeset
|
774 const GSList *custom_smileys = NULL; |
23137
53b3c75c9e26
Separate the custom smileys from the regular smileys, and add a 'Manage'
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23136
diff
changeset
|
775 gboolean supports_custom = FALSE; |
23140
a372713e405c
Patch from Giulio 'Twain28' Pascali to make the smiley window scrollable.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23137
diff
changeset
|
776 GtkRequisition req; |
a372713e405c
Patch from Giulio 'Twain28' Pascali to make the smiley window scrollable.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23137
diff
changeset
|
777 GtkWidget *scrolled, *viewport; |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
778 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
779 if (!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(smiley))) { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
780 destroy_smiley_dialog(toolbar); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
781 gtk_widget_grab_focus(toolbar->imhtml); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
782 return; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
783 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
784 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
785 if (toolbar->sml) |
16202
0973688f4b74
Word on the street is that we don't want things named pidginfoo_bar(), but
Richard Laager <rlaager@wiktel.com>
parents:
16193
diff
changeset
|
786 smileys = pidgin_themes_get_proto_smileys(toolbar->sml); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
787 else |
16202
0973688f4b74
Word on the street is that we don't want things named pidginfoo_bar(), but
Richard Laager <rlaager@wiktel.com>
parents:
16193
diff
changeset
|
788 smileys = pidgin_themes_get_proto_smileys(NULL); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
789 |
23341
3cc64898bdbd
Do not disable default smileys with dupliate shortcuts if custom smileys
Marcus Lundblad <ml@update.uu.se>
parents:
23225
diff
changeset
|
790 /* Note: prepend smileys to list to avoid O(n^2) overhead when there is |
3cc64898bdbd
Do not disable default smileys with dupliate shortcuts if custom smileys
Marcus Lundblad <ml@update.uu.se>
parents:
23225
diff
changeset
|
791 a large number of smileys... need to revers the list after for the dialog |
3cc64898bdbd
Do not disable default smileys with dupliate shortcuts if custom smileys
Marcus Lundblad <ml@update.uu.se>
parents:
23225
diff
changeset
|
792 work... */ |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
793 while(smileys) { |
23135
dfc99f5dec43
Patch from malu (mlundblad) to disable a regular smiley in the smiley
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23132
diff
changeset
|
794 GtkIMHtmlSmiley *smiley = (GtkIMHtmlSmiley *) smileys->data; |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
795 if(!smiley->hidden) { |
23135
dfc99f5dec43
Patch from malu (mlundblad) to disable a regular smiley in the smiley
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23132
diff
changeset
|
796 if(smiley_is_unique(unique_smileys, smiley)) { |
23341
3cc64898bdbd
Do not disable default smileys with dupliate shortcuts if custom smileys
Marcus Lundblad <ml@update.uu.se>
parents:
23225
diff
changeset
|
797 unique_smileys = g_slist_prepend(unique_smileys, smiley); |
23135
dfc99f5dec43
Patch from malu (mlundblad) to disable a regular smiley in the smiley
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23132
diff
changeset
|
798 } |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
799 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
800 smileys = smileys->next; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
801 } |
23137
53b3c75c9e26
Separate the custom smileys from the regular smileys, and add a 'Manage'
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23136
diff
changeset
|
802 supports_custom = (gtk_imhtml_get_format_functions(GTK_IMHTML(toolbar->imhtml)) & GTK_IMHTML_CUSTOM_SMILEY); |
53b3c75c9e26
Separate the custom smileys from the regular smileys, and add a 'Manage'
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23136
diff
changeset
|
803 if (toolbar->imhtml && supports_custom) { |
23135
dfc99f5dec43
Patch from malu (mlundblad) to disable a regular smiley in the smiley
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23132
diff
changeset
|
804 const GSList *iterator = NULL; |
23131
9aa105267f46
Show the custom smileys only on accounts that support it. References
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23130
diff
changeset
|
805 custom_smileys = pidgin_smileys_get_all(); |
22311
02eda4bd2b22
Apply the custom smiley patches from #1187, from Jorge Villaseo (Masca) and
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
22093
diff
changeset
|
806 |
23135
dfc99f5dec43
Patch from malu (mlundblad) to disable a regular smiley in the smiley
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23132
diff
changeset
|
807 for (iterator = custom_smileys ; iterator ; |
dfc99f5dec43
Patch from malu (mlundblad) to disable a regular smiley in the smiley
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23132
diff
changeset
|
808 iterator = g_slist_next(iterator)) { |
dfc99f5dec43
Patch from malu (mlundblad) to disable a regular smiley in the smiley
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23132
diff
changeset
|
809 GtkIMHtmlSmiley *smiley = (GtkIMHtmlSmiley *) iterator->data; |
23341
3cc64898bdbd
Do not disable default smileys with dupliate shortcuts if custom smileys
Marcus Lundblad <ml@update.uu.se>
parents:
23225
diff
changeset
|
810 unique_smileys = g_slist_prepend(unique_smileys, smiley); |
23131
9aa105267f46
Show the custom smileys only on accounts that support it. References
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23130
diff
changeset
|
811 } |
22311
02eda4bd2b22
Apply the custom smiley patches from #1187, from Jorge Villaseo (Masca) and
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
22093
diff
changeset
|
812 } |
25924
584063555949
Remove trailing whitespace
Mark Doliner <mark@kingant.net>
parents:
24076
diff
changeset
|
813 |
23341
3cc64898bdbd
Do not disable default smileys with dupliate shortcuts if custom smileys
Marcus Lundblad <ml@update.uu.se>
parents:
23225
diff
changeset
|
814 /* we need to reverse the list to get the smileys in the correct order */ |
3cc64898bdbd
Do not disable default smileys with dupliate shortcuts if custom smileys
Marcus Lundblad <ml@update.uu.se>
parents:
23225
diff
changeset
|
815 unique_smileys = g_slist_reverse(unique_smileys); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
816 |
21971
07eb63fa0bdb
Modified patch from Gabriel (Sylar?) Schulof to deprecate PIDGIN_DIALOG. Closes #4535. (PS: I am aware of --author).
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21913
diff
changeset
|
817 dialog = pidgin_create_dialog(_("Smile!"), 0, "smiley_dialog", FALSE); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
818 gtk_window_set_position(GTK_WINDOW(dialog), GTK_WIN_POS_MOUSE); |
23153
7dccb11c5f1d
Put the 'manage' button outside the scrolling area.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23142
diff
changeset
|
819 vbox = pidgin_dialog_get_vbox_with_properties(GTK_DIALOG(dialog), FALSE, 0); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
820 |
15785
e926951e61fe
Don't use g_list_length() and g_slist_length() when all you want to
Mark Doliner <mark@kingant.net>
parents:
15559
diff
changeset
|
821 if (unique_smileys != NULL) { |
23137
53b3c75c9e26
Separate the custom smileys from the regular smileys, and add a 'Manage'
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23136
diff
changeset
|
822 struct smiley_button_list *ls; |
53b3c75c9e26
Separate the custom smileys from the regular smileys, and add a 'Manage'
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23136
diff
changeset
|
823 int max_line_width, num_lines, button_width = 0; |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
824 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
825 /* We use hboxes packed in a vbox */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
826 ls = NULL; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
827 max_line_width = 0; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
828 num_lines = floor(sqrt(g_slist_length(unique_smileys))); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
829 smiley_table = gtk_vbox_new(FALSE, 0); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
830 |
23137
53b3c75c9e26
Separate the custom smileys from the regular smileys, and add a 'Manage'
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23136
diff
changeset
|
831 if (supports_custom) { |
53b3c75c9e26
Separate the custom smileys from the regular smileys, and add a 'Manage'
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23136
diff
changeset
|
832 GtkWidget *manage = gtk_button_new_with_mnemonic(_("_Manage custom smileys")); |
53b3c75c9e26
Separate the custom smileys from the regular smileys, and add a 'Manage'
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23136
diff
changeset
|
833 GtkRequisition req; |
53b3c75c9e26
Separate the custom smileys from the regular smileys, and add a 'Manage'
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23136
diff
changeset
|
834 g_signal_connect(G_OBJECT(manage), "clicked", |
53b3c75c9e26
Separate the custom smileys from the regular smileys, and add a 'Manage'
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23136
diff
changeset
|
835 G_CALLBACK(pidgin_smiley_manager_show), NULL); |
53b3c75c9e26
Separate the custom smileys from the regular smileys, and add a 'Manage'
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23136
diff
changeset
|
836 g_signal_connect_swapped(G_OBJECT(manage), "clicked", |
53b3c75c9e26
Separate the custom smileys from the regular smileys, and add a 'Manage'
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23136
diff
changeset
|
837 G_CALLBACK(gtk_widget_destroy), dialog); |
23153
7dccb11c5f1d
Put the 'manage' button outside the scrolling area.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23142
diff
changeset
|
838 gtk_box_pack_end(GTK_BOX(vbox), manage, FALSE, TRUE, 0); |
23137
53b3c75c9e26
Separate the custom smileys from the regular smileys, and add a 'Manage'
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23136
diff
changeset
|
839 gtk_widget_size_request(manage, &req); |
53b3c75c9e26
Separate the custom smileys from the regular smileys, and add a 'Manage'
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23136
diff
changeset
|
840 button_width = req.width; |
53b3c75c9e26
Separate the custom smileys from the regular smileys, and add a 'Manage'
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23136
diff
changeset
|
841 } |
53b3c75c9e26
Separate the custom smileys from the regular smileys, and add a 'Manage'
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23136
diff
changeset
|
842 |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
843 /* create list of smileys sorted by height */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
844 while (unique_smileys) { |
23135
dfc99f5dec43
Patch from malu (mlundblad) to disable a regular smiley in the smiley
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23132
diff
changeset
|
845 GtkIMHtmlSmiley *smiley = (GtkIMHtmlSmiley *) unique_smileys->data; |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
846 if (!smiley->hidden) { |
23341
3cc64898bdbd
Do not disable default smileys with dupliate shortcuts if custom smileys
Marcus Lundblad <ml@update.uu.se>
parents:
23225
diff
changeset
|
847 ls = sort_smileys(ls, toolbar, &max_line_width, smiley); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
848 } |
22849
28005860d2c9
Plug a small memory leak in the smiley dialog, and use g_new0/g_free
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
22093
diff
changeset
|
849 unique_smileys = g_slist_delete_link(unique_smileys, unique_smileys); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
850 } |
23137
53b3c75c9e26
Separate the custom smileys from the regular smileys, and add a 'Manage'
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23136
diff
changeset
|
851 /* The window will be at least as wide as the 'Manage ..' button */ |
53b3c75c9e26
Separate the custom smileys from the regular smileys, and add a 'Manage'
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23136
diff
changeset
|
852 max_line_width = MAX(button_width, max_line_width / num_lines); |
53b3c75c9e26
Separate the custom smileys from the regular smileys, and add a 'Manage'
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23136
diff
changeset
|
853 |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
854 /* pack buttons of the list */ |
23137
53b3c75c9e26
Separate the custom smileys from the regular smileys, and add a 'Manage'
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23136
diff
changeset
|
855 add_smiley_list(smiley_table, ls, max_line_width, FALSE); |
53b3c75c9e26
Separate the custom smileys from the regular smileys, and add a 'Manage'
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23136
diff
changeset
|
856 if (supports_custom) { |
53b3c75c9e26
Separate the custom smileys from the regular smileys, and add a 'Manage'
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23136
diff
changeset
|
857 gtk_box_pack_start(GTK_BOX(smiley_table), gtk_hseparator_new(), TRUE, FALSE, 0); |
53b3c75c9e26
Separate the custom smileys from the regular smileys, and add a 'Manage'
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23136
diff
changeset
|
858 add_smiley_list(smiley_table, ls, max_line_width, TRUE); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
859 } |
23137
53b3c75c9e26
Separate the custom smileys from the regular smileys, and add a 'Manage'
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23136
diff
changeset
|
860 while (ls) { |
53b3c75c9e26
Separate the custom smileys from the regular smileys, and add a 'Manage'
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23136
diff
changeset
|
861 struct smiley_button_list *tmp = ls->next; |
53b3c75c9e26
Separate the custom smileys from the regular smileys, and add a 'Manage'
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23136
diff
changeset
|
862 g_free(ls); |
53b3c75c9e26
Separate the custom smileys from the regular smileys, and add a 'Manage'
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23136
diff
changeset
|
863 ls = tmp; |
53b3c75c9e26
Separate the custom smileys from the regular smileys, and add a 'Manage'
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23136
diff
changeset
|
864 } |
18389
0ef0b2ead713
Rework the smiley dialog close logic: Escape will always close the window.
Richard Laager <rlaager@wiktel.com>
parents:
18388
diff
changeset
|
865 |
0ef0b2ead713
Rework the smiley dialog close logic: Escape will always close the window.
Richard Laager <rlaager@wiktel.com>
parents:
18388
diff
changeset
|
866 gtk_widget_add_events(dialog, GDK_KEY_PRESS_MASK); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
867 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
868 else { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
869 smiley_table = gtk_label_new(_("This theme has no available smileys.")); |
18389
0ef0b2ead713
Rework the smiley dialog close logic: Escape will always close the window.
Richard Laager <rlaager@wiktel.com>
parents:
18388
diff
changeset
|
870 gtk_widget_add_events(dialog, GDK_KEY_PRESS_MASK | GDK_BUTTON_PRESS_MASK); |
0ef0b2ead713
Rework the smiley dialog close logic: Escape will always close the window.
Richard Laager <rlaager@wiktel.com>
parents:
18388
diff
changeset
|
871 g_signal_connect(G_OBJECT(dialog), "button-press-event", (GCallback)smiley_dialog_input_cb, toolbar); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
872 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
873 |
31367
917c597beb97
Add pidgin_make_scrollable and use it. Cleans up a bunch of duplicate code. Net code loss of 180 lines. Fixes #13073.
Gabriel Schulhof <nix@go-nix.ca>
parents:
31101
diff
changeset
|
874 |
917c597beb97
Add pidgin_make_scrollable and use it. Cleans up a bunch of duplicate code. Net code loss of 180 lines. Fixes #13073.
Gabriel Schulhof <nix@go-nix.ca>
parents:
31101
diff
changeset
|
875 scrolled = pidgin_make_scrollable(smiley_table, GTK_POLICY_NEVER, GTK_POLICY_NEVER, GTK_SHADOW_NONE, -1, -1); |
23153
7dccb11c5f1d
Put the 'manage' button outside the scrolling area.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23142
diff
changeset
|
876 gtk_box_pack_start(GTK_BOX(vbox), scrolled, TRUE, TRUE, 0); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
877 gtk_widget_show(smiley_table); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
878 |
23140
a372713e405c
Patch from Giulio 'Twain28' Pascali to make the smiley window scrollable.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23137
diff
changeset
|
879 viewport = gtk_widget_get_parent(smiley_table); |
a372713e405c
Patch from Giulio 'Twain28' Pascali to make the smiley window scrollable.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23137
diff
changeset
|
880 gtk_viewport_set_shadow_type(GTK_VIEWPORT(viewport), GTK_SHADOW_NONE); |
a372713e405c
Patch from Giulio 'Twain28' Pascali to make the smiley window scrollable.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23137
diff
changeset
|
881 |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
882 /* connect signals */ |
23137
53b3c75c9e26
Separate the custom smileys from the regular smileys, and add a 'Manage'
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23136
diff
changeset
|
883 g_signal_connect_swapped(G_OBJECT(dialog), "destroy", G_CALLBACK(close_smiley_dialog), toolbar); |
23140
a372713e405c
Patch from Giulio 'Twain28' Pascali to make the smiley window scrollable.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23137
diff
changeset
|
884 g_signal_connect(G_OBJECT(dialog), "key-press-event", G_CALLBACK(smiley_dialog_input_cb), toolbar); |
a372713e405c
Patch from Giulio 'Twain28' Pascali to make the smiley window scrollable.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23137
diff
changeset
|
885 |
a372713e405c
Patch from Giulio 'Twain28' Pascali to make the smiley window scrollable.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23137
diff
changeset
|
886 gtk_window_set_transient_for(GTK_WINDOW(dialog), |
a372713e405c
Patch from Giulio 'Twain28' Pascali to make the smiley window scrollable.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23137
diff
changeset
|
887 GTK_WINDOW(gtk_widget_get_toplevel(GTK_WIDGET(toolbar)))); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
888 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
889 /* show everything */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
890 gtk_widget_show_all(dialog); |
23140
a372713e405c
Patch from Giulio 'Twain28' Pascali to make the smiley window scrollable.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23137
diff
changeset
|
891 |
a372713e405c
Patch from Giulio 'Twain28' Pascali to make the smiley window scrollable.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23137
diff
changeset
|
892 gtk_widget_size_request(viewport, &req); |
23153
7dccb11c5f1d
Put the 'manage' button outside the scrolling area.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23142
diff
changeset
|
893 gtk_widget_set_size_request(scrolled, MIN(300, req.width), MIN(290, req.height)); |
23140
a372713e405c
Patch from Giulio 'Twain28' Pascali to make the smiley window scrollable.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23137
diff
changeset
|
894 |
a372713e405c
Patch from Giulio 'Twain28' Pascali to make the smiley window scrollable.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23137
diff
changeset
|
895 /* The window has to be made resizable, and the scrollbars in the scrolled window |
a372713e405c
Patch from Giulio 'Twain28' Pascali to make the smiley window scrollable.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23137
diff
changeset
|
896 * enabled only after setting the desired size of the window. If we do either of |
a372713e405c
Patch from Giulio 'Twain28' Pascali to make the smiley window scrollable.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23137
diff
changeset
|
897 * these tasks before now, GTK+ miscalculates the required size, and erronously |
a372713e405c
Patch from Giulio 'Twain28' Pascali to make the smiley window scrollable.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23137
diff
changeset
|
898 * makes one or both scrollbars visible (sometimes). |
a372713e405c
Patch from Giulio 'Twain28' Pascali to make the smiley window scrollable.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23137
diff
changeset
|
899 * I too think this hack is gross. But I couldn't find a better way -- sadrul */ |
a372713e405c
Patch from Giulio 'Twain28' Pascali to make the smiley window scrollable.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23137
diff
changeset
|
900 gtk_window_set_resizable(GTK_WINDOW(dialog), TRUE); |
31367
917c597beb97
Add pidgin_make_scrollable and use it. Cleans up a bunch of duplicate code. Net code loss of 180 lines. Fixes #13073.
Gabriel Schulhof <nix@go-nix.ca>
parents:
31101
diff
changeset
|
901 g_object_set(G_OBJECT(scrolled), |
917c597beb97
Add pidgin_make_scrollable and use it. Cleans up a bunch of duplicate code. Net code loss of 180 lines. Fixes #13073.
Gabriel Schulhof <nix@go-nix.ca>
parents:
31101
diff
changeset
|
902 "hscrollbar-policy", GTK_POLICY_AUTOMATIC, |
917c597beb97
Add pidgin_make_scrollable and use it. Cleans up a bunch of duplicate code. Net code loss of 180 lines. Fixes #13073.
Gabriel Schulhof <nix@go-nix.ca>
parents:
31101
diff
changeset
|
903 "vscrollbar-policy", GTK_POLICY_AUTOMATIC, |
917c597beb97
Add pidgin_make_scrollable and use it. Cleans up a bunch of duplicate code. Net code loss of 180 lines. Fixes #13073.
Gabriel Schulhof <nix@go-nix.ca>
parents:
31101
diff
changeset
|
904 NULL); |
23140
a372713e405c
Patch from Giulio 'Twain28' Pascali to make the smiley window scrollable.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
23137
diff
changeset
|
905 |
20657
c2c263d47534
Prevent the smiley window appearing outside of the working area on win32. Fixes #3261.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
20160
diff
changeset
|
906 #ifdef _WIN32 |
c2c263d47534
Prevent the smiley window appearing outside of the working area on win32. Fixes #3261.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
20160
diff
changeset
|
907 winpidgin_ensure_onscreen(dialog); |
c2c263d47534
Prevent the smiley window appearing outside of the working area on win32. Fixes #3261.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
20160
diff
changeset
|
908 #endif |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
909 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
910 toolbar->smiley_dialog = dialog; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
911 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
912 gtk_widget_grab_focus(toolbar->imhtml); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
913 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
914 |
29244
22b8a92fb5ee
Adds attention UI to Pidgin (can send attentions using a menu item)
Marcus Lundblad <ml@update.uu.se>
parents:
24076
diff
changeset
|
915 static void send_attention_cb(GtkWidget *attention, GtkIMHtmlToolbar *toolbar) |
22b8a92fb5ee
Adds attention UI to Pidgin (can send attentions using a menu item)
Marcus Lundblad <ml@update.uu.se>
parents:
24076
diff
changeset
|
916 { |
29307
28880022598c
Temporary workaround to not break ABI, to allow this in for 2.7.0
Marcus Lundblad <ml@update.uu.se>
parents:
29301
diff
changeset
|
917 PurpleConversation *conv = |
28880022598c
Temporary workaround to not break ABI, to allow this in for 2.7.0
Marcus Lundblad <ml@update.uu.se>
parents:
29301
diff
changeset
|
918 g_object_get_data(G_OBJECT(toolbar), "active_conv"); |
29249
bb9f7ba4f299
Added active conversation on GtkIMHtmlToolbar
Marcus Lundblad <ml@update.uu.se>
parents:
29247
diff
changeset
|
919 const gchar *who = purple_conversation_get_name(conv); |
32672
3828a61c44da
A boring and large patch so I can merge heads.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32658
diff
changeset
|
920 PurpleConnection *gc = purple_conversation_get_connection(conv); |
29307
28880022598c
Temporary workaround to not break ABI, to allow this in for 2.7.0
Marcus Lundblad <ml@update.uu.se>
parents:
29301
diff
changeset
|
921 |
28880022598c
Temporary workaround to not break ABI, to allow this in for 2.7.0
Marcus Lundblad <ml@update.uu.se>
parents:
29301
diff
changeset
|
922 toggle_button_set_active_block(GTK_TOGGLE_BUTTON(attention), FALSE, toolbar); |
29249
bb9f7ba4f299
Added active conversation on GtkIMHtmlToolbar
Marcus Lundblad <ml@update.uu.se>
parents:
29247
diff
changeset
|
923 purple_prpl_send_attention(gc, who, 0); |
30168
dd6575f20790
pidgin: Re-set focus after clicking on the attention button.
Marcus Lundblad <ml@update.uu.se>
parents:
30155
diff
changeset
|
924 gtk_widget_grab_focus(toolbar->imhtml); |
29244
22b8a92fb5ee
Adds attention UI to Pidgin (can send attentions using a menu item)
Marcus Lundblad <ml@update.uu.se>
parents:
24076
diff
changeset
|
925 } |
22b8a92fb5ee
Adds attention UI to Pidgin (can send attentions using a menu item)
Marcus Lundblad <ml@update.uu.se>
parents:
24076
diff
changeset
|
926 |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
927 static void update_buttons_cb(GtkIMHtml *imhtml, GtkIMHtmlButtons buttons, GtkIMHtmlToolbar *toolbar) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
928 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
929 gtk_widget_set_sensitive(GTK_WIDGET(toolbar->bold), buttons & GTK_IMHTML_BOLD); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
930 gtk_widget_set_sensitive(GTK_WIDGET(toolbar->italic), buttons & GTK_IMHTML_ITALIC); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
931 gtk_widget_set_sensitive(GTK_WIDGET(toolbar->underline), buttons & GTK_IMHTML_UNDERLINE); |
19541
5d178cf627e9
Update the strikethrough state and the buttons as appropriate. Fixes #2884.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19469
diff
changeset
|
932 gtk_widget_set_sensitive(GTK_WIDGET(toolbar->strikethrough), buttons & GTK_IMHTML_STRIKE); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
933 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
934 gtk_widget_set_sensitive(GTK_WIDGET(toolbar->larger_size), buttons & GTK_IMHTML_GROW); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
935 gtk_widget_set_sensitive(GTK_WIDGET(toolbar->smaller_size), buttons & GTK_IMHTML_SHRINK); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
936 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
937 gtk_widget_set_sensitive(GTK_WIDGET(toolbar->font), buttons & GTK_IMHTML_FACE); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
938 gtk_widget_set_sensitive(GTK_WIDGET(toolbar->fgcolor), buttons & GTK_IMHTML_FORECOLOR); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
939 gtk_widget_set_sensitive(GTK_WIDGET(toolbar->bgcolor), buttons & GTK_IMHTML_BACKCOLOR); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
940 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
941 gtk_widget_set_sensitive(GTK_WIDGET(toolbar->clear), |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
942 (buttons & GTK_IMHTML_BOLD || |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
943 buttons & GTK_IMHTML_ITALIC || |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
944 buttons & GTK_IMHTML_UNDERLINE || |
19541
5d178cf627e9
Update the strikethrough state and the buttons as appropriate. Fixes #2884.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19469
diff
changeset
|
945 buttons & GTK_IMHTML_STRIKE || |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
946 buttons & GTK_IMHTML_GROW || |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
947 buttons & GTK_IMHTML_SHRINK || |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
948 buttons & GTK_IMHTML_FACE || |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
949 buttons & GTK_IMHTML_FORECOLOR || |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
950 buttons & GTK_IMHTML_BACKCOLOR)); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
951 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
952 gtk_widget_set_sensitive(GTK_WIDGET(toolbar->image), buttons & GTK_IMHTML_IMAGE); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
953 gtk_widget_set_sensitive(GTK_WIDGET(toolbar->link), buttons & GTK_IMHTML_LINK); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
954 gtk_widget_set_sensitive(GTK_WIDGET(toolbar->smiley), buttons & GTK_IMHTML_SMILEY); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
955 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
956 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
957 /* we call this when we want to _set_active the toggle button, it'll |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
958 * block the callback thats connected to the button so we don't have to |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
959 * do the double toggling hack |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
960 */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
961 static void toggle_button_set_active_block(GtkToggleButton *button, |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
962 gboolean is_active, |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
963 GtkIMHtmlToolbar *toolbar) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
964 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
965 GObject *object; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
966 g_return_if_fail(toolbar); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
967 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
968 object = g_object_ref(button); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
969 g_signal_handlers_block_matched(object, G_SIGNAL_MATCH_DATA, |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
970 0, 0, NULL, NULL, toolbar); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
971 gtk_toggle_button_set_active(button, is_active); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
972 g_signal_handlers_unblock_matched(object, G_SIGNAL_MATCH_DATA, |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
973 0, 0, NULL, NULL, toolbar); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
974 g_object_unref(object); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
975 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
976 |
17984
a2c36e2010f1
Fix some stuff of bugs in the new toolbar.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17432
diff
changeset
|
977 static void update_buttons(GtkIMHtmlToolbar *toolbar) |
a2c36e2010f1
Fix some stuff of bugs in the new toolbar.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17432
diff
changeset
|
978 { |
19541
5d178cf627e9
Update the strikethrough state and the buttons as appropriate. Fixes #2884.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19469
diff
changeset
|
979 gboolean bold, italic, underline, strike; |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
980 char *tmp; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
981 char *tmp2; |
18773
900b13e40471
Show current outgoing conversation formatting on the font label on
Ka-Hing Cheung <khc@hxbc.us>
parents:
18766
diff
changeset
|
982 GtkLabel *label = g_object_get_data(G_OBJECT(toolbar), "font_label"); |
900b13e40471
Show current outgoing conversation formatting on the font label on
Ka-Hing Cheung <khc@hxbc.us>
parents:
18766
diff
changeset
|
983 |
900b13e40471
Show current outgoing conversation formatting on the font label on
Ka-Hing Cheung <khc@hxbc.us>
parents:
18766
diff
changeset
|
984 gtk_label_set_label(label, _("_Font")); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
985 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
986 gtk_imhtml_get_current_format(GTK_IMHTML(toolbar->imhtml), |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
987 &bold, &italic, &underline); |
19541
5d178cf627e9
Update the strikethrough state and the buttons as appropriate. Fixes #2884.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19469
diff
changeset
|
988 strike = GTK_IMHTML(toolbar->imhtml)->edit.strike; |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
989 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
990 if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(toolbar->bold)) != bold) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
991 toggle_button_set_active_block(GTK_TOGGLE_BUTTON(toolbar->bold), bold, |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
992 toolbar); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
993 if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(toolbar->italic)) != italic) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
994 toggle_button_set_active_block(GTK_TOGGLE_BUTTON(toolbar->italic), italic, |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
995 toolbar); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
996 if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(toolbar->underline)) != underline) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
997 toggle_button_set_active_block(GTK_TOGGLE_BUTTON(toolbar->underline), |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
998 underline, toolbar); |
19541
5d178cf627e9
Update the strikethrough state and the buttons as appropriate. Fixes #2884.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19469
diff
changeset
|
999 if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(toolbar->strikethrough)) != strike) |
5d178cf627e9
Update the strikethrough state and the buttons as appropriate. Fixes #2884.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19469
diff
changeset
|
1000 toggle_button_set_active_block(GTK_TOGGLE_BUTTON(toolbar->strikethrough), |
5d178cf627e9
Update the strikethrough state and the buttons as appropriate. Fixes #2884.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19469
diff
changeset
|
1001 strike, toolbar); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1002 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1003 /* These buttons aren't ever "active". */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1004 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(toolbar->smaller_size), FALSE); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1005 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(toolbar->larger_size), FALSE); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1006 |
18773
900b13e40471
Show current outgoing conversation formatting on the font label on
Ka-Hing Cheung <khc@hxbc.us>
parents:
18766
diff
changeset
|
1007 if (bold) { |
900b13e40471
Show current outgoing conversation formatting on the font label on
Ka-Hing Cheung <khc@hxbc.us>
parents:
18766
diff
changeset
|
1008 gchar *markup = g_strdup_printf("<b>%s</b>", |
900b13e40471
Show current outgoing conversation formatting on the font label on
Ka-Hing Cheung <khc@hxbc.us>
parents:
18766
diff
changeset
|
1009 gtk_label_get_label(label)); |
900b13e40471
Show current outgoing conversation formatting on the font label on
Ka-Hing Cheung <khc@hxbc.us>
parents:
18766
diff
changeset
|
1010 gtk_label_set_markup_with_mnemonic(label, markup); |
900b13e40471
Show current outgoing conversation formatting on the font label on
Ka-Hing Cheung <khc@hxbc.us>
parents:
18766
diff
changeset
|
1011 g_free(markup); |
900b13e40471
Show current outgoing conversation formatting on the font label on
Ka-Hing Cheung <khc@hxbc.us>
parents:
18766
diff
changeset
|
1012 } |
900b13e40471
Show current outgoing conversation formatting on the font label on
Ka-Hing Cheung <khc@hxbc.us>
parents:
18766
diff
changeset
|
1013 if (italic) { |
900b13e40471
Show current outgoing conversation formatting on the font label on
Ka-Hing Cheung <khc@hxbc.us>
parents:
18766
diff
changeset
|
1014 gchar *markup = g_strdup_printf("<i>%s</i>", |
900b13e40471
Show current outgoing conversation formatting on the font label on
Ka-Hing Cheung <khc@hxbc.us>
parents:
18766
diff
changeset
|
1015 gtk_label_get_label(label)); |
900b13e40471
Show current outgoing conversation formatting on the font label on
Ka-Hing Cheung <khc@hxbc.us>
parents:
18766
diff
changeset
|
1016 gtk_label_set_markup_with_mnemonic(label, markup); |
900b13e40471
Show current outgoing conversation formatting on the font label on
Ka-Hing Cheung <khc@hxbc.us>
parents:
18766
diff
changeset
|
1017 g_free(markup); |
900b13e40471
Show current outgoing conversation formatting on the font label on
Ka-Hing Cheung <khc@hxbc.us>
parents:
18766
diff
changeset
|
1018 } |
900b13e40471
Show current outgoing conversation formatting on the font label on
Ka-Hing Cheung <khc@hxbc.us>
parents:
18766
diff
changeset
|
1019 if (underline) { |
900b13e40471
Show current outgoing conversation formatting on the font label on
Ka-Hing Cheung <khc@hxbc.us>
parents:
18766
diff
changeset
|
1020 gchar *markup = g_strdup_printf("<u>%s</u>", |
900b13e40471
Show current outgoing conversation formatting on the font label on
Ka-Hing Cheung <khc@hxbc.us>
parents:
18766
diff
changeset
|
1021 gtk_label_get_label(label)); |
900b13e40471
Show current outgoing conversation formatting on the font label on
Ka-Hing Cheung <khc@hxbc.us>
parents:
18766
diff
changeset
|
1022 gtk_label_set_markup_with_mnemonic(label, markup); |
900b13e40471
Show current outgoing conversation formatting on the font label on
Ka-Hing Cheung <khc@hxbc.us>
parents:
18766
diff
changeset
|
1023 g_free(markup); |
900b13e40471
Show current outgoing conversation formatting on the font label on
Ka-Hing Cheung <khc@hxbc.us>
parents:
18766
diff
changeset
|
1024 } |
19541
5d178cf627e9
Update the strikethrough state and the buttons as appropriate. Fixes #2884.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19469
diff
changeset
|
1025 if (strike) { |
5d178cf627e9
Update the strikethrough state and the buttons as appropriate. Fixes #2884.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19469
diff
changeset
|
1026 gchar *markup = g_strdup_printf("<s>%s</s>", |
5d178cf627e9
Update the strikethrough state and the buttons as appropriate. Fixes #2884.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19469
diff
changeset
|
1027 gtk_label_get_label(label)); |
5d178cf627e9
Update the strikethrough state and the buttons as appropriate. Fixes #2884.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19469
diff
changeset
|
1028 gtk_label_set_markup_with_mnemonic(label, markup); |
5d178cf627e9
Update the strikethrough state and the buttons as appropriate. Fixes #2884.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19469
diff
changeset
|
1029 g_free(markup); |
5d178cf627e9
Update the strikethrough state and the buttons as appropriate. Fixes #2884.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19469
diff
changeset
|
1030 } |
18773
900b13e40471
Show current outgoing conversation formatting on the font label on
Ka-Hing Cheung <khc@hxbc.us>
parents:
18766
diff
changeset
|
1031 |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1032 tmp = gtk_imhtml_get_current_fontface(GTK_IMHTML(toolbar->imhtml)); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1033 toggle_button_set_active_block(GTK_TOGGLE_BUTTON(toolbar->font), |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1034 (tmp != NULL), toolbar); |
18773
900b13e40471
Show current outgoing conversation formatting on the font label on
Ka-Hing Cheung <khc@hxbc.us>
parents:
18766
diff
changeset
|
1035 if (tmp != NULL) { |
900b13e40471
Show current outgoing conversation formatting on the font label on
Ka-Hing Cheung <khc@hxbc.us>
parents:
18766
diff
changeset
|
1036 gchar *markup = g_strdup_printf("<span font_desc=\"%s\">%s</span>", |
900b13e40471
Show current outgoing conversation formatting on the font label on
Ka-Hing Cheung <khc@hxbc.us>
parents:
18766
diff
changeset
|
1037 tmp, gtk_label_get_label(label)); |
900b13e40471
Show current outgoing conversation formatting on the font label on
Ka-Hing Cheung <khc@hxbc.us>
parents:
18766
diff
changeset
|
1038 gtk_label_set_markup_with_mnemonic(label, markup); |
900b13e40471
Show current outgoing conversation formatting on the font label on
Ka-Hing Cheung <khc@hxbc.us>
parents:
18766
diff
changeset
|
1039 g_free(markup); |
900b13e40471
Show current outgoing conversation formatting on the font label on
Ka-Hing Cheung <khc@hxbc.us>
parents:
18766
diff
changeset
|
1040 } |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1041 g_free(tmp); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1042 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1043 tmp = gtk_imhtml_get_current_forecolor(GTK_IMHTML(toolbar->imhtml)); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1044 toggle_button_set_active_block(GTK_TOGGLE_BUTTON(toolbar->fgcolor), |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1045 (tmp != NULL), toolbar); |
18773
900b13e40471
Show current outgoing conversation formatting on the font label on
Ka-Hing Cheung <khc@hxbc.us>
parents:
18766
diff
changeset
|
1046 if (tmp != NULL) { |
900b13e40471
Show current outgoing conversation formatting on the font label on
Ka-Hing Cheung <khc@hxbc.us>
parents:
18766
diff
changeset
|
1047 gchar *markup = g_strdup_printf("<span foreground=\"%s\">%s</span>", |
900b13e40471
Show current outgoing conversation formatting on the font label on
Ka-Hing Cheung <khc@hxbc.us>
parents:
18766
diff
changeset
|
1048 tmp, gtk_label_get_label(label)); |
900b13e40471
Show current outgoing conversation formatting on the font label on
Ka-Hing Cheung <khc@hxbc.us>
parents:
18766
diff
changeset
|
1049 gtk_label_set_markup_with_mnemonic(label, markup); |
900b13e40471
Show current outgoing conversation formatting on the font label on
Ka-Hing Cheung <khc@hxbc.us>
parents:
18766
diff
changeset
|
1050 g_free(markup); |
900b13e40471
Show current outgoing conversation formatting on the font label on
Ka-Hing Cheung <khc@hxbc.us>
parents:
18766
diff
changeset
|
1051 } |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1052 g_free(tmp); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1053 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1054 tmp = gtk_imhtml_get_current_backcolor(GTK_IMHTML(toolbar->imhtml)); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1055 tmp2 = gtk_imhtml_get_current_background(GTK_IMHTML(toolbar->imhtml)); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1056 toggle_button_set_active_block(GTK_TOGGLE_BUTTON(toolbar->bgcolor), |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1057 (tmp != NULL || tmp2 != NULL), toolbar); |
18773
900b13e40471
Show current outgoing conversation formatting on the font label on
Ka-Hing Cheung <khc@hxbc.us>
parents:
18766
diff
changeset
|
1058 if (tmp != NULL) { |
900b13e40471
Show current outgoing conversation formatting on the font label on
Ka-Hing Cheung <khc@hxbc.us>
parents:
18766
diff
changeset
|
1059 gchar *markup = g_strdup_printf("<span background=\"%s\">%s</span>", |
900b13e40471
Show current outgoing conversation formatting on the font label on
Ka-Hing Cheung <khc@hxbc.us>
parents:
18766
diff
changeset
|
1060 tmp, gtk_label_get_label(label)); |
900b13e40471
Show current outgoing conversation formatting on the font label on
Ka-Hing Cheung <khc@hxbc.us>
parents:
18766
diff
changeset
|
1061 gtk_label_set_markup_with_mnemonic(label, markup); |
900b13e40471
Show current outgoing conversation formatting on the font label on
Ka-Hing Cheung <khc@hxbc.us>
parents:
18766
diff
changeset
|
1062 g_free(markup); |
900b13e40471
Show current outgoing conversation formatting on the font label on
Ka-Hing Cheung <khc@hxbc.us>
parents:
18766
diff
changeset
|
1063 } |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1064 g_free(tmp); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1065 g_free(tmp2); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1066 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1067 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1068 static void toggle_button_cb(GtkIMHtml *imhtml, GtkIMHtmlButtons buttons, GtkIMHtmlToolbar *toolbar) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1069 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1070 update_buttons(toolbar); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1071 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1072 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1073 static void update_format_cb(GtkIMHtml *imhtml, GtkIMHtmlToolbar *toolbar) { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1074 update_buttons(toolbar); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1075 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1076 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1077 static void mark_set_cb(GtkTextBuffer *buffer, GtkTextIter *location, |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1078 GtkTextMark *mark, GtkIMHtmlToolbar *toolbar) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1079 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1080 if(mark != gtk_text_buffer_get_insert(buffer)) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1081 return; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1082 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1083 update_buttons(toolbar); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1084 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1085 |
17416
c1d67fef5eb3
Re-did the toolbar layout to take up less room. This is what we generally agreed to on devel@. I managed to do this, amazingly, not only without breaking Pidgin plugin API compatibility, but it doesn't even add any API. This is still totally raw; I'm comitting it mostly so I can continue it easily from hmoe
Sean Egan <seanegan@gmail.com>
parents:
17348
diff
changeset
|
1086 |
c1d67fef5eb3
Re-did the toolbar layout to take up less room. This is what we generally agreed to on devel@. I managed to do this, amazingly, not only without breaking Pidgin plugin API compatibility, but it doesn't even add any API. This is still totally raw; I'm comitting it mostly so I can continue it easily from hmoe
Sean Egan <seanegan@gmail.com>
parents:
17348
diff
changeset
|
1087 /* This comes from gtkmenutoolbutton.c from gtk+ |
c1d67fef5eb3
Re-did the toolbar layout to take up less room. This is what we generally agreed to on devel@. I managed to do this, amazingly, not only without breaking Pidgin plugin API compatibility, but it doesn't even add any API. This is still totally raw; I'm comitting it mostly so I can continue it easily from hmoe
Sean Egan <seanegan@gmail.com>
parents:
17348
diff
changeset
|
1088 * Copyright (C) 2003 Ricardo Fernandez Pascual |
c1d67fef5eb3
Re-did the toolbar layout to take up less room. This is what we generally agreed to on devel@. I managed to do this, amazingly, not only without breaking Pidgin plugin API compatibility, but it doesn't even add any API. This is still totally raw; I'm comitting it mostly so I can continue it easily from hmoe
Sean Egan <seanegan@gmail.com>
parents:
17348
diff
changeset
|
1089 * Copyright (C) 2004 Paolo Borelli |
c1d67fef5eb3
Re-did the toolbar layout to take up less room. This is what we generally agreed to on devel@. I managed to do this, amazingly, not only without breaking Pidgin plugin API compatibility, but it doesn't even add any API. This is still totally raw; I'm comitting it mostly so I can continue it easily from hmoe
Sean Egan <seanegan@gmail.com>
parents:
17348
diff
changeset
|
1090 */ |
17432
4d53ccae32b0
Fix a compile error and kill a bucket full of compile warnings
Stu Tomlinson <stu@nosnilmot.com>
parents:
17416
diff
changeset
|
1091 static void |
17416
c1d67fef5eb3
Re-did the toolbar layout to take up less room. This is what we generally agreed to on devel@. I managed to do this, amazingly, not only without breaking Pidgin plugin API compatibility, but it doesn't even add any API. This is still totally raw; I'm comitting it mostly so I can continue it easily from hmoe
Sean Egan <seanegan@gmail.com>
parents:
17348
diff
changeset
|
1092 menu_position_func (GtkMenu *menu, |
c1d67fef5eb3
Re-did the toolbar layout to take up less room. This is what we generally agreed to on devel@. I managed to do this, amazingly, not only without breaking Pidgin plugin API compatibility, but it doesn't even add any API. This is still totally raw; I'm comitting it mostly so I can continue it easily from hmoe
Sean Egan <seanegan@gmail.com>
parents:
17348
diff
changeset
|
1093 int *x, |
c1d67fef5eb3
Re-did the toolbar layout to take up less room. This is what we generally agreed to on devel@. I managed to do this, amazingly, not only without breaking Pidgin plugin API compatibility, but it doesn't even add any API. This is still totally raw; I'm comitting it mostly so I can continue it easily from hmoe
Sean Egan <seanegan@gmail.com>
parents:
17348
diff
changeset
|
1094 int *y, |
c1d67fef5eb3
Re-did the toolbar layout to take up less room. This is what we generally agreed to on devel@. I managed to do this, amazingly, not only without breaking Pidgin plugin API compatibility, but it doesn't even add any API. This is still totally raw; I'm comitting it mostly so I can continue it easily from hmoe
Sean Egan <seanegan@gmail.com>
parents:
17348
diff
changeset
|
1095 gboolean *push_in, |
17984
a2c36e2010f1
Fix some stuff of bugs in the new toolbar.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17432
diff
changeset
|
1096 gpointer data) |
17416
c1d67fef5eb3
Re-did the toolbar layout to take up less room. This is what we generally agreed to on devel@. I managed to do this, amazingly, not only without breaking Pidgin plugin API compatibility, but it doesn't even add any API. This is still totally raw; I'm comitting it mostly so I can continue it easily from hmoe
Sean Egan <seanegan@gmail.com>
parents:
17348
diff
changeset
|
1097 { |
18166
afeb35205669
Reduce code duplication and keep gtk 2.0 compatibility by making
Stu Tomlinson <stu@nosnilmot.com>
parents:
18113
diff
changeset
|
1098 GtkWidget *widget = GTK_WIDGET(data); |
17984
a2c36e2010f1
Fix some stuff of bugs in the new toolbar.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17432
diff
changeset
|
1099 GtkRequisition menu_req; |
32672
3828a61c44da
A boring and large patch so I can merge heads.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32658
diff
changeset
|
1100 gint ythickness = widget->style->ythickness; |
18166
afeb35205669
Reduce code duplication and keep gtk 2.0 compatibility by making
Stu Tomlinson <stu@nosnilmot.com>
parents:
18113
diff
changeset
|
1101 int savy; |
17416
c1d67fef5eb3
Re-did the toolbar layout to take up less room. This is what we generally agreed to on devel@. I managed to do this, amazingly, not only without breaking Pidgin plugin API compatibility, but it doesn't even add any API. This is still totally raw; I'm comitting it mostly so I can continue it easily from hmoe
Sean Egan <seanegan@gmail.com>
parents:
17348
diff
changeset
|
1102 |
18166
afeb35205669
Reduce code duplication and keep gtk 2.0 compatibility by making
Stu Tomlinson <stu@nosnilmot.com>
parents:
18113
diff
changeset
|
1103 gtk_widget_size_request(GTK_WIDGET (menu), &menu_req); |
32672
3828a61c44da
A boring and large patch so I can merge heads.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32658
diff
changeset
|
1104 gdk_window_get_origin(widget->window, x, y); |
3828a61c44da
A boring and large patch so I can merge heads.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32658
diff
changeset
|
1105 *x += widget->allocation.x; |
3828a61c44da
A boring and large patch so I can merge heads.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32658
diff
changeset
|
1106 *y += widget->allocation.y + widget->allocation.height; |
18166
afeb35205669
Reduce code duplication and keep gtk 2.0 compatibility by making
Stu Tomlinson <stu@nosnilmot.com>
parents:
18113
diff
changeset
|
1107 savy = *y; |
17416
c1d67fef5eb3
Re-did the toolbar layout to take up less room. This is what we generally agreed to on devel@. I managed to do this, amazingly, not only without breaking Pidgin plugin API compatibility, but it doesn't even add any API. This is still totally raw; I'm comitting it mostly so I can continue it easily from hmoe
Sean Egan <seanegan@gmail.com>
parents:
17348
diff
changeset
|
1108 |
18166
afeb35205669
Reduce code duplication and keep gtk 2.0 compatibility by making
Stu Tomlinson <stu@nosnilmot.com>
parents:
18113
diff
changeset
|
1109 pidgin_menu_position_func_helper(menu, x, y, push_in, data); |
afeb35205669
Reduce code duplication and keep gtk 2.0 compatibility by making
Stu Tomlinson <stu@nosnilmot.com>
parents:
18113
diff
changeset
|
1110 |
afeb35205669
Reduce code duplication and keep gtk 2.0 compatibility by making
Stu Tomlinson <stu@nosnilmot.com>
parents:
18113
diff
changeset
|
1111 if (savy > *y + ythickness + 1) |
32672
3828a61c44da
A boring and large patch so I can merge heads.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32658
diff
changeset
|
1112 *y -= widget->allocation.height; |
17416
c1d67fef5eb3
Re-did the toolbar layout to take up less room. This is what we generally agreed to on devel@. I managed to do this, amazingly, not only without breaking Pidgin plugin API compatibility, but it doesn't even add any API. This is still totally raw; I'm comitting it mostly so I can continue it easily from hmoe
Sean Egan <seanegan@gmail.com>
parents:
17348
diff
changeset
|
1113 } |
c1d67fef5eb3
Re-did the toolbar layout to take up less room. This is what we generally agreed to on devel@. I managed to do this, amazingly, not only without breaking Pidgin plugin API compatibility, but it doesn't even add any API. This is still totally raw; I'm comitting it mostly so I can continue it easily from hmoe
Sean Egan <seanegan@gmail.com>
parents:
17348
diff
changeset
|
1114 |
30155
7a28e9b12038
Do not trigger the formatting toolbar buttons on right-click.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
29326
diff
changeset
|
1115 static gboolean |
7a28e9b12038
Do not trigger the formatting toolbar buttons on right-click.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
29326
diff
changeset
|
1116 button_activate_on_click(GtkWidget *button, GdkEventButton *event, GtkIMHtmlToolbar *toolbar) |
7a28e9b12038
Do not trigger the formatting toolbar buttons on right-click.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
29326
diff
changeset
|
1117 { |
7a28e9b12038
Do not trigger the formatting toolbar buttons on right-click.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
29326
diff
changeset
|
1118 if (event->button == 1 && GTK_IS_TOGGLE_BUTTON(button)) |
7a28e9b12038
Do not trigger the formatting toolbar buttons on right-click.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
29326
diff
changeset
|
1119 gtk_widget_activate(button); |
7a28e9b12038
Do not trigger the formatting toolbar buttons on right-click.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
29326
diff
changeset
|
1120 else if (event->button == 3) |
7a28e9b12038
Do not trigger the formatting toolbar buttons on right-click.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
29326
diff
changeset
|
1121 return gtk_imhtmltoolbar_popup_menu(button, event, toolbar); |
7a28e9b12038
Do not trigger the formatting toolbar buttons on right-click.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
29326
diff
changeset
|
1122 return FALSE; |
7a28e9b12038
Do not trigger the formatting toolbar buttons on right-click.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
29326
diff
changeset
|
1123 } |
7a28e9b12038
Do not trigger the formatting toolbar buttons on right-click.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
29326
diff
changeset
|
1124 |
18851
9998470a01de
The hotkeys should popup the menu.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
18838
diff
changeset
|
1125 static void pidgin_menu_clicked(GtkWidget *button, GtkMenu *menu) |
17984
a2c36e2010f1
Fix some stuff of bugs in the new toolbar.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17432
diff
changeset
|
1126 { |
18802
5a5ca6438308
show toolbar menu on button press, rather than button release. Fixes #2352
Sean Egan <seanegan@gmail.com>
parents:
18794
diff
changeset
|
1127 gtk_widget_show_all(GTK_WIDGET(menu)); |
5a5ca6438308
show toolbar menu on button press, rather than button release. Fixes #2352
Sean Egan <seanegan@gmail.com>
parents:
18794
diff
changeset
|
1128 gtk_menu_popup(menu, NULL, NULL, menu_position_func, button, 0, gtk_get_current_event_time()); |
17416
c1d67fef5eb3
Re-did the toolbar layout to take up less room. This is what we generally agreed to on devel@. I managed to do this, amazingly, not only without breaking Pidgin plugin API compatibility, but it doesn't even add any API. This is still totally raw; I'm comitting it mostly so I can continue it easily from hmoe
Sean Egan <seanegan@gmail.com>
parents:
17348
diff
changeset
|
1129 } |
c1d67fef5eb3
Re-did the toolbar layout to take up less room. This is what we generally agreed to on devel@. I managed to do this, amazingly, not only without breaking Pidgin plugin API compatibility, but it doesn't even add any API. This is still totally raw; I'm comitting it mostly so I can continue it easily from hmoe
Sean Egan <seanegan@gmail.com>
parents:
17348
diff
changeset
|
1130 |
17984
a2c36e2010f1
Fix some stuff of bugs in the new toolbar.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17432
diff
changeset
|
1131 static void pidgin_menu_deactivate(GtkWidget *menu, GtkToggleButton *button) |
a2c36e2010f1
Fix some stuff of bugs in the new toolbar.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17432
diff
changeset
|
1132 { |
17416
c1d67fef5eb3
Re-did the toolbar layout to take up less room. This is what we generally agreed to on devel@. I managed to do this, amazingly, not only without breaking Pidgin plugin API compatibility, but it doesn't even add any API. This is still totally raw; I'm comitting it mostly so I can continue it easily from hmoe
Sean Egan <seanegan@gmail.com>
parents:
17348
diff
changeset
|
1133 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), FALSE); |
c1d67fef5eb3
Re-did the toolbar layout to take up less room. This is what we generally agreed to on devel@. I managed to do this, amazingly, not only without breaking Pidgin plugin API compatibility, but it doesn't even add any API. This is still totally raw; I'm comitting it mostly so I can continue it easily from hmoe
Sean Egan <seanegan@gmail.com>
parents:
17348
diff
changeset
|
1134 } |
c1d67fef5eb3
Re-did the toolbar layout to take up less room. This is what we generally agreed to on devel@. I managed to do this, amazingly, not only without breaking Pidgin plugin API compatibility, but it doesn't even add any API. This is still totally raw; I'm comitting it mostly so I can continue it easily from hmoe
Sean Egan <seanegan@gmail.com>
parents:
17348
diff
changeset
|
1135 |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1136 enum { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1137 LAST_SIGNAL |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1138 }; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1139 /* static guint signals [LAST_SIGNAL] = { 0 }; */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1140 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1141 static void |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1142 gtk_imhtmltoolbar_finalize (GObject *object) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1143 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1144 GtkIMHtmlToolbar *toolbar = GTK_IMHTMLTOOLBAR(object); |
18778
38bac267bf8e
Clean up the font and insert menus when the imhtmltoolbar is disposed of. This fixes a leak (and the crash in #2385). Fixes #2385.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
18773
diff
changeset
|
1145 GtkWidget *menu; |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1146 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1147 if (toolbar->image_dialog != NULL) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1148 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1149 gtk_widget_destroy(toolbar->image_dialog); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1150 toolbar->image_dialog = NULL; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1151 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1152 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1153 destroy_toolbar_font(NULL, NULL, toolbar); |
23225
1bdf8223ba45
Prevent a crash when the imhtmltoolbar is disposed and the smiley dialog is open.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
23153
diff
changeset
|
1154 if (toolbar->smiley_dialog != NULL) { |
1bdf8223ba45
Prevent a crash when the imhtmltoolbar is disposed and the smiley dialog is open.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
23153
diff
changeset
|
1155 g_signal_handlers_disconnect_by_func(G_OBJECT(toolbar->smiley_dialog), close_smiley_dialog, toolbar); |
1bdf8223ba45
Prevent a crash when the imhtmltoolbar is disposed and the smiley dialog is open.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
23153
diff
changeset
|
1156 destroy_smiley_dialog(toolbar); |
1bdf8223ba45
Prevent a crash when the imhtmltoolbar is disposed and the smiley dialog is open.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
23153
diff
changeset
|
1157 } |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1158 destroy_toolbar_bgcolor(NULL, NULL, toolbar); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1159 destroy_toolbar_fgcolor(NULL, NULL, toolbar); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1160 close_link_dialog(toolbar); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1161 if (toolbar->imhtml) { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1162 g_signal_handlers_disconnect_matched(toolbar->imhtml, |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1163 G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1164 toolbar); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1165 g_signal_handlers_disconnect_matched(GTK_IMHTML(toolbar->imhtml)->text_buffer, |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1166 G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1167 toolbar); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1168 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1169 |
24076
8777560c1d9f
Use the correct free() function.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
23389
diff
changeset
|
1170 g_free(toolbar->sml); |
32566
e84bdaa9d227
Replace GtkTooltips code with GtkTooltip on GTK+ 2.12+.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26352
diff
changeset
|
1171 #if !GTK_CHECK_VERSION(2,12,0) |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1172 gtk_object_sink(GTK_OBJECT(toolbar->tooltips)); |
32566
e84bdaa9d227
Replace GtkTooltips code with GtkTooltip on GTK+ 2.12+.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26352
diff
changeset
|
1173 #endif |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1174 |
18778
38bac267bf8e
Clean up the font and insert menus when the imhtmltoolbar is disposed of. This fixes a leak (and the crash in #2385). Fixes #2385.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
18773
diff
changeset
|
1175 menu = g_object_get_data(object, "font_menu"); |
38bac267bf8e
Clean up the font and insert menus when the imhtmltoolbar is disposed of. This fixes a leak (and the crash in #2385). Fixes #2385.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
18773
diff
changeset
|
1176 if (menu) |
38bac267bf8e
Clean up the font and insert menus when the imhtmltoolbar is disposed of. This fixes a leak (and the crash in #2385). Fixes #2385.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
18773
diff
changeset
|
1177 gtk_widget_destroy(menu); |
38bac267bf8e
Clean up the font and insert menus when the imhtmltoolbar is disposed of. This fixes a leak (and the crash in #2385). Fixes #2385.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
18773
diff
changeset
|
1178 menu = g_object_get_data(object, "insert_menu"); |
38bac267bf8e
Clean up the font and insert menus when the imhtmltoolbar is disposed of. This fixes a leak (and the crash in #2385). Fixes #2385.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
18773
diff
changeset
|
1179 if (menu) |
38bac267bf8e
Clean up the font and insert menus when the imhtmltoolbar is disposed of. This fixes a leak (and the crash in #2385). Fixes #2385.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
18773
diff
changeset
|
1180 gtk_widget_destroy(menu); |
38bac267bf8e
Clean up the font and insert menus when the imhtmltoolbar is disposed of. This fixes a leak (and the crash in #2385). Fixes #2385.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
18773
diff
changeset
|
1181 |
19586
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1182 purple_prefs_disconnect_by_handle(object); |
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1183 |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1184 G_OBJECT_CLASS(parent_class)->finalize (object); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1185 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1186 |
19586
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1187 static void |
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1188 switch_toolbar_view(GtkWidget *item, GtkIMHtmlToolbar *toolbar) |
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1189 { |
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1190 purple_prefs_set_bool(PIDGIN_PREFS_ROOT "/conversations/toolbar/wide", |
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1191 !purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/conversations/toolbar/wide")); |
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1192 } |
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1193 |
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1194 static gboolean |
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1195 gtk_imhtmltoolbar_popup_menu(GtkWidget *widget, GdkEventButton *event, GtkIMHtmlToolbar *toolbar) |
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1196 { |
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1197 GtkWidget *menu; |
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1198 GtkWidget *item; |
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1199 gboolean wide; |
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1200 |
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1201 if (event->button != 3) |
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1202 return FALSE; |
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1203 |
32628
a3bd979c9ce4
compiles using GTK+ 3 from git, beware it does not yet run, in fact it crashes...
Marcus Lundblad <ml@update.uu.se>
parents:
32625
diff
changeset
|
1204 wide = gtk_widget_get_visible(toolbar->bold); |
19586
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1205 |
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1206 menu = gtk_menu_new(); |
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1207 item = gtk_menu_item_new_with_mnemonic(wide ? _("Group Items") : _("Ungroup Items")); |
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1208 g_signal_connect(G_OBJECT(item), "activate", G_CALLBACK(switch_toolbar_view), toolbar); |
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1209 gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); |
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1210 gtk_widget_show(item); |
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1211 |
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1212 gtk_menu_popup(GTK_MENU(menu), NULL, NULL, pidgin_menu_position_func_helper, |
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1213 widget, event->button, event->time); |
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1214 return TRUE; |
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1215 } |
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1216 |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1217 /* Boring GTK+ stuff */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1218 static void gtk_imhtmltoolbar_class_init (GtkIMHtmlToolbarClass *class) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1219 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1220 GObjectClass *gobject_class; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1221 gobject_class = (GObjectClass*) class; |
26630
38a5df43d525
Oops, I must have been tired. I only replaced the first occurrence of these
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26352
diff
changeset
|
1222 parent_class = g_type_class_ref(GTK_TYPE_HBOX); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1223 gobject_class->finalize = gtk_imhtmltoolbar_finalize; |
19586
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1224 |
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1225 purple_prefs_add_none(PIDGIN_PREFS_ROOT "/conversations/toolbar"); |
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1226 purple_prefs_add_bool(PIDGIN_PREFS_ROOT "/conversations/toolbar/wide", FALSE); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1227 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1228 |
17416
c1d67fef5eb3
Re-did the toolbar layout to take up less room. This is what we generally agreed to on devel@. I managed to do this, amazingly, not only without breaking Pidgin plugin API compatibility, but it doesn't even add any API. This is still totally raw; I'm comitting it mostly so I can continue it easily from hmoe
Sean Egan <seanegan@gmail.com>
parents:
17348
diff
changeset
|
1229 static void gtk_imhtmltoolbar_create_old_buttons(GtkIMHtmlToolbar *toolbar) |
c1d67fef5eb3
Re-did the toolbar layout to take up less room. This is what we generally agreed to on devel@. I managed to do this, amazingly, not only without breaking Pidgin plugin API compatibility, but it doesn't even add any API. This is still totally raw; I'm comitting it mostly so I can continue it easily from hmoe
Sean Egan <seanegan@gmail.com>
parents:
17348
diff
changeset
|
1230 { |
19586
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1231 GtkWidget *hbox; |
17416
c1d67fef5eb3
Re-did the toolbar layout to take up less room. This is what we generally agreed to on devel@. I managed to do this, amazingly, not only without breaking Pidgin plugin API compatibility, but it doesn't even add any API. This is still totally raw; I'm comitting it mostly so I can continue it easily from hmoe
Sean Egan <seanegan@gmail.com>
parents:
17348
diff
changeset
|
1232 GtkWidget *button; |
19586
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1233 struct { |
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1234 char *stock; |
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1235 gpointer callback; |
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1236 GtkWidget **button; |
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1237 const char *tooltip; |
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1238 } buttons[] = { |
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1239 {GTK_STOCK_BOLD, G_CALLBACK(do_bold), &toolbar->bold, _("Bold")}, |
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1240 {GTK_STOCK_ITALIC, do_italic, &toolbar->italic, _("Italic")}, |
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1241 {GTK_STOCK_UNDERLINE, do_underline, &toolbar->underline, _("Underline")}, |
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1242 {GTK_STOCK_STRIKETHROUGH, do_strikethrough, &toolbar->strikethrough, _("Strikethrough")}, |
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1243 {"", NULL, NULL, NULL}, |
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1244 {PIDGIN_STOCK_TOOLBAR_TEXT_LARGER, do_big, &toolbar->larger_size, _("Increase Font Size")}, |
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1245 {PIDGIN_STOCK_TOOLBAR_TEXT_SMALLER, do_small, &toolbar->smaller_size, _("Decrease Font Size")}, |
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1246 {"", NULL, NULL, NULL}, |
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1247 {PIDGIN_STOCK_TOOLBAR_FONT_FACE, toggle_font, &toolbar->font, _("Font Face")}, |
28236
618c41ef0ab8
Re-order the ungrouped formatting toolbar buttons to match the order of the
Etan Reisner <pidgin@unreliablesource.net>
parents:
28235
diff
changeset
|
1248 {PIDGIN_STOCK_TOOLBAR_FGCOLOR, toggle_fg_color, &toolbar->fgcolor, _("Foreground Color")}, |
21839
e7a2dcfc344f
Patch from DHowett to fix the transposition of background and forebround colors
Sean Egan <seanegan@gmail.com>
parents:
21770
diff
changeset
|
1249 {PIDGIN_STOCK_TOOLBAR_BGCOLOR, toggle_bg_color, &toolbar->bgcolor, _("Background Color")}, |
19586
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1250 {"", NULL, NULL, NULL}, |
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1251 {PIDGIN_STOCK_CLEAR, clear_formatting_cb, &toolbar->clear, _("Reset Formatting")}, |
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1252 {"", NULL, NULL, NULL}, |
28236
618c41ef0ab8
Re-order the ungrouped formatting toolbar buttons to match the order of the
Etan Reisner <pidgin@unreliablesource.net>
parents:
28235
diff
changeset
|
1253 {PIDGIN_STOCK_TOOLBAR_INSERT_IMAGE, insert_image_cb, &toolbar->image, _("Insert IM Image")}, |
19586
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1254 {PIDGIN_STOCK_TOOLBAR_INSERT_LINK, insert_link_cb, &toolbar->link, _("Insert Link")}, |
28236
618c41ef0ab8
Re-order the ungrouped formatting toolbar buttons to match the order of the
Etan Reisner <pidgin@unreliablesource.net>
parents:
28235
diff
changeset
|
1255 {"", NULL, NULL, NULL}, |
19586
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1256 {PIDGIN_STOCK_TOOLBAR_SMILEY, insert_smiley_cb, &toolbar->smiley, _("Insert Smiley")}, |
32672
3828a61c44da
A boring and large patch so I can merge heads.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32658
diff
changeset
|
1257 {PIDGIN_STOCK_TOOLBAR_SEND_ATTENTION, send_attention_cb, &toolbar->attention, _("Send Attention")}, |
19586
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1258 {NULL, NULL, NULL, NULL} |
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1259 }; |
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1260 int iter; |
17416
c1d67fef5eb3
Re-did the toolbar layout to take up less room. This is what we generally agreed to on devel@. I managed to do this, amazingly, not only without breaking Pidgin plugin API compatibility, but it doesn't even add any API. This is still totally raw; I'm comitting it mostly so I can continue it easily from hmoe
Sean Egan <seanegan@gmail.com>
parents:
17348
diff
changeset
|
1261 |
19586
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1262 hbox = gtk_hbox_new(FALSE, 0); |
17416
c1d67fef5eb3
Re-did the toolbar layout to take up less room. This is what we generally agreed to on devel@. I managed to do this, amazingly, not only without breaking Pidgin plugin API compatibility, but it doesn't even add any API. This is still totally raw; I'm comitting it mostly so I can continue it easily from hmoe
Sean Egan <seanegan@gmail.com>
parents:
17348
diff
changeset
|
1263 |
19586
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1264 for (iter = 0; buttons[iter].stock; iter++) { |
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1265 if (buttons[iter].stock[0]) { |
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1266 button = pidgin_pixbuf_toolbar_button_from_stock(buttons[iter].stock); |
31101
abaff1dd6548
Fix clicking on buttons in formatting toolbar so they don't try (and
Stu Tomlinson <stu@nosnilmot.com>
parents:
31086
diff
changeset
|
1267 g_signal_connect(G_OBJECT(button), "button-press-event", G_CALLBACK(gtk_imhtmltoolbar_popup_menu), toolbar); |
19586
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1268 g_signal_connect(G_OBJECT(button), "clicked", |
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1269 G_CALLBACK(buttons[iter].callback), toolbar); |
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1270 *(buttons[iter].button) = button; |
32566
e84bdaa9d227
Replace GtkTooltips code with GtkTooltip on GTK+ 2.12+.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26352
diff
changeset
|
1271 #if GTK_CHECK_VERSION(2,12,0) |
e84bdaa9d227
Replace GtkTooltips code with GtkTooltip on GTK+ 2.12+.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26352
diff
changeset
|
1272 gtk_widget_set_tooltip_text(button, buttons[iter].tooltip); |
e84bdaa9d227
Replace GtkTooltips code with GtkTooltip on GTK+ 2.12+.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26352
diff
changeset
|
1273 #else |
19586
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1274 gtk_tooltips_set_tip(toolbar->tooltips, button, buttons[iter].tooltip, NULL); |
32566
e84bdaa9d227
Replace GtkTooltips code with GtkTooltip on GTK+ 2.12+.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26352
diff
changeset
|
1275 #endif |
19586
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1276 } else |
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1277 button = gtk_vseparator_new(); |
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1278 gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 0); |
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1279 } |
17416
c1d67fef5eb3
Re-did the toolbar layout to take up less room. This is what we generally agreed to on devel@. I managed to do this, amazingly, not only without breaking Pidgin plugin API compatibility, but it doesn't even add any API. This is still totally raw; I'm comitting it mostly so I can continue it easily from hmoe
Sean Egan <seanegan@gmail.com>
parents:
17348
diff
changeset
|
1280 |
19586
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1281 gtk_box_pack_start(GTK_BOX(toolbar), hbox, FALSE, FALSE, 0); |
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1282 g_object_set_data(G_OBJECT(toolbar), "wide-view", hbox); |
17984
a2c36e2010f1
Fix some stuff of bugs in the new toolbar.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17432
diff
changeset
|
1283 } |
17416
c1d67fef5eb3
Re-did the toolbar layout to take up less room. This is what we generally agreed to on devel@. I managed to do this, amazingly, not only without breaking Pidgin plugin API compatibility, but it doesn't even add any API. This is still totally raw; I'm comitting it mostly so I can continue it easily from hmoe
Sean Egan <seanegan@gmail.com>
parents:
17348
diff
changeset
|
1284 |
17984
a2c36e2010f1
Fix some stuff of bugs in the new toolbar.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17432
diff
changeset
|
1285 static void |
30234
832c94bdc3bb
Add notify::visibilty handlers for the 'lean' GtkIMHtmlToolbar,
Paul Aurich <paul@darkrain42.org>
parents:
30232
diff
changeset
|
1286 button_visibility_changed(GtkWidget *button, gpointer dontcare, GtkWidget *item) |
832c94bdc3bb
Add notify::visibilty handlers for the 'lean' GtkIMHtmlToolbar,
Paul Aurich <paul@darkrain42.org>
parents:
30232
diff
changeset
|
1287 { |
32628
a3bd979c9ce4
compiles using GTK+ 3 from git, beware it does not yet run, in fact it crashes...
Marcus Lundblad <ml@update.uu.se>
parents:
32625
diff
changeset
|
1288 if (gtk_widget_get_visible(button)) |
30235
2f4291400a73
Did I mention this is entirely untested? (I don't have GTK+ on
Paul Aurich <paul@darkrain42.org>
parents:
30234
diff
changeset
|
1289 gtk_widget_hide(item); |
30234
832c94bdc3bb
Add notify::visibilty handlers for the 'lean' GtkIMHtmlToolbar,
Paul Aurich <paul@darkrain42.org>
parents:
30232
diff
changeset
|
1290 else |
30235
2f4291400a73
Did I mention this is entirely untested? (I don't have GTK+ on
Paul Aurich <paul@darkrain42.org>
parents:
30234
diff
changeset
|
1291 gtk_widget_show(item); |
30234
832c94bdc3bb
Add notify::visibilty handlers for the 'lean' GtkIMHtmlToolbar,
Paul Aurich <paul@darkrain42.org>
parents:
30232
diff
changeset
|
1292 } |
832c94bdc3bb
Add notify::visibilty handlers for the 'lean' GtkIMHtmlToolbar,
Paul Aurich <paul@darkrain42.org>
parents:
30232
diff
changeset
|
1293 |
832c94bdc3bb
Add notify::visibilty handlers for the 'lean' GtkIMHtmlToolbar,
Paul Aurich <paul@darkrain42.org>
parents:
30232
diff
changeset
|
1294 static void |
17984
a2c36e2010f1
Fix some stuff of bugs in the new toolbar.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17432
diff
changeset
|
1295 button_sensitiveness_changed(GtkWidget *button, gpointer dontcare, GtkWidget *item) |
a2c36e2010f1
Fix some stuff of bugs in the new toolbar.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17432
diff
changeset
|
1296 { |
32672
3828a61c44da
A boring and large patch so I can merge heads.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32658
diff
changeset
|
1297 gtk_widget_set_sensitive(item, gtk_widget_is_sensitive(button)); |
17984
a2c36e2010f1
Fix some stuff of bugs in the new toolbar.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17432
diff
changeset
|
1298 } |
17416
c1d67fef5eb3
Re-did the toolbar layout to take up less room. This is what we generally agreed to on devel@. I managed to do this, amazingly, not only without breaking Pidgin plugin API compatibility, but it doesn't even add any API. This is still totally raw; I'm comitting it mostly so I can continue it easily from hmoe
Sean Egan <seanegan@gmail.com>
parents:
17348
diff
changeset
|
1299 |
17984
a2c36e2010f1
Fix some stuff of bugs in the new toolbar.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17432
diff
changeset
|
1300 static void |
a2c36e2010f1
Fix some stuff of bugs in the new toolbar.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17432
diff
changeset
|
1301 update_menuitem(GtkToggleButton *button, GtkCheckMenuItem *item) |
a2c36e2010f1
Fix some stuff of bugs in the new toolbar.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17432
diff
changeset
|
1302 { |
a2c36e2010f1
Fix some stuff of bugs in the new toolbar.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17432
diff
changeset
|
1303 g_signal_handlers_block_by_func(G_OBJECT(item), G_CALLBACK(gtk_button_clicked), button); |
a2c36e2010f1
Fix some stuff of bugs in the new toolbar.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17432
diff
changeset
|
1304 gtk_check_menu_item_set_active(item, gtk_toggle_button_get_active(button)); |
a2c36e2010f1
Fix some stuff of bugs in the new toolbar.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17432
diff
changeset
|
1305 g_signal_handlers_unblock_by_func(G_OBJECT(item), G_CALLBACK(gtk_button_clicked), button); |
17416
c1d67fef5eb3
Re-did the toolbar layout to take up less room. This is what we generally agreed to on devel@. I managed to do this, amazingly, not only without breaking Pidgin plugin API compatibility, but it doesn't even add any API. This is still totally raw; I'm comitting it mostly so I can continue it easily from hmoe
Sean Egan <seanegan@gmail.com>
parents:
17348
diff
changeset
|
1306 } |
c1d67fef5eb3
Re-did the toolbar layout to take up less room. This is what we generally agreed to on devel@. I managed to do this, amazingly, not only without breaking Pidgin plugin API compatibility, but it doesn't even add any API. This is still totally raw; I'm comitting it mostly so I can continue it easily from hmoe
Sean Egan <seanegan@gmail.com>
parents:
17348
diff
changeset
|
1307 |
18838
1744f915edb2
Show formatting in the font dropdown menu.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
18802
diff
changeset
|
1308 static void |
1744f915edb2
Show formatting in the font dropdown menu.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
18802
diff
changeset
|
1309 enable_markup(GtkWidget *widget, gpointer null) |
1744f915edb2
Show formatting in the font dropdown menu.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
18802
diff
changeset
|
1310 { |
1744f915edb2
Show formatting in the font dropdown menu.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
18802
diff
changeset
|
1311 if (GTK_IS_LABEL(widget)) |
1744f915edb2
Show formatting in the font dropdown menu.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
18802
diff
changeset
|
1312 g_object_set(G_OBJECT(widget), "use-markup", TRUE, NULL); |
1744f915edb2
Show formatting in the font dropdown menu.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
18802
diff
changeset
|
1313 } |
1744f915edb2
Show formatting in the font dropdown menu.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
18802
diff
changeset
|
1314 |
19586
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1315 static void |
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1316 imhtmltoolbar_view_pref_changed(const char *name, PurplePrefType type, |
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1317 gconstpointer value, gpointer toolbar) |
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1318 { |
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1319 if (value) { |
32672
3828a61c44da
A boring and large patch so I can merge heads.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32658
diff
changeset
|
1320 gtk_widget_hide_all(g_object_get_data(G_OBJECT(toolbar), "lean-view")); |
19586
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1321 gtk_widget_show_all(g_object_get_data(G_OBJECT(toolbar), "wide-view")); |
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1322 } else { |
32672
3828a61c44da
A boring and large patch so I can merge heads.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32658
diff
changeset
|
1323 gtk_widget_hide_all(g_object_get_data(G_OBJECT(toolbar), "wide-view")); |
19586
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1324 gtk_widget_show_all(g_object_get_data(G_OBJECT(toolbar), "lean-view")); |
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1325 } |
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1326 } |
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1327 |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1328 static void gtk_imhtmltoolbar_init (GtkIMHtmlToolbar *toolbar) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1329 { |
19586
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1330 GtkWidget *hbox = GTK_WIDGET(toolbar), *event = gtk_event_box_new(); |
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1331 GtkWidget *bbox, *box = gtk_hbox_new(FALSE, 0); |
17416
c1d67fef5eb3
Re-did the toolbar layout to take up less room. This is what we generally agreed to on devel@. I managed to do this, amazingly, not only without breaking Pidgin plugin API compatibility, but it doesn't even add any API. This is still totally raw; I'm comitting it mostly so I can continue it easily from hmoe
Sean Egan <seanegan@gmail.com>
parents:
17348
diff
changeset
|
1332 GtkWidget *image; |
c1d67fef5eb3
Re-did the toolbar layout to take up less room. This is what we generally agreed to on devel@. I managed to do this, amazingly, not only without breaking Pidgin plugin API compatibility, but it doesn't even add any API. This is still totally raw; I'm comitting it mostly so I can continue it easily from hmoe
Sean Egan <seanegan@gmail.com>
parents:
17348
diff
changeset
|
1333 GtkWidget *label; |
c1d67fef5eb3
Re-did the toolbar layout to take up less room. This is what we generally agreed to on devel@. I managed to do this, amazingly, not only without breaking Pidgin plugin API compatibility, but it doesn't even add any API. This is still totally raw; I'm comitting it mostly so I can continue it easily from hmoe
Sean Egan <seanegan@gmail.com>
parents:
17348
diff
changeset
|
1334 GtkWidget *insert_button; |
c1d67fef5eb3
Re-did the toolbar layout to take up less room. This is what we generally agreed to on devel@. I managed to do this, amazingly, not only without breaking Pidgin plugin API compatibility, but it doesn't even add any API. This is still totally raw; I'm comitting it mostly so I can continue it easily from hmoe
Sean Egan <seanegan@gmail.com>
parents:
17348
diff
changeset
|
1335 GtkWidget *font_button; |
20072
b4708680299e
special case smileys in the toolbar. Fixes #2668 I'll need a new icon from Hylke
Sean Egan <seanegan@gmail.com>
parents:
20041
diff
changeset
|
1336 GtkWidget *smiley_button; |
29244
22b8a92fb5ee
Adds attention UI to Pidgin (can send attentions using a menu item)
Marcus Lundblad <ml@update.uu.se>
parents:
24076
diff
changeset
|
1337 GtkWidget *attention_button; |
17416
c1d67fef5eb3
Re-did the toolbar layout to take up less room. This is what we generally agreed to on devel@. I managed to do this, amazingly, not only without breaking Pidgin plugin API compatibility, but it doesn't even add any API. This is still totally raw; I'm comitting it mostly so I can continue it easily from hmoe
Sean Egan <seanegan@gmail.com>
parents:
17348
diff
changeset
|
1338 GtkWidget *font_menu; |
c1d67fef5eb3
Re-did the toolbar layout to take up less room. This is what we generally agreed to on devel@. I managed to do this, amazingly, not only without breaking Pidgin plugin API compatibility, but it doesn't even add any API. This is still totally raw; I'm comitting it mostly so I can continue it easily from hmoe
Sean Egan <seanegan@gmail.com>
parents:
17348
diff
changeset
|
1339 GtkWidget *insert_menu; |
18167
b8b475f31008
Fix setting the sensitivity of the toolbar items in a number of places
Stu Tomlinson <stu@nosnilmot.com>
parents:
18166
diff
changeset
|
1340 GtkWidget *menuitem; |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1341 GtkWidget *sep; |
17984
a2c36e2010f1
Fix some stuff of bugs in the new toolbar.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17432
diff
changeset
|
1342 int i; |
a2c36e2010f1
Fix some stuff of bugs in the new toolbar.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17432
diff
changeset
|
1343 struct { |
a2c36e2010f1
Fix some stuff of bugs in the new toolbar.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17432
diff
changeset
|
1344 const char *label; |
a2c36e2010f1
Fix some stuff of bugs in the new toolbar.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17432
diff
changeset
|
1345 GtkWidget **button; |
18780
c94f1699fdee
Move 'Reset formatting' to Font dropdown
Sean Egan <seanegan@gmail.com>
parents:
18778
diff
changeset
|
1346 gboolean check; |
17984
a2c36e2010f1
Fix some stuff of bugs in the new toolbar.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17432
diff
changeset
|
1347 } buttons[] = { |
18838
1744f915edb2
Show formatting in the font dropdown menu.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
18802
diff
changeset
|
1348 {_("<b>_Bold</b>"), &toolbar->bold, TRUE}, |
1744f915edb2
Show formatting in the font dropdown menu.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
18802
diff
changeset
|
1349 {_("<i>_Italic</i>"), &toolbar->italic, TRUE}, |
1744f915edb2
Show formatting in the font dropdown menu.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
18802
diff
changeset
|
1350 {_("<u>_Underline</u>"), &toolbar->underline, TRUE}, |
19469
42ee8f13c917
Add horizontal rules and strikethroughs to the toolbar
Sean Egan <seanegan@gmail.com>
parents:
18851
diff
changeset
|
1351 {_("<span strikethrough='true'>Strikethrough</span>"), &toolbar->strikethrough, TRUE}, |
18838
1744f915edb2
Show formatting in the font dropdown menu.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
18802
diff
changeset
|
1352 {_("<span size='larger'>_Larger</span>"), &toolbar->larger_size, TRUE}, |
17984
a2c36e2010f1
Fix some stuff of bugs in the new toolbar.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17432
diff
changeset
|
1353 #if 0 |
18780
c94f1699fdee
Move 'Reset formatting' to Font dropdown
Sean Egan <seanegan@gmail.com>
parents:
18778
diff
changeset
|
1354 {_("_Normal"), &toolbar->normal_size, TRUE}, |
17984
a2c36e2010f1
Fix some stuff of bugs in the new toolbar.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17432
diff
changeset
|
1355 #endif |
18838
1744f915edb2
Show formatting in the font dropdown menu.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
18802
diff
changeset
|
1356 {_("<span size='smaller'>_Smaller</span>"), &toolbar->smaller_size, TRUE}, |
1744f915edb2
Show formatting in the font dropdown menu.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
18802
diff
changeset
|
1357 /* If we want to show the formatting for the following items, we would |
1744f915edb2
Show formatting in the font dropdown menu.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
18802
diff
changeset
|
1358 * need to update them when formatting changes. The above items don't need |
1744f915edb2
Show formatting in the font dropdown menu.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
18802
diff
changeset
|
1359 * no updating nor nothin' */ |
18780
c94f1699fdee
Move 'Reset formatting' to Font dropdown
Sean Egan <seanegan@gmail.com>
parents:
18778
diff
changeset
|
1360 {_("_Font face"), &toolbar->font, TRUE}, |
18792
b193b5921665
I thought I fixed this already...
Kevin Stange <kevin@simguy.net>
parents:
18780
diff
changeset
|
1361 {_("Foreground _color"), &toolbar->fgcolor, TRUE}, |
18793
4e46e5f6586a
Another mnemonic conflict
Kevin Stange <kevin@simguy.net>
parents:
18792
diff
changeset
|
1362 {_("Bac_kground color"), &toolbar->bgcolor, TRUE}, |
18780
c94f1699fdee
Move 'Reset formatting' to Font dropdown
Sean Egan <seanegan@gmail.com>
parents:
18778
diff
changeset
|
1363 {_("_Reset formatting"), &toolbar->clear, FALSE}, |
18789
09082badaa46
Get rid of two minor compile warnings:
Mark Doliner <mark@kingant.net>
parents:
18780
diff
changeset
|
1364 {NULL, NULL, FALSE} |
17984
a2c36e2010f1
Fix some stuff of bugs in the new toolbar.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17432
diff
changeset
|
1365 }; |
a2c36e2010f1
Fix some stuff of bugs in the new toolbar.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17432
diff
changeset
|
1366 |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1367 toolbar->imhtml = NULL; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1368 toolbar->font_dialog = NULL; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1369 toolbar->fgcolor_dialog = NULL; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1370 toolbar->bgcolor_dialog = NULL; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1371 toolbar->link_dialog = NULL; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1372 toolbar->smiley_dialog = NULL; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1373 toolbar->image_dialog = NULL; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1374 |
32566
e84bdaa9d227
Replace GtkTooltips code with GtkTooltip on GTK+ 2.12+.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26352
diff
changeset
|
1375 #if !GTK_CHECK_VERSION(2,12,0) |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1376 toolbar->tooltips = gtk_tooltips_new(); |
32566
e84bdaa9d227
Replace GtkTooltips code with GtkTooltip on GTK+ 2.12+.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26352
diff
changeset
|
1377 #endif |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1378 |
17209
baaf2cf9339c
disapproval of revision '1f819f5ad330efa81ac7906f854b46f0c8bbd7b6'
Ethan Blanton <elb@pidgin.im>
parents:
17208
diff
changeset
|
1379 gtk_box_set_spacing(GTK_BOX(toolbar), 3); |
17416
c1d67fef5eb3
Re-did the toolbar layout to take up less room. This is what we generally agreed to on devel@. I managed to do this, amazingly, not only without breaking Pidgin plugin API compatibility, but it doesn't even add any API. This is still totally raw; I'm comitting it mostly so I can continue it easily from hmoe
Sean Egan <seanegan@gmail.com>
parents:
17348
diff
changeset
|
1380 |
c1d67fef5eb3
Re-did the toolbar layout to take up less room. This is what we generally agreed to on devel@. I managed to do this, amazingly, not only without breaking Pidgin plugin API compatibility, but it doesn't even add any API. This is still totally raw; I'm comitting it mostly so I can continue it easily from hmoe
Sean Egan <seanegan@gmail.com>
parents:
17348
diff
changeset
|
1381 gtk_imhtmltoolbar_create_old_buttons(toolbar); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1382 |
17984
a2c36e2010f1
Fix some stuff of bugs in the new toolbar.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17432
diff
changeset
|
1383 /* Fonts */ |
17416
c1d67fef5eb3
Re-did the toolbar layout to take up less room. This is what we generally agreed to on devel@. I managed to do this, amazingly, not only without breaking Pidgin plugin API compatibility, but it doesn't even add any API. This is still totally raw; I'm comitting it mostly so I can continue it easily from hmoe
Sean Egan <seanegan@gmail.com>
parents:
17348
diff
changeset
|
1384 font_button = gtk_toggle_button_new(); |
c1d67fef5eb3
Re-did the toolbar layout to take up less room. This is what we generally agreed to on devel@. I managed to do this, amazingly, not only without breaking Pidgin plugin API compatibility, but it doesn't even add any API. This is still totally raw; I'm comitting it mostly so I can continue it easily from hmoe
Sean Egan <seanegan@gmail.com>
parents:
17348
diff
changeset
|
1385 gtk_button_set_relief(GTK_BUTTON(font_button), GTK_RELIEF_NONE); |
c1d67fef5eb3
Re-did the toolbar layout to take up less room. This is what we generally agreed to on devel@. I managed to do this, amazingly, not only without breaking Pidgin plugin API compatibility, but it doesn't even add any API. This is still totally raw; I'm comitting it mostly so I can continue it easily from hmoe
Sean Egan <seanegan@gmail.com>
parents:
17348
diff
changeset
|
1386 bbox = gtk_hbox_new(FALSE, 3); |
c1d67fef5eb3
Re-did the toolbar layout to take up less room. This is what we generally agreed to on devel@. I managed to do this, amazingly, not only without breaking Pidgin plugin API compatibility, but it doesn't even add any API. This is still totally raw; I'm comitting it mostly so I can continue it easily from hmoe
Sean Egan <seanegan@gmail.com>
parents:
17348
diff
changeset
|
1387 gtk_container_add(GTK_CONTAINER(font_button), bbox); |
c1d67fef5eb3
Re-did the toolbar layout to take up less room. This is what we generally agreed to on devel@. I managed to do this, amazingly, not only without breaking Pidgin plugin API compatibility, but it doesn't even add any API. This is still totally raw; I'm comitting it mostly so I can continue it easily from hmoe
Sean Egan <seanegan@gmail.com>
parents:
17348
diff
changeset
|
1388 image = gtk_image_new_from_stock(GTK_STOCK_BOLD, gtk_icon_size_from_name(PIDGIN_ICON_SIZE_TANGO_EXTRA_SMALL)); |
c1d67fef5eb3
Re-did the toolbar layout to take up less room. This is what we generally agreed to on devel@. I managed to do this, amazingly, not only without breaking Pidgin plugin API compatibility, but it doesn't even add any API. This is still totally raw; I'm comitting it mostly so I can continue it easily from hmoe
Sean Egan <seanegan@gmail.com>
parents:
17348
diff
changeset
|
1389 gtk_box_pack_start(GTK_BOX(bbox), image, FALSE, FALSE, 0); |
c1d67fef5eb3
Re-did the toolbar layout to take up less room. This is what we generally agreed to on devel@. I managed to do this, amazingly, not only without breaking Pidgin plugin API compatibility, but it doesn't even add any API. This is still totally raw; I'm comitting it mostly so I can continue it easily from hmoe
Sean Egan <seanegan@gmail.com>
parents:
17348
diff
changeset
|
1390 label = gtk_label_new_with_mnemonic(_("_Font")); |
18773
900b13e40471
Show current outgoing conversation formatting on the font label on
Ka-Hing Cheung <khc@hxbc.us>
parents:
18766
diff
changeset
|
1391 gtk_label_set_use_markup(GTK_LABEL(label), TRUE); |
900b13e40471
Show current outgoing conversation formatting on the font label on
Ka-Hing Cheung <khc@hxbc.us>
parents:
18766
diff
changeset
|
1392 g_object_set_data(G_OBJECT(hbox), "font_label", label); |
17416
c1d67fef5eb3
Re-did the toolbar layout to take up less room. This is what we generally agreed to on devel@. I managed to do this, amazingly, not only without breaking Pidgin plugin API compatibility, but it doesn't even add any API. This is still totally raw; I'm comitting it mostly so I can continue it easily from hmoe
Sean Egan <seanegan@gmail.com>
parents:
17348
diff
changeset
|
1393 gtk_box_pack_start(GTK_BOX(bbox), label, FALSE, FALSE, 0); |
19586
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1394 gtk_box_pack_start(GTK_BOX(box), font_button, FALSE, FALSE, 0); |
17416
c1d67fef5eb3
Re-did the toolbar layout to take up less room. This is what we generally agreed to on devel@. I managed to do this, amazingly, not only without breaking Pidgin plugin API compatibility, but it doesn't even add any API. This is still totally raw; I'm comitting it mostly so I can continue it easily from hmoe
Sean Egan <seanegan@gmail.com>
parents:
17348
diff
changeset
|
1395 gtk_widget_show_all(font_button); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1396 |
17416
c1d67fef5eb3
Re-did the toolbar layout to take up less room. This is what we generally agreed to on devel@. I managed to do this, amazingly, not only without breaking Pidgin plugin API compatibility, but it doesn't even add any API. This is still totally raw; I'm comitting it mostly so I can continue it easily from hmoe
Sean Egan <seanegan@gmail.com>
parents:
17348
diff
changeset
|
1397 font_menu = gtk_menu_new(); |
18778
38bac267bf8e
Clean up the font and insert menus when the imhtmltoolbar is disposed of. This fixes a leak (and the crash in #2385). Fixes #2385.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
18773
diff
changeset
|
1398 g_object_set_data(G_OBJECT(toolbar), "font_menu", font_menu); |
18004
d40fd7106ebf
merge of '1c5a391126b5b506a29f0b9e34160d239cb783c6'
Sadrul Habib Chowdhury <imadil@gmail.com>
diff
changeset
|
1399 |
17984
a2c36e2010f1
Fix some stuff of bugs in the new toolbar.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17432
diff
changeset
|
1400 for (i = 0; buttons[i].label; i++) { |
a2c36e2010f1
Fix some stuff of bugs in the new toolbar.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17432
diff
changeset
|
1401 GtkWidget *old = *buttons[i].button; |
18780
c94f1699fdee
Move 'Reset formatting' to Font dropdown
Sean Egan <seanegan@gmail.com>
parents:
18778
diff
changeset
|
1402 if (buttons[i].check) { |
c94f1699fdee
Move 'Reset formatting' to Font dropdown
Sean Egan <seanegan@gmail.com>
parents:
18778
diff
changeset
|
1403 menuitem = gtk_check_menu_item_new_with_mnemonic(buttons[i].label); |
c94f1699fdee
Move 'Reset formatting' to Font dropdown
Sean Egan <seanegan@gmail.com>
parents:
18778
diff
changeset
|
1404 g_signal_connect_after(G_OBJECT(old), "toggled", |
c94f1699fdee
Move 'Reset formatting' to Font dropdown
Sean Egan <seanegan@gmail.com>
parents:
18778
diff
changeset
|
1405 G_CALLBACK(update_menuitem), menuitem); |
c94f1699fdee
Move 'Reset formatting' to Font dropdown
Sean Egan <seanegan@gmail.com>
parents:
18778
diff
changeset
|
1406 } else { |
c94f1699fdee
Move 'Reset formatting' to Font dropdown
Sean Egan <seanegan@gmail.com>
parents:
18778
diff
changeset
|
1407 menuitem = gtk_menu_item_new_with_mnemonic(buttons[i].label); |
c94f1699fdee
Move 'Reset formatting' to Font dropdown
Sean Egan <seanegan@gmail.com>
parents:
18778
diff
changeset
|
1408 } |
17984
a2c36e2010f1
Fix some stuff of bugs in the new toolbar.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17432
diff
changeset
|
1409 g_signal_connect_swapped(G_OBJECT(menuitem), "activate", |
a2c36e2010f1
Fix some stuff of bugs in the new toolbar.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17432
diff
changeset
|
1410 G_CALLBACK(gtk_button_clicked), old); |
a2c36e2010f1
Fix some stuff of bugs in the new toolbar.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17432
diff
changeset
|
1411 gtk_menu_shell_append(GTK_MENU_SHELL(font_menu), menuitem); |
a2c36e2010f1
Fix some stuff of bugs in the new toolbar.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17432
diff
changeset
|
1412 g_signal_connect(G_OBJECT(old), "notify::sensitive", |
a2c36e2010f1
Fix some stuff of bugs in the new toolbar.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17432
diff
changeset
|
1413 G_CALLBACK(button_sensitiveness_changed), menuitem); |
30234
832c94bdc3bb
Add notify::visibilty handlers for the 'lean' GtkIMHtmlToolbar,
Paul Aurich <paul@darkrain42.org>
parents:
30232
diff
changeset
|
1414 g_signal_connect(G_OBJECT(old), "notify::visible", |
832c94bdc3bb
Add notify::visibilty handlers for the 'lean' GtkIMHtmlToolbar,
Paul Aurich <paul@darkrain42.org>
parents:
30232
diff
changeset
|
1415 G_CALLBACK(button_visibility_changed), menuitem); |
18838
1744f915edb2
Show formatting in the font dropdown menu.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
18802
diff
changeset
|
1416 gtk_container_foreach(GTK_CONTAINER(menuitem), (GtkCallback)enable_markup, NULL); |
17984
a2c36e2010f1
Fix some stuff of bugs in the new toolbar.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17432
diff
changeset
|
1417 } |
18780
c94f1699fdee
Move 'Reset formatting' to Font dropdown
Sean Egan <seanegan@gmail.com>
parents:
18778
diff
changeset
|
1418 |
30155
7a28e9b12038
Do not trigger the formatting toolbar buttons on right-click.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
29326
diff
changeset
|
1419 g_signal_connect(G_OBJECT(font_button), "button-press-event", G_CALLBACK(button_activate_on_click), toolbar); |
18851
9998470a01de
The hotkeys should popup the menu.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
18838
diff
changeset
|
1420 g_signal_connect(G_OBJECT(font_button), "activate", G_CALLBACK(pidgin_menu_clicked), font_menu); |
17984
a2c36e2010f1
Fix some stuff of bugs in the new toolbar.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17432
diff
changeset
|
1421 g_signal_connect(G_OBJECT(font_menu), "deactivate", G_CALLBACK(pidgin_menu_deactivate), font_button); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1422 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1423 /* Sep */ |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1424 sep = gtk_vseparator_new(); |
19586
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1425 gtk_box_pack_start(GTK_BOX(box), sep, FALSE, FALSE, 0); |
17416
c1d67fef5eb3
Re-did the toolbar layout to take up less room. This is what we generally agreed to on devel@. I managed to do this, amazingly, not only without breaking Pidgin plugin API compatibility, but it doesn't even add any API. This is still totally raw; I'm comitting it mostly so I can continue it easily from hmoe
Sean Egan <seanegan@gmail.com>
parents:
17348
diff
changeset
|
1426 gtk_widget_show_all(sep); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1427 |
17984
a2c36e2010f1
Fix some stuff of bugs in the new toolbar.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
17432
diff
changeset
|
1428 /* Insert */ |
17416
c1d67fef5eb3
Re-did the toolbar layout to take up less room. This is what we generally agreed to on devel@. I managed to do this, amazingly, not only without breaking Pidgin plugin API compatibility, but it doesn't even add any API. This is still totally raw; I'm comitting it mostly so I can continue it easily from hmoe
Sean Egan <seanegan@gmail.com>
parents:
17348
diff
changeset
|
1429 insert_button = gtk_toggle_button_new(); |
c1d67fef5eb3
Re-did the toolbar layout to take up less room. This is what we generally agreed to on devel@. I managed to do this, amazingly, not only without breaking Pidgin plugin API compatibility, but it doesn't even add any API. This is still totally raw; I'm comitting it mostly so I can continue it easily from hmoe
Sean Egan <seanegan@gmail.com>
parents:
17348
diff
changeset
|
1430 gtk_button_set_relief(GTK_BUTTON(insert_button), GTK_RELIEF_NONE); |
c1d67fef5eb3
Re-did the toolbar layout to take up less room. This is what we generally agreed to on devel@. I managed to do this, amazingly, not only without breaking Pidgin plugin API compatibility, but it doesn't even add any API. This is still totally raw; I'm comitting it mostly so I can continue it easily from hmoe
Sean Egan <seanegan@gmail.com>
parents:
17348
diff
changeset
|
1431 bbox = gtk_hbox_new(FALSE, 3); |
c1d67fef5eb3
Re-did the toolbar layout to take up less room. This is what we generally agreed to on devel@. I managed to do this, amazingly, not only without breaking Pidgin plugin API compatibility, but it doesn't even add any API. This is still totally raw; I'm comitting it mostly so I can continue it easily from hmoe
Sean Egan <seanegan@gmail.com>
parents:
17348
diff
changeset
|
1432 gtk_container_add(GTK_CONTAINER(insert_button), bbox); |
c1d67fef5eb3
Re-did the toolbar layout to take up less room. This is what we generally agreed to on devel@. I managed to do this, amazingly, not only without breaking Pidgin plugin API compatibility, but it doesn't even add any API. This is still totally raw; I'm comitting it mostly so I can continue it easily from hmoe
Sean Egan <seanegan@gmail.com>
parents:
17348
diff
changeset
|
1433 image = gtk_image_new_from_stock(PIDGIN_STOCK_TOOLBAR_INSERT, gtk_icon_size_from_name(PIDGIN_ICON_SIZE_TANGO_EXTRA_SMALL)); |
c1d67fef5eb3
Re-did the toolbar layout to take up less room. This is what we generally agreed to on devel@. I managed to do this, amazingly, not only without breaking Pidgin plugin API compatibility, but it doesn't even add any API. This is still totally raw; I'm comitting it mostly so I can continue it easily from hmoe
Sean Egan <seanegan@gmail.com>
parents:
17348
diff
changeset
|
1434 gtk_box_pack_start(GTK_BOX(bbox), image, FALSE, FALSE, 0); |
c1d67fef5eb3
Re-did the toolbar layout to take up less room. This is what we generally agreed to on devel@. I managed to do this, amazingly, not only without breaking Pidgin plugin API compatibility, but it doesn't even add any API. This is still totally raw; I'm comitting it mostly so I can continue it easily from hmoe
Sean Egan <seanegan@gmail.com>
parents:
17348
diff
changeset
|
1435 label = gtk_label_new_with_mnemonic(_("_Insert")); |
c1d67fef5eb3
Re-did the toolbar layout to take up less room. This is what we generally agreed to on devel@. I managed to do this, amazingly, not only without breaking Pidgin plugin API compatibility, but it doesn't even add any API. This is still totally raw; I'm comitting it mostly so I can continue it easily from hmoe
Sean Egan <seanegan@gmail.com>
parents:
17348
diff
changeset
|
1436 gtk_box_pack_start(GTK_BOX(bbox), label, FALSE, FALSE, 0); |
19586
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1437 gtk_box_pack_start(GTK_BOX(box), insert_button, FALSE, FALSE, 0); |
17416
c1d67fef5eb3
Re-did the toolbar layout to take up less room. This is what we generally agreed to on devel@. I managed to do this, amazingly, not only without breaking Pidgin plugin API compatibility, but it doesn't even add any API. This is still totally raw; I'm comitting it mostly so I can continue it easily from hmoe
Sean Egan <seanegan@gmail.com>
parents:
17348
diff
changeset
|
1438 gtk_widget_show_all(insert_button); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1439 |
17416
c1d67fef5eb3
Re-did the toolbar layout to take up less room. This is what we generally agreed to on devel@. I managed to do this, amazingly, not only without breaking Pidgin plugin API compatibility, but it doesn't even add any API. This is still totally raw; I'm comitting it mostly so I can continue it easily from hmoe
Sean Egan <seanegan@gmail.com>
parents:
17348
diff
changeset
|
1440 insert_menu = gtk_menu_new(); |
18778
38bac267bf8e
Clean up the font and insert menus when the imhtmltoolbar is disposed of. This fixes a leak (and the crash in #2385). Fixes #2385.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
18773
diff
changeset
|
1441 g_object_set_data(G_OBJECT(toolbar), "insert_menu", insert_menu); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1442 |
18167
b8b475f31008
Fix setting the sensitivity of the toolbar items in a number of places
Stu Tomlinson <stu@nosnilmot.com>
parents:
18166
diff
changeset
|
1443 menuitem = gtk_menu_item_new_with_mnemonic(_("_Image")); |
b8b475f31008
Fix setting the sensitivity of the toolbar items in a number of places
Stu Tomlinson <stu@nosnilmot.com>
parents:
18166
diff
changeset
|
1444 g_signal_connect_swapped(G_OBJECT(menuitem), "activate", G_CALLBACK(gtk_button_clicked), toolbar->image); |
b8b475f31008
Fix setting the sensitivity of the toolbar items in a number of places
Stu Tomlinson <stu@nosnilmot.com>
parents:
18166
diff
changeset
|
1445 gtk_menu_shell_append(GTK_MENU_SHELL(insert_menu), menuitem); |
b8b475f31008
Fix setting the sensitivity of the toolbar items in a number of places
Stu Tomlinson <stu@nosnilmot.com>
parents:
18166
diff
changeset
|
1446 g_signal_connect(G_OBJECT(toolbar->image), "notify::sensitive", |
b8b475f31008
Fix setting the sensitivity of the toolbar items in a number of places
Stu Tomlinson <stu@nosnilmot.com>
parents:
18166
diff
changeset
|
1447 G_CALLBACK(button_sensitiveness_changed), menuitem); |
30234
832c94bdc3bb
Add notify::visibilty handlers for the 'lean' GtkIMHtmlToolbar,
Paul Aurich <paul@darkrain42.org>
parents:
30232
diff
changeset
|
1448 g_signal_connect(G_OBJECT(toolbar->image), "notify::visible", |
832c94bdc3bb
Add notify::visibilty handlers for the 'lean' GtkIMHtmlToolbar,
Paul Aurich <paul@darkrain42.org>
parents:
30232
diff
changeset
|
1449 G_CALLBACK(button_visibility_changed), menuitem); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1450 |
18167
b8b475f31008
Fix setting the sensitivity of the toolbar items in a number of places
Stu Tomlinson <stu@nosnilmot.com>
parents:
18166
diff
changeset
|
1451 menuitem = gtk_menu_item_new_with_mnemonic(_("_Link")); |
b8b475f31008
Fix setting the sensitivity of the toolbar items in a number of places
Stu Tomlinson <stu@nosnilmot.com>
parents:
18166
diff
changeset
|
1452 g_signal_connect_swapped(G_OBJECT(menuitem), "activate", G_CALLBACK(gtk_button_clicked), toolbar->link); |
b8b475f31008
Fix setting the sensitivity of the toolbar items in a number of places
Stu Tomlinson <stu@nosnilmot.com>
parents:
18166
diff
changeset
|
1453 gtk_menu_shell_append(GTK_MENU_SHELL(insert_menu), menuitem); |
b8b475f31008
Fix setting the sensitivity of the toolbar items in a number of places
Stu Tomlinson <stu@nosnilmot.com>
parents:
18166
diff
changeset
|
1454 g_signal_connect(G_OBJECT(toolbar->link), "notify::sensitive", |
b8b475f31008
Fix setting the sensitivity of the toolbar items in a number of places
Stu Tomlinson <stu@nosnilmot.com>
parents:
18166
diff
changeset
|
1455 G_CALLBACK(button_sensitiveness_changed), menuitem); |
30234
832c94bdc3bb
Add notify::visibilty handlers for the 'lean' GtkIMHtmlToolbar,
Paul Aurich <paul@darkrain42.org>
parents:
30232
diff
changeset
|
1456 g_signal_connect(G_OBJECT(toolbar->link), "notify::visible", |
832c94bdc3bb
Add notify::visibilty handlers for the 'lean' GtkIMHtmlToolbar,
Paul Aurich <paul@darkrain42.org>
parents:
30232
diff
changeset
|
1457 G_CALLBACK(button_visibility_changed), menuitem); |
17417
425b83d9614d
disapproval of revision '1f2acb75f934f19f04262b06c2907dece2731ed2'
Sean Egan <seanegan@gmail.com>
parents:
17416
diff
changeset
|
1458 |
19469
42ee8f13c917
Add horizontal rules and strikethroughs to the toolbar
Sean Egan <seanegan@gmail.com>
parents:
18851
diff
changeset
|
1459 menuitem = gtk_menu_item_new_with_mnemonic(_("_Horizontal rule")); |
42ee8f13c917
Add horizontal rules and strikethroughs to the toolbar
Sean Egan <seanegan@gmail.com>
parents:
18851
diff
changeset
|
1460 g_signal_connect(G_OBJECT(menuitem), "activate" , G_CALLBACK(insert_hr_cb), toolbar); |
42ee8f13c917
Add horizontal rules and strikethroughs to the toolbar
Sean Egan <seanegan@gmail.com>
parents:
18851
diff
changeset
|
1461 gtk_menu_shell_append(GTK_MENU_SHELL(insert_menu), menuitem); |
25924
584063555949
Remove trailing whitespace
Mark Doliner <mark@kingant.net>
parents:
24076
diff
changeset
|
1462 toolbar->insert_hr = menuitem; |
19469
42ee8f13c917
Add horizontal rules and strikethroughs to the toolbar
Sean Egan <seanegan@gmail.com>
parents:
18851
diff
changeset
|
1463 |
30155
7a28e9b12038
Do not trigger the formatting toolbar buttons on right-click.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
29326
diff
changeset
|
1464 g_signal_connect(G_OBJECT(insert_button), "button-press-event", G_CALLBACK(button_activate_on_click), toolbar); |
18851
9998470a01de
The hotkeys should popup the menu.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
18838
diff
changeset
|
1465 g_signal_connect(G_OBJECT(insert_button), "activate", G_CALLBACK(pidgin_menu_clicked), insert_menu); |
17432
4d53ccae32b0
Fix a compile error and kill a bucket full of compile warnings
Stu Tomlinson <stu@nosnilmot.com>
parents:
17416
diff
changeset
|
1466 g_signal_connect(G_OBJECT(insert_menu), "deactivate", G_CALLBACK(pidgin_menu_deactivate), insert_button); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1467 toolbar->sml = NULL; |
25924
584063555949
Remove trailing whitespace
Mark Doliner <mark@kingant.net>
parents:
24076
diff
changeset
|
1468 |
20072
b4708680299e
special case smileys in the toolbar. Fixes #2668 I'll need a new icon from Hylke
Sean Egan <seanegan@gmail.com>
parents:
20041
diff
changeset
|
1469 /* Sep */ |
b4708680299e
special case smileys in the toolbar. Fixes #2668 I'll need a new icon from Hylke
Sean Egan <seanegan@gmail.com>
parents:
20041
diff
changeset
|
1470 sep = gtk_vseparator_new(); |
b4708680299e
special case smileys in the toolbar. Fixes #2668 I'll need a new icon from Hylke
Sean Egan <seanegan@gmail.com>
parents:
20041
diff
changeset
|
1471 gtk_box_pack_start(GTK_BOX(box), sep, FALSE, FALSE, 0); |
b4708680299e
special case smileys in the toolbar. Fixes #2668 I'll need a new icon from Hylke
Sean Egan <seanegan@gmail.com>
parents:
20041
diff
changeset
|
1472 gtk_widget_show_all(sep); |
b4708680299e
special case smileys in the toolbar. Fixes #2668 I'll need a new icon from Hylke
Sean Egan <seanegan@gmail.com>
parents:
20041
diff
changeset
|
1473 |
b4708680299e
special case smileys in the toolbar. Fixes #2668 I'll need a new icon from Hylke
Sean Egan <seanegan@gmail.com>
parents:
20041
diff
changeset
|
1474 /* Smiley */ |
b4708680299e
special case smileys in the toolbar. Fixes #2668 I'll need a new icon from Hylke
Sean Egan <seanegan@gmail.com>
parents:
20041
diff
changeset
|
1475 smiley_button = gtk_button_new(); |
b4708680299e
special case smileys in the toolbar. Fixes #2668 I'll need a new icon from Hylke
Sean Egan <seanegan@gmail.com>
parents:
20041
diff
changeset
|
1476 gtk_button_set_relief(GTK_BUTTON(smiley_button), GTK_RELIEF_NONE); |
b4708680299e
special case smileys in the toolbar. Fixes #2668 I'll need a new icon from Hylke
Sean Egan <seanegan@gmail.com>
parents:
20041
diff
changeset
|
1477 bbox = gtk_hbox_new(FALSE, 3); |
b4708680299e
special case smileys in the toolbar. Fixes #2668 I'll need a new icon from Hylke
Sean Egan <seanegan@gmail.com>
parents:
20041
diff
changeset
|
1478 gtk_container_add(GTK_CONTAINER(smiley_button), bbox); |
b4708680299e
special case smileys in the toolbar. Fixes #2668 I'll need a new icon from Hylke
Sean Egan <seanegan@gmail.com>
parents:
20041
diff
changeset
|
1479 image = gtk_image_new_from_stock(PIDGIN_STOCK_TOOLBAR_SMILEY, gtk_icon_size_from_name(PIDGIN_ICON_SIZE_TANGO_EXTRA_SMALL)); |
b4708680299e
special case smileys in the toolbar. Fixes #2668 I'll need a new icon from Hylke
Sean Egan <seanegan@gmail.com>
parents:
20041
diff
changeset
|
1480 gtk_box_pack_start(GTK_BOX(bbox), image, FALSE, FALSE, 0); |
20160 | 1481 label = gtk_label_new_with_mnemonic(_("_Smile!")); |
20072
b4708680299e
special case smileys in the toolbar. Fixes #2668 I'll need a new icon from Hylke
Sean Egan <seanegan@gmail.com>
parents:
20041
diff
changeset
|
1482 gtk_box_pack_start(GTK_BOX(bbox), label, FALSE, FALSE, 0); |
b4708680299e
special case smileys in the toolbar. Fixes #2668 I'll need a new icon from Hylke
Sean Egan <seanegan@gmail.com>
parents:
20041
diff
changeset
|
1483 gtk_box_pack_start(GTK_BOX(box), smiley_button, FALSE, FALSE, 0); |
31101
abaff1dd6548
Fix clicking on buttons in formatting toolbar so they don't try (and
Stu Tomlinson <stu@nosnilmot.com>
parents:
31086
diff
changeset
|
1484 g_signal_connect(G_OBJECT(smiley_button), "button-press-event", G_CALLBACK(gtk_imhtmltoolbar_popup_menu), toolbar); |
20072
b4708680299e
special case smileys in the toolbar. Fixes #2668 I'll need a new icon from Hylke
Sean Egan <seanegan@gmail.com>
parents:
20041
diff
changeset
|
1485 g_signal_connect_swapped(G_OBJECT(smiley_button), "clicked", G_CALLBACK(gtk_button_clicked), toolbar->smiley); |
b4708680299e
special case smileys in the toolbar. Fixes #2668 I'll need a new icon from Hylke
Sean Egan <seanegan@gmail.com>
parents:
20041
diff
changeset
|
1486 gtk_widget_show_all(smiley_button); |
19586
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1487 |
29244
22b8a92fb5ee
Adds attention UI to Pidgin (can send attentions using a menu item)
Marcus Lundblad <ml@update.uu.se>
parents:
24076
diff
changeset
|
1488 /* Sep */ |
22b8a92fb5ee
Adds attention UI to Pidgin (can send attentions using a menu item)
Marcus Lundblad <ml@update.uu.se>
parents:
24076
diff
changeset
|
1489 sep = gtk_vseparator_new(); |
22b8a92fb5ee
Adds attention UI to Pidgin (can send attentions using a menu item)
Marcus Lundblad <ml@update.uu.se>
parents:
24076
diff
changeset
|
1490 gtk_box_pack_start(GTK_BOX(box), sep, FALSE, FALSE, 0); |
22b8a92fb5ee
Adds attention UI to Pidgin (can send attentions using a menu item)
Marcus Lundblad <ml@update.uu.se>
parents:
24076
diff
changeset
|
1491 gtk_widget_show_all(sep); |
22b8a92fb5ee
Adds attention UI to Pidgin (can send attentions using a menu item)
Marcus Lundblad <ml@update.uu.se>
parents:
24076
diff
changeset
|
1492 |
22b8a92fb5ee
Adds attention UI to Pidgin (can send attentions using a menu item)
Marcus Lundblad <ml@update.uu.se>
parents:
24076
diff
changeset
|
1493 /* Attention */ |
22b8a92fb5ee
Adds attention UI to Pidgin (can send attentions using a menu item)
Marcus Lundblad <ml@update.uu.se>
parents:
24076
diff
changeset
|
1494 attention_button = gtk_button_new(); |
22b8a92fb5ee
Adds attention UI to Pidgin (can send attentions using a menu item)
Marcus Lundblad <ml@update.uu.se>
parents:
24076
diff
changeset
|
1495 gtk_button_set_relief(GTK_BUTTON(attention_button), GTK_RELIEF_NONE); |
22b8a92fb5ee
Adds attention UI to Pidgin (can send attentions using a menu item)
Marcus Lundblad <ml@update.uu.se>
parents:
24076
diff
changeset
|
1496 bbox = gtk_hbox_new(FALSE, 3); |
22b8a92fb5ee
Adds attention UI to Pidgin (can send attentions using a menu item)
Marcus Lundblad <ml@update.uu.se>
parents:
24076
diff
changeset
|
1497 gtk_container_add(GTK_CONTAINER(attention_button), bbox); |
30236 | 1498 image = gtk_image_new_from_stock(PIDGIN_STOCK_TOOLBAR_SEND_ATTENTION, |
29244
22b8a92fb5ee
Adds attention UI to Pidgin (can send attentions using a menu item)
Marcus Lundblad <ml@update.uu.se>
parents:
24076
diff
changeset
|
1499 gtk_icon_size_from_name(PIDGIN_ICON_SIZE_TANGO_EXTRA_SMALL)); |
22b8a92fb5ee
Adds attention UI to Pidgin (can send attentions using a menu item)
Marcus Lundblad <ml@update.uu.se>
parents:
24076
diff
changeset
|
1500 gtk_box_pack_start(GTK_BOX(bbox), image, FALSE, FALSE, 0); |
22b8a92fb5ee
Adds attention UI to Pidgin (can send attentions using a menu item)
Marcus Lundblad <ml@update.uu.se>
parents:
24076
diff
changeset
|
1501 label = gtk_label_new_with_mnemonic(_("_Attention!")); |
22b8a92fb5ee
Adds attention UI to Pidgin (can send attentions using a menu item)
Marcus Lundblad <ml@update.uu.se>
parents:
24076
diff
changeset
|
1502 gtk_box_pack_start(GTK_BOX(bbox), label, FALSE, FALSE, 0); |
22b8a92fb5ee
Adds attention UI to Pidgin (can send attentions using a menu item)
Marcus Lundblad <ml@update.uu.se>
parents:
24076
diff
changeset
|
1503 gtk_box_pack_start(GTK_BOX(box), attention_button, FALSE, FALSE, 0); |
30236 | 1504 g_signal_connect_swapped(G_OBJECT(attention_button), "clicked", |
32672
3828a61c44da
A boring and large patch so I can merge heads.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32658
diff
changeset
|
1505 G_CALLBACK(gtk_button_clicked), toolbar->attention); |
29244
22b8a92fb5ee
Adds attention UI to Pidgin (can send attentions using a menu item)
Marcus Lundblad <ml@update.uu.se>
parents:
24076
diff
changeset
|
1506 gtk_widget_show_all(attention_button); |
30236 | 1507 |
32672
3828a61c44da
A boring and large patch so I can merge heads.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32658
diff
changeset
|
1508 g_signal_connect(G_OBJECT(toolbar->attention), "notify::sensitive", |
29250
0efd688ed086
Added connection flag ALLOW_ATTENTION
Marcus Lundblad <ml@update.uu.se>
parents:
29249
diff
changeset
|
1509 G_CALLBACK(button_sensitiveness_changed), attention_button); |
32672
3828a61c44da
A boring and large patch so I can merge heads.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32658
diff
changeset
|
1510 g_signal_connect(G_OBJECT(toolbar->attention), "notify::visible", |
30234
832c94bdc3bb
Add notify::visibilty handlers for the 'lean' GtkIMHtmlToolbar,
Paul Aurich <paul@darkrain42.org>
parents:
30232
diff
changeset
|
1511 G_CALLBACK(button_visibility_changed), attention_button); |
29250
0efd688ed086
Added connection flag ALLOW_ATTENTION
Marcus Lundblad <ml@update.uu.se>
parents:
29249
diff
changeset
|
1512 |
29263
146a6c0b2ee8
Gray out attention toolbar button when creating the toolbar.
Marcus Lundblad <ml@update.uu.se>
parents:
29254
diff
changeset
|
1513 /* set attention button to be greyed out until we get a conversation */ |
32672
3828a61c44da
A boring and large patch so I can merge heads.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32658
diff
changeset
|
1514 gtk_widget_set_sensitive(toolbar->attention, FALSE); |
30236 | 1515 |
19586
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1516 gtk_box_pack_start(GTK_BOX(hbox), box, FALSE, FALSE, 0); |
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1517 g_object_set_data(G_OBJECT(hbox), "lean-view", box); |
22093
35d5b7804449
Show the grouped items initially. This fixes the issues with the size of the entry box in the conversation windows.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21971
diff
changeset
|
1518 gtk_widget_show(box); |
19586
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1519 |
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1520 purple_prefs_connect_callback(toolbar, PIDGIN_PREFS_ROOT "/conversations/toolbar/wide", |
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1521 imhtmltoolbar_view_pref_changed, toolbar); |
21770
7f79f3099c72
Show either the grouped xor the ungrouped items.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21645
diff
changeset
|
1522 g_signal_connect_data(G_OBJECT(toolbar), "realize", |
7f79f3099c72
Show either the grouped xor the ungrouped items.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21645
diff
changeset
|
1523 G_CALLBACK(purple_prefs_trigger_callback), PIDGIN_PREFS_ROOT "/conversations/toolbar/wide", |
7f79f3099c72
Show either the grouped xor the ungrouped items.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
21645
diff
changeset
|
1524 NULL, G_CONNECT_AFTER | G_CONNECT_SWAPPED); |
19586
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1525 |
19779
305c95ea0a7b
Fix from fmoo so that the imhtml toolbar appears right on the MS-Windows theme (and probably other themes too).
Daniel Atallah <daniel.atallah@gmail.com>
parents:
19681
diff
changeset
|
1526 gtk_event_box_set_visible_window(GTK_EVENT_BOX(event), FALSE); |
305c95ea0a7b
Fix from fmoo so that the imhtml toolbar appears right on the MS-Windows theme (and probably other themes too).
Daniel Atallah <daniel.atallah@gmail.com>
parents:
19681
diff
changeset
|
1527 |
19586
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1528 gtk_widget_add_events(event, GDK_BUTTON_PRESS_MASK); |
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1529 gtk_box_pack_start(GTK_BOX(hbox), event, TRUE, TRUE, 0); |
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1530 g_signal_connect(G_OBJECT(event), "button-press-event", G_CALLBACK(gtk_imhtmltoolbar_popup_menu), toolbar); |
c3259b161070
Add a 'Group Items'/'Ungroup Items' context menu for the toolbar in the
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
19541
diff
changeset
|
1531 gtk_widget_show(event); |
15373
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1532 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1533 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1534 GtkWidget *gtk_imhtmltoolbar_new() |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1535 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1536 return GTK_WIDGET(g_object_new(gtk_imhtmltoolbar_get_type(), NULL)); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1537 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1538 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1539 GType gtk_imhtmltoolbar_get_type() |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1540 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1541 static GType imhtmltoolbar_type = 0; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1542 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1543 if (!imhtmltoolbar_type) { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1544 static const GTypeInfo imhtmltoolbar_info = { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1545 sizeof(GtkIMHtmlToolbarClass), |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1546 NULL, |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1547 NULL, |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1548 (GClassInitFunc) gtk_imhtmltoolbar_class_init, |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1549 NULL, |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1550 NULL, |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1551 sizeof (GtkIMHtmlToolbar), |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1552 0, |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1553 (GInstanceInitFunc) gtk_imhtmltoolbar_init, |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1554 NULL |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1555 }; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1556 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1557 imhtmltoolbar_type = g_type_register_static(GTK_TYPE_HBOX, |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1558 "GtkIMHtmlToolbar", &imhtmltoolbar_info, 0); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1559 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1560 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1561 return imhtmltoolbar_type; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1562 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1563 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1564 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1565 void gtk_imhtmltoolbar_attach(GtkIMHtmlToolbar *toolbar, GtkWidget *imhtml) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1566 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1567 GtkIMHtmlButtons buttons; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1568 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1569 g_return_if_fail(toolbar != NULL); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1570 g_return_if_fail(GTK_IS_IMHTMLTOOLBAR(toolbar)); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1571 g_return_if_fail(imhtml != NULL); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1572 g_return_if_fail(GTK_IS_IMHTML(imhtml)); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1573 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1574 toolbar->imhtml = imhtml; |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1575 g_signal_connect(G_OBJECT(imhtml), "format_buttons_update", G_CALLBACK(update_buttons_cb), toolbar); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1576 g_signal_connect_after(G_OBJECT(imhtml), "format_function_toggle", G_CALLBACK(toggle_button_cb), toolbar); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1577 g_signal_connect_after(G_OBJECT(imhtml), "format_function_clear", G_CALLBACK(update_format_cb), toolbar); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1578 g_signal_connect(G_OBJECT(imhtml), "format_function_update", G_CALLBACK(update_format_cb), toolbar); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1579 g_signal_connect_after(G_OBJECT(GTK_IMHTML(imhtml)->text_buffer), "mark-set", G_CALLBACK(mark_set_cb), toolbar); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1580 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1581 buttons = gtk_imhtml_get_format_functions(GTK_IMHTML(imhtml)); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1582 update_buttons_cb(GTK_IMHTML(imhtml), buttons, toolbar); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1583 update_buttons(toolbar); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1584 } |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1585 |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1586 void gtk_imhtmltoolbar_associate_smileys(GtkIMHtmlToolbar *toolbar, const char *proto_id) |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1587 { |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1588 g_free(toolbar->sml); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1589 toolbar->sml = g_strdup(proto_id); |
5fe8042783c1
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff
changeset
|
1590 } |
29249
bb9f7ba4f299
Added active conversation on GtkIMHtmlToolbar
Marcus Lundblad <ml@update.uu.se>
parents:
29247
diff
changeset
|
1591 |
bb9f7ba4f299
Added active conversation on GtkIMHtmlToolbar
Marcus Lundblad <ml@update.uu.se>
parents:
29247
diff
changeset
|
1592 void gtk_imhtmltoolbar_switch_active_conversation(GtkIMHtmlToolbar *toolbar, |
bb9f7ba4f299
Added active conversation on GtkIMHtmlToolbar
Marcus Lundblad <ml@update.uu.se>
parents:
29247
diff
changeset
|
1593 PurpleConversation *conv) |
bb9f7ba4f299
Added active conversation on GtkIMHtmlToolbar
Marcus Lundblad <ml@update.uu.se>
parents:
29247
diff
changeset
|
1594 { |
32672
3828a61c44da
A boring and large patch so I can merge heads.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32658
diff
changeset
|
1595 PurpleConnection *gc = purple_conversation_get_connection(conv); |
29251
602f3b6ddbbf
Removed _ALLOW_ATTENTION from connection flags
Marcus Lundblad <ml@update.uu.se>
parents:
29250
diff
changeset
|
1596 PurplePlugin *prpl = purple_connection_get_prpl(gc); |
29307
28880022598c
Temporary workaround to not break ABI, to allow this in for 2.7.0
Marcus Lundblad <ml@update.uu.se>
parents:
29301
diff
changeset
|
1597 |
28880022598c
Temporary workaround to not break ABI, to allow this in for 2.7.0
Marcus Lundblad <ml@update.uu.se>
parents:
29301
diff
changeset
|
1598 g_object_set_data(G_OBJECT(toolbar), "active_conv", conv); |
31086
a8cc50c2279f
Remove trailing whitespace
Richard Laager <rlaager@wiktel.com>
parents:
30430
diff
changeset
|
1599 |
29251
602f3b6ddbbf
Removed _ALLOW_ATTENTION from connection flags
Marcus Lundblad <ml@update.uu.se>
parents:
29250
diff
changeset
|
1600 /* gray out attention button on protocols that don't support it |
602f3b6ddbbf
Removed _ALLOW_ATTENTION from connection flags
Marcus Lundblad <ml@update.uu.se>
parents:
29250
diff
changeset
|
1601 for the time being it is always disabled for chats */ |
32672
3828a61c44da
A boring and large patch so I can merge heads.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32658
diff
changeset
|
1602 gtk_widget_set_sensitive(toolbar->attention, |
31086
a8cc50c2279f
Remove trailing whitespace
Richard Laager <rlaager@wiktel.com>
parents:
30430
diff
changeset
|
1603 conv && prpl && purple_conversation_get_type(conv) == PURPLE_CONV_TYPE_IM && |
29253
12c01afbb0ea
NULL-check for conversation when updating attention button
Marcus Lundblad <ml@update.uu.se>
parents:
29252
diff
changeset
|
1604 PURPLE_PLUGIN_PROTOCOL_INFO(prpl)->send_attention != NULL); |
29249
bb9f7ba4f299
Added active conversation on GtkIMHtmlToolbar
Marcus Lundblad <ml@update.uu.se>
parents:
29247
diff
changeset
|
1605 } |
bb9f7ba4f299
Added active conversation on GtkIMHtmlToolbar
Marcus Lundblad <ml@update.uu.se>
parents:
29247
diff
changeset
|
1606 |