Commit Graph

196 Commits

Author SHA1 Message Date
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 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 cee63aa0d8 Move htmltextview into gtk module 2018-11-18 10:35:13 +01:00
Philipp Hörist 7f1dfe5a8c New DataFormWidget: Add Captcha support 2018-11-15 21:02:09 +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 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 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
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 61a791d67c Rewrite GroupchatConfig dialog
- Complete rewrite of the dialog
- Use new DataFormWidget
2018-11-02 22:24:28 +01:00
Philipp Hörist 0662374c14 Set active window as transient for dialogs 2018-11-02 22:17:08 +01:00
Daniel Brötzmann 7cae880920 ManageSounds GUI Update 2018-11-02 17:09:28 +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 7a070a583e Use get_image_button() from gtk.util 2018-10-29 00:12:48 +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 2a0d6dc1ad Use json format for the servers list 2018-10-28 21:26:25 +01:00
Philipp Hörist 69309d283d AccountWizard: Use icon name instead of filename 2018-10-28 20:58:32 +01:00
Philipp Hörist 95e67ab7c1 AdHocCommands: move to gtk module 2018-10-28 20:43:36 +01:00
Philipp Hörist cdeb902fda FiletransferWindow: Move to gtk module 2018-10-28 20:20:49 +01:00
Philipp Hörist f4a7e2a353 Move AtomWindow to gtk folder 2018-10-28 19:45:10 +01:00
Philipp Hörist 59ccac4831 Move ServiceDiscoveryWindow to gtk folder 2018-10-28 19:41:19 +01:00
Philipp Hörist efbd22723c DiscoveryWindow: Use icon name instead of pixbufs 2018-10-28 19:34:46 +01:00
Philipp Hörist 88f30f92f7 Move SearchWindow to gtk folder 2018-10-28 17:29:12 +01:00
Philipp Hörist 39dfe41af5 Remove print statement 2018-10-28 17:15:38 +01:00
Philipp Hörist b5441b6169 Move ManageSounds into own module 2018-10-28 17:15:34 +01:00
Philipp Hörist 9af4b4f016 Move GroupchatConfig into own module 2018-10-28 15:36:43 +01:00
Philipp Hörist 4e2f00e569 Move ManageProxies into own module 2018-10-28 15:36:11 +01:00
Philipp Hörist c109db6eeb Switch some calls to gtk.util helper methods 2018-10-28 15:00:04 +01:00
Philipp Hörist 960008a69a Use get_icon_name() instead of get_iconset_name_for() 2018-10-28 14:32:54 +01:00
Philipp Hörist 9734e7bdea Preferences: Use icons from icontheme 2018-10-28 14:19:03 +01:00
Philipp Hörist e86c619379 Rename and extend get_iconset_name_for() 2018-10-28 14:17:04 +01:00
Philipp Hörist a4077502d5 Tooltips: Use icons from icontheme 2018-10-28 10:44:05 +01:00
Philipp Hörist 7faebf2be5 Tooltips: Refactor code
- Use get_builder
- Fix pylint errors
- Move fill_table_with_accounts() to StatusTable class
2018-10-28 10:20:59 +01:00
Philipp Hörist 5c97f0a91c Move tooltips module into gtk folder 2018-10-28 09:33:40 +01:00
Daniel Brötzmann bed18c9067 Add clipboard button to copy server infos 2018-10-27 15:35:37 +02:00
Daniel Brötzmann 5fb6032420 Update Features Dialog Design 2018-10-27 14:54:57 +02:00
Daniel Brötzmann 5d2e83394b Rework Preferences Window 2018-10-26 00:18:06 +02:00
Daniel Brötzmann b5416f0e97 Rework ACE 2018-10-26 00:06:27 +02:00
Philipp Hörist d7ea69f36c Refactor StatusIcon
- Move to gtk folder
- Rename some handlers
- Use get_builder
2018-10-25 00:12:28 +02:00
Philipp Hörist c1cc8c5714 Fix pylint error 2018-10-25 00:06:45 +02:00
Philipp Hörist c08f752d89 Refactor "Save as" menu 2018-10-24 23:42:07 +02:00
Philipp Hörist 2c6b2e0bb4 Use keyword init for Labels
keyword-less init is deprecated
2018-10-24 23:04:14 +02:00
Philipp Hörist 974b351338 Fix pylint error 2018-10-24 21:16:13 +02:00
Philipp Hörist 0e2a9c724f Improve ExceptionDialog
- Move to gtk module
- Use get_builder() so translation works
- Add GLib version
- Remove standalone testing code
2018-10-24 21:14:54 +02:00
Philipp Hörist 2c01883fc0 Fix missing declaration
Fixes #9322
2018-10-19 22:30:35 +02:00
Philipp Hörist 6c43c0f408 Allow to load multiple widgets with get_builder() 2018-10-13 00:33:33 +02:00
Philipp Hörist e5fe30cb5b Add get_builder() for plugins 2018-10-12 23:42:38 +02:00
Philipp Hörist bf87ad5ac8 Import _() instead of using builtin namespace
- Prepare for removing the global installed _() method in builtins
- Sort some imports along the way
2018-10-06 22:38:55 +02:00
Philipp Hörist 990a35f9d8 MUC: Add option for showing the subject on join 2018-10-06 00:35:24 +02:00
Philipp Hörist 34553b6ca7 Add a configurable threshold for MAM in MUC 2018-10-04 21:42:06 +02:00
Daniel Brötzmann 1f3bb5667d Fix more strings from #7470 2018-09-30 10:37:16 +02:00
Philipp Hörist 58796d223e Preferences: Update layout and some options
- Add a 'convert ascii emoji' checkbutton
- Remove 'Disabled' from Emoji theme
- Change the layout of the style tab
2018-09-27 21:38:23 +02:00
Philipp Hörist e9e0b7fbb9 Move AccountsWindow to gtk module 2018-09-27 00:12:55 +02:00
Philipp Hörist 6bf94f15d7 Move AdvancedConfig to gtk module 2018-09-27 00:03:50 +02:00
Philipp Hörist 075069d37a Fix Dark Theme switch
- Move css_config to gtk module
- Add Combobox for overriding the current session setting
- Move theme methods to css_config
2018-09-26 20:17:13 +02:00
Philipp Hörist f89347516f Only use absolute imports from gtk module
- This reduces import cycles
2018-09-26 19:06:47 +02:00
Philipp Hörist 7cacb4c09e Add annotations 2018-09-23 15:33:31 +02:00
Philipp Hörist 0e0bb9e190 Add dark theme switch in preferences 2018-09-23 15:00:32 +02:00
Philipp Hörist 39f5803651 Windows: Add debug logging switch in preferences
If debug logging is enabled verbose output is redirected to a file
in the user dir
2018-09-23 14:41:26 +02:00
Philipp Hörist 1483020cf4 Dont show encryption status for status messages
Fixes #9353
2018-09-22 08:07:46 +02:00
Philipp Hörist 6b2aa24d6e Fix rest of mypy errors
- This allows us to run mypy on the full gajim folder
2018-09-21 23:55:57 +02:00
Philipp Hörist 74b66837fa Add annotations
- Remove some unused vars from app
2018-09-21 15:46:52 +02:00
Philipp Hörist f7a2ac9d90 Add annotations
- Add a gtk/types modules
- Add a gtk/const module to prevent circular imports
2018-09-21 15:46:52 +02:00
Philipp Hörist 4d4d002342 Extend stubs for emoji_data 2018-09-21 15:46:52 +02:00
Philipp Hörist 3f2f51c169 Add license header to emoji_data.py 2018-09-21 15:46:52 +02:00
Philipp Hörist fa65653adc ConvTextview: Rework display of encryption 2018-09-19 22:22:52 +02:00
Philipp Hörist 81387ada51 Fix pylint errors
- pointless-statement
- pointless-string-statement
- unnecessary-lambda
2018-09-18 16:44:23 +02:00
Philipp Hörist 1680c3bb38 Fix pylint errors
- consider-using-enumerate
- unneeded-not
- unidiomatic-typecheck
2018-09-18 15:24:40 +02:00
Philipp Hörist 55aab55b9b Fix consider-using-in pylint errors 2018-09-18 14:10:38 +02:00
Philipp Hörist a77804f475 Fix useless-super-delegation pylint errors 2018-09-18 14:06:16 +02:00
Philipp Hörist 8483ba503f Fix unnecessary-pass pylint errors 2018-09-18 14:03:58 +02:00
Philipp Hörist df88cc5e15 Fix redefined-builtin pylint errors 2018-09-18 13:54:25 +02:00
Philipp Hörist ccc06a04ab Fix bad-whitespace pylint errors 2018-09-18 12:06:01 +02:00
Philipp Hörist ff6ca57033 Fix no-else-return pylint errors 2018-09-18 10:16:54 +02:00
Philipp Hörist d6f0242655 Fix redefined-argument-from-local pylint errors 2018-09-18 08:37:18 +02:00
Philipp Hörist e8ac644440 Fix unused-variable pylint errors 2018-09-17 21:16:19 +02:00
Philipp Hörist d53b95218a Fix redefined-outer-name pylint errors 2018-09-16 18:04:15 +02:00
Philipp Hörist c6547b6d30 Fix superfluous-parens pylint errors 2018-09-16 14:42:18 +02:00
Philipp Hörist 7018d5be0e Dont retract pep items on UserXEPs
This leads to multiple problems

1. We cant assume only items with id='current' are stored in the node
which would lead to retracting 'current' but another item would become
the last published and sent to users

2. Even if we have a SingletonNode retracting the only item means the Node
would be empty and offline clients would not receive the last published item
on coming online, because there is no item anymore

Instead we always publish an empty item from now on
2018-09-16 13:35:55 +02:00
Philipp Hörist e85bc52c8b Fix sending empty pep data 2018-09-16 12:58:37 +02:00
Philipp Hörist de0c0a9c08 Fix unsued-import pylint errors 2018-09-16 11:37:38 +02:00
Philipp Hörist 50e44543f3 Fix len-as-condition pylint error 2018-09-16 01:19:09 +02:00