Commit Graph

1310 Commits

Author SHA1 Message Date
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
Daniel Brötzmann 43f07c19e5 Merge destroy handlers, connect ESC key, remove transient 2018-11-07 17:07:24 +01:00
Daniel Brötzmann d106c0d316 ManageProxies GUI update 2018-11-07 17:07:24 +01:00
Philipp Hörist ea2f76f24e Show correct icon in roster tooltip 2018-11-06 21:31:43 +01:00
Philipp Hörist f5a19c24a9 Cast messages from a bare muc jid to groupchat 2018-11-05 21:08:34 +01:00
Emmanuel Gil Peyrot b4d34bf7f6 Move XEP-0231 into its own module 2018-11-05 19:58:49 +01:00
André 2ec1baa7bd Roster: Improve contact filter look 2018-11-04 22:59:56 +01:00
Philipp Hörist b6c4fcfb54 Use always an action to open the history window
- Make all menus and shortcuts use the 'app.browse-history' action
- HistoryWindow: Inherit from Gtk.ApplicationWindow
2018-11-04 22:50:21 +01:00
Philipp Hörist 3e387f5215 GroupchatConfig: Valid form before sending 2018-11-04 17:45:27 +01:00
Philipp Hörist 4753e6015e ServiceRegistration: Validate form before sending 2018-11-04 01:01:39 +01:00
Philipp Hörist 6b65a23371 DataForms: Make validation possible
- Show orange warning icon if a field is required
- Show red error icon if validation of the field failed
- Set validation error text as tooltip of the icon
- DataFormWidget emits a signal 'is-valid' on every change
2018-11-04 00:58:34 +01:00
André Apitzsch 09f0835fbd Fix some PyGObject deprecation warnings
like
The "flags" argument for dialog construction is deprecated. Please use initializer keywords: modal=True and/or destroy_with_parent=True.
or
Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "title, transient_for, flags" or use a class specific constructor.

See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
2018-11-03 13:58:11 +01:00
André Apitzsch 4e0295fcd9 gui_menu_builder: remove unused variable 2018-11-03 13:47:03 +01:00
Philipp Hörist 6e41699297 GroupchatConfig: Tidy up some rough edges 2018-11-03 13:44:50 +01:00
Philipp Hörist 5d5d686408 DataFormWidget: Color required fields red 2018-11-03 13:44:36 +01:00
Philipp Hörist bf9e01ee31 Fix displaying PEP icons
- Rename get_pep_as_pixbuf to get_pep_icon
2018-11-02 22:51:57 +01:00
Philipp Hörist 61a791d67c Rewrite GroupchatConfig dialog
- Complete rewrite of the dialog
- Use new DataFormWidget
2018-11-02 22:24:28 +01:00
Philipp Hörist e615a8e2e3 Add possibility to get windows by jid
This also makes it possible to get windows by an account/jid combination
2018-11-02 22:21:15 +01:00
Philipp Hörist 0662374c14 Set active window as transient for dialogs 2018-11-02 22:17:08 +01:00
Philipp Hörist 32e736aa32 Remove unused shortcut 2018-11-02 21:01:26 +01:00
Daniel Brötzmann 7cae880920 ManageSounds GUI Update 2018-11-02 17:09:28 +01:00
Philipp Hörist c2521a41d6 Add margin to DataFormWidget 2018-11-01 08:23:04 +01:00
Philipp Hörist f46fdee464 Make DataFormWidget configurable
- A option dict can be passed which controls how the DataForfWidget looks
- Analyse the field label lengths and adjust the label justification (left/right)
2018-11-01 08:23:04 +01:00
Daniel Brötzmann 4736f518d6 Scroll history window to bottom when day changed or selected 2018-11-01 00:29:40 +01:00
Philipp Hörist 985fced940 Roster: Use icon names instead of pixbufs
- Use icon names for Tune and Location notifications
- Use None instead of an empty pixbuf when there is no data
2018-10-29 00:12:48 +01:00
Philipp Hörist 7a070a583e Use get_image_button() from gtk.util 2018-10-29 00:12:48 +01:00
Philipp Hörist 3ae03a24b1 Remove unused method 2018-10-29 00:12:44 +01:00
Philipp Hörist a6d9b2c193 Set the Window icon correctly
Set the default list after the first window has been initialized. Only
set icons on Windows that are different from the default.
2018-10-28 23:01:09 +01:00
Philipp Hörist e958755a24 HistoryManager: Refactor code
- Use get_builder
- Add get_app_icon_list() to gtk.util
2018-10-28 22:42:02 +01:00
Philipp Hörist 0e3b74da16 Fix pylint errors 2018-10-28 22:04:29 +01:00
Philipp Hörist ac3bc74952 Remove unused methods 2018-10-28 21:58:30 +01:00
Philipp Hörist 5769ca1e29 Remove dead servers from servers list
All removed servers did not answer to a IBR request
2018-10-28 21:45:04 +01:00
Philipp Hörist 2a0d6dc1ad Use json format for the servers list 2018-10-28 21:26:25 +01:00