/pidgin/main: 0a335d1d7d48: Remove Pidgin Theme Editor plugin
Michael McConville
mmcconville at mykolab.com
Wed Jul 29 16:43:14 EDT 2015
Changeset: 0a335d1d7d48c1d73612375043177fb772084d42
Author: Michael McConville <mmcconville at mykolab.com>
Date: 2015-07-29 16:30 -0400
Branch: default
URL: https://hg.pidgin.im/pidgin/main/rev/0a335d1d7d48
Description:
Remove Pidgin Theme Editor plugin
diffstat:
pidgin/plugins/Makefile.am | 4 -
pidgin/plugins/Makefile.mingw | 7 -
pidgin/plugins/themeedit-icon.c | 326 -------------------------------
pidgin/plugins/themeedit.c | 338 ---------------------------------
pidgin/win32/nsis/pidgin-installer.nsi | 1 -
5 files changed, 0 insertions(+), 676 deletions(-)
diffs (truncated from 744 to 300 lines):
diff --git a/pidgin/plugins/Makefile.am b/pidgin/plugins/Makefile.am
--- a/pidgin/plugins/Makefile.am
+++ b/pidgin/plugins/Makefile.am
@@ -45,7 +45,6 @@ relnot_la_LDFLAGS = -module @P
screencap_la_LDFLAGS = -module @PLUGIN_LDFLAGS@
sendbutton_la_LDFLAGS = -module @PLUGIN_LDFLAGS@
spellchk_la_LDFLAGS = -module @PLUGIN_LDFLAGS@
-themeedit_la_LDFLAGS = -module @PLUGIN_LDFLAGS@
unity_la_LDFLAGS = -module @PLUGIN_LDFLAGS@
webkit_la_LDFLAGS = -module @PLUGIN_LDFLAGS@
xmppconsole_la_LDFLAGS = -module @PLUGIN_LDFLAGS@
@@ -64,7 +63,6 @@ plugin_LTLIBRARIES = \
screencap.la \
sendbutton.la \
spellchk.la \
- themeedit.la \
webkit.la \
xmppconsole.la
@@ -89,7 +87,6 @@ relnot_la_SOURCES = relnot.c
screencap_la_SOURCES = screencap.c
sendbutton_la_SOURCES = sendbutton.c
spellchk_la_SOURCES = spellchk.c
-themeedit_la_SOURCES = themeedit.c themeedit-icon.c themeedit-icon.h
unity_la_SOURCES = unity.c
webkit_la_SOURCES = webkit.c
xmppconsole_la_SOURCES = xmppconsole.c
@@ -107,7 +104,6 @@ relnot_la_LIBADD = @PIDGIN_LI
screencap_la_LIBADD = @PIDGIN_LIBS@
sendbutton_la_LIBADD = @PIDGIN_LIBS@
spellchk_la_LIBADD = @PIDGIN_LIBS@
-themeedit_la_LIBADD = @PIDGIN_LIBS@
unity_la_LIBADD = @PIDGIN_LIBS@ $(UNITY_LIBS)
webkit_la_LIBADD = @PIDGIN_LIBS@ $(WEBKIT_LIBS)
xmppconsole_la_LIBADD = @PIDGIN_LIBS@
diff --git a/pidgin/plugins/Makefile.mingw b/pidgin/plugins/Makefile.mingw
--- a/pidgin/plugins/Makefile.mingw
+++ b/pidgin/plugins/Makefile.mingw
@@ -79,12 +79,6 @@ install: all $(PIDGIN_INSTALL_PLUGINS_DI
$(MAKE_at) $(MAKE) -C $(WINPREFS_PLUGIN) -f $(MINGW_MAKEFILE) install
cp *.dll $(PIDGIN_INSTALL_PLUGINS_DIR)
-THEMEEDIT_SRC = themeedit.c themeedit-icon.c
-THEMEEDIT_OBJECTS = $(THEMEEDIT_SRC:%.c=%.o)
-
-themeedit.dll: $(THEMEEDIT_OBJECTS)
- $(CC) -shared $(THEMEEDIT_OBJECTS) $(LIB_PATHS) $(LIBS) $(DLL_LD_FLAGS) -o $@
-
%.dll: %.c $(PURPLE_CONFIG_H) $(PURPLE_VERSION_H)
$(CC) $(CFLAGS) $(DEFINES) $(INCLUDE_PATHS) -o $@.o -c $<
$(CC) -shared $@.o $(LIB_PATHS) $(LIBS) $(DLL_LD_FLAGS) -o $@
@@ -103,7 +97,6 @@ plugins: \
relnot.dll \
sendbutton.dll \
spellchk.dll \
- themeedit.dll \
webkit.dll \
xmppconsole.dll
diff --git a/pidgin/plugins/themeedit-icon.c b/pidgin/plugins/themeedit-icon.c
deleted file mode 100644
--- a/pidgin/plugins/themeedit-icon.c
+++ /dev/null
@@ -1,326 +0,0 @@
-/* Pidgin
- *
- * Pidgin is the legal property of its developers, whose names are too numerous
- * to list here. Please refer to the COPYRIGHT file distributed with this
- * source distribution.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
- */
-#include "internal.h"
-#include "pidgin.h"
-#include "debug.h"
-#include "version.h"
-
-#include "theme-manager.h"
-
-#include "gtk3compat.h"
-#include "gtkblist.h"
-#include "gtkblist-theme.h"
-#include "gtkutils.h"
-#include "gtkplugin.h"
-
-#include "pidginstock.h"
-#include "themeedit-icon.h"
-
-typedef enum
-{
- FLAG_SIZE_MICROSOPIC = 0,
- FLAG_SIZE_EXTRA_SMALL,
- FLAG_SIZE_SMALL,
- FLAG_SIZE_MEDIUM,
- FLAG_SIZE_LARGE,
- FLAG_SIZE_HUGE,
- FLAG_SIZE_NONE,
-} SectionFlags;
-
-#define SECTION_FLAGS_ALL (0x3f)
-
-static const char *stocksizes [] = {
- [FLAG_SIZE_MICROSOPIC] = PIDGIN_ICON_SIZE_TANGO_MICROSCOPIC,
- [FLAG_SIZE_EXTRA_SMALL] = PIDGIN_ICON_SIZE_TANGO_EXTRA_SMALL,
- [FLAG_SIZE_SMALL] = PIDGIN_ICON_SIZE_TANGO_SMALL,
- [FLAG_SIZE_MEDIUM] = PIDGIN_ICON_SIZE_TANGO_MEDIUM,
- [FLAG_SIZE_LARGE] = PIDGIN_ICON_SIZE_TANGO_LARGE,
- [FLAG_SIZE_HUGE] = PIDGIN_ICON_SIZE_TANGO_HUGE,
- [FLAG_SIZE_NONE] = NULL,
-};
-
-static const struct options {
- const char *stockid;
- const char *text;
-} statuses[] = {
- {PIDGIN_STOCK_STATUS_AVAILABLE, N_("Available")},
- {PIDGIN_STOCK_STATUS_AWAY, N_("Away")},
- {PIDGIN_STOCK_STATUS_XA, N_("Extended Away")},
- {PIDGIN_STOCK_STATUS_BUSY, N_("Busy")},
- {PIDGIN_STOCK_STATUS_OFFLINE, N_("Offline")},
- {PIDGIN_STOCK_STATUS_LOGIN, N_("Just logged in")},
- {PIDGIN_STOCK_STATUS_LOGOUT, N_("Just logged out")},
- {PIDGIN_STOCK_STATUS_PERSON, N_("Icon for Contact/\nIcon for Unknown person")},
- {PIDGIN_STOCK_STATUS_CHAT, N_("Icon for Chat")},
- {NULL, NULL}
-}, chatemblems[] = {
- {PIDGIN_STOCK_STATUS_IGNORED, N_("Ignored")},
- {PIDGIN_STOCK_STATUS_FOUNDER, N_("Founder")},
- /* A user in a chat room who has special privileges. */
- {PIDGIN_STOCK_STATUS_OPERATOR, N_("Operator")},
- /* A half operator is someone who has a subset of the privileges
- that an operator has. */
- {PIDGIN_STOCK_STATUS_HALFOP, N_("Half Operator")},
- {PIDGIN_STOCK_STATUS_VOICE, N_("Voice")},
- {NULL, NULL}
-}, dialogicons[] = {
- {PIDGIN_STOCK_DIALOG_AUTH, N_("Authorization dialog")},
- {PIDGIN_STOCK_DIALOG_ERROR, N_("Error dialog")},
- {PIDGIN_STOCK_DIALOG_INFO, N_("Information dialog")},
- {PIDGIN_STOCK_DIALOG_MAIL, N_("Mail dialog")},
- {PIDGIN_STOCK_DIALOG_QUESTION, N_("Question dialog")},
- {PIDGIN_STOCK_DIALOG_WARNING, N_("Warning dialog")},
- {NULL, NULL},
- {PIDGIN_STOCK_DIALOG_COOL, N_("What kind of dialog is this?")},
-};
-
-static const struct {
- const char *heading;
- const struct options *options;
- SectionFlags flags;
-} sections[] = {
- {N_("Status Icons"), statuses, SECTION_FLAGS_ALL ^ (1 << FLAG_SIZE_HUGE)},
- {N_("Chatroom Emblems"), chatemblems, FLAG_SIZE_SMALL},
- {N_("Dialog Icons"), dialogicons, (1 << FLAG_SIZE_EXTRA_SMALL) | (1 << FLAG_SIZE_HUGE)},
- {NULL, NULL, 0}
-};
-
-static PidginStatusIconTheme *
-create_icon_theme(GtkWidget *window)
-{
- int s, i, j;
- const char *dirname = g_get_tmp_dir();
- PidginStatusIconTheme *theme;
- const char *author;
-#ifndef _WIN32
- author = getlogin();
-#else
- author = "user";
-#endif
- theme = g_object_new(PIDGIN_TYPE_STATUS_ICON_THEME, "type", "status-icon",
- "author", author,
- "directory", dirname,
- NULL);
-
- for (s = 0; sections[s].heading; s++) {
- GtkWidget *vbox = g_object_get_data(G_OBJECT(window), sections[s].heading);
- for (i = 0; sections[s].options[i].stockid; i++) {
- GtkWidget *image = g_object_get_data(G_OBJECT(vbox), sections[s].options[i].stockid);
- GdkPixbuf *pixbuf = g_object_get_data(G_OBJECT(image), "pixbuf");
- if (!pixbuf)
- continue;
- pidgin_icon_theme_set_icon(PIDGIN_ICON_THEME(theme), sections[s].options[i].stockid,
- sections[s].options[i].stockid);
- for (j = 0; stocksizes[j]; j++) {
- int width, height;
- GtkIconSize iconsize;
- char size[8];
- char *name;
- GdkPixbuf *scale;
- GError *error = NULL;
-
- if (!(sections[s].flags & (1 << j)))
- continue;
-
- iconsize = gtk_icon_size_from_name(stocksizes[j]);
- gtk_icon_size_lookup(iconsize, &width, &height);
- g_snprintf(size, sizeof(size), "%d", width);
-
- if (i == 0) {
- name = g_build_filename(dirname, size, NULL);
- purple_build_dir(name, S_IRUSR | S_IWUSR | S_IXUSR);
- g_free(name);
- }
-
- name = g_build_filename(dirname, size, sections[s].options[i].stockid, NULL);
- scale = gdk_pixbuf_scale_simple(pixbuf, width, height, GDK_INTERP_BILINEAR);
- gdk_pixbuf_save(scale, name, "png", &error, "compression", "9", NULL);
- g_free(name);
- g_object_unref(G_OBJECT(scale));
- if (error)
- g_error_free(error);
- }
- }
- }
- return theme;
-}
-
-static void
-use_icon_theme(GtkWidget *w, GtkWidget *window)
-{
- /* I don't quite understand the icon-theme stuff. For example, I don't
- * know why PidginIconTheme needs to be abstract, or how PidginStatusIconTheme
- * would be different from other PidginIconTheme's (e.g. PidginStockIconTheme)
- * etc., but anyway, this works for now.
- *
- * Here's an interesting note: A PidginStatusIconTheme can be used for both
- * stock and status icons. Like I said, I don't quite know how they could be
- * different. So I am going to just keep it as it is, for now anyway, until I
- * have the time to dig through this, or someone explains this stuff to me
- * clearly.
- * -- Sad
- */
- PidginStatusIconTheme *theme = create_icon_theme(window);
- pidgin_stock_load_status_icon_theme(PIDGIN_STATUS_ICON_THEME(theme));
- pidgin_stock_load_stock_icon_theme((PidginStockIconTheme *)theme);
- pidgin_blist_refresh(purple_blist_get_buddy_list());
- g_object_unref(theme);
-}
-
-#ifdef NOT_SADRUL
-static void
-save_icon_theme(GtkWidget *w, GtkWidget *window)
-{
- /* TODO: SAVE! */
- gtk_widget_destroy(window);
-}
-#endif
-
-static void
-close_icon_theme(GtkWidget *w, GtkWidget *window)
-{
- gtk_widget_destroy(window);
-}
-
-static void
-stock_icon_selected(const char *filename, gpointer image)
-{
- GError *error = NULL;
- GdkPixbuf *scale;
- int i;
- GdkPixbuf *pixbuf;
-
- if (!filename)
- return;
-
- pixbuf = gdk_pixbuf_new_from_file(filename, &error);
- if (error || !pixbuf) {
- purple_debug_error("theme-editor-icon", "Unable to load icon file '%s' (%s)\n",
- filename, error ? error->message : "Reason unknown");
- if (error)
- g_error_free(error);
- return;
- }
-
- scale = gdk_pixbuf_scale_simple(pixbuf, 16, 16, GDK_INTERP_BILINEAR);
- gtk_image_set_from_pixbuf(GTK_IMAGE(image), scale);
- g_object_unref(G_OBJECT(scale));
-
- /* Update the size previews */
- for (i = 0; stocksizes[i]; i++) {
- int width, height;
- GtkIconSize iconsize;
- GtkWidget *prev = g_object_get_data(G_OBJECT(image), stocksizes[i]);
- if (!prev)
- continue;
- iconsize = gtk_icon_size_from_name(stocksizes[i]);
- gtk_icon_size_lookup(iconsize, &width, &height);
- scale = gdk_pixbuf_scale_simple(pixbuf, width, height, GDK_INTERP_BILINEAR);
More information about the Commits
mailing list