pidgin/plugins/themeedit.c

Wed, 21 Sep 2011 06:45:26 +0000

author
Elliott Sales de Andrade <qulogic@pidgin.im>
date
Wed, 21 Sep 2011 06:45:26 +0000
changeset 32575
eb4fc932fae9
parent 31102
0687ddc92313
child 32394
f883709bdba4
child 32912
6f4a4f8ad117
permissions
-rw-r--r--

Apply conversation theme when opening the GTK conversation. All the
parsing stuff was moved out of the theme code and into the conversation
code.

Someone (not me!) needs to check the code I commented out and see if
we really need that stuff (and then port it to WebKit/styling).

We also need to determine where to place Template.html and the rest
of our (not-yet-written) default theme.

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
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
25 #include "theme-manager.h"
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
26
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
27 #include "gtkblist.h"
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
28 #include "gtkblist-theme.h"
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
29 #include "gtkutils.h"
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
30 #include "gtkplugin.h"
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
31
26811
72045103fad1 A status-icon theme editor.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26810
diff changeset
32 #define PLUGIN_ID "gtk-theme-editor"
72045103fad1 A status-icon theme editor.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26810
diff changeset
33
72045103fad1 A status-icon theme editor.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26810
diff changeset
34 #include "themeedit-icon.h"
26806
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
35
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
36 static gboolean
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
37 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
38 {
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
39 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
40 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
41
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
42 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
43 }
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
44
26841
4de3b5aa28c5 Disable the 'Save' buttons since they don't do nothing yet, man.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26813
diff changeset
45 #ifdef NOT_SADRUL
26806
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
46 static void
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
47 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
48 {
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
49 /* TODO: SAVE! */
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
50 gtk_widget_destroy(window);
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
51 }
26841
4de3b5aa28c5 Disable the 'Save' buttons since they don't do nothing yet, man.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26813
diff changeset
52 #endif
4de3b5aa28c5 Disable the 'Save' buttons since they don't do nothing yet, man.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26813
diff changeset
53
4de3b5aa28c5 Disable the 'Save' buttons since they don't do nothing yet, man.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26813
diff changeset
54 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
55 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
56 {
4de3b5aa28c5 Disable the 'Save' buttons since they don't do nothing yet, man.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26813
diff changeset
57 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
58 }
26806
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
59
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
60 static void
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
61 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
62 {
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
63 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
64 GtkWidget *colorsel;
26806
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
65 GdkColor color;
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
66 PidginBlistTheme *theme;
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
67
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
68 #if GTK_CHECK_VERSION(2,14,0)
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
69 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
70 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
71 #else
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 colorsel = GTK_COLOR_SELECTION_DIALOG(dialog)->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
73 #endif
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
74 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
75
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
76 theme = pidgin_blist_get_theme();
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
77
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
78 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
79 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
80 } else {
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
81 PidginThemeFont *font = NULL;
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
82 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
83 if (!font) {
760c79a3df1a Allow editing the theme when no theme is selected (the default).
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26806
diff changeset
84 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
85 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
86 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
87 } else {
760c79a3df1a Allow editing the theme when no theme is selected (the default).
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26806
diff changeset
88 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
89 }
26806
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 pidgin_blist_set_theme(theme);
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
92 }
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 gtk_widget_destroy(GTK_WIDGET(dialog));
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
95 }
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
96
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
97 static void
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
98 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
99 {
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
100 if (response == GTK_RESPONSE_OK || response == GTK_RESPONSE_APPLY) {
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
101 const char *fontname = gtk_font_selection_dialog_get_font_name(GTK_FONT_SELECTION_DIALOG(dialog));
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
102 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
103 pidgin_blist_refresh(purple_get_blist());
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 gtk_widget_destroy(dialog);
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
106 }
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
107
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
108 static void
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
109 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
110 {
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
111 GtkWidget *dialog;
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
112 PidginBlistTheme *theme;
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
113 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
114 const char *face;
26806
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
115
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
116 theme = pidgin_blist_get_theme();
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
117 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
118
26808
760c79a3df1a Allow editing the theme when no theme is selected (the default).
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26806
diff changeset
119 if (!font) {
760c79a3df1a Allow editing the theme when no theme is selected (the default).
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26806
diff changeset
120 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
121 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
122 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
123 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
124 }
760c79a3df1a Allow editing the theme when no theme is selected (the default).
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26806
diff changeset
125
760c79a3df1a Allow editing the theme when no theme is selected (the default).
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26806
diff changeset
126 face = pidgin_theme_font_get_font_face(font);
26806
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
127 dialog = gtk_font_selection_dialog_new(_("Select Font"));
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)
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
129 gtk_font_selection_dialog_set_font_name(GTK_FONT_SELECTION_DIALOG(dialog),
26808
760c79a3df1a Allow editing the theme when no theme is selected (the default).
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26806
diff changeset
130 face);
26806
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
131 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
132 font);
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
133 gtk_widget_show_all(dialog);
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
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
136 static void
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
137 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
138 {
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
139 GtkWidget *dialog;
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
140 PidginBlistTheme *theme;
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
141 const GdkColor *color = NULL;
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
142
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
143 theme = pidgin_blist_get_theme();
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
144
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
145 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
146 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
147 } else {
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
148 PidginThemeFont *pair = NULL;
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
149 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
150 if (pair)
c120381fbe45 Fix some assertion failures.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26808
diff changeset
151 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
152 }
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
153
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
154 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
155 #if GTK_CHECK_VERSION(2,14,0)
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 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
157 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
158 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
159 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
160 #else
26809
c120381fbe45 Fix some assertion failures.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26808
diff changeset
161 if (color)
c120381fbe45 Fix some assertion failures.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26808
diff changeset
162 gtk_color_selection_set_current_color(GTK_COLOR_SELECTION(GTK_COLOR_SELECTION_DIALOG(dialog)->colorsel),
c120381fbe45 Fix some assertion failures.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26808
diff changeset
163 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
164 #endif
26806
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
165 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
166 prop);
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 gtk_widget_show_all(dialog);
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
169 }
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 static GtkWidget *
26810
c19a6dbe3f3b Mark the description of the properties for translation. Show the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26809
diff changeset
172 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
173 GtkSizeGroup *sizegroup)
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
174 {
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
175 GtkWidget *color;
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
176 GtkWidget *hbox, *label;
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
177
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
178 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
179
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
180 label = gtk_label_new(_(text));
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
181 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
182 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
183 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
184 #if GTK_CHECK_VERSION(2, 12, 0)
c19a6dbe3f3b Mark the description of the properties for translation. Show the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26809
diff changeset
185 gtk_widget_set_tooltip_text(label, blurb);
c19a6dbe3f3b Mark the description of the properties for translation. Show the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26809
diff changeset
186 #endif
26806
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 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
189 PIDGIN_BUTTON_HORIZONTAL);
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
190 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
191 (gpointer)prop);
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
192 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
193
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
194 return hbox;
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
195 }
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 static GtkWidget *
26810
c19a6dbe3f3b Mark the description of the properties for translation. Show the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26809
diff changeset
198 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
199 GtkSizeGroup *sizegroup)
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
200 {
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
201 GtkWidget *color, *font;
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
202 GtkWidget *hbox, *label;
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
203
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
204 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
205
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
206 label = gtk_label_new(_(text));
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
207 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
208 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
209 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
210 #if GTK_CHECK_VERSION(2, 12, 0)
c19a6dbe3f3b Mark the description of the properties for translation. Show the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26809
diff changeset
211 gtk_widget_set_tooltip_text(label, blurb);
c19a6dbe3f3b Mark the description of the properties for translation. Show the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26809
diff changeset
212 #endif
26806
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
213
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
214 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
215 PIDGIN_BUTTON_HORIZONTAL);
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
216 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
217 (gpointer)prop);
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
218 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
219
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
220 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
221 PIDGIN_BUTTON_HORIZONTAL);
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
222 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
223 (gpointer)prop);
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
224 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
225
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
226 return hbox;
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
227 }
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
228
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
229 static void
26869
210aa82531fe Fix two warnings in the theme editor plugin
Paul Aurich <darkrain42@pidgin.im>
parents: 26841
diff changeset
230 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
231 {
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
232 GtkWidget *dialog;
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
233 GtkWidget *box;
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
234 GtkSizeGroup *group;
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
235 PidginBlistTheme *theme;
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
236 GObjectClass *klass;
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
237 int i, j;
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
238 static struct {
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
239 const char *header;
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
240 const char *props[12];
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
241 } sections[] = {
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
242 {N_("Contact"), {
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
243 "contact-color",
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
244 "contact",
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
245 "online",
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
246 "away",
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
247 "offline",
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
248 "idle",
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
249 "message",
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
250 "message_nick_said",
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
251 "status",
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 },
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
255 {N_("Group"), {
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
256 "expanded-color",
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
257 "expanded-text",
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
258 "collapsed-color",
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
259 "collapsed-text",
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
260 NULL
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
261 }
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
262 },
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
263 { NULL, { } }
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
264 };
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
265
26811
72045103fad1 A status-icon theme editor.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26810
diff changeset
266 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
267 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
268
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
269 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
270 if (!theme) {
31102
0687ddc92313 Build the "Pidgin Theme Editor" plugin on Windows too.
Daniel Atallah <datallah@pidgin.im>
parents: 30010
diff changeset
271 const char *author;
0687ddc92313 Build the "Pidgin Theme Editor" plugin on Windows too.
Daniel Atallah <datallah@pidgin.im>
parents: 30010
diff changeset
272 #ifndef _WIN32
0687ddc92313 Build the "Pidgin Theme Editor" plugin on Windows too.
Daniel Atallah <datallah@pidgin.im>
parents: 30010
diff changeset
273 author = getlogin();
0687ddc92313 Build the "Pidgin Theme Editor" plugin on Windows too.
Daniel Atallah <datallah@pidgin.im>
parents: 30010
diff changeset
274 #else
0687ddc92313 Build the "Pidgin Theme Editor" plugin on Windows too.
Daniel Atallah <datallah@pidgin.im>
parents: 30010
diff changeset
275 author = "user";
0687ddc92313 Build the "Pidgin Theme Editor" plugin on Windows too.
Daniel Atallah <datallah@pidgin.im>
parents: 30010
diff changeset
276 #endif
26808
760c79a3df1a Allow editing the theme when no theme is selected (the default).
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26806
diff changeset
277 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
278 "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
279 NULL);
760c79a3df1a Allow editing the theme when no theme is selected (the default).
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26806
diff changeset
280 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
281 }
26806
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
282 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
283
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
284 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
285 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
286 GtkWidget *vbox;
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
287 GtkWidget *hbox;
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
288 GParamSpec *spec;
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
289
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
290 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
291 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
292 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
293 const char *blurb;
26806
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
294 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
295 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
296 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
297 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
298 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
299 sections[i].props[j], group);
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
300 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
301 } else {
26810
c19a6dbe3f3b Mark the description of the properties for translation. Show the
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26809
diff changeset
302 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
303 sections[i].props[j], group);
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
304 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
305 }
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
26809
c120381fbe45 Fix some assertion failures.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26808
diff changeset
309 gtk_dialog_set_has_separator(GTK_DIALOG(dialog), TRUE);
26841
4de3b5aa28c5 Disable the 'Save' buttons since they don't do nothing yet, man.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26813
diff changeset
310 #ifdef NOT_SADRUL
26806
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
311 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
312 #endif
4de3b5aa28c5 Disable the 'Save' buttons since they don't do nothing yet, man.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26813
diff changeset
313 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
314
26806
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
315 gtk_widget_show_all(dialog);
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 g_object_unref(group);
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
318 }
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
319
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
320 static gboolean
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
321 plugin_load(PurplePlugin *plugin)
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
322 {
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
323 return TRUE;
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
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
326 static GList *
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
327 actions(PurplePlugin *plugin, gpointer context)
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
328 {
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
329 GList *l = NULL;
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
330 PurplePluginAction *act = NULL;
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
331
26811
72045103fad1 A status-icon theme editor.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26810
diff changeset
332 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
333 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
334 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
335 l = g_list_append(l, act);
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
336
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
337 return l;
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
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
340 static PurplePluginInfo info =
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
341 {
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
342 PURPLE_PLUGIN_MAGIC,
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
343 PURPLE_MAJOR_VERSION,
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
344 PURPLE_MINOR_VERSION,
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
345 PURPLE_PLUGIN_STANDARD, /**< type */
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
346 PIDGIN_PLUGIN_TYPE, /**< ui_requirement */
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
347 0, /**< flags */
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
348 NULL, /**< dependencies */
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
349 PURPLE_PRIORITY_DEFAULT, /**< priority */
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
350
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
351 PLUGIN_ID, /**< id */
26811
72045103fad1 A status-icon theme editor.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26810
diff changeset
352 N_("Pidgin Theme Editor"), /**< name */
26806
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
353 DISPLAY_VERSION, /**< version */
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
354 /** summary */
26811
72045103fad1 A status-icon theme editor.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26810
diff changeset
355 N_("Pidgin Theme Editor."),
26806
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
356 /** description */
26811
72045103fad1 A status-icon theme editor.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 26810
diff changeset
357 N_("Pidgin Theme Editor"),
26806
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
358 "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
359 PURPLE_WEBSITE, /**< homepage */
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
360
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
361 plugin_load, /**< load */
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
362 NULL, /**< unload */
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
363 NULL, /**< destroy */
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 NULL, /**< ui_info */
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
366 NULL, /**< extra_info */
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
367 NULL,
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
368 actions,
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 /* padding */
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
371 NULL,
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
372 NULL,
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
373 NULL,
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
374 NULL
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
375 };
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
376
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
377 static void
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
378 init_plugin(PurplePlugin *plugin)
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
379 {
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
380 }
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
381
4fb406cd5475 Theme editor plugin (of sorts) for buddylist themes.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
382 PURPLE_INIT_PLUGIN(themeeditor, init_plugin, info)

mercurial