Commit 7ae506b1 authored by Martin's avatar Martin

Merge tag 'upstream/1.1.0-beta2' into debian/master

parents 11d7cf70 94810619
......@@ -7,6 +7,7 @@ syntax: glob
*.pyc
*.pyo
*~
*#
autom4te.cache
data/org.gajim.Gajim.appdata.xml
data/org.gajim.Gajim.desktop
......@@ -19,11 +20,13 @@ po/stamp-it
stamp-h1
Makefile
__pycache__/
.mypy_cache/
build/
dist/
gajim.egg-info/
src/gtk/
win/_build_root
.vscode
syntax: regexp
^config\.*
......
before_script:
- sudo apt-get update -qq && sudo apt-get install -y -qq libtool pkg-config python3-openssl gir1.2-gtk-3.0 python3-gi python3-nbxmpp-nightly pylint3
- sudo apt-get update -qq && sudo apt-get install -y -qq libtool pkg-config python3-openssl gir1.2-gtk-3.0 python3-gi python3-nbxmpp-nightly python3-cairo python3-pip
- sudo apt-get build-dep -y -qq gajim-default-nightly
- sudo pip3 install pylint==2.1.1
stages:
- test
......@@ -11,10 +12,17 @@ run-test:
script:
- python3 setup.py test_nogui
run-mypy:
stage: test
script:
- mypy gajim
run-pylint:
stage: test
script:
- pylint3 --additional-builtins=_ --disable=all --enable=E0001,E0011,E0012,E0100,E0101,E0102,E0103,E0104,E0105,E0106,E0107,E0108,E0202,E0221,E0222,E0235,E0501,E0502,E0503,E0602,E0603,E0604,E0701,E0702,E1001,E1002,E1003,E1004,E1111,E1120,E1121,E1122,E1123,E1124,E1125,E1200,E1201,E1205,E1206,E1300,E1301,E1302,E1303,E1304,E1305,E1306,E1310,E1700,E1701,W0102 gajim
- pylint3 --version
- pylint --version
- scripts/dev/pylint-ci.sh --jobs=2 gajim
run-build:
stage: build
......
Gajim 1.0.99.1 (13 October 2018)
New
* Implement XEP-0398
* MUC: Set Threshold for requesting history
* Show icon for unencrypted messages
* Support more media players for broadcasting the current tune
* Windows: Add a debug logging switch in preferences
* Preferences: enable/disable dark theme
* Preferences: enable/disable the MUC subject beeing shown on join
* Preferences: enable/disable ascii emoji conversion
Bug fixes
* 9198 Creating new MUCs with captial letters is not possible
* 9210 Error when clicking on new message indicator
* 9280 Inviting users to a MUC causes error
* 9301 Error when opening service discovery window
* 9309 Error when clicking on a groupchat invite notification
* 9311 Error when requesting server info
* 9117 Windows UAC changes status not available
* 9324 No menus/dialogs on Win7
* 9326 IPV6 Connection problem on Win10
* 9334 Joining big MUCs takes very long
* 9339 Error caused by remote_control
Gajim 1.0.99 (19 August 2018)
New
......
......@@ -18,8 +18,7 @@ clone_depth: 1
# - ps: iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
build_script:
- C:\msys64\usr\bin\pacman -Syu --needed --noconfirm --ask=20
- C:\msys64\usr\bin\pacman -Su --needed --noconfirm
- C:\msys64\usr\bin\pacman -Syuu --needed --noconfirm --noprogressbar --overwrite \\*
- ps: |
$env:TIME_STRING=(get-date -UFormat "%Y-%m-%d").ToString()
$env:BUILDROOT="C:\msys64\home\appveyor\gajim\win\_build_root"
......
[epydoc]
# Information about the project.
name: Gajim
url: http://gajim.org
verbosity: 3
imports: yes
redundant-details: yes
docformat: restructuredtext
# top: gajim
# The list of modules to document. Modules can be named using
# dotted names, module filenames, or package directory names.
# This option may be repeated.
modules: gajim/* test/*
# Write html output to the directory "apidocs"
#output: pdf
output: html
target: doc/apidocs/
# Include all automatically generated graphs. These graphs are
# generated using Graphviz dot.
graph: all
dotpath: /usr/bin/dot
graph-font: Sans
graph-font-size: 10
......@@ -23,9 +23,9 @@ Replace install path `~/Gajim/gajim_flatpak` with an install path of your choice
*Note: Remove `--user` if you want a system-wide installation.*
1. `flatpak --user remote-add --from gnome https://sdk.gnome.org/gnome.flatpakrepo`
2. `flatpak --user install gnome org.gnome.Platform//3.28`
3. `flatpak --user install gnome org.gnome.Sdk//3.28`
4. `flatpak-builder --repo=gajim_flatpak_repo ~/Gajim/gajim_flatpak ~/Gajim/org.gajim.Gajim.json`
2. `flatpak --user install gnome org.gnome.Platform//3.30`
3. `flatpak --user install gnome org.gnome.Sdk//3.30`
4. `flatpak-builder --repo=gajim_flatpak_repo ~/Gajim/gajim_flatpak ~/Gajim/flatpak/org.gajim.Gajim.yaml`
5. `flatpak --user remote-add --no-gpg-verify gajim_flatpak_repo gajim_flatpak_repo`
6. `flatpak --user install gajim_flatpak_repo org.gajim.Gajim`
7. `flatpak run org.gajim.Gajim`
......@@ -51,7 +51,7 @@ In this example, we use `git` to update the repository. You can also download th
### Install and update Gajim
1. `flatpak-builder --repo=gajim_flatpak_repo ~/Gajim/gajim_flatpak ~/Gajim/org.gajim.Gajim.json`
1. `flatpak-builder --repo=gajim_flatpak_repo ~/Gajim/gajim_flatpak ~/Gajim/flatpak/org.gajim.Gajim.yaml`
2. `flatpak --user update`
3. `flatpak run org.gajim.Gajim`
......
app-id: org.gajim.Gajim
runtime: org.gnome.Platform
runtime-version: 3.30
sdk: org.gnome.Sdk
command: gajim
tags: nightly
desktop-file-name-prefix: '(Nightly) '
finish-args:
- --share=ipc
- --share=network
- --socket=x11
- --socket=wayland
- --socket=pulseaudio
- --system-talk-name=org.freedesktop.GeoClue2
- --system-talk-name=org.freedesktop.login1
- --talk-name=org.gnome.ScreenSaver
- --talk-name=org.mpris.MediaPlayer2.*
# Keyring
- --talk-name=org.freedesktop.secrets
# dconf
- --filesystem=xdg-run/dconf
- --filesystem=~/.config/dconf:ro
- --talk-name=ca.desrt.dconf
- --env=DCONF_USER_CONFIG_DIR=.config/dconf
# extensions
- --env=PYTHONPATH=/app/plugins/lib/python3.7/site-packages
add-extensions:
org.gajim.Gajim.Plugin:
directory: plugins
merge-dirs: lib/python3.7/site-packages
subdirectories: true
no-autodownload: true
autodelete: true
build-options:
cflags: -O2 -g
cxxflags: -O2 -g
cleanup:
- '/bin/easy*'
- /include
- /lib/debug
- /lib/pkgconfig
- /lib/python2.7
- /share/aclocal
- /share/doc
- /share/gtk-doc
- /share/man
- '*.a'
- '*.la'
modules:
- name: python3-pycparser
buildsystem: simple
build-commands:
- python3 setup.py install --prefix=/app
sources:
- type: archive
url: https://files.pythonhosted.org/packages/68/9e/49196946aee219aead1290e00d1e7fdeab8567783e83e1b9ab5585e6206a/pycparser-2.19.tar.gz
sha256: a988718abfad80b6b157acce7bf130a30876d27603738ac39f140993246b25b3
- name: python3-cffi
buildsystem: simple
build-commands:
- python3 setup.py install --prefix=/app
sources:
- type: archive
url: https://files.pythonhosted.org/packages/e7/a7/4cd50e57cc6f436f1cc3a7e8fa700ff9b8b4d471620629074913e3735fb2/cffi-1.11.5.tar.gz
sha256: e90f17980e6ab0f3c2f3730e56d1fe9bcba1891eeea58966e89d352492cc74f4
- name: python3-six
buildsystem: simple
build-commands:
- pip3 install --prefix=/app six-1.11.0-py2.py3-none-any.whl
sources:
- type: file
url: https://pypi.python.org/packages/67/4b/141a581104b1f6397bfa78ac9d43d8ad29a7ca43ea90a2d863fe3056e86a/six-1.11.0-py2.py3-none-any.whl
sha256: 832dc0e10feb1aa2c68dcc57dbb658f1c7e65b9b61af69048abc87a2db00a0eb
- name: python3-pyparsing
buildsystem: simple
build-commands:
- pip3 install --prefix=/app pyparsing-2.2.2-py2.py3-none-any.whl
sources:
- type: file
url: https://files.pythonhosted.org/packages/2b/4a/f06b45ab9690d4c37641ec776f7ad691974f4cf6943a73267475b05cbfca/pyparsing-2.2.2-py2.py3-none-any.whl
sha256: d29593d8ebe7b57d6967b62494f8c72b03ac0262b1eed63826c6f788b3606401
- name: python3-packaging
buildsystem: simple
build-commands:
- pip3 install --prefix=/app packaging-18.0-py2.py3-none-any.whl
sources:
- type: file
url: https://files.pythonhosted.org/packages/89/d1/92e6df2e503a69df9faab187c684585f0136662c12bb1f36901d426f3fab/packaging-18.0-py2.py3-none-any.whl
sha256: f95a1e147590f204328170981833854229bb2912ac3d5f89e2a8ccd2834800c9
- name: python3-appdirs
buildsystem: simple
build-commands:
- pip3 install --prefix=/app appdirs-1.4.3-py2.py3-none-any.whl
sources:
- type: file
url: https://pypi.python.org/packages/56/eb/810e700ed1349edde4cbdc1b2a21e28cdf115f9faf263f6bbf8447c1abf3/appdirs-1.4.3-py2.py3-none-any.whl
sha256: d8b24664561d0d34ddfaec54636d502d7cea6e29c3eaf68f3df6180863e2166e
- name: python3-setuptools
ensure-writable:
- easy-install.pth
- setuptools.pth
buildsystem: simple
build-commands:
- python3 setup.py install --prefix=/app
sources:
- type: archive
url: https://files.pythonhosted.org/packages/6e/9c/6a003320b00ef237f94aa74e4ad66c57a7618f6c79d67527136e2544b728/setuptools-40.4.3.zip
sha256: acbc5740dd63f243f46c2b4b8e2c7fd92259c2ddb55a4115b16418a2ed371b15
- name: python3-asn1crypto
buildsystem: simple
build-commands:
- pip3 install --prefix=/app asn1crypto-0.24.0-py2.py3-none-any.whl
sources:
- type: file
url: https://pypi.python.org/packages/ea/cd/35485615f45f30a510576f1a56d1e0a7ad7bd8ab5ed7cdc600ef7cd06222/asn1crypto-0.24.0-py2.py3-none-any.whl
sha256: 2f1adbb7546ed199e3c90ef23ec95c5cf3585bac7d11fb7eb562a3fe89c64e87
- name: python3-idna
buildsystem: simple
build-commands:
- pip3 install --prefix=/app idna-2.7-py2.py3-none-any.whl
sources:
- type: file
url: https://files.pythonhosted.org/packages/4b/2a/0276479a4b3caeb8a8c1af2f8e4355746a97fab05a372e4a2c6a6b876165/idna-2.7-py2.py3-none-any.whl
sha256: 156a6814fb5ac1fc6850fb002e0852d56c0c8d2531923a51032d1b70760e186e
- name: python3-cryptography
ensure-writable:
- easy-install.pth
buildsystem: simple
build-commands:
- python3 setup.py install --prefix=/app
sources:
- type: archive
url: https://files.pythonhosted.org/packages/22/21/233e38f74188db94e8451ef6385754a98f3cad9b59bedf3a8e8b14988be4/cryptography-2.3.1.tar.gz
sha256: 8d10113ca826a4c29d5b85b2c4e045ffa8bad74fb525ee0eceb1d38d4c70dfd6
- name: python3-pyopenssl
buildsystem: simple
build-commands:
- pip3 install --prefix=/app pyOpenSSL-18.0.0-py2.py3-none-any.whl
sources:
- type: file
url: https://files.pythonhosted.org/packages/96/af/9d29e6bd40823061aea2e0574ccb2fcf72bfd6130ce53d32773ec375458c/pyOpenSSL-18.0.0-py2.py3-none-any.whl
sha256: 26ff56a6b5ecaf3a2a59f132681e2a80afcc76b4f902f612f518f92c2a1bf854
- name: python3-dbus-python
build-options:
env:
PYTHON_VERSION: '3'
sources:
- type: archive
url: https://files.pythonhosted.org/packages/3f/e7/4edb582d1ffd5ac3c84188deea32e960b5c8c0fe1da56ce70224f85ce542/dbus-python-1.2.8.tar.gz
sha256: abf12bbb765e300bf8e2a1b2f32f85949eab06998dbda127952c31cb63957b6f
- name: python3-jeepney
buildsystem: simple
build-commands:
- pip3 install --prefix=/app jeepney-0.4-py3-none-any.whl
sources:
- type: file
url: https://files.pythonhosted.org/packages/2b/f7/ff23b9b59534f501d47c327576aadda59da5b83d76ff837e6075bc325b9f/jeepney-0.4-py3-none-any.whl
sha256: f6f8b1428403b4afad04b6b82f9ab9fc426c253d7504c9031c41712a2c01dc74
- name: python3-secretstorage
buildsystem: simple
build-commands:
- pip3 install --prefix=/app SecretStorage-3.1.0-py3-none-any.whl
sources:
- type: file
url: https://files.pythonhosted.org/packages/d8/e8/80975fd281764c80b2eb581a7f25d2109786e273b8925e8161bd2d06d10a/SecretStorage-3.1.0-py3-none-any.whl
sha256: 20196abd1a9d1310df7573d58ca6e7ed9292218c98ca3638eea07beb16080343
- name: python3-entrypoints
buildsystem: simple
build-commands:
- pip3 install --prefix=/app entrypoints-0.2.3-py2.py3-none-any.whl
sources:
- type: file
url: https://files.pythonhosted.org/packages/cc/8b/4eefa9b47f1910b3d2081da67726b066e379b04ca897acfe9f92bac56147/entrypoints-0.2.3-py2.py3-none-any.whl
sha256: 10ad569bb245e7e2ba425285b9fa3e8178a0dc92fc53b1e1c553805e15a8825b
- name: python3-keyring
buildsystem: simple
build-commands:
- pip3 install --prefix=/app keyring-15.1.0-py2.py3-none-any.whl
cleanup:
- /bin
sources:
- type: file
url: https://files.pythonhosted.org/packages/6c/3f/7a3f780dfa9ee5708507090ce15d6707aded2865f9e6999f48fa88b65bf3/keyring-15.1.0-py2.py3-none-any.whl
sha256: 16dddc3edaeb2703aaf5588a0b488b62f162e26f1877b6faf3a3db4b7712df61
- name: python3-cssutils
buildsystem: simple
build-commands:
- pip3 install --prefix=/app cssutils-1.0.2-py3-none-any.whl
cleanup:
- /bin
sources:
- type: file
url: https://files.pythonhosted.org/packages/6b/15/a9fb9010f58d1c55dd0b7779db2334feb9a572d407024f39a60f44293861/cssutils-1.0.2-py3-none-any.whl
sha256: c74dbe19c92f5052774eadb15136263548dd013250f1ed1027988e7fef125c8d
- name: gspell
cleanup:
- /bin
sources:
- type: archive
url: https://download.gnome.org/sources/gspell/1.8/gspell-1.8.1.tar.xz
sha256: 819a1d23c7603000e73f5e738bdd284342e0cd345fb0c7650999c31ec741bbe5
modules:
- name: enchant2
cleanup:
- /bin
sources:
- type: archive
url: https://github.com/AbiWord/enchant/releases/download/v2.2.3/enchant-2.2.3.tar.gz
sha256: abd8e915675cff54c0d4da5029d95c528362266557c61c7149d53fa069b8076d
- name: python3-nbxmpp
buildsystem: simple
build-commands:
- python3 setup.py install --prefix=/app
sources:
- type: archive
url: https://files.pythonhosted.org/packages/24/54/23a475a0d7d3664ea21b14ce907245dc390496f31d229a9aac2ae20c7c28/nbxmpp-0.6.8.tar.gz
sha256: 8c2b4b8aac1a8c6d07c1e30af542fde20a70a9b8c7c04017e9cea0db654437c6
- name: gajim
buildsystem: simple
build-commands:
- pip3 install --prefix=/app .
- touch /app/share/run-as-flatpak
sources:
- type: git
url: https://dev.gajim.org/gajim/gajim.git
post-install:
- install -d /app/plugins
import os
import subprocess
__version__ = "1.0.99"
__version__ = "1.0.99.1"
IS_FLATPAK = False
if os.path.exists('/app/share/run-as-flatpak'):
......
# -*- coding: utf-8 -*-
## src/adhoc_commands.py
##
## Copyright (C) 2006 Nikos Kouremenos <kourem AT gmail.com>
## Copyright (C) 2006-2007 Tomasz Melcer <liori AT exroot.org>
## Copyright (C) 2006-2014 Yann Leboulanger <asterix AT lagaule.org>
## Copyright (C) 2008 Jonathan Schleifer <js-gajim AT webkeks.org>
## Stephan Erb <steve-e AT h3c.de>
##
## 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/>.
##
# Copyright (C) 2006 Nikos Kouremenos <kourem AT gmail.com>
# Copyright (C) 2006-2007 Tomasz Melcer <liori AT exroot.org>
# Copyright (C) 2006-2014 Yann Leboulanger <asterix AT lagaule.org>
# Copyright (C) 2008 Jonathan Schleifer <js-gajim AT webkeks.org>
# Stephan Erb <steve-e AT h3c.de>
#
# 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/>.
# FIXME: think if we need caching command list. it may be wrong if there will
# be entities that often change the list, it may be slow to fetch it every time
from gi.repository import Gtk
import nbxmpp
from gajim.common import app
from gajim.common.i18n import _
from gajim.common.modules import dataforms
from gajim.common import ged
from gajim import gtkgui_helpers
from gajim.gtk import HigDialog
from gajim import dataforms_widget
from gajim.gtk.dialogs import HigDialog
class CommandWindow:
"""
......@@ -64,6 +62,7 @@ class CommandWindow:
self.stage_back_button_cb = None
self.stage_forward_button_cb = None
self.stage_execute_button_cb = None
self.stage_finish_button_cb = None
self.stage_close_button_cb = None
self.stage_restart_button_cb = None
self.stage_window_delete_cb = None
......@@ -239,7 +238,7 @@ class CommandWindow:
# close old stage
self.stage_finish()
assert len(self.commandlist)>0
assert self.commandlist
self.stages_notebook.set_current_page(
self.stages_notebook.page_num(self.command_list_stage_vbox))
......@@ -408,7 +407,7 @@ class CommandWindow:
self.commandnode = command.getAttr('node')
if command.getTag('x'):
self.dataform = dataforms.ExtendForm(node=command.getTag('x'))
self.dataform = dataforms.extend_form(node=command.getTag('x'))
self.data_form_widget.set_sensitive(True)
try:
......
#
# Copyright (C) 2017 Philipp Hörist <philipp AT hoerist.com>
#
# This file is part of Gajim.
......@@ -15,31 +14,36 @@
# You should have received a copy of the GNU General Public License
# along with Gajim. If not, see <http://www.gnu.org/licenses/>.
from gi.repository import Gtk
from gi.repository import Gdk
from gajim.common import app
from gajim.common import helpers
from gajim.common.app import interface
from gajim.common.exceptions import GajimGeneralException
from gajim import config
from gajim import dialogs
from gajim.gtk import shortcuts_window
from gajim.accounts_window import AccountsWindow
import gajim.plugins.gui
from gajim import disco
import gajim.plugins.gui
from gajim.gtk.dialogs import ShortcutsWindow
from gajim.gtk.history_sync import HistorySyncAssistant
from gajim.gtk.server_info import ServerInfoDialog
from gajim.gtk.mam_preferences import MamPreferences
from gajim.gtk.preferences import Preferences
from gajim.gtk import JoinGroupchatWindow
from gajim.gtk import StartChatDialog
from gajim.gtk import AddNewContactWindow
from gajim.gtk import SingleMessageWindow
from gajim.gtk import XMLConsoleWindow
from gajim.gtk import AboutDialog
from gajim.gtk import PrivacyListsWindow
from gajim.gtk import ManageBookmarksWindow
from gajim.gtk import FeaturesDialog
from gajim.gtk import AccountCreationWizard
from gajim.gtk import HistoryWindow
from gajim.gtk.join_groupchat import JoinGroupchatWindow
from gajim.gtk.start_chat import StartChatDialog
from gajim.gtk.add_contact import AddNewContactWindow
from gajim.gtk.single_message import SingleMessageWindow
from gajim.gtk.xml_console import XMLConsoleWindow
from gajim.gtk.about import AboutDialog
from gajim.gtk.privacy_list import PrivacyListsWindow
from gajim.gtk.bookmarks import ManageBookmarksWindow
from gajim.gtk.features import FeaturesDialog
from gajim.gtk.account_wizard import AccountCreationWizard
from gajim.gtk.history import HistoryWindow
from gajim.gtk.accounts import AccountsWindow
# General Actions
......@@ -131,24 +135,29 @@ def on_service_disco(action, param):
pass
def on_join_gc(action, param):
account = None
def on_join_gc(_action, param):
account, jid = None, None
if param is None:
if not app.get_connected_accounts():
return
else:
account = param.get_string()
account, jid = param.get_strv()
if not jid:
jid = None
window = app.get_app_window(JoinGroupchatWindow)
if window is None:
JoinGroupchatWindow(account, None)
JoinGroupchatWindow(account, jid)
else:
window.present()
def on_add_contact(action, param):
window = app.get_app_window(AddNewContactWindow)
def on_add_contact(_action, param):
account, jid = param.get_strv()
if not jid:
jid = None
window = app.get_app_window(AddNewContactWindow, account)
if window is None:
AddNewContactWindow(param.get_string())
AddNewContactWindow(account, jid)
else:
window.present()
......@@ -282,7 +291,7 @@ def on_faq(action, param):
def on_keyboard_shortcuts(action, param):
shortcuts_window.show(app.app.get_active_window())
ShortcutsWindow()
def on_features(action, param):
......@@ -338,3 +347,25 @@ def show_next_pending_event(action, param):
if not event:
return
app.interface.handle_event(account, jid, event.type_)
def open_link(_action, param):
kind, link = param.get_strv()
helpers.launch_browser_mailer(kind, link)
def copy_link(_action, param):
text = param.get_string()
clip = Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD)
clip.set_text(text, -1)
def start_chat(_action, param):
account, jid = param.get_strv()
app.interface.new_chat_from_jid(account, jid)
def join_groupchat(_action, param):
account, jid = param.get_strv()
room_jid = jid.split('?')[0]
app.interface.join_gc_minimal(account, room_jid)
This diff is collapsed.
# -*- coding:utf-8 -*-
## src/atom_window.py
##
## Copyright (C) 2006 Tomasz Melcer <liori AT exroot.org>
## Copyright (C) 2006-2014 Yann Leboulanger <asterix AT lagaule.org>
## Copyright (C) 2007 Nikos Kouremenos <kourem AT gmail.com>
## Copyright (C) 2008 Jonathan Schleifer <js-gajim AT webkeks.org>
##
## 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/>.
##
# Copyright (C) 2006 Tomasz Melcer <liori AT exroot.org>
# Copyright (C) 2006-2014 Yann Leboulanger <asterix AT lagaule.org>
# Copyright (C) 2007 Nikos Kouremenos <kourem AT gmail.com>
# Copyright (C) 2008 Jonathan Schleifer <js-gajim AT webkeks.org>