/cpw/tomkiewicz/masterpassword: bebc1b64681e: Merge with main
Tomasz Wasilczyk
tomkiewicz at cpw.pidgin.im
Wed May 15 19:05:44 EDT 2013
Changeset: bebc1b64681e68ce8624d4323e680c58824935fe
Author: Tomasz Wasilczyk <tomkiewicz at cpw.pidgin.im>
Date: 2013-05-16 01:05 +0200
Branch: soc.2008.masterpassword
URL: https://hg.pidgin.im/cpw/tomkiewicz/masterpassword/rev/bebc1b64681e
Description:
Merge with main
diffstat:
libpurple/Makefile.am | 2 +
pidgin/Makefile.am | 4 +-
pidgin/plugins/Makefile.mingw | 1 -
pidgin/plugins/timestamp.c | 240 -----------------------------
pidgin/plugins/timestamp_format.c | 313 --------------------------------------
5 files changed, 5 insertions(+), 555 deletions(-)
diffs (truncated from 621 to 300 lines):
diff --git a/libpurple/Makefile.am b/libpurple/Makefile.am
--- a/libpurple/Makefile.am
+++ b/libpurple/Makefile.am
@@ -2,6 +2,7 @@ EXTRA_DIST = \
dbus-analyze-functions.py \
dbus-analyze-signals.py \
dbus-analyze-types.py \
+ glibcompat.h \
marshallers.list \
purple-notifications-example \
purple-remote \
@@ -11,6 +12,7 @@ EXTRA_DIST = \
purple.h.in \
purple-3.pc.in \
purple-3-uninstalled.pc.in \
+ tag.sh \
version.h.in \
Makefile.mingw \
win32/global.mak \
diff --git a/pidgin/Makefile.am b/pidgin/Makefile.am
--- a/pidgin/Makefile.am
+++ b/pidgin/Makefile.am
@@ -2,6 +2,8 @@ EXTRA_DIST = \
getopt.c \
getopt.h \
getopt1.c \
+ gtk3compat.h \
+ gtkdebug.html \
Makefile.mingw \
pidgin-3.pc.in \
pidgin-3-uninstalled.pc.in \
@@ -9,6 +11,7 @@ EXTRA_DIST = \
win32/MinimizeToTray.c \
win32/pidgin_dll_rc.rc.in \
win32/pidgin_exe_rc.rc.in \
+ win32/prepare-workspace.sh \
win32/gtkdocklet-win32.c \
win32/gtkwin32dep.c \
win32/gtkwin32dep.h \
@@ -19,7 +22,6 @@ EXTRA_DIST = \
win32/wspell.c \
win32/wspell.h \
win32/nsis/generate_gtk_zip.sh \
- win32/nsis/rpm2zip.sh \
win32/nsis/pixmaps/pidgin-header.bmp \
win32/nsis/pixmaps/pidgin-intro.bmp \
win32/nsis/pixmaps/pidgin-install.ico \
diff --git a/pidgin/plugins/Makefile.mingw b/pidgin/plugins/Makefile.mingw
--- a/pidgin/plugins/Makefile.mingw
+++ b/pidgin/plugins/Makefile.mingw
@@ -105,7 +105,6 @@ plugins: \
sendbutton.dll \
spellchk.dll \
themeedit.dll \
- timestamp_format.dll \
webkit.dll \
xmppconsole.dll
diff --git a/pidgin/plugins/timestamp.c b/pidgin/plugins/timestamp.c
deleted file mode 100644
--- a/pidgin/plugins/timestamp.c
+++ /dev/null
@@ -1,240 +0,0 @@
-/*
- * Purple - iChat-style timestamps
- *
- * Copyright (C) 2002-2003, Sean Egan
- * Copyright (C) 2003, Chris J. Friesen <Darth_Sebulba04 at yahoo.com>
- * Copyright (C) 2007, Andrew Gaul <andrew at gaul.org>
- *
- * 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 "conversation.h"
-#include "debug.h"
-#include "prefs.h"
-#include "signals.h"
-#include "version.h"
-
-#include "gtkimhtml.h"
-#include "gtkplugin.h"
-#include "gtkprefs.h"
-#include "gtkutils.h"
-
-#define TIMESTAMP_PLUGIN_ID "gtk-timestamp"
-
-/* minutes externally, seconds internally, and milliseconds in preferences */
-static int interval = 5 * 60;
-
-static void
-timestamp_display(PurpleConversation *conv, time_t then, time_t now)
-{
- PidginConversation *gtk_conv = PIDGIN_CONVERSATION(conv);
- GtkWidget *imhtml = gtk_conv->imhtml;
- GtkTextBuffer *buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(imhtml));
- GtkTextIter iter;
- const char *mdate;
- int y, height;
- GdkRectangle rect;
- gboolean scrolled = FALSE;
- GtkTextTag *tag;
-
- /* display timestamp */
- mdate = purple_utf8_strftime(then == 0 ? "%H:%M" : "\n%H:%M",
- localtime(&now));
- gtk_text_buffer_get_end_iter(buffer, &iter);
-
- /* is the view already scrolled? */
- gtk_text_view_get_visible_rect(GTK_TEXT_VIEW(imhtml), &rect);
- gtk_text_view_get_line_yrange(GTK_TEXT_VIEW(imhtml), &iter, &y, &height);
- if (((y + height) - (rect.y + rect.height)) > height)
- scrolled = TRUE;
-
- if ((tag = gtk_text_tag_table_lookup(gtk_text_buffer_get_tag_table(buffer), "TIMESTAMP")) == NULL)
- tag = gtk_text_buffer_create_tag(buffer, "TIMESTAMP",
- "foreground", "#888888", "justification", GTK_JUSTIFY_CENTER,
- "weight", PANGO_WEIGHT_BOLD, NULL);
-
- gtk_text_buffer_insert_with_tags(buffer, &iter, mdate,
- strlen(mdate), tag, NULL);
-
- /* scroll view if necessary */
- gtk_text_view_get_visible_rect(GTK_TEXT_VIEW(imhtml), &rect);
- gtk_text_view_get_line_yrange(
- GTK_TEXT_VIEW(imhtml), &iter, &y, &height);
- if (!scrolled && ((y + height) - (rect.y + rect.height)) > height &&
- gtk_text_buffer_get_char_count(buffer)) {
- gboolean smooth = purple_prefs_get_bool(
- PIDGIN_PREFS_ROOT "/conversations/use_smooth_scrolling");
- gtk_imhtml_scroll_to_end(GTK_IMHTML(imhtml), smooth);
- }
-}
-
-static gboolean
-timestamp_displaying_conv_msg(PurpleAccount *account, const char *who,
- char **buffer, PurpleConversation *conv,
- PurpleMessageFlags flags, void *data)
-{
- time_t now = time(NULL) / interval * interval;
- time_t then;
-
- if (!g_list_find(purple_get_conversations(), conv))
- return FALSE;
-
- then = GPOINTER_TO_INT(purple_conversation_get_data(
- conv, "timestamp-last"));
-
- if (now - then >= interval) {
- timestamp_display(conv, then, now);
- purple_conversation_set_data(
- conv, "timestamp-last", GINT_TO_POINTER(now));
- }
-
- return FALSE;
-}
-
-static void
-timestamp_new_convo(PurpleConversation *conv)
-{
- if (!g_list_find(purple_get_conversations(), conv))
- return;
-
- purple_conversation_set_data(conv, "timestamp-last", GINT_TO_POINTER(0));
-}
-
-static void
-set_timestamp(GtkWidget *spinner, void *null)
-{
- int tm;
-
- tm = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(spinner));
- purple_debug(PURPLE_DEBUG_MISC, "timestamp",
- "setting interval to %d minutes\n", tm);
-
- interval = tm * 60;
- purple_prefs_set_int("/plugins/gtk/timestamp/interval", interval * 1000);
-}
-
-static GtkWidget *
-get_config_frame(PurplePlugin *plugin)
-{
- GtkWidget *ret;
- GtkWidget *frame, *label;
- GtkWidget *vbox, *hbox;
- GtkAdjustment *adj;
- GtkWidget *spinner;
-
- ret = gtk_vbox_new(FALSE, 18);
- gtk_container_set_border_width (GTK_CONTAINER (ret), 12);
-
- frame = pidgin_make_frame(ret, _("Display Timestamps Every"));
- vbox = gtk_vbox_new(FALSE, 5);
- gtk_container_add(GTK_CONTAINER(frame), vbox);
-
- hbox = gtk_hbox_new(FALSE, 5);
- gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 5);
-
- /* XXX limit to divisors of 60? */
- adj = gtk_adjustment_new(interval / 60, 1, 60, 1, 0, 0);
- spinner = gtk_spin_button_new(GTK_ADJUSTMENT(adj), 0, 0);
- gtk_box_pack_start(GTK_BOX(hbox), spinner, TRUE, TRUE, 0);
- g_signal_connect(G_OBJECT(spinner), "value-changed",
- G_CALLBACK(set_timestamp), NULL);
- label = gtk_label_new(_("minutes"));
- gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 5);
-
- gtk_widget_show_all(ret);
- return ret;
-}
-
-static gboolean
-plugin_load(PurplePlugin *plugin)
-{
- void *conv_handle = purple_conversations_get_handle();
- void *gtkconv_handle = pidgin_conversations_get_handle();
-
- /* lower priority to display initial timestamp after logged messages */
- purple_signal_connect_priority(conv_handle, "conversation-created",
- plugin, PURPLE_CALLBACK(timestamp_new_convo), NULL,
- PURPLE_SIGNAL_PRIORITY_DEFAULT + 1);
-
- purple_signal_connect(gtkconv_handle, "displaying-chat-msg",
- plugin, PURPLE_CALLBACK(timestamp_displaying_conv_msg), NULL);
- purple_signal_connect(gtkconv_handle, "displaying-im-msg",
- plugin, PURPLE_CALLBACK(timestamp_displaying_conv_msg), NULL);
-
- interval = purple_prefs_get_int("/plugins/gtk/timestamp/interval") / 1000;
-
- return TRUE;
-}
-
-static PidginPluginUiInfo ui_info =
-{
- get_config_frame,
- 0, /* page_num (Reserved) */
-
- /* padding */
- NULL,
- NULL,
- NULL,
- NULL
-};
-
-static PurplePluginInfo info =
-{
- PURPLE_PLUGIN_MAGIC,
- PURPLE_MAJOR_VERSION,
- PURPLE_MINOR_VERSION,
- PURPLE_PLUGIN_STANDARD, /**< type */
- PIDGIN_PLUGIN_TYPE, /**< ui_requirement */
- 0, /**< flags */
- NULL, /**< dependencies */
- PURPLE_PRIORITY_DEFAULT, /**< priority */
-
- TIMESTAMP_PLUGIN_ID, /**< id */
- N_("Timestamp"), /**< name */
- DISPLAY_VERSION, /**< version */
- /** summary */
- N_("Display iChat-style timestamps"),
- /** description */
- N_("Display iChat-style timestamps every N minutes."),
- "Sean Egan <seanegan at gmail.com>", /**< author */
- PURPLE_WEBSITE, /**< homepage */
-
- plugin_load, /**< load */
- NULL, /**< unload */
- NULL, /**< destroy */
-
- &ui_info, /**< ui_info */
- NULL, /**< extra_info */
- NULL,
- NULL,
-
- /* padding */
- NULL,
- NULL,
- NULL,
- NULL
-};
-
-static void
-init_plugin(PurplePlugin *plugin)
-{
- purple_prefs_add_none("/plugins/gtk/timestamp");
- purple_prefs_add_int("/plugins/gtk/timestamp/interval", interval * 1000);
More information about the Commits
mailing list