Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • gajim/gajim-plugins
  • lovetox/gajim-plugins
  • ag/gajim-plugins
  • FlorianMuenchbach/gajim-plugins
  • rom1dep/gajim-plugins
  • pitchum/gajim-plugins
  • wurstsalat/gajim-plugins
  • Dicson/gajim-plugins
  • andre/gajim-plugins
  • link2xt/gajim-plugins
  • marmistrz/gajim-plugins
  • Jens/gajim-plugins
  • muelli/gajim-plugins
  • asterix/gajim-plugins
  • orhideous/gajim-plugins
  • ngvelprz/gajim-plugins
  • appleorange1/gajim-plugins
  • Martin/gajim-plugins
  • maltel/gajim-plugins
  • Seve/gajim-plugins
  • evert-mouw/gajim-plugins
  • Yuki/gajim-plugins
  • mxre/gajim-plugins
  • ValdikSS/gajim-plugins
  • SaltyBones/gajim-plugins
  • comradekingu/gajim-plugins
  • ritzmann/gajim-plugins
  • genofire/gajim-plugins
  • jjrh/gajim-plugins
  • yarmak/gajim-plugins
  • PapaTutuWawa/gajim-plugins
  • weblate/gajim-plugins
  • XutaxKamay/gajim-plugins
  • nekk/gajim-plugins
  • principis/gajim-plugins
  • cbix/gajim-plugins
  • bodqhrohro/gajim-plugins
  • airtower-luna/gajim-plugins
  • toms/gajim-plugins
  • mesonium/gajim-plugins
  • lissine/gajim-plugins
  • anviar/gajim-plugins
42 results
Show changes
from wicd_support import WicdPlugin
[info]
name: Wicd support
short_name: wicd_support
version: 0.1
description: Support for autodetection of network status for Wicd Network Manager.
Requires wicd and python-dbus.
authors = Denis Fomin <fominde@gmail.com>
homepage = http://trac-plugins.gajim.org/wiki/WicdSupportPlugin
wicd_support/wicd_support.png

608 B

# -*- coding: utf-8 -*-
import gobject
from common import gajim
from plugins import GajimPlugin
from plugins.helpers import log_calls
from common import dbus_support
class WicdPlugin(GajimPlugin):
@log_calls('WicdPlugin')
def init(self):
self.description = _('Support for autodetection of network status '
'for Wicd Network Manager.\nRequires wicd and python-dbus.')
self.config_dialog = None
self.test_activatable()
def test_activatable(self):
self.available_text = ''
if not dbus_support.supported:
self.activatable = False
self.available_text += _('python-dbus is missing! '
'Install python-dbus.')
@log_calls('WicdPlugin')
def activate(self):
try:
import dbus
from common.dbus_support import system_bus
self.bus = system_bus.bus()
if 'org.wicd.daemon' not in self.bus.list_names():
return
wicd_object = self.bus.get_object('org.wicd.daemon',
'/org/wicd/daemon')
self.props = dbus.Interface(wicd_object,
"org.freedesktop.DBus.Properties")
self.bus.add_signal_receiver(self.state_changed, 'StatusChanged',
'org.wicd.daemon', 'org.wicd.daemon', '/org/wicd/daemon')
except dbus.DBusException:
pass
@log_calls('WicdPlugin')
def deactivate(self):
self.bus.remove_signal_receiver(self.state_changed, 'StatusChanged',
'org.wicd.daemon', 'org.wicd.daemon','/org/wicd/daemon')
def state_changed(self, state, info):
# Connection state constants
#NOT_CONNECTED = 0
#CONNECTING = 1
#WIRELESS = 2
#WIRED = 3
#SUSPENDED = 4
if state == 2 or state == 3:
for connection in gajim.connections.itervalues():
if gajim.config.get_per('accounts', connection.name,
'listen_to_network_manager') and connection.time_to_reconnect:
connection._reconnect()
else:
for connection in gajim.connections.itervalues():
if gajim.config.get_per('accounts', connection.name,
'listen_to_network_manager') and connection.connected > 1:
connection._disconnectedReconnCB()
from plugin import WrongLayoutPlugin
[info]
name: Wrong Layout
short_name: Wrong Layout
version: 0.1.2
description: Press alt+r to convert chars typed in wrong layout Rus<>Eng
authors: Denis Fomin <fominde@gmail.com>
homepage: http://trac-plugins.gajim.org/wiki/WrongLayoutPlugin
# -*- coding: utf-8 -*-
import gtk
from common import helpers
from common import gajim
from plugins import GajimPlugin
from plugins.helpers import log_calls, log
class WrongLayoutPlugin(GajimPlugin):
@log_calls('WrongLayoutPlugin')
def init(self):
self.description = _('Press alt+r to convert chars typed in '
'wrong layout Rus<>Eng')
self.config_dialog = None
self.gui_extension_points = {
'chat_control_base': (self.connect_with_chat_control,
self.disconnect_from_chat_control)}
self.chat_control = None
self.controls = []
self.dict_eng = {'`': 'ё', 'q': 'й', 'w': 'ц', 'e': 'у', 'r': 'к',
't': 'е',
'y': 'н', 'u': 'г', 'i': 'ш', 'o': 'щ', 'p': 'з', '[': 'х',
']': 'ъ', 'a': 'ф', 's': 'ы', 'd': 'в', 'f': 'а', 'g': 'п',
'h': 'р', 'j': 'о', 'k': 'л', 'l': 'д', ';': 'ж', '\'': 'э',
'z': 'я', 'x': 'ч', 'c': 'с', 'v': 'м', 'b': 'и', 'n': 'т',
'm': 'ь', ',': 'б', '.': 'ю', '/': '.',
'\\': '\\', '~': 'Ё', '@': '"', '$': ';', '^': ':', '&': '?',
'Q': 'Й', 'W': 'Ц', 'E': 'У', 'R': 'К', 'T': 'Е', 'Y': 'Н',
'U': 'Г', 'I': 'Ш', 'O': 'Щ', 'P': 'З', '{': 'Х', '}': 'Ъ',
'|': '/', 'A': 'Ф', 'S': 'Ы', 'D': 'В', 'F': 'А', 'G': 'П',
'H': 'Р', 'J': 'О', 'K': 'Л', 'L': 'Д', '"': 'Э', 'Z': 'Я',
'X': 'Ч', 'C': 'С', 'V': 'М', 'B': 'И', 'N': 'Т', 'M': 'Ь',
'<': 'Б', '>': 'Ю', '?': ',', ':': 'Ж'}
self.dict_ru = {}
for key in self.dict_eng.keys():
self.dict_ru[self.dict_eng[key]] = key
@log_calls('WrongLayoutPlugin')
def activate(self):
pass
@log_calls('WrongLayoutPlugin')
def deactivate(self):
pass
@log_calls('WrongLayoutPlugin')
def connect_with_chat_control(self, chat_control):
self.chat_control = chat_control
control = Base(self, self.chat_control)
self.controls.append(control)
@log_calls('WrongLayoutPlugin')
def disconnect_from_chat_control(self, chat_control):
for control in self.controls:
control.disconnect_from_chat_control()
self.controls = []
class Base(object):
def __init__(self, plugin, chat_control):
self.plugin = plugin
self.chat_control = chat_control
self.textview = self.chat_control.conv_textview
self.id_ = self.chat_control.msg_textview.connect('key_press_event',
self.mykeypress_event)
self.chat_control.handlers[self.id_] = self.chat_control.msg_textview
def disconnect_from_chat_control(self):
if self.chat_control.msg_textview.handler_is_connected(self.id_):
self.chat_control.msg_textview.disconnect(self.id_)
def mykeypress_event(self, widget, event):
if event.keyval == gtk.keysyms.r or event.keyval == 1739:
if event.state & gtk.gdk.MOD1_MASK: # alt+r
start, end, iter_ = self.get_start_end()
count_eng = count_rus = 0
c = iter_.get_char().decode('utf-8')
while ((c != 0) & iter_.in_range(start, end)):
if ((ord(c) > 65) & (ord(c) < 122)) | \
(c == '@') | (c == '#') | (c == '$') | (c == '^') | \
(c == '&') | (c == '|') | (c == '~') | \
(c == '{') | (c == '}') | (c == '[') | (c == ']') | \
(c == '<') | (c == '>'):
count_eng += 1
if ((ord(c) > 1040) & (ord(c) < 1103)) | (c == 'ё') | \
(c == 'Ё') | (c == ''):
count_rus += 1
iter_.forward_char()
c = iter_.get_char().decode('utf-8')
is_russian = (count_rus >= count_eng)
start, end, iter_ = self.get_start_end()
c = iter_.get_char().decode('utf-8')
text = ''
while ((c != 0) & iter_.in_range(start, end)):
if not is_russian:
conv = self.plugin.dict_eng.get(c, c)
else:
conv = self.plugin.dict_ru.get(c.encode('utf-8'), c)
text = text + conv
iter_.forward_char()
c = iter_.get_char().decode('utf-8')
start, end, iter_ = self.get_start_end()
message_buffer = self.chat_control.msg_textview.get_buffer()
message_buffer.delete(start, end)
message_buffer.insert_at_cursor(text)
self.chat_control.msg_textview.grab_focus()
return True
def get_start_end(self):
message_buffer = self.chat_control.msg_textview.get_buffer()
sel = message_buffer.get_selection_bounds()
if sel != ():
start, end = sel
else:
start = message_buffer.get_start_iter()
end = message_buffer.get_end_iter()
stext = gajim.config.get('gc_refer_to_nick_char')
res = start.forward_search(stext, gtk.TEXT_SEARCH_TEXT_ONLY)
if res:
first, start = res
start.order(end)
iter_ = start
return start, end, iter_
wrong_layout/wrong_layout.png

1.05 KiB