Merge local changes
This commit is contained in:
commit
8bffd77a05
8 changed files with 92 additions and 10 deletions
|
@ -1,5 +1,5 @@
|
|||
AC_INIT([Gajim - A Jabber Instant Messager],
|
||||
[0.12.5.4-dev],[http://trac.gajim.org/],[gajim])
|
||||
[0.12.5.5-dev],[http://trac.gajim.org/],[gajim])
|
||||
AC_PREREQ([2.59])
|
||||
|
||||
AC_CONFIG_HEADER(config.h)
|
||||
|
|
|
@ -90,11 +90,18 @@ class Config:
|
|||
'mood_iconset': [ opt_str, DEFAULT_MOOD_ICONSET, '', True ],
|
||||
'activity_iconset': [ opt_str, DEFAULT_ACTIVITY_ICONSET, '', True ],
|
||||
'use_transports_iconsets': [ opt_bool, True, '', True ],
|
||||
'inmsgcolor': [ opt_color, '#a40000', '', True ],
|
||||
'outmsgcolor': [ opt_color, '#3465a4', '', True ],
|
||||
'statusmsgcolor': [ opt_color, '#73d216', '', True ],
|
||||
'inmsgcolor': [ opt_color, '#a40000', _('Incoming nickname color.'), True ],
|
||||
'outmsgcolor': [ opt_color, '#3465a4', _('Outgoing nickname color.'), True ],
|
||||
'inmsgtxtcolor': [ opt_color, '', _('Incoming text color.'), True ],
|
||||
'outmsgtxtcolor': [ opt_color, '#555753', _('Outgoing text color.'), True ],
|
||||
'statusmsgcolor': [ opt_color, '#4e9a06', _('Status message text color.'), True ],
|
||||
'markedmsgcolor': [ opt_color, '#ff8080', '', True ],
|
||||
'urlmsgcolor': [ opt_color, '#204a87', '', True ],
|
||||
'inmsgfont': [ opt_str, '', _('Incoming nickname font.'), True ],
|
||||
'outmsgfont': [ opt_str, '', _('Outgoing nickname font.'), True ],
|
||||
'inmsgtxtfont': [ opt_str, '', _('Incoming text font.'), True ],
|
||||
'outmsgtxtfont': [ opt_str, '', _('Outgoing text font.'), True ],
|
||||
'statusmsgfont': [ opt_str, '', _('Status message text font.'), True ],
|
||||
'collapsed_rows': [ opt_str, '', _('List (space separated) of rows (accounts and groups) that are collapsed.'), True ],
|
||||
'roster_theme': [ opt_str, _('default'), '', True ],
|
||||
'mergeaccounts': [ opt_bool, False, '', True ],
|
||||
|
|
|
@ -39,6 +39,7 @@ import operator
|
|||
|
||||
import time
|
||||
import locale
|
||||
import hmac
|
||||
|
||||
try:
|
||||
randomsource = random.SystemRandom()
|
||||
|
@ -190,6 +191,7 @@ class Connection(ConnectionHandlers):
|
|||
self.vcard_supported = False
|
||||
self.private_storage_supported = True
|
||||
self.streamError = ''
|
||||
self.secret_hmac = str(random.random())[2:]
|
||||
# END __init__
|
||||
|
||||
def put_event(self, ev):
|
||||
|
@ -1777,6 +1779,10 @@ class Connection(ConnectionHandlers):
|
|||
|
||||
p = common.xmpp.Presence(to='%s/%s' % (room_jid, nick),
|
||||
show=show, status=self.status)
|
||||
h = hmac.new(self.secret_hmac, room_jid).hexdigest()[:6]
|
||||
id_ = self.connection.getAnID()
|
||||
id_ = 'gajim_muc_' + id_ + '_' + h
|
||||
p.setID(id_)
|
||||
if gajim.config.get('send_sha_in_gc_presence'):
|
||||
p = self.add_sha(p)
|
||||
self.add_lang(p)
|
||||
|
@ -1843,6 +1849,10 @@ class Connection(ConnectionHandlers):
|
|||
xmpp_show = helpers.get_xmpp_show(show)
|
||||
p = common.xmpp.Presence(to = '%s/%s' % (jid, nick), typ = ptype,
|
||||
show = xmpp_show, status = status)
|
||||
h = hmac.new(self.secret_hmac, jid).hexdigest()[:6]
|
||||
id_ = self.connection.getAnID()
|
||||
id_ = 'gajim_muc_' + id_ + '_' + h
|
||||
p.setID(id_)
|
||||
if gajim.config.get('send_sha_in_gc_presence') and show != 'offline':
|
||||
p = self.add_sha(p, ptype != 'unavailable')
|
||||
self.add_lang(p)
|
||||
|
|
|
@ -34,6 +34,7 @@ import socket
|
|||
import sys
|
||||
import operator
|
||||
import hashlib
|
||||
import hmac
|
||||
|
||||
from time import (altzone, daylight, gmtime, localtime, mktime, strftime,
|
||||
time as time_time, timezone, tzname)
|
||||
|
@ -2207,6 +2208,7 @@ class ConnectionHandlers(ConnectionVcard, ConnectionBytestream, ConnectionDisco,
|
|||
return
|
||||
jid_stripped, resource = gajim.get_room_and_nick_from_fjid(who)
|
||||
timestamp = None
|
||||
id_ = prs.getID()
|
||||
is_gc = False # is it a GC presence ?
|
||||
sigTag = None
|
||||
ns_muc_user_x = None
|
||||
|
@ -2246,6 +2248,13 @@ class ConnectionHandlers(ConnectionVcard, ConnectionBytestream, ConnectionDisco,
|
|||
if self.connection.getRoster().getItem(agent): # to be sure it's a transport contact
|
||||
transport_auto_auth = True
|
||||
|
||||
if not is_gc and id_ and id_.startswith('gajim_muc_') and \
|
||||
ptype == 'error':
|
||||
# Error presences may not include sent stanza, so we don't detect it's
|
||||
# a muc preence. So detect it by ID
|
||||
h = hmac.new(self.secret_hmac, jid_stripped).hexdigest()[:6]
|
||||
if id_.split('_')[-1] == h:
|
||||
is_gc = True
|
||||
status = prs.getStatus() or ''
|
||||
show = prs.getShow()
|
||||
if not show in gajim.SHOW_LIST:
|
||||
|
@ -2273,6 +2282,17 @@ class ConnectionHandlers(ConnectionVcard, ConnectionBytestream, ConnectionDisco,
|
|||
errmsg = prs.getErrorMsg()
|
||||
errcode = prs.getErrorCode()
|
||||
room_jid, nick = gajim.get_room_and_nick_from_fjid(who)
|
||||
|
||||
gc_control = gajim.interface.msg_win_mgr.get_gc_control(room_jid,
|
||||
self.name)
|
||||
|
||||
# If gc_control is missing - it may be minimized. Try to get it from
|
||||
# there. If it's not there - then it's missing anyway and will
|
||||
# remain set to None.
|
||||
if gc_control is None:
|
||||
minimized = gajim.interface.minimized_controls[self.name]
|
||||
gc_control = minimized.get(room_jid)
|
||||
|
||||
if errcode == '502':
|
||||
# Internal Timeout:
|
||||
self.dispatch('NOTIFY', (jid_stripped, 'error', errmsg, resource,
|
||||
|
@ -2290,6 +2310,7 @@ class ConnectionHandlers(ConnectionVcard, ConnectionBytestream, ConnectionDisco,
|
|||
self.dispatch('ERROR', (_('Unable to join group chat'),
|
||||
_('You are banned from group chat %s.') % room_jid))
|
||||
elif (errcode == '404') or (errcon == 'item-not-found'):
|
||||
if gc_control is None or gc_control.autorejoin is None:
|
||||
# group chat does not exist
|
||||
self.dispatch('ERROR', (_('Unable to join group chat'),
|
||||
_('Group chat %s does not exist.') % room_jid))
|
||||
|
|
|
@ -27,7 +27,7 @@ docdir = '../'
|
|||
datadir = '../'
|
||||
localedir = '../po'
|
||||
|
||||
version = '0.12.5.4-dev'
|
||||
version = '0.12.5.5-dev'
|
||||
|
||||
import sys, os.path
|
||||
for base in ('.', 'common'):
|
||||
|
|
|
@ -208,6 +208,8 @@ class OptionsParser:
|
|||
self.update_config_to_01253()
|
||||
if old < [0, 12, 5, 4] and new >= [0, 12, 5, 4]:
|
||||
self.update_config_to_01254()
|
||||
if old < [0, 12, 5, 5] and new >= [0, 12, 5, 5]:
|
||||
self.update_config_to_01255()
|
||||
|
||||
gajim.logger.init_vars()
|
||||
gajim.config.set('version', new_version)
|
||||
|
@ -758,10 +760,24 @@ class OptionsParser:
|
|||
'urlmsgcolor': ['#0000ff', '#204a87'],
|
||||
'gc_nicknames_colors': ['#a34526:#c000ff:#0012ff:#388a99:#045723:#7c7c7c:#ff8a00:#94452d:#244b5a:#32645a', '#4e9a06:#f57900:#ce5c00:#3465a4:#204a87:#75507b:#5c3566:#c17d11:#8f5902:#ef2929:#cc0000:#a40000']}
|
||||
for c in vals:
|
||||
if c not in self.old_values:
|
||||
continue
|
||||
val = self.old_values[c]
|
||||
if val == vals[c][0]:
|
||||
# We didn't change default value, so update it with new default
|
||||
gajim.config.set(c, vals[c][1])
|
||||
gajim.config.set('version', '0.12.5.4')
|
||||
|
||||
def update_config_to_01255(self):
|
||||
vals = {'statusmsgcolor': ['#73d216', '#4e9a06'],
|
||||
'outmsgtxtcolor': ['#a2a2a2', '#555753']}
|
||||
for c in vals:
|
||||
if c not in self.old_values:
|
||||
continue
|
||||
val = self.old_values[c]
|
||||
if val == vals[c][0]:
|
||||
# We didn't change default value, so update it with new default
|
||||
gajim.config.set(c, vals[c][1])
|
||||
gajim.config.set('version', '0.12.5.5')
|
||||
|
||||
# vim: se ts=3:
|
||||
|
|
|
@ -230,13 +230,35 @@ class ConversationTextview(gobject.GObject):
|
|||
|
||||
self.tagIn = buffer_.create_tag('incoming')
|
||||
color = gajim.config.get('inmsgcolor')
|
||||
font = pango.FontDescription(gajim.config.get('inmsgfont'))
|
||||
self.tagIn.set_property('foreground', color)
|
||||
self.tagIn.set_property('font-desc', font)
|
||||
|
||||
self.tagOut = buffer_.create_tag('outgoing')
|
||||
color = gajim.config.get('outmsgcolor')
|
||||
font = pango.FontDescription(gajim.config.get('outmsgfont'))
|
||||
self.tagOut.set_property('foreground', color)
|
||||
self.tagOut.set_property('font-desc', font)
|
||||
|
||||
self.tagStatus = buffer_.create_tag('status')
|
||||
color = gajim.config.get('statusmsgcolor')
|
||||
font = pango.FontDescription(gajim.config.get('satusmsgfont'))
|
||||
self.tagStatus.set_property('foreground', color)
|
||||
self.tagStatus.set_property('font-desc', font)
|
||||
|
||||
self.tagInText = buffer_.create_tag('incomingtxt')
|
||||
color = gajim.config.get('inmsgtxtcolor')
|
||||
font = pango.FontDescription(gajim.config.get('inmsgtxtfont'))
|
||||
if color:
|
||||
self.tagInText.set_property('foreground', color)
|
||||
self.tagInText.set_property('font-desc', font)
|
||||
|
||||
self.tagOutText = buffer_.create_tag('outgoingtxt')
|
||||
color = gajim.config.get('outmsgtxtcolor')
|
||||
if color:
|
||||
font = pango.FontDescription(gajim.config.get('outmsgtxtfont'))
|
||||
self.tagOutText.set_property('foreground', color)
|
||||
self.tagOutText.set_property('font-desc', font)
|
||||
|
||||
colors = gajim.config.get('gc_nicknames_colors')
|
||||
colors = colors.split(':')
|
||||
|
@ -1219,6 +1241,10 @@ class ConversationTextview(gobject.GObject):
|
|||
'chat_merge_consecutive_nickname_indent'))
|
||||
else:
|
||||
self.print_name(name, kind, other_tags_for_name)
|
||||
if kind == 'incoming':
|
||||
text_tags.append('incomingtxt')
|
||||
elif kind == 'outgoing':
|
||||
text_tags.append('outgoingtxt')
|
||||
self.print_subject(subject)
|
||||
self.print_real_text(text, text_tags, name, xhtml, graphics=graphics)
|
||||
|
||||
|
|
|
@ -409,6 +409,7 @@ class HistoryWindow:
|
|||
constants.KIND_CHAT_MSG_RECV):
|
||||
contact_name = self.completion_dict[self.jid][C_INFO_NAME]
|
||||
tag_name = 'incoming'
|
||||
tag_msg = 'incomingtxt'
|
||||
elif kind in (constants.KIND_SINGLE_MSG_SENT,
|
||||
constants.KIND_CHAT_MSG_SENT):
|
||||
if self.account:
|
||||
|
@ -419,6 +420,7 @@ class HistoryWindow:
|
|||
account = gajim.contacts.get_accounts()[0]
|
||||
contact_name = gajim.nicks[account]
|
||||
tag_name = 'outgoing'
|
||||
tag_msg = 'outgoingtxt'
|
||||
elif kind == constants.KIND_GCSTATUS:
|
||||
# message here (if not None) is status message
|
||||
if message:
|
||||
|
|
Loading…
Add table
Reference in a new issue