Commit 6cb274d1 authored by Martin's avatar Martin

Merge tag 'debian/1.1.2-1' into debian/stretch-backports and prepare 1.1.2-1~bpo9+1

parents f306337b 6ce40882
Gajim 1.1.2 (15 January 2019)
Bug fixes
* #9518 Windows: Pressing "^" yields "^^"
* #9522 Windows: Switching keyboard layouts leads to a crash
* #9525 Windows/Mac: Links are not clickable in the About dialog
* #9535 Jingle Audio: Update codecs
* #9537 DiscoveryWindow: Fix bookmarking a group chat
* DBus: Correctly raise NewMessage signal
* Clicking on tray notifications does not open the chat
Gajim 1.1.1 (23 December 2018) Gajim 1.1.1 (23 December 2018)
Bug fixes Bug fixes
* 8362 DBus: Incorrect unread message count * #8362 DBus: Incorrect unread message count
* 9427 Placeholder not cleared if pasting text into message input * #9427 Placeholder not cleared if pasting text into message input
* 9444 Determine the delay timestamp correctly when using mam:1 * #9444 Determine the delay timestamp correctly when using mam:1
* 9453 Fix opening links inside the group chat subject (MacOS/Windows) * #9453 Fix opening links inside the group chat subject (MacOS/Windows)
* 9465 Allow the full range of possible nicknames in group chats * #9465 Allow the full range of possible nicknames in group chats
* 9067 Gajim crashes when receiving xhtml messages * #9067 Gajim crashes when receiving xhtml messages
* 9096 Error when clicking on a subscription notification * #9096 Error when clicking on a subscription notification
* 9446 Chatstate error in MUC conversation * #9446 Chatstate error in MUC conversation
* 9471 Conversation Textview: Error on key press * #9471 Conversation Textview: Error on key press
* 9472 Handle presences without from attr correctly * #9472 Handle presences without from attr correctly
* 9473 Error when creating a new group chat * #9473 Error when creating a new group chat
* 9491 Identify group chat subject changes correctly * #9491 Identify group chat subject changes correctly
* 9496 Error on MUC roster selection change * #9496 Error on MUC roster selection change
* Determine soundplayer correctly on unix systems * Determine soundplayer correctly on unix systems
* In some circumstances plugins could not be deleted * In some circumstances plugins could not be deleted
* Show correct contact status on tabs * Show correct contact status on tabs
...@@ -36,13 +48,13 @@ Gajim 1.1.0 (06 November 2018) ...@@ -36,13 +48,13 @@ Gajim 1.1.0 (06 November 2018)
Bug fixes Bug fixes
* 8968 Windows: Gajim loads DLLs from wrong location * #8968 Windows: Gajim loads DLLs from wrong location
* 9322 Error when adding contact * #9322 Error when adding contact
* 9357 Acquire sleep inhibtor correctly after sleep * #9357 Acquire sleep inhibtor correctly after sleep
* 9385 Ignore invalid bookmarks * #9385 Ignore invalid bookmarks
* 9386 Discovery: Browsing nodes without identity * #9386 Discovery: Browsing nodes without identity
* 9393 Error when parsing invalid timestamps * #9393 Error when parsing invalid timestamps
* 9398 Error on jingle file transfer * #9398 Error on jingle file transfer
Gajim 1.0.99.1 (07 October 2018) Gajim 1.0.99.1 (07 October 2018)
...@@ -59,17 +71,17 @@ Gajim 1.0.99.1 (07 October 2018) ...@@ -59,17 +71,17 @@ Gajim 1.0.99.1 (07 October 2018)
Bug fixes Bug fixes
* 9198 Creating new MUCs with captial letters is not possible * #9198 Creating new MUCs with captial letters is not possible
* 9210 Error when clicking on new message indicator * #9210 Error when clicking on new message indicator
* 9280 Inviting users to a MUC causes error * #9280 Inviting users to a MUC causes error
* 9301 Error when opening service discovery window * #9301 Error when opening service discovery window
* 9309 Error when clicking on a groupchat invite notification * #9309 Error when clicking on a groupchat invite notification
* 9311 Error when requesting server info * #9311 Error when requesting server info
* 9117 Windows UAC changes status not available * #9117 Windows UAC changes status not available
* 9324 No menus/dialogs on Win7 * #9324 No menus/dialogs on Win7
* 9326 IPV6 Connection problem on Win10 * #9326 IPV6 Connection problem on Win10
* 9334 Joining big MUCs takes very long * #9334 Joining big MUCs takes very long
* 9339 Error caused by remote_control * #9339 Error caused by remote_control
Gajim 1.0.99 (19 August 2018) Gajim 1.0.99 (19 August 2018)
...@@ -92,16 +104,16 @@ Gajim 1.0.99 (19 August 2018) ...@@ -92,16 +104,16 @@ Gajim 1.0.99 (19 August 2018)
Bug fixes Bug fixes
* 8658 Translation doesnt work on Windows * #8658 Translation doesnt work on Windows
* 8750 Increase time frame for duplicate search in MUCs * #8750 Increase time frame for duplicate search in MUCs
* 9138 Translation in Flatpak does not work * #9138 Translation in Flatpak does not work
* 9140 Error when clicking on the notification of an incoming message * #9140 Error when clicking on the notification of an incoming message
* 9159 Wrong form type when responding to a voice request * #9159 Wrong form type when responding to a voice request
* 9069 Send cancel IQ if muc configuration is aborted * #9069 Send cancel IQ if muc configuration is aborted
* 9167 Flatpak fails to determine locale settings * #9167 Flatpak fails to determine locale settings
* 9171 Gajim requests vcard multiple times * #9171 Gajim requests vcard multiple times
* 9198 Creating new MUCs with capital letters is not possible * #9198 Creating new MUCs with capital letters is not possible
* 9211 Punycode and Unicode with Internationalized Domain Names * #9211 Punycode and Unicode with Internationalized Domain Names
Other changes Other changes
...@@ -123,9 +135,9 @@ Gajim 1.0.3 (20 May 2018) ...@@ -123,9 +135,9 @@ Gajim 1.0.3 (20 May 2018)
Bugs fixed: Bugs fixed:
* 8296 Fix errors on roster updates after stream management resume * #8296 Fix errors on roster updates after stream management resume
* 9106 Convert font weight from pango to css values * #9106 Convert font weight from pango to css values
* 9124 Bring ChatControl to front when notification is clicked * #9124 Bring ChatControl to front when notification is clicked
* Set no-store hint on groupchat chatstates * Set no-store hint on groupchat chatstates
* Dont show OOB uri if message body is the same * Dont show OOB uri if message body is the same
...@@ -139,26 +151,26 @@ Gajim 1.0.2 (30 April 2018) ...@@ -139,26 +151,26 @@ Gajim 1.0.2 (30 April 2018)
Bugs fixed: Bugs fixed:
* 7879 Server name is rejected for group chat bookmarks * #7879 Server name is rejected for group chat bookmarks
* 8964 setup.py install misses some files if used with "--skip-build" * #8964 setup.py install misses some files if used with "--skip-build"
* 9017 Password was sometimes stored in plaintext * #9017 Password was sometimes stored in plaintext
* 9022 Dont show error when receiving invalid avatars * #9022 Dont show error when receiving invalid avatars
* 9031 Windows: Always hide roster window on X * #9031 Windows: Always hide roster window on X
* 9038 No License in About dialog * #9038 No License in About dialog
* 9039 Encode filenames before sending * #9039 Encode filenames before sending
* 9044 Catch invalid IQ stanzas and log them * #9044 Catch invalid IQ stanzas and log them
* 9049 XMPP logo in "Add New Contact" window instead Gajim logo * #9049 XMPP logo in "Add New Contact" window instead Gajim logo
* 9050 Mark some strings as translatable * #9050 Mark some strings as translatable
* 9054 Error on file send completion * #9054 Error on file send completion
* 9055 Removing a bookmark causes error * #9055 Removing a bookmark causes error
* 9057 Avatar is deleted when updating vCard * #9057 Avatar is deleted when updating vCard
* 9065 Account label isn't change in tooltip of notification area icon * #9065 Account label isn't change in tooltip of notification area icon
* 9066 Placeholder text does't disappear * #9066 Placeholder text does't disappear
* 9068 Missing pulseaudio in Flatpak image * #9068 Missing pulseaudio in Flatpak image
* 9070 Fix History Manager search * #9070 Fix History Manager search
* 9074 Proxy comobobox in accounts/connections doesn't get update after ManageProxies * #9074 Proxy comobobox in accounts/connections doesn't get update after ManageProxies
* 9094 problem receiving file * #9094 problem receiving file
* 9101 Notification never autohides in gnome * #9101 Notification never autohides in gnome
* Correctly reload Plugins * Correctly reload Plugins
* Save history export with utf8 encoding * Save history export with utf8 encoding
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
- python3-gi - python3-gi
- python3-gi-cairo - python3-gi-cairo
- gir1.2-gtk-3.0 (>=3.22) - gir1.2-gtk-3.0 (>=3.22)
- python3-nbxmpp - python3-nbxmpp (>=0.6.9,<0.7.0)
- python3-openssl (>=0.14) - python3-openssl (>=0.14)
- python3-cssutils (>=1.0.2) - python3-cssutils (>=1.0.2)
- python3-keyring - python3-keyring
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
- python3-pil (pillow) for support of webp avatars - python3-pil (pillow) for support of webp avatars
- python3-gnupg to enable GPG encryption - python3-gnupg to enable GPG encryption
- For zeroconf (bonjour) you need python3-dbus - For zeroconf you need python3-dbus on Linux or [pybonjour](https://dev.gajim.org/lovetox/pybonjour-python3) on Windows/macOS
- gir1.2-gspell-1 and hunspell-LANG where lang is your locale eg. en, fr etc - gir1.2-gspell-1 and hunspell-LANG where lang is your locale eg. en, fr etc
- gir1.2-secret-1 for GNOME Keyring or KDE support as password storage - gir1.2-secret-1 for GNOME Keyring or KDE support as password storage
- D-Bus running to have gajim-remote working - D-Bus running to have gajim-remote working
...@@ -86,7 +86,7 @@ Execute gajim with --verbose ...@@ -86,7 +86,7 @@ Execute gajim with --verbose
That is all, **enjoy**! That is all, **enjoy**!
(C) 2003-2018 (C) 2003-2019
The Gajim Team The Gajim Team
[https://gajim.org](https://gajim.org) [https://gajim.org](https://gajim.org)
......
...@@ -46,7 +46,7 @@ and ...@@ -46,7 +46,7 @@ and
.Pa THANKS , .Pa THANKS ,
for a complete list. for a complete list.
.Sh COPYRIGHT .Sh COPYRIGHT
Copyright (C) 2003-2018 Gajim Team Copyright (C) 2003-2019 Gajim Team
.Pp .Pp
.Nm .Nm
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. 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.
......
...@@ -89,7 +89,7 @@ and ...@@ -89,7 +89,7 @@ and
.Pa THANKS , .Pa THANKS ,
for a complete list. for a complete list.
.Sh COPYRIGHT .Sh COPYRIGHT
Copyright (C) 2003-2018 Gajim Team Copyright (C) 2003-2019 Gajim Team
.Pp .Pp
.Nm .Nm
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. 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.
......
...@@ -93,7 +93,7 @@ and ...@@ -93,7 +93,7 @@ and
with contributions and patches merged from many individuals around the world. with contributions and patches merged from many individuals around the world.
See the About Dialog for a complete list. See the About Dialog for a complete list.
.Sh COPYRIGHT .Sh COPYRIGHT
Copyright (C) 2003-2018 Gajim Team Copyright (C) 2003-2019 Gajim Team
.Pp .Pp
.Nm .Nm
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. 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 (1.1.1-2~bpo9+1) stretch-backports; urgency=medium gajim (1.1.2-1~bpo9+1) stretch-backports; urgency=medium
* Rebuild for stretch-backports. * Rebuild for stretch-backports.
-- W. Martin Borgert <debacle@debian.org> Thu, 03 Jan 2019 00:51:07 +0000 -- W. Martin Borgert <debacle@debian.org> Mon, 21 Jan 2019 00:18:10 +0000
gajim (1.1.2-1) unstable; urgency=medium
* new upstream version
-- W. Martin Borgert <debacle@debian.org> Tue, 15 Jan 2019 22:23:55 +0000
gajim (1.1.1-2) unstable; urgency=medium gajim (1.1.1-2) unstable; urgency=medium
......
fix-status-tray-notification.patch
do-not-use-distutils.patch do-not-use-distutils.patch
no-git-call.patch no-git-call.patch
stop-loading-plugins.patch stop-loading-plugins.patch
import os import os
import subprocess import subprocess
__version__ = "1.1.1" __version__ = "1.1.2"
IS_FLATPAK = False IS_FLATPAK = False
if os.path.exists('/app/share/run-as-flatpak'): if os.path.exists('/app/share/run-as-flatpak'):
......
...@@ -200,12 +200,14 @@ def detect_dependencies(): ...@@ -200,12 +200,14 @@ def detect_dependencies():
# ZEROCONF # ZEROCONF
try: try:
if os.name == 'nt': import pybonjour # pylint: disable=unused-variable
import pybonjour # pylint: disable=unused-variable _dependencies['PYBONJOUR'] = True
_dependencies['PYBONJOUR'] = True except Exception:
else: pass
import dbus # pylint: disable=unused-variable
_dependencies['PYTHON-DBUS'] = True try:
import dbus # pylint: disable=unused-variable
_dependencies['PYTHON-DBUS'] = True
except Exception: except Exception:
pass pass
......
...@@ -56,6 +56,7 @@ from gajim.common import app ...@@ -56,6 +56,7 @@ from gajim.common import app
from gajim.common import gpg from gajim.common import gpg
from gajim.common import passwords from gajim.common import passwords
from gajim.common import idle from gajim.common import idle
from gajim.common import i18n
from gajim.common.i18n import _ from gajim.common.i18n import _
from gajim.common.connection_handlers import * from gajim.common.connection_handlers import *
from gajim.common.contacts import GC_Contact from gajim.common.contacts import GC_Contact
...@@ -1037,7 +1038,8 @@ class Connection(CommonConnection, ConnectionHandlers): ...@@ -1037,7 +1038,8 @@ class Connection(CommonConnection, ConnectionHandlers):
con = nbxmpp.NonBlockingClient( con = nbxmpp.NonBlockingClient(
domain=self._hostname, domain=self._hostname,
caller=self, caller=self,
idlequeue=app.idlequeue) idlequeue=app.idlequeue,
lang=i18n.LANG)
# increase default timeout for server responses # increase default timeout for server responses
nbxmpp.dispatcher_nb.DEFAULT_TIMEOUT_SECONDS = \ nbxmpp.dispatcher_nb.DEFAULT_TIMEOUT_SECONDS = \
......
...@@ -69,6 +69,22 @@ def iter_locale_dirs(): ...@@ -69,6 +69,22 @@ def iter_locale_dirs():
if locale_dir.is_dir(): if locale_dir.is_dir():
yield str(locale_dir) yield str(locale_dir)
def get_default_lang():
if os.name == "nt":
import ctypes
windll = ctypes.windll.kernel32
lang = locale.windows_locale[windll.GetUserDefaultUILanguage()]
return lang[:2]
if sys.platform == "darwin":
from AppKit import NSLocale
return NSLocale.currentLocale().languageCode()
default = locale.getdefaultlocale()[0]
if default is not None:
return default[:2]
return 'en'
def initialize_direction_mark(): def initialize_direction_mark():
from gi.repository import Gtk from gi.repository import Gtk
...@@ -137,15 +153,13 @@ try: ...@@ -137,15 +153,13 @@ try:
except locale.Error as error: except locale.Error as error:
print(error) print(error)
if os.name == 'nt': try:
try: LANG = get_default_lang()
# en_US, fr_FR, el_GR etc.. print('Found default language: %s' % LANG)
default = locale.getdefaultlocale()[0] except Exception as error:
if default is not None: print('Failed to determine default language')
LANG = default[:2] import traceback
except (ValueError, locale.Error): traceback.print_exc()
pass
os.environ['LANG'] = LANG
# Search for the translation in all locale dirs # Search for the translation in all locale dirs
for dir_ in iter_locale_dirs(): for dir_ in iter_locale_dirs():
......
...@@ -301,8 +301,9 @@ class JingleRTPContent(JingleContent): ...@@ -301,8 +301,9 @@ class JingleRTPContent(JingleContent):
attrs = { attrs = {
'name': codec.encoding_name, 'name': codec.encoding_name,
'id': codec.id, 'id': codec.id,
'channels': codec.channels
} }
if codec.channels > 0:
attrs['channels'] = codec.channels
if codec.clock_rate: if codec.clock_rate:
attrs['clockrate'] = codec.clock_rate attrs['clockrate'] = codec.clock_rate
if codec.optional_params: if codec.optional_params:
...@@ -350,18 +351,35 @@ class JingleAudio(JingleRTPContent): ...@@ -350,18 +351,35 @@ class JingleAudio(JingleRTPContent):
def setup_stream(self): def setup_stream(self):
JingleRTPContent.setup_stream(self, self._on_src_pad_added) JingleRTPContent.setup_stream(self, self._on_src_pad_added)
# Configure SPEEX # list of codecs that are explicitly allowed
# Workaround for psi (not needed since rev allow_codecs = [
# 147aedcea39b43402fe64c533d1866a25449888a): Farstream.Codec.new(Farstream.CODEC_ID_ANY, 'OPUS',
# place 16kHz before 8kHz, as buggy psi versions will take in Farstream.MediaType.AUDIO, 48000),
# account only the first codec Farstream.Codec.new(Farstream.CODEC_ID_ANY, 'SPEEX',
Farstream.MediaType.AUDIO, 32000),
codecs = [
Farstream.Codec.new(Farstream.CODEC_ID_ANY, 'SPEEX', Farstream.Codec.new(Farstream.CODEC_ID_ANY, 'SPEEX',
Farstream.MediaType.AUDIO, 16000), Farstream.MediaType.AUDIO, 16000),
Farstream.Codec.new(Farstream.CODEC_ID_ANY, 'G722',
Farstream.MediaType.AUDIO, 8000),
Farstream.Codec.new(Farstream.CODEC_ID_ANY, 'SPEEX', Farstream.Codec.new(Farstream.CODEC_ID_ANY, 'SPEEX',
Farstream.MediaType.AUDIO, 8000),
Farstream.Codec.new(Farstream.CODEC_ID_ANY, 'PCMA',
Farstream.MediaType.AUDIO, 8000),
Farstream.Codec.new(Farstream.CODEC_ID_ANY, 'PCMU',
Farstream.MediaType.AUDIO, 8000)] Farstream.MediaType.AUDIO, 8000)]
self.p2psession.set_codec_preferences(codecs)
# disable all other codecs
disable_codecs = []
codecs_without_config = self.p2psession.props.codecs_without_config
allowed_encoding_names = [c.encoding_name for c in allow_codecs] + ['telephone-event']
for codec in codecs_without_config:
if codec.encoding_name not in allowed_encoding_names:
disable_codecs.append(Farstream.Codec.new(Farstream.CODEC_ID_DISABLE,
codec.encoding_name,
Farstream.MediaType.AUDIO,
codec.clock_rate))
self.p2psession.set_codec_preferences(allow_codecs + disable_codecs)
# the local parts # the local parts
# TODO: Add queues? # TODO: Add queues?
......
...@@ -1727,7 +1727,7 @@ class MucBrowser(AgentBrowser): ...@@ -1727,7 +1727,7 @@ class MucBrowser(AgentBrowser):
room_jid, room_jid,
False, False,
False, False,
'' '',
'') '')
InformationDialog( InformationDialog(
......
...@@ -27,7 +27,7 @@ from distutils.version import LooseVersion as V ...@@ -27,7 +27,7 @@ from distutils.version import LooseVersion as V
# Install _() in namespace # Install _() in namespace
from gajim.common import i18n from gajim.common import i18n
_MIN_NBXMPP_VER = "0.6.8" _MIN_NBXMPP_VER = "0.6.9"
_MIN_GTK_VER = "3.22.0" _MIN_GTK_VER = "3.22.0"
......
...@@ -14,10 +14,12 @@ ...@@ -14,10 +14,12 @@
import nbxmpp import nbxmpp
from gi.repository import Gdk
from gi.repository import Gtk from gi.repository import Gtk
from gi.repository import GObject from gi.repository import GObject
from gajim.common import app from gajim.common import app
from gajim.common.helpers import launch_browser_mailer
from gajim.common.i18n import _ from gajim.common.i18n import _
from gajim.common.const import DEVS_CURRENT from gajim.common.const import DEVS_CURRENT
from gajim.common.const import DEVS_PAST from gajim.common.const import DEVS_PAST
...@@ -31,7 +33,7 @@ class AboutDialog(Gtk.AboutDialog): ...@@ -31,7 +33,7 @@ class AboutDialog(Gtk.AboutDialog):
self.set_transient_for(app.interface.roster.window) self.set_transient_for(app.interface.roster.window)
self.set_name('Gajim') self.set_name('Gajim')
self.set_version(app.version) self.set_version(app.version)
self.set_copyright('Copyright © 2003-2018 Gajim Team') self.set_copyright('Copyright © 2003-2019 Gajim Team')
self.set_license_type(Gtk.License.GPL_3_0_ONLY) self.set_license_type(Gtk.License.GPL_3_0_ONLY)
self.set_website('https://gajim.org/') self.set_website('https://gajim.org/')
...@@ -65,3 +67,25 @@ class AboutDialog(Gtk.AboutDialog): ...@@ -65,3 +67,25 @@ class AboutDialog(Gtk.AboutDialog):
'response', lambda dialog, *args: Gtk.AboutDialog.do_close(dialog)) 'response', lambda dialog, *args: Gtk.AboutDialog.do_close(dialog))
self.show() self.show()
self.connect('activate-link', self._on_activate_link)
# See https://gitlab.gnome.org/GNOME/gtk/issues/1561
self._connect_link_handler(self)
@staticmethod
def _on_activate_link(_label, uri):
# We have to use this, because the default GTK handler
# is not cross-platform compatible
launch_browser_mailer(None, uri)
return Gdk.EVENT_STOP
def _connect_link_handler(self, parent):
def _find_child(parent_):
if not hasattr(parent_, 'get_children'):
return
for child in parent_.get_children():
if isinstance(child, Gtk.Label):
if 'href' in child.get_label():
child.connect('activate-link', self._on_activate_link)
_find_child(child)
_find_child(parent)
...@@ -1645,10 +1645,13 @@ class Interface: ...@@ -1645,10 +1645,13 @@ class Interface:
app.events.change_jid(account, fjid, jid) app.events.change_jid(account, fjid, jid)
resource = None resource = None
fjid = jid fjid = jid
contact = None contact = None
if resource: if resource:
contact = app.contacts.get_contact(account, jid, resource) or highest_contact contact = app.contacts.get_contact(account, jid, resource)
if contact is None: if not contact:
contact = highest_contact
if not contact:
# Maybe we deleted the contact from the roster # Maybe we deleted the contact from the roster
return return
......
...@@ -312,6 +312,8 @@ class GajimRemote(Server): ...@@ -312,6 +312,8 @@ class GajimRemote(Server):
ged.POSTGUI, self.on_unsubscribed_presence_received) ged.POSTGUI, self.on_unsubscribed_presence_received)
app.ged.register_event_handler('gc-message-received', app.ged.register_event_handler('gc-message-received',
ged.POSTGUI, self.on_gc_message_received) ged.POSTGUI, self.on_gc_message_received)
app.ged.register_event_handler('decrypted-message-received',
ged.POSTGUI, self._nec_decrypted_message_received)
app.ged.register_event_handler('our-show', ged.POSTGUI, app.ged.register_event_handler('our-show', ged.POSTGUI,
self.on_our_status) self.on_our_status)
app.ged.register_event_handler('account-created', ged.POSTGUI, app.ged.register_event_handler('account-created', ged.POSTGUI,
...@@ -388,6 +390,12 @@ class GajimRemote(Server): ...@@ -388,6 +390,12 @@ class GajimRemote(Server):
obj.timestamp, obj.delayed, obj.xhtml_msgtxt, obj.status_code, obj.timestamp, obj.delayed, obj.xhtml_msgtxt, obj.status_code,
obj.displaymarking, obj.captcha_form, obj.needs_highlight])) obj.displaymarking, obj.captcha_form, obj.needs_highlight]))
def _nec_decrypted_message_received(self, obj):
self.raise_signal('NewMessage', (
obj.conn.name, [obj.fjid, obj.msgtxt, obj.timestamp,
obj.encrypted, obj.mtype, obj.subject,
obj.msg_log_id, obj.user_nick, obj.xhtml, obj.form_node]))
def on_our_status(self, obj): def on_our_status(self, obj):
self.raise_signal('AccountPresence', (obj.show, obj.conn.name)) self.raise_signal('AccountPresence', (obj.show, obj.conn.name))
......
...@@ -166,12 +166,6 @@ class ChatControlSession: ...@@ -166,12 +166,6 @@ class ChatControlSession:
if not pm: if not pm:
self.roster_message2(obj) self.roster_message2(obj)
if app.interface.remote_ctrl:
app.interface.remote_ctrl.raise_signal('NewMessage', (
self.conn.name, [obj.fjid, obj.msgtxt, obj.timestamp,
obj.encrypted, obj.mtype, obj.subject,
obj.msg_log_id, obj.user_nick, obj.xhtml, obj.form_node]))
def roster_message2(self, obj): def roster_message2(self, obj):
""" """
Display the message or show notification in the roster Display the message or show notification in the roster
......
File added
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleExecutable</key>
<string>launch.sh</string>
<key>CFBundleIdentifier</key>
<string>org.gajim.mac</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>Gajim</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>${short_version_string}</string>
<key>CFBundleSignature</key>
<string>DASH</string>
<key>CFBundleVersion</key>
<string>${version}</string>
<key>CFBundleIconFile</key>
<string>Gajim</string>
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
<key>CFBundleURLName</key>
<string>XMPP</string>
<key>CFBundleURLSchemes</key>
<array>
<string>xmpp</string>
</array>
</dict>
</array>
</dict>
</plist>
#!/bin/sh
${bin_path}
#!/usr/bin/env python3
import os
import shutil
import sys
from string import Template
from os.path import join
import argparse
EXEC_TEMPLATE = 'mac/launch.sh.template'
PLIST_TEMPLATE = 'mac/Info.plist.template'
ICNS_FILE = 'mac/Gajim.icns'
def fill_template(in_path, out_path, vars):
with open(in_path, 'r') as f:
templ = Template(f.read())
filled_templ = templ.substitute(vars)
with open(out_path, 'w') as f:
f.write(filled_templ)
def create_executable(exec_path, bin_path):
fill_template(EXEC_TEMPLATE, exec_path, {
'bin_path': bin_path
})
os.chmod(exec_path, 0o755)
def create_plist(plist_path, version):
fill_template(PLIST_TEMPLATE, plist_path, {
'version': version,