Commit Graph

660 Commits

Author SHA1 Message Date
Philipp Hörist cb90d46996 Use icons from IconTheme for StatusIcon 2018-01-29 00:06:40 +01:00
Philipp Hörist dd12584fe6 Use icons from IconTheme for ChatControl Banner
It will correctly scale on HiDPI Displays if we set it like that
2018-01-29 00:06:32 +01:00
Philipp Hörist adb326a5f2 Refactor StatusComboBox
- Move as much code as possible into Glade file
- Pull icons from the IconsTheme (because of HiDPI scaling)
2018-01-29 00:06:31 +01:00
Philipp Hörist 749fcc1b48 Set enryption icon correctly 2018-01-29 00:06:31 +01:00
Philipp Hörist c983b1f50d Set padlock icon correctly 2018-01-29 00:06:31 +01:00
Philipp Hörist 232dc1dda0 Scale Avatars for HiDPI Screens 2018-01-29 00:06:31 +01:00
Philipp Hörist 440b6e4829 Move icons to hicolor folder
also add svg images for scaling
2018-01-29 00:06:21 +01:00
Philipp Hörist 5ce0c65ce4 Move chat options menu
Putting it into the header forced GTK Window Decorations, that makes
the application look alien on all systems except Gnome.
2018-01-28 20:39:02 +01:00
Philipp Hörist c609d3c5ae Merge branch 'removeCmp' into 'master'
Remove cmp_to_key functions

See merge request gajim/gajim!197
2018-01-27 17:27:53 +01:00
Philipp Hörist 8bf3a179df Merge branch 'logind' into 'master'
Logind listener: make string translatable

See merge request gajim/gajim!200
2018-01-27 17:26:42 +01:00
Philipp Hörist 36f23c9cf2 Update httpupload action on discovery 2018-01-27 10:55:25 +01:00
Philipp Hörist afc3075415 Refactor adding actions to chat windows 2018-01-27 10:29:52 +01:00
Philipp Hörist b8a62a8bb2 Fix shortcuts in chat window
Fixes #8873
2018-01-27 08:44:11 +01:00
André Apitzsch 28749a7989 Remove cmp_to_key functions 2018-01-27 00:21:53 +01:00
André Apitzsch 6f20e5e6e3 Logind listener: make string translatable 2018-01-27 00:20:53 +01:00
Philipp Hörist 7dacd51c1d Add complex caps test 2018-01-26 23:57:32 +01:00
Philipp Hörist 4c545be737 Inlcude account for message deduplication
It was not possible to write with 2 different accounts into the
same MUC
2018-01-25 00:47:00 +01:00
André Apitzsch 137b69c045 MusicTrackListener: remove unused code 2018-01-24 23:28:56 +01:00
André Apitzsch 7d2bbf92c5 MusicTrackListener: add support for clementine 2018-01-24 23:28:24 +01:00
Philipp Hörist 8cdad276bf Fix httpupload when using multiple accounts
Fixes #8865
2018-01-24 17:05:41 +01:00
Bronko 3a3be94aa8 integrate httpupload plugin into gajim core
add new config option 'filetransfer_preference'
add drag and drop support for file upload
2018-01-22 17:29:27 +01:00
Philipp Hörist c23af9c9e7 Merge branch 'translation' into 'master'
Add translation for corrected messages

See merge request gajim/gajim!198
2018-01-22 17:16:13 +01:00
Daniel 3ee3ce67ca Add translation for corrected messages 2018-01-22 11:55:32 +01:00
André Apitzsch e78b676784 Update copyright 2018-01-21 23:34:19 +01:00
Philipp Hörist 71fb3d0b4f Improve network speed on Windows
Call select.select() with the smallest timeout possible
2018-01-21 21:52:32 +01:00
Philipp Hörist 4aadc00bd6 Revert "Improve speed of Windows client"
This reverts commit 45e3139bd0
2018-01-21 20:45:32 +01:00
Philipp Hörist 45e3139bd0 Improve speed of Windows client
This calls on each mainloop cylce select.select() instead of every
20 ms.
2018-01-20 23:21:39 +01:00
André Apitzsch c473fa6110 location_listener: location update notifier requires three parameters
the third parameter contains the location parameter specification
2018-01-19 01:52:58 +01:00
Philipp Hörist 1605b722b7 Merge branch 'fixTest' into 'master'
Fix tests

See merge request gajim/gajim!192
2018-01-19 00:33:43 +01:00
André Apitzsch 5395bb1c79 logind_listener: fix TypeError 2018-01-19 00:20:47 +01:00
Matthew W. S. Bell 52482ec70d Use with_unix_fd_list variant of DBus method call.
Any returned 'h' type argument is intended to be an index into a
unix fd list structure obtained separately. Such a unix fd list, in
python, will manage and close any contained fds as a whole, or fds may
be retrieved, managed, and closed individually, as is done in this
patch.

Also, use None instead of -1 because python.

This patch means gajim keeps its supsend inhibitor open and stops it
closing stdin on suspend.

Fixes #8852
2018-01-18 18:23:00 +01:00
Philipp Hörist 5ef1813405 Fix parsing MAM IQs
prosody includes the supplied queryid in the `<fin>` tag, but this is not XEP compliant.

We set the queryid attr so we can match the MAM Messages to our query.
Thats the only purpose, it is not used to identify the iq result at the end of the query.
For that purpose is the `id` attr on the `<iq>` node.

So dont try to parse `queryid` from the `<fin>` tag.
2018-01-17 23:57:49 +01:00
Philipp Hörist 67a008ea80 Improve ExceptionDialog
- Add OS/System info to report text
- Use ApplicationWindow
- Supply all the infos directly to gitlab via url params
2018-01-17 23:57:49 +01:00
André Apitzsch 06b8eb58e5 Fix tests 2018-01-17 22:36:14 +01:00
Daniel dcfa252602 Fix accidently translated strings 2018-01-17 21:15:14 +01:00
Yann Leboulanger b3a805c58a Merge branch 'more-translations' into 'master'
Make more strings translatable

See merge request gajim/gajim!186
2018-01-15 11:16:26 +01:00
Daniel 792be24540 Make more strings translatable 2018-01-15 10:51:04 +01:00
Yann Leboulanger a01bbb5111 Merge branch 'script' into 'master'
Use setuptools' automatic script creation

See merge request gajim/gajim!188
2018-01-15 10:02:52 +01:00
André Apitzsch 7943120b25 Use setuptools' automatic script creation 2018-01-13 22:50:38 +01:00
André Apitzsch 6f025a1d4a Remove some unused imports 2018-01-12 00:21:11 +01:00
Yann Leboulanger aa6e9e7084 improve string and add comment for translators 2018-01-09 10:31:50 +01:00
Yann Leboulanger 54146ba63d Merge branch 'screensaver' into 'master'
Port screensaver listening to GTK dbus

Closes #8836

See merge request gajim/gajim!183
2018-01-08 15:27:34 +01:00
André Apitzsch 0ddff9c2a9 Fix string for a better translation 2018-01-08 00:24:17 +01:00
André Apitzsch e89e7c3123 Port screensaver listening to GTK dbus 2018-01-05 23:33:37 +01:00
André Apitzsch 5f0dc56faa Remove obsolete file 2018-01-05 00:24:20 +01:00
André Apitzsch 81a039854f Port music_track_listener to GTK dbus 2018-01-04 21:49:16 +01:00
Philipp Hörist 84aa61335f HtmlTextView: Fix some things
- Only pass args to logging function
- Dont use 'size' as global var, its again used later in methods
- Fix a missing arg in __parse_font_size_cb()
2018-01-04 18:04:56 +01:00
Philipp Hörist d3890585f6 Refactor css font size parsing
- Get rid of deprecated Gdk.Screen methods
- remove support for 'ex' unit - not easily correct implemented and not commonly used

Fixes #8491
2018-01-04 00:08:12 +01:00
Philipp Hörist 32e873e6eb Add ALPN Support 2018-01-03 22:11:42 +01:00
Philipp Hörist b1d45ec008 Fix config encoding
Fixes #8834
2018-01-02 23:55:26 +01:00
Philipp Hörist b8fd8c8a3f Catch exception when parsing avatars
If the VCard contains a <PHOTO/> tag this is parsed as {'PHOTO': ''}

this throws: TypeError: string indices must be integers
2017-12-29 20:14:59 +01:00
Philipp Hörist 361ad92b26 Remove unused code 2017-12-29 19:08:05 +01:00
Philipp Hörist 1d835fbfd7 Raise nbxmpp version 2017-12-28 18:10:26 +01:00
Philipp Hörist ccc69bc7ee Fix LMC in Groupchats 2017-12-28 17:37:37 +01:00
Philipp Hörist d3333ba9d9 Merge branch 'xep_0368' into 'master'
Add support for XEP-0368

See merge request gajim/gajim!177
2017-12-27 22:10:26 +01:00
Philipp Hörist 8ea39cff75 Add 'active' chatstate to groupchat messages
Fixes #8801
2017-12-27 19:09:12 +01:00
Philipp Hörist 1b2ab928f0 Fix focus after destruction of StartChatDialog
On destroy() the window that was last focused gets the focus
again. if destroy() is called from the StartChat Dialog, the new
ChatControl is not yet focused, because present() seems to be asynchron,
at least on KDE, and takes time.
2017-12-26 21:55:19 +01:00
Philipp Hörist 23de7d5331 Use higher level API to focus windows
set_active_tab() already calls present(), no need to call it afterwards
again
2017-12-26 21:55:19 +01:00
Philipp Hörist fd7f302044 Merge branch 'master' into 'master'
Refactor some Tooltips

See merge request gajim/gajim!180
2017-12-24 08:40:04 +01:00
Philipp Hörist 8116ef1316 Refactor GCTooltip
- Dont create a Tooltip window
- Just return the tooltip grid, so we can use it with set_custom()
2017-12-23 22:04:54 +01:00
Philipp Hörist bc5d9c76b1 pep8/pylint: Fix imports 2017-12-23 22:04:54 +01:00
Philipp Hörist 2a41c7198f Remove BaseTooltip
We dont needed anymore
2017-12-23 22:04:54 +01:00
Philipp Hörist 912192ed41 NotificationAreaTooltip: Dont inherit from BaseTooltip 2017-12-23 22:04:54 +01:00
Philipp Hörist 9db9e69c35 Refactor FileTransferWindow tooltip 2017-12-23 22:04:49 +01:00
Yann Leboulanger c3369f0304 ability to call ad hoc commands on groupchats and groupchats occupants.
Fixes #8819
2017-12-22 12:21:57 +01:00
Philipp Hörist ed0e2dd82b Merge branch 'plain_connection_dialog_fix' into 'master'
Dialogs: Use get_widget_for_response() to access buttons

See merge request gajim/gajim!178
2017-12-20 20:45:48 +01:00
Marc Schink 8e09fd9272 Add support for XEP-0368
- Use xmpps-client SRV records
 - Use separate host entry per connection type
 - Replace 'connection_types' with 'allow_plaintext_connection' option
2017-12-20 18:38:01 +01:00
Marc Schink 65bc965918 dialogs: Use get_widget_for_response() to access buttons
The get_action_area() API is deprecated and under some circumstances
the wrong button gets accessed.
2017-12-19 22:23:27 +01:00
Philipp Hörist e7df2d93b6 HistorySync: Fix first time sync
Fixes #8810

Also remove mam_start_date migration.
mam_start_date didnt exist in Gajim 0.16.x and it doesnt hurt
if people who used the dev version download some extra messages.
Our deduplication algorithm should take care of it.
2017-12-19 21:12:07 +01:00
André Apitzsch f3bde561a3 GUI interface: fix resource warning 2017-12-18 23:14:22 +01:00
André Apitzsch 8b960238a6 Zeroconf: fix unexpected keyword argument
_update_status() got an unexpected keyword argument 'idle_time'

introduced by 28917aaf56
2017-12-18 22:52:06 +01:00
André Apitzsch 0ffd7b6907 Zeroconf: Fix get_own_jid() 2017-12-18 22:16:22 +01:00
Yann Leboulanger 53a92bdee8 add get_own_jid method to ConnectionZeroconf. Fixes #8809 2017-12-18 14:44:38 +01:00
Philipp Hörist c18ef648e6 Replace deprecated get_background_color() 2017-12-18 00:25:19 +01:00
Philipp Hörist bdf16c5182 Replace deprecated override_background_color() 2017-12-18 00:11:39 +01:00
Philipp Hörist f4a6b0299a Remove deprecated Gdk.Screen methods
height() and weidth() is not supported any more
2017-12-17 22:30:16 +01:00
Philipp Hörist e3effdcb6c Refactor SubscriptionWindow 2017-12-17 22:30:16 +01:00
Philipp Hörist 80ceee57af Remove unused methods
Action Button was removed in the last ChatControl redesign
2017-12-17 22:30:16 +01:00
Yann Leboulanger ec2da20f58 add transient_for parameter 2017-12-17 18:41:49 +01:00
Philipp Hörist 0959bd44c8 Merge branch 'master' into 'master'
Remove incorrect assert

See merge request gajim/gajim!171
2017-12-17 18:01:44 +01:00
Philipp Hörist 1b11d77034 MAM: Dont convert own_jid to string
We need it later as JID object
2017-12-17 17:56:11 +01:00
Philipp Hörist 65593c613c Fix undefined var 2017-12-17 17:34:22 +01:00
Philipp Hörist 9411ccd827 Fix DB migration for additional_data 2017-12-17 17:10:00 +01:00
Philipp Hörist 2c4c610632 Make sure our own JID is in the DB 2017-12-17 13:48:32 +01:00
Philipp Hörist dfafedc21f Remove unused DB fields
This field was added but never used

This does not remove the columns from the DB, but doesnt add them
in new migrations.
2017-12-17 12:00:15 +01:00
Philipp Hörist 2001cf4a17 Update version to 0.98.2 2017-12-17 11:56:04 +01:00
Philipp Hörist 020d4754df Add correct DB migration
Fixes #8806
2017-12-17 11:55:38 +01:00
Philipp Hörist 410aee7ba0 Fix typo in DB migration 2017-12-17 11:34:54 +01:00
Philipp Hörist ba54c304e8 Add GTK+ version check on start 2017-12-16 23:20:37 +01:00
Apromixately b8fe0e20c3 Remove incorrect assert
When a ping reply is received there is probably a connection. Anyway, the
last ping might have been lost and the ids might not match up.
2017-12-16 16:23:44 +01:00
Philipp Hörist a344a94102 Fix chatstate flood
The new Placeholder text inside MessageTextView was causing many
buffer changed events.

- Add a method that lets us know if there is user input
- Add logging
2017-12-15 23:00:15 +01:00
Yann Leboulanger 3764567c10 update version number for 1.0.0-alpha1 release 2017-12-15 22:29:31 +01:00
Emmanuel Gil Peyrot 0707f1a27c Fix xmpp: URI handling.
It was previously removing the first three characters of the JID, and
ignored any URI without an action.
2017-12-15 02:40:53 +01:00
Philipp Hörist 4009625e02 Catch invalid URIs 2017-12-14 20:19:12 +01:00
Emmanuel Gil Peyrot f4cae17d9f Remove support for AWN, which isn’t maintained anymore 2017-12-13 23:19:16 +01:00
Yann Leboulanger 4e7fcea288 Merge branch 'logind' into 'master'
Port logind_listener to GTK dbus

See merge request gajim/gajim!167
2017-12-13 21:57:57 +01:00
Yann Leboulanger a39d68d4ae when internet connection is back, only connect accounts that were
connected before connection broke
2017-12-11 21:13:53 +01:00
Philipp Hörist f8ddefb6da Fix var reference 2017-12-10 22:56:20 +01:00
Philipp Hörist 7815ce19a5 Dont use callbacks when sending messages
Using a callback to display a sent message inside the ChatControl means
that all messages we send have to be issued from the GUI layer
(send_message()) if we want them to display in the ChatControl.

This replaces the callback and catches the stanza-message-outgoing event
after it was processed by the core.

This is easier to read/understand than dealing with callbacks and lets
the core issue messages without having to care if a ChatControl is open or not
2017-12-10 18:56:29 +01:00
André Apitzsch 5364c1980c Port logind_listener to GTK dbus 2017-12-09 15:04:15 +01:00
André Apitzsch be32d9afe6 Remove upower_listener
the 'Sleeping' signal has been removed from UPower about four years ago
https://cgit.freedesktop.org/upower/commit/src/org.freedesktop.UPower.xml?id=1ee642e705a63f5ad56a6b55e4bf5c4a64c959b8
2017-12-09 00:34:47 +01:00
Philipp Hörist 786ef96400 Port InformationEvent handling to new interface 2017-12-09 00:15:26 +01:00
Philipp Hörist 6926bdaee0 Port some error messages to new interface 2017-12-08 20:20:07 +01:00
Philipp Hörist 61ad783658 Add new interface to raise dialogs 2017-12-08 19:50:48 +01:00
pitchum cb7eba562d Bugfix in printing fuzzy time. 2017-12-06 21:44:13 +01:00
Philipp Hörist f724359c2b Raise required nbxmpp version 2017-12-05 17:25:17 +01:00
Philipp Hörist beb9fa2f17 Merge branch 'location' into 'master'
Get location with GeoClue2

Closes #8772

See merge request gajim/gajim!164
2017-12-05 17:10:51 +01:00
André Apitzsch 2aab433932 Get location with GeoClue2 2017-12-04 21:00:20 +01:00
Philipp Hörist feaf9df0cf Remove xmpp uri handling from gajim-remote 2017-12-04 17:06:24 +01:00
Philipp Hörist 38944331b3 Handle ?message uris 2017-12-04 00:20:18 +01:00
Philipp Hörist 1afd4f0e72 New StartChat Dialog 2017-12-03 23:58:02 +01:00
Philipp Hörist 010b166fd2 Handle ?roster uris 2017-12-03 23:58:02 +01:00
Philipp Hörist ace904573a Add new Join Groupchat dialog
- Complete rewrite of the old Groupchat dialog
- Has now a "minimal" mode, which is used if we have all infos for joining except the nickname and if we want to bookmark
- Handle xmpp uris received via command line
2017-12-03 23:58:02 +01:00
Philipp Hörist d814a42345 Remove old JoinGroupchat dialog 2017-12-03 23:58:02 +01:00
Philipp Hörist 553ba9e59f Dont preserve aspect ratio when loading an avatar
Clients should only upload square sized avatars
2017-12-03 23:58:02 +01:00
Philipp Hörist 47f1f41977 Dont use mutable objects as default arguments 2017-12-03 15:34:33 +01:00
Yann Leboulanger 086eeb3dc8 resolve TXT record only for non-zeroconf accounts. Fixes #8792 2017-12-03 14:55:41 +01:00
Andrey Gursky 5a28322e6a Fix appearance of status icon in MATE
Tested in Debian testing (Buster) with gtk2 based MATE 1.12,
gtk3 based 1.16 and 1.18.

Moreover the used environment variable is depreacated already in 1.12:
$ echo $MATE_DESKTOP_SESSION_ID
this-is-deprecated

Fixes #8757
2017-11-30 23:30:48 +01:00
Yann Leboulanger eb764fa1af refactor the way we call SQL 2017-11-30 22:45:21 +01:00
Yann Leboulanger 79ba81825d better parse of version in config file in case old sha version of git is
used (-xyz instead of +xyz)
2017-11-30 17:19:17 +01:00
Yann Leboulanger 46711e1107 Merge branch 'XEP-156' into 'master'
implement XEP-0156

Closes #5795

See merge request gajim/gajim!154
2017-11-29 14:25:49 +01:00
Philipp Hörist b3ef0d6196 Catch ValueError on Gspell import 2017-11-26 01:11:19 +01:00
Philipp Hörist 7692b376ee Refactor SpellChecker
- use Gspell instead of GtkSpell, it seems to have alot less problems
and needs less code
2017-11-26 00:44:50 +01:00
Emmanuel Gil Peyrot cdf4d0ee69 Also log the offending JID on avatar decoding issue 2017-11-25 17:37:48 +00:00
Philipp Hörist fc627fc19c Use appmenu only if system supports it 2017-11-24 18:54:30 +01:00
Philipp Hörist 276daa991c Correctly split version string
We changed the version format
2017-11-24 16:49:30 +01:00
Philipp Hörist 9322ed4405 Show missing dbus message only on Linux
Mac and Windows dont have dbus available
2017-11-24 16:28:22 +01:00
André Apitzsch f97b799f9a Fix invalid dev version string 2017-11-23 00:22:40 +01:00
Yann Leboulanger d86c7f47f5 lower debug level for unresolved host. 2017-11-22 14:57:08 +01:00
Philipp Hörist 7ec57e4dab Lower debug level for malformed avatar stanzas 2017-11-22 14:53:32 +01:00
Yann Leboulanger 149edfe3ef implement XEP-0156. Fixes #5795 2017-11-20 21:31:29 +01:00
Yann Leboulanger 84af966a87 prevent traceback 2017-11-20 21:18:32 +01:00
Philipp Hörist 1c895e8983 Persist resource across sessions
This was somehow lost once we implemented random resource strings
Although its good that initally a random resource is chosen, it
still should persist across sessions.

This helps to kill zombie client connections on the server because
most servers kill the old session once a new with the same resource
connects

Also dont notify the user about resource conflicts if no custom
resource is set. We should not expect users to know about resources
and what they are used for as long as possible.
2017-11-20 18:10:51 +01:00
Philipp Hörist c45d0f5b27 Query MUC archives with the correct namespace 2017-11-19 23:45:03 +01:00
Philipp Hörist 3683f23877 Merge branch 'master' into 'master'
Add MAM for MUCs

See merge request gajim/gajim!152
2017-11-19 23:14:10 +01:00
Philipp Hörist 7f1776ede9 Improve deduplication
A stanza-id is only unique within a specific archive
This adds the archive jid to the query
2017-11-19 19:36:26 +01:00
Philipp Hörist cac1185a23 Remove log message 2017-11-19 19:36:26 +01:00
Philipp Hörist 44bb8e374d Request one day history when first joining MUCs 2017-11-19 19:36:26 +01:00
Philipp Hörist 51c0a05ac9 Parse from jid correctly 2017-11-19 19:36:26 +01:00
Philipp Hörist f57ec2fa34 Move common code out of HistoryWindow
- move it into message_archiving.py
2017-11-19 19:36:26 +01:00
Philipp Hörist 40f537cda9 Save last archive timestamps in DB
- A Migration from last_mam_id config value is included
2017-11-19 19:36:26 +01:00
Philipp Hörist 95357361bf Save account_id in logs table 2017-11-19 19:36:25 +01:00
Philipp Hörist a07470a7d2 Add new DB methods 2017-11-19 19:36:25 +01:00
Philipp Hörist 9759dcf152 Add account_id column to logs table
When we search for duplicated stanza-ids we have to do it
in the context of an account
2017-11-19 19:36:25 +01:00
Philipp Hörist 52827c6add Add new DB table last_archive_message 2017-11-19 19:36:25 +01:00
Philipp Hörist 536a504f69 Remove Support for mam:0 2017-11-19 19:36:25 +01:00
Philipp Hörist 75b1d54b4c Add MAM for MUCs 2017-11-19 19:36:20 +01:00
Yann Leboulanger b66311532f Merge branch 'new_visible_func' into 'master'
New visible func

Closes #8670

See merge request gajim/gajim!153
2017-11-19 18:00:26 +01:00
Yann Leboulanger 0b2e558834 Take into account show_transports_group option to show transports 2017-11-19 17:56:13 +01:00
Yann Leboulanger 7724dd181b New visible func faster and cleaner. Fixes #8670 2017-11-19 17:54:33 +01:00
Philipp Hörist 24320c894c Remove unused code 2017-11-19 14:34:04 +01:00
Philipp Hörist f7bb9c8a33 Merge branch 'networkmonitor' into 'master'
Use Gio.NetworkMonitor for reconnecting

See merge request gajim/gajim!149
2017-11-18 22:09:35 +01:00
Yann Leboulanger 639f0db164 Merge branch 'symbolic' into 'master'
Add symbolic icon

See merge request gajim/gajim!151
2017-11-18 21:11:19 +01:00
Annika Sommer 86f5953e2b MUC: Improve error messages
Distinguish between 'item-not-found' and 'remote-server-not-found'

Fixes #8749
2017-11-18 18:10:10 +01:00
Philipp Hörist c1c2a92efc Init Plugins and Caps after Roster
- Some plugins do not depend on gui extension points and need the
roster to be initialized
2017-11-18 11:11:47 +01:00
André Apitzsch 566b5370e6 Add symbolic icon 2017-11-17 23:04:05 +01:00
Philipp Hörist a80f41e2bf Support unpublishing avatars (with XEP-0084)
- Add more logging
2017-11-17 19:19:59 +01:00
Philipp Hörist 9f0154ef84 Add caps to first presence
According to the XEP, caps hash has to be added to all presences
2017-11-15 22:28:57 +01:00
Philipp Hörist d5ddbe3766 Add extension point for plugins to add their caps 2017-11-15 22:28:11 +01:00
Philipp Hörist 775fec2fea Dont activate plugins in PluginManager init
Plugins maybe want to use in their activation Gajim methods that
use an extension point. But because the PluginManager Object is not fully
initialized, the extension point method is not available yet

First create the PluginManager Object, then load Plugins.
2017-11-15 22:26:55 +01:00
Philipp Hörist 0fe78daae8 Init PluginManger earlier
- Plugins need the possibility to add caps before Gajim updates them
2017-11-15 21:57:15 +01:00
Philipp Hörist e8004084fb Use Gio.NetworkMonitor for reconnecting
- This uses also NetworkManager, but also other more low level interfaces
on linux
- This should work cross-platform
- Leave network_watcher.py for now, because it shows how
to use the Gtk dbus interface
2017-11-12 23:53:03 +01:00
Philipp Hörist 5236693df9 Parse stanza-id in groupchat correctly 2017-11-11 21:46:00 +01:00
Philipp Hörist 309e844b4e Escape account label in roster and menus 2017-11-11 17:10:31 +01:00
Philipp Hörist d19e87eb7b Fix showing normal message event
Regression introduced in 9b866fd1a0
2017-11-10 18:09:36 +01:00
Philipp Hörist 947106bb66 Catch more errors on vCard request 2017-11-09 20:57:03 +01:00
Philipp Hörist 6e91a05590 vCard: Handle IQ error and change logging level 2017-11-08 23:58:25 +01:00
Philipp Hörist 35d2beae74 Logger: only search if ids are available 2017-11-08 22:27:37 +01:00
Philipp Hörist 47f4838c7c Fix typo and logging arg 2017-11-07 22:56:15 +01:00
Philipp Hörist d4fdf0d7c1 Shorten search intervall for MAM messages 2017-11-07 20:39:45 +01:00
Philipp Hörist 7f1a839e77 Deduplicate GC and MAM Messages based on stanza-id
- Add methods to determine the unique/stable id
- Write the id to the stanza_id DB field
- Add method to deduplicate based on the unique/stable id
2017-11-07 20:39:36 +01:00
Philipp Hörist 46926e71d1 Remove old message duplicate code
- Calculating so many hashes for each Message is quite expensive
- It hides our own implementation bugs, like when we retrieve history
from a MUC with wrong timestamps, or on rejoin. We never know about it
because the Messages are dropped.
- It should not be necessary anymore. The original problem was a bug
in nbxmpp which triggered mass resending of old messages.
2017-11-07 20:39:36 +01:00
Philipp Hörist 07055ccaad Update menus on account label change 2017-11-06 23:29:07 +01:00
Philipp Hörist e4ad111c02 ServerInfo: Make InfoItems selectable 2017-11-06 23:05:32 +01:00
Philipp Hörist 8c8b491846 ServerInfo: Show if features are disabled by user
- Show new Symbol if a feature is available but not enabled
- Add this info to the tooltip
2017-11-06 23:04:49 +01:00
Philipp Hörist 6fc2cd30e8 ServerInfo: fix pylint/pep8 2017-11-06 23:04:33 +01:00
Philipp Hörist 80f658e81f ServerInfo: Add server uptime info 2017-11-06 23:03:16 +01:00
Philipp Hörist 3c823d307d Save oob data also on MAM Messages
- add get_oob_data() so we can use it on more than one event
- also remove a forgotten print call
2017-11-04 13:51:12 +01:00
Philipp Hörist cb1d8cc78c Merge branch 'master' into 'master'
Add extension points to history window

See merge request gajim/gajim!147
2017-11-03 23:24:28 +01:00
Philipp Hörist 20d5ea90e7 Store oob data into DB
Right now oob data is merged into the message text and stored into the DB.
If we load this message from the DB we cannot know anymore if and which
parts of the text was oob data.

Use the additional_data api to store oob data into the DB instead of
altering the original message text.

This lets us decide later on if and which data we want to display, even
on history replays. Also plugins can use the data.
2017-11-03 20:36:53 +01:00
Thilo Molitor e97e7b13cd Add gui extension point to history window 2017-11-03 17:45:03 +01:00
Philipp Hörist 4c45c186c4 Pass additional_data to groupchats 2017-11-03 16:33:34 +01:00
Philipp Hörist 0c8d88d372 Ensure that jid_id is created on new accounts 2017-11-02 16:00:18 +01:00
Philipp Hörist 3bf3ddebfe Merge branch 'master' into 'master'
Fix additional_data in events

See merge request gajim/gajim!146
2017-11-01 23:44:43 +01:00
Thilo Molitor 0638cdc690 Fix additional_data in events 2017-11-01 23:14:47 +01:00
Philipp Hörist f397e1b7cb Rename OptionType.BOOL to VALUE 2017-11-01 12:25:19 +01:00
Philipp Hörist 5510e042d4 Make OptionsDialog extendable
Plugins or other code can pass custom Options
2017-11-01 11:42:44 +01:00
Philipp Hörist ecd5c652a2 Get drag and drop data correctly
Fixes #8773
2017-10-31 18:13:31 +01:00
Philipp Hörist 1b9c5066f5 Add Option to hide Gajim on pressing close
This also adds that Gajim gets present if Gajim is launched a second time
2017-10-31 17:33:32 +01:00
Philipp Hörist a7e53eb04b Catch Application signals instead of overwriting 2017-10-31 17:33:32 +01:00
Philipp Hörist cb3d4f4687 Update nbxmpp dependency to 0.6.0 2017-10-31 17:33:02 +01:00
Philipp Hörist 417464d9c5 Remove advanced commandline handling
Its enough to connect to the handle-local-options signal for what we
currently want to do.
2017-10-31 17:29:54 +01:00
Philipp Hörist 0b21c12c41 Make Scrollbar look more unobtrusive 2017-10-31 00:05:03 +01:00
Philipp Hörist 7ab6ed7e16 Disable overlay scrolling 2017-10-30 23:01:46 +01:00
Philipp Hörist 174a429d20 Add Separator in ChatControl 2017-10-30 23:01:34 +01:00
Philipp Hörist 7ee0636574 Pass iter to print_special_text extension point 2017-10-30 21:11:27 +01:00
Philipp Hörist 06e4c2c4f1 Display carbons in MUC-PMs correctly 2017-10-29 09:50:16 +01:00
Philipp Hörist 0490414079 Fix saving MUC-PMs
If the JID is not in the DB we need a type to insert
2017-10-29 00:37:05 +02:00
Philipp Hörist 87b6540104 Fix height of MessageTextView in some cases 2017-10-27 10:46:59 +02:00
Philipp Hörist 12783e039b Catch require_version ValueError 2017-10-27 10:42:43 +02:00
Philipp Hörist 40547c4d4b Fix import error 2017-10-27 10:36:00 +02:00
Philipp Hörist 3c103315ec Refactor Speller 2017-10-26 22:52:27 +02:00
Philipp Hörist 970d6f8c3f New style for ChatControl
- Move ActionBar into HeaderMenu
- Make Design of ChatControl look cleaner
- Hide the Roster in Groupchats per default
- Add Button to hide/show Roster in Groupchats
- Move Groupchat topic into popover
- Display Avatars on the right side of the ChatControl and status on the
left
- Add a default Avatar for contacts that have none
2017-10-26 22:52:20 +02:00
Philipp Hörist 398ad0eed8 Fix removing avatar sha from DB
the account name was passed instead of the account jid
2017-10-22 20:12:26 +02:00
Philipp Hörist b95759dfb8 Logger: Refactor insert_jid()
- make it use get_jid_id() and return the jid_id
2017-10-22 20:12:26 +02:00
Philipp Hörist accef11c93 Logger: Get rid of old jids list
Use _jid_ids dict instead
2017-10-22 20:12:26 +02:00
Philipp Hörist 1c7369229e MUC: Save last message time after each message 2017-10-22 20:12:25 +02:00
Philipp Hörist 0aa07522fb Logger: Refactor get_jid_id()
- Cache jid_id so we save on DB querys
2017-10-22 20:12:21 +02:00
Philipp Hörist 9e39287d8e ProfileWindow: Fix typo 2017-10-20 20:51:40 +02:00
Philipp Hörist 456d7f87ff Catch OSError when converting with Pillow 2017-10-20 19:09:41 +02:00
Philipp Hörist 2c7861bc1d Groupchat: Dont update avatar on offline presence 2017-10-19 15:54:49 +02:00
Philipp Hörist 3a6e1ac9fc Catch exception for invalid avatars 2017-10-17 20:36:27 +02:00
Philipp Hörist 0d16ef32e6 Fix StatusIcon on MacOS 2017-10-17 18:36:02 +02:00
Philipp Hörist 1f0cc2b665 Fix bindtextdomain not available on MacOS 2017-10-17 16:28:56 +02:00
Philipp Hörist f234722456 Correctly pass authentication mechs to nbxmpp 2017-10-16 17:04:35 +02:00
Philipp Hörist ed764789f1 Show blocked contacts as offline 2017-10-15 21:34:42 +02:00
Philipp Hörist 03e326688d MUC: Hide block menu if privacy list is absent 2017-10-15 21:34:42 +02:00
Philipp Hörist 29cf416da4 Send Presence probe on unblock 2017-10-15 21:34:32 +02:00
Philipp Hörist 2446c7e3ed Refactor Blocking List
Fixes #8762
2017-10-15 18:03:41 +02:00
Philipp Hörist f22fa200ea Return IQ result on blocking push 2017-10-15 15:53:28 +02:00
Philipp Hörist 2e9de7702f Remove discovery of generic pubsub support
We use PubSub only on our account jid, this use case is what PEP
was made for. If PEP is discovered we know that certain PubSub
features are supported, see: https://xmpp.org/extensions/xep-0163.html#defaults

The current check for <feature var='http://jabber.org/protocol/pubsub'/>
is pretty useless, as it just tells us that there is a PubSub implementation
but not much about the features. Only `publish` and `subscribe` are MUST
in XEP-0060 which is not enough for our needs.

If there is ever need to discover a generic PubSub implementation
that is not PEP we should check for all the PubSub features we need
instead of only for <feature var='http://jabber.org/protocol/pubsub'/>
2017-10-15 01:56:52 +02:00
Philipp Hörist 64d3bf63cf Discover PEP on the account jid
see: https://xmpp.org/extensions/xep-0163.html#support
2017-10-15 00:52:34 +02:00
Philipp Hörist 16ad608066 Minimize Roster correctly on ESC
Fixes #8765
2017-10-14 21:08:58 +02:00
Philipp Hörist 2b0ab5e9aa Fix syntax error 2017-10-14 09:48:57 +02:00
Philipp Hörist c6fc9081c5 Catch exception when closing window
Fixes #8761
2017-10-14 09:43:44 +02:00
Philipp Hörist fcf15fcaf2 Bookmarks: Remove invalid publish option 2017-10-14 00:13:19 +02:00
Philipp Hörist dd4a80054d Discover PublishOptions also if PubSub is not discovered
PEP supports a subset of PubSub and can also support publish options
2017-10-14 00:13:19 +02:00
Philipp Hörist ac281533f5 Get Pubsub bookmarks also if PEP is supported 2017-10-14 00:13:19 +02:00
Philipp Hörist 149522dcee ServerInfo: Add PubSub discovery 2017-10-14 00:13:18 +02:00
Philipp Hörist e79af35e9c Refactor store_bookmarks()
- Add logging
- Move Node building code into own methods
2017-10-14 00:13:13 +02:00
Philipp Hörist 4379c2d014 Execute handler only for the correct account 2017-10-08 22:29:15 +02:00
Philipp Hörist 95a984f645 HistoryWindow: Fix some UI issues
- Set application and menubar
- Remove deprecated settings

Fixes #8756
2017-10-08 19:02:55 +02:00
Philipp Hörist 0b1d5a3174 Remove unused import
- Sort imports correctly (PEP8)
2017-10-08 18:09:15 +02:00
Philipp Hörist 57efe7c457 Set application and menubar on MessageWindow 2017-10-08 18:08:13 +02:00
Philipp Hörist 1d5665632a Print malformed pubsub avatar stanzas 2017-10-08 14:32:59 +02:00
Philipp Hörist 1b90f75b17 Fix missing conn attr 2017-10-08 14:21:40 +02:00
Philipp Hörist fec3fe9605 Fix db migration 2017-10-08 14:03:37 +02:00
Philipp Hörist ed6278aeb3 Move Presence code into ConnectionHandlers 2017-10-08 11:26:33 +02:00
Philipp Hörist 21db50bbaa Move IQ Handler into ConnectionHandlers 2017-10-08 11:26:33 +02:00
Philipp Hörist 38406e39d6 Remove BigAvatarWindow 2017-10-08 11:26:33 +02:00
Philipp Hörist a01cdbf271 Refactor Avatars
- Add support for Pubsub Avatars
- Dont poll for vCard Updates, only use XEP-0153
- Dont cache vCards
- Store the avatar SHA of roster contacts in the DB
- Store the current SHA of each contact in the Contacts Object
- Move some code into the ConnectionVcard Class
2017-10-08 11:26:28 +02:00
Philipp Hörist 68f13788ed Add avatar_sha field to Cache DB 2017-10-08 11:25:49 +02:00
André Apitzsch 2872405f07 Fix deprecation warnings 2017-10-07 21:01:27 +02:00
André Apitzsch c758da1123 Replace make_color_string() by Gdk.RGBA method 2017-10-07 17:03:31 +02:00
Yann Leboulanger 372c1f9941 make a string not translatable 2017-10-07 14:54:39 +02:00
Philipp Hörist 2a2d4477a7 Fix broken highlight sound in Groupchat
tim is epoch, time.localtime() a struct_time
2017-10-07 11:15:10 +02:00
Philipp Hörist 6f2fbde60e Highlight on mention of own real JID in Groupchat
Fixes #8752
2017-10-07 11:10:53 +02:00
Philipp Hörist 4e1d296dcf Make Groupchat JID selectable
Fixes #8753
2017-10-07 10:28:43 +02:00
André Apitzsch 749a01a276 Simplify check_X509.py
as pyasn1 and pyOpenSSL are required now
2017-10-05 21:58:45 +02:00
Yann Leboulanger 6d10a5e2cf fix translation strings 2017-10-03 12:36:31 +02:00