Welcome to mirror list, hosted at ThFree Co, Russian Federation.

dev.gajim.org/gajim/gajim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/length_notifier')
-rw-r--r--plugins/length_notifier/__init__.py2
-rw-r--r--plugins/length_notifier/config_dialog.ui152
-rw-r--r--plugins/length_notifier/length_notifier.py157
-rw-r--r--plugins/length_notifier/manifest.ini9
4 files changed, 0 insertions, 320 deletions
diff --git a/plugins/length_notifier/__init__.py b/plugins/length_notifier/__init__.py
deleted file mode 100644
index 67c8c614a..000000000
--- a/plugins/length_notifier/__init__.py
+++ /dev/null
@@ -1,2 +0,0 @@
-
-from length_notifier import LengthNotifierPlugin
diff --git a/plugins/length_notifier/config_dialog.ui b/plugins/length_notifier/config_dialog.ui
deleted file mode 100644
index f06bfe115..000000000
--- a/plugins/length_notifier/config_dialog.ui
+++ /dev/null
@@ -1,152 +0,0 @@
-<?xml version="1.0"?>
-<interface>
- <requires lib="gtk+" version="2.16"/>
- <!-- interface-naming-policy toplevel-contextual -->
- <object class="GtkWindow" id="window1">
- <child>
- <object class="GtkTable" id="length_notifier_config_table">
- <property name="visible">True</property>
- <property name="border_width">9</property>
- <property name="n_rows">3</property>
- <property name="n_columns">2</property>
- <property name="column_spacing">7</property>
- <property name="row_spacing">5</property>
- <child>
- <object class="GtkLabel" id="label1">
- <property name="visible">True</property>
- <property name="tooltip_text" translatable="yes">Message length at which notification is invoked.</property>
- <property name="xalign">0</property>
- <property name="label" translatable="yes">Message length:</property>
- </object>
- <packing>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options">GTK_FILL</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="label2">
- <property name="visible">True</property>
- <property name="tooltip_text" translatable="yes">Background color of text entry field in chat window when notification is invoked.</property>
- <property name="xalign">0</property>
- <property name="label" translatable="yes">Notification color:</property>
- </object>
- <packing>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options">GTK_FILL</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="label3">
- <property name="visible">True</property>
- <property name="tooltip_text" translatable="yes">JabberIDs that plugin should be used with (eg. restrict only to one microblogging bot). Use comma (without space) as separator. If empty plugin is used with every JID. </property>
- <property name="xalign">0</property>
- <property name="label" translatable="yes">JabberIDs to include:</property>
- </object>
- <packing>
- <property name="top_attach">2</property>
- <property name="bottom_attach">3</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options">GTK_FILL</property>
- </packing>
- </child>
- <child>
- <object class="GtkEntry" id="jids_entry">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="tooltip_text" translatable="yes">JabberIDs that plugin should be used with (eg. restrict only to one microblogging bot). Use comma (without space) as separator. If empty plugin is used with every JID. </property>
- <signal name="editing_done" handler="on_jids_entry_editing_done"/>
- <signal name="changed" handler="on_jids_entry_changed"/>
- </object>
- <packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- <property name="top_attach">2</property>
- <property name="bottom_attach">3</property>
- <property name="y_options">GTK_FILL</property>
- </packing>
- </child>
- <child>
- <object class="GtkHBox" id="hbox1">
- <property name="visible">True</property>
- <child>
- <object class="GtkColorButton" id="notification_colorbutton">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="tooltip_text" translatable="yes">Background color of text entry field in chat window when notification is invoked.</property>
- <property name="xalign">0</property>
- <property name="title" translatable="yes">Pick a color for notification</property>
- <property name="color">#000000000000</property>
- <signal name="color_set" handler="on_notification_colorbutton_color_set"/>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkAlignment" id="alignment1">
- <property name="visible">True</property>
- <child>
- <placeholder/>
- </child>
- </object>
- <packing>
- <property name="position">1</property>
- </packing>
- </child>
- </object>
- <packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
- </packing>
- </child>
- <child>
- <object class="GtkHBox" id="hbox2">
- <property name="visible">True</property>
- <child>
- <object class="GtkSpinButton" id="message_length_spinbutton">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="tooltip_text" translatable="yes">Message length at which notification is invoked.</property>
- <property name="width_chars">6</property>
- <property name="snap_to_ticks">True</property>
- <property name="numeric">True</property>
- <signal name="value_changed" handler="on_message_length_spinbutton_value_changed"/>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkAlignment" id="alignment2">
- <property name="visible">True</property>
- <child>
- <placeholder/>
- </child>
- </object>
- <packing>
- <property name="position">1</property>
- </packing>
- </child>
- </object>
- <packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options">GTK_FILL</property>
- </packing>
- </child>
- </object>
- </child>
- </object>
-</interface>
diff --git a/plugins/length_notifier/length_notifier.py b/plugins/length_notifier/length_notifier.py
deleted file mode 100644
index 3c9e9bccc..000000000
--- a/plugins/length_notifier/length_notifier.py
+++ /dev/null
@@ -1,157 +0,0 @@
-# -*- coding: utf-8 -*-
-
-## This file is part of Gajim.
-##
-## Gajim 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; version 3 only.
-##
-## Gajim 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 Gajim. If not, see <http://www.gnu.org/licenses/>.
-##
-
-'''
-Message length notifier plugin.
-
-:author: Mateusz Biliński <mateusz@bilinski.it>
-:since: 1st June 2008
-:copyright: Copyright (2008) Mateusz Biliński <mateusz@bilinski.it>
-:license: GPL
-'''
-
-import sys
-
-import gtk
-
-from plugins import GajimPlugin
-from plugins.helpers import log, log_calls
-from plugins.gui import GajimPluginConfigDialog
-
-class LengthNotifierPlugin(GajimPlugin):
-
- @log_calls('LengthNotifierPlugin')
- def init(self):
- self.description = _('Highlights message entry field in chat window '
- 'when given length of message is exceeded.')
- self.config_dialog = LengthNotifierPluginConfigDialog(self)
-
- self.gui_extension_points = {
- 'chat_control' : (self.connect_with_chat_control,
- self.disconnect_from_chat_control)
- }
-
- self.config_default_values = {
- 'MESSAGE_WARNING_LENGTH' : (140, 'Message length at which notification is invoked.'),
- 'WARNING_COLOR' : ('#F0DB3E', 'Background color of text entry field in chat window when notification is invoked.'),
- 'JIDS' : ([], 'JabberIDs that plugin should be used with (eg. restrict only to one microblogging bot). If empty plugin is used with every JID. [not implemented]')
- }
-
- @log_calls('LengthNotifierPlugin')
- def textview_length_warning(self, tb, chat_control):
- tv = chat_control.msg_textview
- d = chat_control.length_notifier_plugin_data
- t = tb.get_text(tb.get_start_iter(), tb.get_end_iter())
- if t:
- len_t = len(t)
- #print("len_t: %d"%(len_t))
- if len_t>self.config['MESSAGE_WARNING_LENGTH']:
- if not d['prev_color']:
- d['prev_color'] = tv.style.copy().base[gtk.STATE_NORMAL]
- tv.modify_base(gtk.STATE_NORMAL, gtk.gdk.color_parse(self.config['WARNING_COLOR']))
- elif d['prev_color']:
- tv.modify_base(gtk.STATE_NORMAL, d['prev_color'])
- d['prev_color'] = None
-
- @log_calls('LengthNotifierPlugin')
- def connect_with_chat_control(self, chat_control):
- jid = chat_control.contact.jid
- if self.jid_is_ok(jid):
- d = {'prev_color' : None}
- tv = chat_control.msg_textview
- tb = tv.get_buffer()
- h_id = tb.connect('changed', self.textview_length_warning, chat_control)
- d['h_id'] = h_id
-
- t = tb.get_text(tb.get_start_iter(), tb.get_end_iter())
- if t:
- len_t = len(t)
- if len_t>self.config['MESSAGE_WARNING_LENGTH']:
- d['prev_color'] = tv.style.copy().base[gtk.STATE_NORMAL]
- tv.modify_base(gtk.STATE_NORMAL, gtk.gdk.color_parse(self.config['WARNING_COLOR']))
-
- chat_control.length_notifier_plugin_data = d
-
- return True
-
- return False
-
- @log_calls('LengthNotifierPlugin')
- def disconnect_from_chat_control(self, chat_control):
- try:
- d = chat_control.length_notifier_plugin_data
- tv = chat_control.msg_textview
- tv.get_buffer().disconnect(d['h_id'])
- if d['prev_color']:
- tv.modify_base(gtk.STATE_NORMAL, d['prev_color'])
- except AttributeError, error:
- pass
- #log.debug('Length Notifier Plugin was (probably) never connected with this chat window.\n Error: %s' % (error))
-
- @log_calls('LengthNotifierPlugin')
- def jid_is_ok(self, jid):
- if jid in self.config['JIDS'] or not self.config['JIDS']:
- return True
-
- return False
-
-class LengthNotifierPluginConfigDialog(GajimPluginConfigDialog):
- def init(self):
- self.GTK_BUILDER_FILE_PATH = self.plugin.local_file_path(
- 'config_dialog.ui')
- self.xml = gtk.Builder()
- self.xml.set_translation_domain('gajim_plugins')
- self.xml.add_objects_from_file(self.GTK_BUILDER_FILE_PATH,
- ['length_notifier_config_table'])
- self.config_table = self.xml.get_object('length_notifier_config_table')
- self.child.pack_start(self.config_table)
-
- self.message_length_spinbutton = self.xml.get_object(
- 'message_length_spinbutton')
- self.message_length_spinbutton.get_adjustment().set_all(140, 0, 500, 1,
- 10, 0)
- self.notification_colorbutton = self.xml.get_object(
- 'notification_colorbutton')
- self.jids_entry = self.xml.get_object('jids_entry')
-
- self.xml.connect_signals(self)
-
- def on_run(self):
- self.message_length_spinbutton.set_value(self.plugin.config['MESSAGE_WARNING_LENGTH'])
- self.notification_colorbutton.set_color(gtk.gdk.color_parse(self.plugin.config['WARNING_COLOR']))
- #self.jids_entry.set_text(self.plugin.config['JIDS'])
- self.jids_entry.set_text(','.join(self.plugin.config['JIDS']))
-
- @log_calls('LengthNotifierPluginConfigDialog')
- def on_message_length_spinbutton_value_changed(self, spinbutton):
- self.plugin.config['MESSAGE_WARNING_LENGTH'] = spinbutton.get_value()
-
- @log_calls('LengthNotifierPluginConfigDialog')
- def on_notification_colorbutton_color_set(self, colorbutton):
- self.plugin.config['WARNING_COLOR'] = colorbutton.get_color().to_string()
-
- @log_calls('LengthNotifierPluginConfigDialog')
- def on_jids_entry_changed(self, entry):
- text = entry.get_text()
- if len(text)>0:
- self.plugin.config['JIDS'] = entry.get_text().split(',')
- else:
- self.plugin.config['JIDS'] = []
-
- @log_calls('LengthNotifierPluginConfigDialog')
- def on_jids_entry_editing_done(self, entry):
- pass
diff --git a/plugins/length_notifier/manifest.ini b/plugins/length_notifier/manifest.ini
deleted file mode 100644
index d50feaa8d..000000000
--- a/plugins/length_notifier/manifest.ini
+++ /dev/null
@@ -1,9 +0,0 @@
-[info]
-name: Message Length Notifier
-short_name: length_notifier
-version: 0.1
-description: Highlights message entry field in chat window when given length of message is exceeded.
-authors = Mateusz Biliński <mateusz@bilinski.it>
-homepage = http://blog.bilinski.it
-
-