pidgin/plugins/themeedit.c

Tue, 07 May 2013 05:04:46 -0400

author
Elliott Sales de Andrade <qulogic@pidgin.im>
date
Tue, 07 May 2013 05:04:46 -0400
changeset 33923
0fcc5635daba
parent 33683
bf243e3394a7
child 34706
02cb08146888
permissions
-rw-r--r--

Rewrite debug window filter in JS.

Note, this does cause a couple regressions, but they are probably not
that big a deal. First, the JS regular expression syntax is slightly
different. Second, the JS regex API lacks a way to reliably determine
the location of matched groups, so we can't highlight just the groups
and must highlight the entire expression.

I suspect that none of our users ever had to use any fancy regex in the
debug window, and that most of our developers didn't even know it could
be done. So I doubt these regressions will cause much pain.

26806
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
1 /* Pidgin
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
2 *
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
3 * Pidgin is the legal property of its developers, whose names are too numerous
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
4 * to list here. Please refer to the COPYRIGHT file distributed with this
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
5 * source distribution.
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
6 *
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
7 * This program is free software; you can redistribute it and/or modify
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
8 * it under the terms of the GNU General Public License as published by
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
9 * the Free Software Foundation; either version 2 of the License, or
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
10 * (at your option) any later version.
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
11 *
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
12 * This program is distributed in the hope that it will be useful,
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
15 * GNU General Public License for more details.
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
16 *
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
17 * You should have received a copy of the GNU General Public License
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
18 * along with this program; if not, write to the Free Software
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
20 */
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
21 #include "internal.h"
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
22 #include "pidgin.h"
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
23 #include "version.h"
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
24
33284
e3155594ea98 Bugfix: focus lost after sending a message; fix GTK+2 compile.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33275
diff changeset
25 #include "gtk3compat.h"
e3155594ea98 Bugfix: focus lost after sending a message; fix GTK+2 compile.
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33275
diff changeset
26
26806
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
27 #include "theme-manager.h"
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
28
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
29 #include "gtkblist.h"
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
30 #include "gtkblist-theme.h"
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
31 #include "gtkutils.h"
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
32 #include "gtkplugin.h"
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
33
26811
72045103fad1 A status-icon theme editor.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26810
diff changeset
34 #define PLUGIN_ID "gtk-theme-editor"
72045103fad1 A status-icon theme editor.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26810
diff changeset
35
72045103fad1 A status-icon theme editor.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26810
diff changeset
36 #include "themeedit-icon.h"
26806
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
37
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
38 static gboolean
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
39 prop_type_is_color(PidginBlistTheme *theme, const char *prop)
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
40 {
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
41 PidginBlistThemeClass *klass = PIDGIN_BLIST_THEME_GET_CLASS(theme);
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
42 GParamSpec *spec = g_object_class_find_property(G_OBJECT_CLASS(klass), prop);
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
43
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
44 return G_IS_PARAM_SPEC_BOXED(spec);
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
45 }
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
46
26841
4de3b5aa28c5 Disable the 'Save' buttons since they don't do nothing yet, man.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26813
diff changeset
47 #ifdef NOT_SADRUL
26806
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
48 static void
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
49 save_blist_theme(GtkWidget *w, GtkWidget *window)
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
50 {
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
51 /* TODO: SAVE! */
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
52 gtk_widget_destroy(window);
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
53 }
26841
4de3b5aa28c5 Disable the 'Save' buttons since they don't do nothing yet, man.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26813
diff changeset
54 #endif
4de3b5aa28c5 Disable the 'Save' buttons since they don't do nothing yet, man.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26813
diff changeset
55
4de3b5aa28c5 Disable the 'Save' buttons since they don't do nothing yet, man.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26813
diff changeset
56 static void
4de3b5aa28c5 Disable the 'Save' buttons since they don't do nothing yet, man.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26813
diff changeset
57 close_blist_theme(GtkWidget *w, GtkWidget *window)
4de3b5aa28c5 Disable the 'Save' buttons since they don't do nothing yet, man.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26813
diff changeset
58 {
4de3b5aa28c5 Disable the 'Save' buttons since they don't do nothing yet, man.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26813
diff changeset
59 gtk_widget_destroy(window);
4de3b5aa28c5 Disable the 'Save' buttons since they don't do nothing yet, man.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26813
diff changeset
60 }
26806
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
61
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
62 static void
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
63 theme_color_selected(GtkDialog *dialog, gint response, const char *prop)
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
64 {
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
65 if (response == GTK_RESPONSE_OK) {
30010
2b3e5bbd0492 Prepare Pidgin plugins for GTK+3.0. They're almost GSeal-compliant, except
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26869
diff changeset
66 GtkWidget *colorsel;
26806
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
67 GdkColor color;
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
68 PidginBlistTheme *theme;
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
69
30010
2b3e5bbd0492 Prepare Pidgin plugins for GTK+3.0. They're almost GSeal-compliant, except
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26869
diff changeset
70 colorsel =
2b3e5bbd0492 Prepare Pidgin plugins for GTK+3.0. They're almost GSeal-compliant, except
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26869
diff changeset
71 gtk_color_selection_dialog_get_color_selection(GTK_COLOR_SELECTION_DIALOG(dialog));
2b3e5bbd0492 Prepare Pidgin plugins for GTK+3.0. They're almost GSeal-compliant, except
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26869
diff changeset
72 gtk_color_selection_get_current_color(GTK_COLOR_SELECTION(colorsel), &color);
26806
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
73
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
74 theme = pidgin_blist_get_theme();
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
75
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
76 if (prop_type_is_color(theme, prop)) {
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
77 g_object_set(G_OBJECT(theme), prop, &color, NULL);
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
78 } else {
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
79 PidginThemeFont *font = NULL;
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
80 g_object_get(G_OBJECT(theme), prop, &font, NULL);
26808
760c79a3df1a Allow editing the theme when no theme is selected (the default).
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26806
diff changeset
81 if (!font) {
760c79a3df1a Allow editing the theme when no theme is selected (the default).
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26806
diff changeset
82 font = pidgin_theme_font_new(NULL, &color);
760c79a3df1a Allow editing the theme when no theme is selected (the default).
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26806
diff changeset
83 g_object_set(G_OBJECT(theme), prop, font, NULL);
760c79a3df1a Allow editing the theme when no theme is selected (the default).
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26806
diff changeset
84 pidgin_theme_font_free(font);
760c79a3df1a Allow editing the theme when no theme is selected (the default).
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26806
diff changeset
85 } else {
760c79a3df1a Allow editing the theme when no theme is selected (the default).
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26806
diff changeset
86 pidgin_theme_font_set_color(font, &color);
760c79a3df1a Allow editing the theme when no theme is selected (the default).
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26806
diff changeset
87 }
26806
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
88 }
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
89 pidgin_blist_set_theme(theme);
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
90 }
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
91
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
92 gtk_widget_destroy(GTK_WIDGET(dialog));
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
93 }
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
94
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
95 static void
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
96 theme_font_face_selected(GtkWidget *dialog, gint response, gpointer font)
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
97 {
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
98 if (response == GTK_RESPONSE_OK || response == GTK_RESPONSE_APPLY) {
33275
8da9d2ec671d Use new GtkFontChooser where available.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33133
diff changeset
99 const char *fontname = gtk_font_chooser_get_font(GTK_FONT_CHOOSER(dialog));
26806
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
100 pidgin_theme_font_set_font_face(font, fontname);
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
101 pidgin_blist_refresh(purple_get_blist());
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
102 }
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
103 gtk_widget_destroy(dialog);
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
104 }
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
105
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
106 static void
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
107 theme_font_select_face(GtkWidget *widget, gpointer prop)
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
108 {
33275
8da9d2ec671d Use new GtkFontChooser where available.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33133
diff changeset
109 GtkWindow *window;
26806
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
110 GtkWidget *dialog;
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
111 PidginBlistTheme *theme;
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
112 PidginThemeFont *font = NULL;
26808
760c79a3df1a Allow editing the theme when no theme is selected (the default).
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26806
diff changeset
113 const char *face;
26806
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
114
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
115 theme = pidgin_blist_get_theme();
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
116 g_object_get(G_OBJECT(theme), prop, &font, NULL);
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
117
26808
760c79a3df1a Allow editing the theme when no theme is selected (the default).
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26806
diff changeset
118 if (!font) {
760c79a3df1a Allow editing the theme when no theme is selected (the default).
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26806
diff changeset
119 font = pidgin_theme_font_new(NULL, NULL);
760c79a3df1a Allow editing the theme when no theme is selected (the default).
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26806
diff changeset
120 g_object_set(G_OBJECT(theme), prop, font, NULL);
760c79a3df1a Allow editing the theme when no theme is selected (the default).
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26806
diff changeset
121 pidgin_theme_font_free(font);
760c79a3df1a Allow editing the theme when no theme is selected (the default).
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26806
diff changeset
122 g_object_get(G_OBJECT(theme), prop, &font, NULL);
760c79a3df1a Allow editing the theme when no theme is selected (the default).
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26806
diff changeset
123 }
760c79a3df1a Allow editing the theme when no theme is selected (the default).
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26806
diff changeset
124
760c79a3df1a Allow editing the theme when no theme is selected (the default).
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26806
diff changeset
125 face = pidgin_theme_font_get_font_face(font);
33275
8da9d2ec671d Use new GtkFontChooser where available.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33133
diff changeset
126 window = GTK_WINDOW(gtk_widget_get_toplevel(widget));
8da9d2ec671d Use new GtkFontChooser where available.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33133
diff changeset
127 dialog = gtk_font_chooser_dialog_new(_("Select Font"), window);
26808
760c79a3df1a Allow editing the theme when no theme is selected (the default).
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26806
diff changeset
128 if (face && *face)
33275
8da9d2ec671d Use new GtkFontChooser where available.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 33133
diff changeset
129 gtk_font_chooser_set_font(GTK_FONT_CHOOSER(dialog), face);
26806
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
130 g_signal_connect(G_OBJECT(dialog), "response", G_CALLBACK(theme_font_face_selected),
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
131 font);
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
132 gtk_widget_show_all(dialog);
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
133 }
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
134
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
135 static void
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
136 theme_color_select(GtkWidget *widget, gpointer prop)
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
137 {
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
138 GtkWidget *dialog;
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
139 PidginBlistTheme *theme;
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
140 const GdkColor *color = NULL;
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
141
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
142 theme = pidgin_blist_get_theme();
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
143
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
144 if (prop_type_is_color(theme, prop)) {
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
145 g_object_get(G_OBJECT(theme), prop, &color, NULL);
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
146 } else {
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
147 PidginThemeFont *pair = NULL;
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
148 g_object_get(G_OBJECT(theme), prop, &pair, NULL);
26809
c120381fbe45 Fix some assertion failures.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26808
diff changeset
149 if (pair)
c120381fbe45 Fix some assertion failures.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26808
diff changeset
150 color = pidgin_theme_font_get_color(pair);
26806
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
151 }
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
152
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
153 dialog = gtk_color_selection_dialog_new(_("Select Color"));
30010
2b3e5bbd0492 Prepare Pidgin plugins for GTK+3.0. They're almost GSeal-compliant, except
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26869
diff changeset
154 if (color)
2b3e5bbd0492 Prepare Pidgin plugins for GTK+3.0. They're almost GSeal-compliant, except
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26869
diff changeset
155 gtk_color_selection_set_current_color(GTK_COLOR_SELECTION(
2b3e5bbd0492 Prepare Pidgin plugins for GTK+3.0. They're almost GSeal-compliant, except
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26869
diff changeset
156 gtk_color_selection_dialog_get_color_selection(GTK_COLOR_SELECTION_DIALOG(dialog))),
2b3e5bbd0492 Prepare Pidgin plugins for GTK+3.0. They're almost GSeal-compliant, except
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26869
diff changeset
157 color);
26806
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
158 g_signal_connect(G_OBJECT(dialog), "response", G_CALLBACK(theme_color_selected),
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
159 prop);
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
160
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
161 gtk_widget_show_all(dialog);
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
162 }
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
163
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
164 static GtkWidget *
26810
c19a6dbe3f3b Mark the description of the properties for translation. Show the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26809
diff changeset
165 pidgin_theme_create_color_selector(const char *text, const char *blurb, const char *prop,
26806
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
166 GtkSizeGroup *sizegroup)
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
167 {
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
168 GtkWidget *color;
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
169 GtkWidget *hbox, *label;
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
170
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
171 hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_CAT_SPACE);
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
172
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
173 label = gtk_label_new(_(text));
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
174 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
175 gtk_size_group_add_widget(sizegroup, label);
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
176 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
26810
c19a6dbe3f3b Mark the description of the properties for translation. Show the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26809
diff changeset
177 gtk_widget_set_tooltip_text(label, blurb);
26806
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
178
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
179 color = pidgin_pixbuf_button_from_stock("", GTK_STOCK_SELECT_COLOR,
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
180 PIDGIN_BUTTON_HORIZONTAL);
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
181 g_signal_connect(G_OBJECT(color), "clicked", G_CALLBACK(theme_color_select),
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
182 (gpointer)prop);
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
183 gtk_box_pack_start(GTK_BOX(hbox), color, FALSE, FALSE, 0);
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
184
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
185 return hbox;
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
186 }
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
187
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
188 static GtkWidget *
26810
c19a6dbe3f3b Mark the description of the properties for translation. Show the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26809
diff changeset
189 pidgin_theme_create_font_selector(const char *text, const char *blurb, const char *prop,
26806
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
190 GtkSizeGroup *sizegroup)
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
191 {
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
192 GtkWidget *color, *font;
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
193 GtkWidget *hbox, *label;
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
194
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
195 hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_CAT_SPACE);
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
196
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
197 label = gtk_label_new(_(text));
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
198 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
199 gtk_size_group_add_widget(sizegroup, label);
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
200 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
26810
c19a6dbe3f3b Mark the description of the properties for translation. Show the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26809
diff changeset
201 gtk_widget_set_tooltip_text(label, blurb);
26806
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
202
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
203 font = pidgin_pixbuf_button_from_stock("", GTK_STOCK_SELECT_FONT,
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
204 PIDGIN_BUTTON_HORIZONTAL);
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
205 g_signal_connect(G_OBJECT(font), "clicked", G_CALLBACK(theme_font_select_face),
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
206 (gpointer)prop);
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
207 gtk_box_pack_start(GTK_BOX(hbox), font, FALSE, FALSE, 0);
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
208
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
209 color = pidgin_pixbuf_button_from_stock("", GTK_STOCK_SELECT_COLOR,
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
210 PIDGIN_BUTTON_HORIZONTAL);
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
211 g_signal_connect(G_OBJECT(color), "clicked", G_CALLBACK(theme_color_select),
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
212 (gpointer)prop);
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
213 gtk_box_pack_start(GTK_BOX(hbox), color, FALSE, FALSE, 0);
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
214
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
215 return hbox;
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
216 }
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
217
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
218 static void
26869
210aa82531fe Fix two warnings in the theme editor plugin
Paul Aurich <darkrain42@pidgin.im>
parents: 26841
diff changeset
219 pidgin_blist_theme_edit(PurplePluginAction *unused)
26806
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
220 {
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
221 GtkWidget *dialog;
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
222 GtkWidget *box;
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
223 GtkSizeGroup *group;
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
224 PidginBlistTheme *theme;
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
225 GObjectClass *klass;
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
226 int i, j;
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
227 static struct {
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
228 const char *header;
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
229 const char *props[12];
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
230 } sections[] = {
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
231 {N_("Contact"), {
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
232 "contact-color",
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
233 "contact",
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
234 "online",
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
235 "away",
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
236 "offline",
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
237 "idle",
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
238 "message",
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
239 "message_nick_said",
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
240 "status",
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
241 NULL
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
242 }
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
243 },
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
244 {N_("Group"), {
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
245 "expanded-color",
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
246 "expanded-text",
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
247 "collapsed-color",
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
248 "collapsed-text",
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
249 NULL
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
250 }
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
251 },
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
252 { NULL, { } }
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
253 };
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
254
26811
72045103fad1 A status-icon theme editor.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26810
diff changeset
255 dialog = pidgin_create_dialog(_("Pidgin Buddylist Theme Editor"), 0, "theme-editor-blist", FALSE);
26809
c120381fbe45 Fix some assertion failures.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26808
diff changeset
256 box = pidgin_dialog_get_vbox_with_properties(GTK_DIALOG(dialog), FALSE, PIDGIN_HIG_BOX_SPACE);
26806
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
257
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
258 theme = pidgin_blist_get_theme();
26808
760c79a3df1a Allow editing the theme when no theme is selected (the default).
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26806
diff changeset
259 if (!theme) {
31102
0687ddc92313 Build the "Pidgin Theme Editor" plugin on Windows too.
Daniel Atallah <datallah@pidgin.im>
parents: 30010
diff changeset
260 const char *author;
0687ddc92313 Build the "Pidgin Theme Editor" plugin on Windows too.
Daniel Atallah <datallah@pidgin.im>
parents: 30010
diff changeset
261 #ifndef _WIN32
0687ddc92313 Build the "Pidgin Theme Editor" plugin on Windows too.
Daniel Atallah <datallah@pidgin.im>
parents: 30010
diff changeset
262 author = getlogin();
0687ddc92313 Build the "Pidgin Theme Editor" plugin on Windows too.
Daniel Atallah <datallah@pidgin.im>
parents: 30010
diff changeset
263 #else
0687ddc92313 Build the "Pidgin Theme Editor" plugin on Windows too.
Daniel Atallah <datallah@pidgin.im>
parents: 30010
diff changeset
264 author = "user";
0687ddc92313 Build the "Pidgin Theme Editor" plugin on Windows too.
Daniel Atallah <datallah@pidgin.im>
parents: 30010
diff changeset
265 #endif
26808
760c79a3df1a Allow editing the theme when no theme is selected (the default).
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26806
diff changeset
266 theme = g_object_new(PIDGIN_TYPE_BLIST_THEME, "type", "blist",
31102
0687ddc92313 Build the "Pidgin Theme Editor" plugin on Windows too.
Daniel Atallah <datallah@pidgin.im>
parents: 30010
diff changeset
267 "author", author,
26808
760c79a3df1a Allow editing the theme when no theme is selected (the default).
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26806
diff changeset
268 NULL);
760c79a3df1a Allow editing the theme when no theme is selected (the default).
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26806
diff changeset
269 pidgin_blist_set_theme(theme);
760c79a3df1a Allow editing the theme when no theme is selected (the default).
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26806
diff changeset
270 }
26806
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
271 klass = G_OBJECT_CLASS(PIDGIN_BLIST_THEME_GET_CLASS(theme));
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
272
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
273 group = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
274 for (i = 0; sections[i].header; i++) {
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
275 GtkWidget *vbox;
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
276 GtkWidget *hbox;
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
277 GParamSpec *spec;
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
278
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
279 vbox = pidgin_make_frame(box, _(sections[i].header));
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
280 for (j = 0; sections[i].props[j]; j++) {
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
281 const char *label;
26810
c19a6dbe3f3b Mark the description of the properties for translation. Show the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26809
diff changeset
282 const char *blurb;
26806
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
283 spec = g_object_class_find_property(klass, sections[i].props[j]);
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
284 label = g_param_spec_get_nick(spec);
26810
c19a6dbe3f3b Mark the description of the properties for translation. Show the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26809
diff changeset
285 blurb = g_param_spec_get_blurb(spec);
26806
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
286 if (G_IS_PARAM_SPEC_BOXED(spec)) {
26810
c19a6dbe3f3b Mark the description of the properties for translation. Show the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26809
diff changeset
287 hbox = pidgin_theme_create_color_selector(label, blurb,
26806
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
288 sections[i].props[j], group);
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
289 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
290 } else {
26810
c19a6dbe3f3b Mark the description of the properties for translation. Show the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26809
diff changeset
291 hbox = pidgin_theme_create_font_selector(label, blurb,
26806
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
292 sections[i].props[j], group);
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
293 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
294 }
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
295 }
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
296 }
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
297
26841
4de3b5aa28c5 Disable the 'Save' buttons since they don't do nothing yet, man.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26813
diff changeset
298 #ifdef NOT_SADRUL
26806
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
299 pidgin_dialog_add_button(GTK_DIALOG(dialog), GTK_STOCK_SAVE, G_CALLBACK(save_blist_theme), dialog);
26841
4de3b5aa28c5 Disable the 'Save' buttons since they don't do nothing yet, man.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26813
diff changeset
300 #endif
4de3b5aa28c5 Disable the 'Save' buttons since they don't do nothing yet, man.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26813
diff changeset
301 pidgin_dialog_add_button(GTK_DIALOG(dialog), GTK_STOCK_CLOSE, G_CALLBACK(close_blist_theme), dialog);
4de3b5aa28c5 Disable the 'Save' buttons since they don't do nothing yet, man.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26813
diff changeset
302
26806
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
303 gtk_widget_show_all(dialog);
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
304
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
305 g_object_unref(group);
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
306 }
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
307
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
308 static gboolean
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
309 plugin_load(PurplePlugin *plugin)
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
310 {
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
311 return TRUE;
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
312 }
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
313
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
314 static GList *
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
315 actions(PurplePlugin *plugin, gpointer context)
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
316 {
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
317 GList *l = NULL;
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
318 PurplePluginAction *act = NULL;
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
319
26811
72045103fad1 A status-icon theme editor.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26810
diff changeset
320 act = purple_plugin_action_new(_("Edit Buddylist Theme"), pidgin_blist_theme_edit);
72045103fad1 A status-icon theme editor.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26810
diff changeset
321 l = g_list_append(l, act);
26813
c1a058a2466e Make it possible to load non-status icons using a PidginStockIconTheme.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26811
diff changeset
322 act = purple_plugin_action_new(_("Edit Icon Theme"), pidgin_icon_theme_edit);
26806
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
323 l = g_list_append(l, act);
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
324
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
325 return l;
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
326 }
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
327
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
328 static PurplePluginInfo info =
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
329 {
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
330 PURPLE_PLUGIN_MAGIC,
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
331 PURPLE_MAJOR_VERSION,
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
332 PURPLE_MINOR_VERSION,
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
333 PURPLE_PLUGIN_STANDARD, /**< type */
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
334 PIDGIN_PLUGIN_TYPE, /**< ui_requirement */
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
335 0, /**< flags */
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
336 NULL, /**< dependencies */
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
337 PURPLE_PRIORITY_DEFAULT, /**< priority */
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
338
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
339 PLUGIN_ID, /**< id */
26811
72045103fad1 A status-icon theme editor.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26810
diff changeset
340 N_("Pidgin Theme Editor"), /**< name */
26806
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
341 DISPLAY_VERSION, /**< version */
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
342 /** summary */
26811
72045103fad1 A status-icon theme editor.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26810
diff changeset
343 N_("Pidgin Theme Editor."),
26806
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
344 /** description */
26811
72045103fad1 A status-icon theme editor.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26810
diff changeset
345 N_("Pidgin Theme Editor"),
26806
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
346 "Sadrul Habib Chowdhury <imadil@gmail.com>", /**< author */
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
347 PURPLE_WEBSITE, /**< homepage */
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
348
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
349 plugin_load, /**< load */
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
350 NULL, /**< unload */
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
351 NULL, /**< destroy */
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
352
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
353 NULL, /**< ui_info */
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
354 NULL, /**< extra_info */
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
355 NULL,
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
356 actions,
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
357
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
358 /* padding */
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
359 NULL,
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
360 NULL,
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
361 NULL,
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
362 NULL
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
363 };
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
364
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
365 static void
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
366 init_plugin(PurplePlugin *plugin)
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
367 {
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
368 }
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
369
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
370 PURPLE_INIT_PLUGIN(themeeditor, init_plugin, info)

mercurial