Commit Graph

1442 Commits

Author SHA1 Message Date
Philipp Hörist d200e94fba Better determine language cross platform 2019-01-05 16:27:11 +01:00
Philipp Hörist 4aca2eeae2 Dont send chatstates when cycling MUC nicks
- Add ability to enable/disable the whole module so it doesnt try to send chatstates when we are offline
2019-01-04 15:21:55 +01:00
Philipp Hörist 4bd14bc51d Use custom link handler in AboutDialog
Fixes #9525
2019-01-04 11:56:23 +01:00
Philipp Hörist 67318a49e5 Preferences: Add some default options
- Option to set default sync threshold
- Option to set default show join/leave
- Option to set default show status message change
2019-01-04 09:00:12 +01:00
Philipp Hörist 5fd1e7b4bf Remove ping timeout on disconnect handler 2019-01-04 00:49:59 +01:00
Philipp Hörist b600328639 Refactor message handlers
- Adapt to nbxmpp now unwraping MAM messages
- Use nbxmpp properties
- Save message-id to database
2019-01-04 00:11:28 +01:00
Philipp Hörist cdb37828e4 Move message error handler into message module 2019-01-03 11:52:26 +01:00
Philipp Hörist c0fb645309 Move MUC message logging into message module 2019-01-03 11:25:45 +01:00
Philipp Hörist 4631f50372 Remove unused code 2019-01-03 10:46:31 +01:00
Philipp Hörist eb9f340a03 Remove star imports 2019-01-03 10:41:22 +01:00
Philipp Hörist b05f0e1458 Move methods into Connection class 2019-01-03 10:19:53 +01:00
Philipp Hörist 0441ccd4e9 Move 'agent-removed' handler into Gateway module 2019-01-03 10:19:29 +01:00
Philipp Hörist f3d5babc65 Register handlers in CommonConnection class 2019-01-03 10:19:25 +01:00
Philipp Hörist 1399c41d59 Remove old dbus module
We now use Gio DBus
2019-01-03 09:06:49 +01:00
Philipp Hörist 371756c2a5 Remove unnecessary event classes 2019-01-03 09:06:44 +01:00
Philipp Hörist fcb33a10e7 Add missing get_instance() for Gateway/IQ module 2019-01-03 01:00:31 +01:00
Philipp Hörist d1ccfd515a MUC: Dont check for unique room id support
This feature was remove from XEP-0045 in Version 1.25 (2012-02-08). We simply now use an uuid instead.
2019-01-03 00:50:22 +01:00
Philipp Hörist d622439a44 Remove unused code 2019-01-03 00:50:00 +01:00
Philipp Hörist 9ae6654dd3 Add IQ and Gateway module 2019-01-03 00:19:23 +01:00
Philipp Hörist d93fe8b1ea HTTPAuth: Use nbxmpp handlers 2019-01-02 16:53:06 +01:00
Philipp Hörist d121bbf4ab Refactor Zeroconf presence 2019-01-02 16:10:30 +01:00
Philipp Hörist b37c578504 Fix tests
- Fix more pylint errors
- Move caps test for now to broken
2019-01-02 02:27:38 +01:00
Philipp Hörist 0fcf90f8d5 Fix pylint errors 2019-01-02 02:16:42 +01:00
Philipp Hörist f2beea0df3 Refactor Caps module 2019-01-02 02:04:54 +01:00
Philipp Hörist a289ad5f60 Refactor Presence
- Remove option to hide self contacts for now. This makes the code less
complicated.
- Move as much code as possible into the presence module
- Use nbxmpp properties
2019-01-02 02:04:42 +01:00
Philipp Hörist 608607b721 Remove old PEP code 2018-12-31 10:54:51 +01:00
Philipp Hörist a7aea4cac1 Raise version to 1.1.91.1 2018-12-31 02:03:31 +01:00
Philipp Hörist 735e72c965 Plugins: Unregister StanzaHandler correctly 2018-12-31 01:58:03 +01:00
Philipp Hörist 73f3e01bdf Update actions after affiliation/role change 2018-12-30 21:27:07 +01:00
Philipp Hörist d06b73d7c6 Rename some muc events 2018-12-30 21:18:17 +01:00
Philipp Hörist d203d36f07 Remove debug code 2018-12-30 20:44:59 +01:00
Philipp Hörist 0ad369dc97 Refactor MUC Presence
- Use nbxmpp properties
- Split into multiple events
- Add new options in the group chat menu for print settings
2018-12-30 20:06:59 +01:00
Philipp Hörist 5a148f1657 Preferences: Connect two missing signals 2018-12-29 23:05:29 +01:00
Philipp Hörist 79684d90d5 Simplify vcard avatar code
- Use nbxmpp properties
2018-12-28 13:38:15 +01:00
Philipp Hörist 34306921ed Correctly parse delay in groupchats 2018-12-28 11:54:54 +01:00
Philipp Hörist 8094cadbea Refactor MUC module
- nbxmpp provides now most of the MUC code
2018-12-27 22:13:35 +01:00
Philipp Hörist c63e32634a Adapt Zeroconf to nbxmpp changes
Fixes #9503
2018-12-23 22:33:10 +01:00
Philipp Hörist 94479dd7f6 Check if event was not consumed
Fixes #9096
2018-12-21 23:13:34 +01:00
Philipp Hörist 43f210bbaa Remove unused code 2018-12-21 19:33:34 +01:00
Philipp Hörist 0e6011c088 Ignore bookmark updates from other jids
Because we use +notify to subscribe to the bookmarks node, we get notifications from contacts that have an open access bookmarks node
2018-12-21 19:10:18 +01:00
Philipp Hörist 4503f466d6 Simplify gc-message-received event 2018-12-21 18:36:09 +01:00
Philipp Hörist 40fc727156 Remove unused code 2018-12-21 14:13:08 +01:00
Philipp Hörist 85e79e7b27 Use nbxmpp properties for HTTPAuth
nbxmpp implements HTTPAuth now, so we dont need to parse it anymore
2018-12-21 12:23:26 +01:00
Philipp Hörist 42c1909d3b Remove carbon processing
nbxmpp does that now for us
2018-12-20 23:18:23 +01:00
Philipp Hörist 1f975df8a4 Remove incorrect comment 2018-12-19 23:24:49 +01:00
Philipp Hörist c614ac69df Refactor voice approval 2018-12-19 23:24:44 +01:00
Philipp Hörist 8b5adb06da Allow setting handler priority 2018-12-19 23:24:39 +01:00
Philipp Hörist 56d2c6bc7e Raise nbxmpp version 2018-12-19 23:24:38 +01:00
Philipp Hörist ce6839957d Catch mediated invites only if type is normal
https://xmpp.org/extensions/xep-0045.html#invite-mediated
2018-12-19 23:00:56 +01:00
Philipp Hörist 5f555193c7 Send active instead of gone as last chatstate
- Also attempt to fix #9446
2018-12-19 23:00:56 +01:00
Philipp Hörist e9f4c5050e Refactor MUC captcha challenge code 2018-12-19 23:00:50 +01:00
Philipp Hörist 1fec6681cd Move MUC config change handling into MUC module
- Remove status conditions code, since the XEP made a namespace bump to :1 and is now backwards compatible its useless
- XEP-0045 mentions status code 100 can be in messages but there is no case given where this would ever happen, so its removed from message handling
2018-12-19 23:00:09 +01:00
Philipp Hörist b935ce7096 Add more log output when calling handlers 2018-12-19 02:18:12 +01:00
Philipp Hörist 99cfb8f629 Cleanup Gajims disco features 2018-12-19 00:11:24 +01:00
Philipp Hörist de4cd80b83 Make namedtuple local 2018-12-18 22:52:29 +01:00
Philipp Hörist ced387e719 Remove legacy code 2018-12-18 22:49:07 +01:00
Philipp Hörist 7286f4286f Add feature-discovered event
This lets us move more GUI code out of the common module
2018-12-18 22:41:06 +01:00
Philipp Hörist 89d9940933 Roster: Register our-show with lower priority
This event is used to shutdown the roster if we quit, it destroys all windows.

This should be run last because other objects like the ChatControl need a reference to the window to shutdown properly
2018-12-18 14:40:38 +01:00
Philipp Hörist 0ac52a390e Allow handlers list to be modifed while iterating 2018-12-18 14:08:27 +01:00
Philipp Hörist a6b8ecf6f5 Fix error when opening sign-in/out notification 2018-12-17 15:02:40 +01:00
Philipp Hörist b449567600 Make copying text work with different layouts
This makes it possible so text can be copied from the conversation textview with other keyboard layouts than english
2018-12-17 14:49:50 +01:00
Philipp Hörist 841f12f75b Fix mypy errors 2018-12-17 00:41:46 +01:00
Philipp Hörist 96edd79963 Handle PEP bookmarks notifications
- Handle PEP bookmark notifications
- On new bookmarks with the auto join flag set, join the MUC
- Dont merge private and pubsub bookmarks
- Only use pubsub if the conversion feature is announced
2018-12-17 00:36:45 +01:00
Philipp Hörist 19b0e73f44 Fix error on key press
Fixes #9471
2018-12-16 01:01:44 +01:00
Philipp Hörist 674ec48fa2 DBus: Show correct unread message number
Fixes #8362
2018-12-15 23:59:27 +01:00
Philipp Hörist 760645f5c3 Improve MUC notifications
- Play sound for received messages, if notify for all messages is activated
- Send system notifications on MUC messages
- Make notify for all the default in private MUCs

Fixes #9383
2018-12-15 23:37:44 +01:00
Philipp Hörist dac5370780 Dont draw contact after selection change
This seems to be an old codepath, currently there is no need to redraw a contact on selection change

Fixes #9496
2018-12-14 21:39:58 +01:00
Philipp Hörist 5843827abc Fix start chat menu action
Fixes #8275
2018-12-12 23:35:36 +01:00
Philipp Hörist be420d44fc Implement XEP-0411 Bookmarks Conversion
If bookmarks conversion is announced by the server:

- Dont merge bookmarks
- Only push to either private storage or pubsub
2018-12-10 22:30:45 +01:00
Philipp Hörist 4e814dabcf Fix disabled join groupchat menu
When there are no bookmarks on the server the join groupchat menu
was disabled, preventing the user to open the join groupchat dialog
2018-12-10 22:30:37 +01:00
Philipp Hörist 6e30d3af64 Adapt to nbxmpp API changes
- Remove support for OAUTH2
- Remove insecure password dialog, its impossible now that a user can connect plain by mistake
- Refactor requesting the password
- Add possibility to delete passwords
2018-12-09 18:48:44 +01:00
Philipp Hörist b8863e82be MUC: Identify subject change correctly
Fixes #9491
2018-12-09 00:29:20 +01:00
Philipp Hörist 293156f670 Find correct contact on private message
get_contact() returns also a contact if only the bare jid matches,
which for private messages is the groupchat contact object.
2018-12-09 00:01:18 +01:00
Philipp Hörist d129f5559a DataFormWidget: Fix some UI issues
- Textview: Wrap text, set padding
- ListMultiTreeView: Align checkboxes to the right
- Add a adjustment element that sets default sizes on the columns
- Allow two new options 'form-width' and 'left-width' to customize sizes
2018-12-06 23:06:10 +01:00
Philipp Hörist ace1113d02 Fix pylint errors 2018-12-05 21:40:12 +01:00
Philipp Hörist a979874fa1 Sort imports 2018-12-05 17:05:29 +01:00
Philipp Hörist e419f75217 Remove unused imports 2018-12-05 17:05:10 +01:00
Philipp Hörist 4968fe39e2 Correctly remove ping timeout
Fixes #9481
2018-12-05 17:03:34 +01:00
Philipp Hörist 62253c804a Discover the bookmarks conversion server feature 2018-12-04 20:41:44 +01:00
Philipp Hörist c2e2dd9a87 Fix MUC nick change 2018-12-04 19:43:55 +01:00
Philipp Hörist 86bbdd21fd Encode resource with correct profile
Fixes #9465
2018-12-04 19:43:13 +01:00
Philipp Hörist 932377f533 Remove unused event 2018-12-04 19:32:13 +01:00
Philipp Hörist 700666b820 Refactor send timeouts
Fixes #9459
2018-12-04 19:29:32 +01:00
Philipp Hörist 78f439c611 Refactor disconnect code
Fixes #9467
2018-12-04 19:28:50 +01:00
Philipp Hörist 59855a6c8d Determine delay timestamp correctly
- Check the from attr on the delay node to determine if its a user timestamp or from the server
- Dont use user timestamp for sorting
- Record the user timestamp in additional data so its saved to the database

Fixes #9444
2018-12-04 12:18:17 +01:00
Philipp Hörist fd6dec1208 Handle presence without from attr correctly
Fixes #9472
2018-12-03 15:40:43 +01:00
Philipp Hörist 1d11e06647 Fix error when creating MUC
Fixes #9473
2018-12-03 14:17:46 +01:00
Philipp Hörist 3f2e3c6bb2 Better handle not available keyring backends 2018-12-01 21:46:58 +01:00
Philipp Hörist 432a4edbc1 Use custom dict for additional data
This makes it easier to retrive and store values
2018-11-30 23:05:15 +01:00
Philipp Hörist 91ebe37359 AccountsWindow: Fix back button 2018-11-27 21:04:13 +01:00
Philipp Hörist f1ab9fb683 Fix connection resume
Fixes #9458
2018-11-27 19:23:34 +01:00
Andrey Gursky f942e2c70f Fix receipts for chat
This is a regression from e3050697
2018-11-27 02:17:25 +01:00
Philipp Hörist 5fa56684c7 Adapt to nbxmpp API changes 2018-11-25 20:02:20 +01:00
Philipp Hörist cb05671254 Dont fail when importing plugin_i18n for tests 2018-11-21 21:44:19 +01:00
Philipp Hörist 35b5a4d7a9 Satisfy pylint/mypy 2018-11-20 23:06:27 +01:00
Philipp Hörist 6327679461 Refactor set_unset_urgency_hint() 2018-11-20 22:59:02 +01:00
Philipp Hörist c97fddf0f8 Move PrivateChatControl into own module 2018-11-20 22:41:43 +01:00
Philipp Hörist fa0f35da01 Fix opening links in MUC subject
The default GTK link handler does not work on Windows and Mac

Fixes #9453
2018-11-20 18:44:58 +01:00
Philipp Hörist c8b5eb94a9 Remove unused imports 2018-11-20 16:16:30 +01:00
Philipp Hörist 15c3de2b4d Add option to show chatstate in roster
- Preferences: Add options for display in banner, tab, roster
- This makes the chatstate Plugin obsolete
2018-11-20 15:32:01 +01:00
Philipp Hörist b74468b9c3 Move chatstate css to default theme
This is needed so we can query the current chatstate colors in cellrenderers
2018-11-20 15:32:01 +01:00
Philipp Hörist c61bd65607 Simplify PEP module inits 2018-11-20 15:32:01 +01:00
Marcin Mielniczuk 9d8b56bc0f Refactor groupchat nick auto completion 2018-11-20 10:37:12 +01:00
Philipp Hörist a00e8e3abb Dont use deprecated GLib.glib_version 2018-11-20 00:04:41 +01:00
Philipp Hörist e305069798 Fix receipts for MUC-PMs 2018-11-19 19:33:28 +01:00
Philipp Hörist b5bd5f15f0 Dont check mam:2 compliance for error messages 2018-11-19 18:04:32 +01:00
Philipp Hörist 1504805575 Dont answer groupchat receipt requests 2018-11-19 17:51:18 +01:00
Philipp Hörist 596f268f14 Fix missing default arg 2018-11-19 15:04:04 +01:00
Philipp Hörist b98f0a3f76 Remove all usage of get_gtk_builder() 2018-11-18 22:24:34 +01:00
Philipp Hörist 3c32d51174 Fix deprecated init 2018-11-18 22:24:33 +01:00
Philipp Hörist dffa54f7d3 Refactor Windows Notifications
- Only show one notification at a time
- Fix pylint errors
2018-11-18 22:24:33 +01:00
Philipp Hörist fedc00eb83 Move notify to gtk folder
- Rename notify to notification
- Move get_show_in_roster() to gtk.util
- Move get_show_in_systray() to gtk.util
2018-11-18 22:24:33 +01:00
Philipp Hörist 2ece342de2 Notification: Use load_icon() 2018-11-18 22:24:33 +01:00
Philipp Hörist 1179333fa0 Refactor loading user supplied iconsets 2018-11-18 22:24:33 +01:00
Philipp Hörist aca34d5c35 Remove old icons 2018-11-18 22:24:33 +01:00
Philipp Hörist 3ba34fa396 Remove old iconset code 2018-11-18 22:24:32 +01:00
Philipp Hörist 619793a085 Groupchat: Use icons from IconTheme 2018-11-18 22:24:32 +01:00
Philipp Hörist acc89ad622 Roster: Use icons from IconTheme for Roster
With this Gajim loses the ability to draw animated GIFs in the Roster

GIFs have numerous drawbacks:

- We cant add them to the IconTheme, which means we need a different interface to load them
- The IconTheme scales all icons we load for the current scale (HiDPI)
- The animation causes many updates to the Roster, and causes high cpu usage

Fixes #8814, #8655
2018-11-18 22:24:10 +01:00
Philipp Hörist 8be5562b92 Dont fail when IconTheme is not available
This is needed for tests to work
2018-11-18 12:52:24 +01:00
Philipp Hörist d13baed80f Improve Entity Time parsing
- Use parse_datetime()
- Improve tzo node validation
2018-11-18 10:35:13 +01:00
Philipp Hörist f40f171ecd Refactor parse_datetime and add unit test 2018-11-18 10:35:13 +01:00
Philipp Hörist b5b3820328 Remove unused methods 2018-11-18 10:35:13 +01:00
Philipp Hörist 431d8075a6 Use get_cursor from gtk.util 2018-11-18 10:35:13 +01:00
Philipp Hörist cee63aa0d8 Move htmltextview into gtk module 2018-11-18 10:35:13 +01:00
Philipp Hörist fb5cee69cb Dont use deprecated begins_tag() 2018-11-16 21:44:20 +01:00
Philipp Hörist 80954e9534 HtmlTextView: minor refactoring
- Move updating tags into HtmlTextView
- Rename some vars
- Remove legacy GTK code
2018-11-16 21:39:45 +01:00
Philipp Hörist eedd0c2a72 HtmlTextView: Fix pylint errors and minor refactoring 2018-11-16 21:39:19 +01:00
Philipp Hörist 97310a059a HtmlTextView: Remove some unnecessary methods 2018-11-16 21:36:04 +01:00
Philipp Hörist 63ff9478bd XHTML: Fix parsing font-size
Remove checking for font_scale, Gtk.TextIter.get_attributes() seems buggy at
the moment, and we dont need to check the current scale to apply a new scale

Fixes #9067
2018-11-16 16:23:42 +01:00
Philipp Hörist 7f1dfe5a8c New DataFormWidget: Add Captcha support 2018-11-15 21:02:09 +01:00
Bronko 4be4998704 fix typos in config.py 2018-11-14 22:44:41 +01:00
Philipp Hörist 9e24c72ba5 Fix incorrect contact status on tabs 2018-11-13 23:47:54 +01:00
Philipp Hörist 9c5de3bf25 Correctly remove placeholder on focus in
This is a regression from e281fb68

Fixes #9440
2018-11-12 17:47:04 +01:00
Andrey Gursky e281fb6839 Fix clipboard paste in inactive window
Fixes #9427
2018-11-11 17:20:36 +01:00
Philipp Hörist e509a68139 Determine absolut path for custom config folder
When a relative custom config path is passed via commandline, the logic
which decides if a plugin can be deleted from the plugin manager fails
2018-11-11 15:15:10 +01:00
Philipp Hörist 62b210a9e5 Pass account to plugins when encrypting a file 2018-11-11 10:40:48 +01:00
Philipp Hörist 30a20e16d2 Enforce min and max version for plugin manifest
This reduces problems with old plugins without max version
2018-11-11 10:21:46 +01:00
Philipp Hörist e4a9ffe1ca Dont test for sys.platform == 'linux'
This excludes other unix systems which was not intended
2018-11-10 19:30:19 +01:00
Philipp Hörist 02a9615b94 Dont test if precis_i18n is available
Its listed as dependency
2018-11-10 19:30:19 +01:00
Philipp Hörist a7cc815ca4 Move imports into function 2018-11-10 19:30:18 +01:00
Philipp Hörist 5152611ad7 Try to play sound on all unix systems
sys.platform == 'linux' excludeds other unix systems, for example FreeBSD
2018-11-10 19:30:18 +01:00
Philipp Hörist 0d70352460 Dont test if winsound is available
Its a standard library which will be always available in our builds
2018-11-10 19:30:13 +01:00
Philipp Hörist 1f31ab04f2 Remove unused code
Code is also not cross-platform compatible
2018-11-10 19:30:13 +01:00
Philipp Hörist 8d95eb9b99 Better determine soundplayer on unix systems
- sys.platform == 'linux', excludes many other unix systems
- use shutil.which() to test if a command is available
2018-11-10 19:30:12 +01:00
Philipp Hörist 62cfd7293a Remove unused import 2018-11-07 23:49:29 +01:00
Philipp Hörist 4534f3dbac Do not use own window for RosterTooltip 2018-11-07 23:44:16 +01:00
Daniel Brötzmann 13c82ae777 Update look on GCTooltip and RosterTooltip 2018-11-07 23:07:26 +01:00
Daniel Brötzmann bd7e32187d Update History Manager GUI 2018-11-07 22:52:23 +01:00
Daniel Brötzmann 02f16d53f4 Remove None from list, rename None to No Proxy in combobox 2018-11-07 21:22:25 +01:00
Daniel Brötzmann 56f948f56b Remove unnecessary .destroy 2018-11-07 17:07:24 +01:00