Commit Graph

1310 Commits

Author SHA1 Message Date
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
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 9ae63b6f70 FiletransferWindow: Use icon name instead of pixbufs 2018-10-28 20:18:33 +01:00
Philipp Hörist dcfaba09b9 PluginsWindow: Refactor code
- Use get_builder
- Sort imports
- Use load_icon instead of get_icon_pixmap
2018-10-28 20:17:59 +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 cb58fc86f0 Move GroupsPostWindow into disco module 2018-10-28 19:38:35 +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 6b5d559d7a Fix error with some foreign keyboard layouts 2018-10-28 14:37:19 +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 a75c0cbd48 Remove obsolete glade file for features window 2018-10-27 18:04:27 +02: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
Matthew W. S. Bell 2a62209e1e Obtain sleep inhibitor again after every sleep
- There is a PrepareForSleep signal before and after every sleep event.
The expectation is that before sleep, gajim cleans up and then releases
the sleep inhibitor. Accordingly, we must reacquire the inhibitor after
sleeping, which can helpfully be done with the other signal.

- Moved module to the dbus folder

- Embed logic in a LogindListener object so we can import the module
without listening to dbus
2018-10-26 12:57:13 +02:00
Philipp Hörist 54fe4dacf2 Fix import 2018-10-26 01:49:15 +02:00
Philipp Hörist e5beff266a Guard GeoClue import
- So we dont have to check on module import if GeoClue is installed
2018-10-26 01:45:43 +02:00
Philipp Hörist ef167349f8 Fix imports 2018-10-26 01:31:49 +02:00
Philipp Hörist df7f0324a3 Move dbus modules into own folder
- light refactor of the screensaver module
2018-10-26 01:19:47 +02:00
Philipp Hörist d98ba45f97 Dont use deprecated const 2018-10-26 00:47:36 +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 08fe232695 Fix error when plugin cant be loaded
Fixes #9403
2018-10-25 21:20:38 +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
Daniel Brötzmann 79a37f6992 Update ExceptionDialog GUI 2018-10-24 20:41:16 +02:00
Philipp Hörist dc59801d93 Make var global 2018-10-22 19:04:37 +02:00
Yann Leboulanger 286f820f77 fix regression from [e265514d]: gupnp object is keept globally. Fixes #9398 2018-10-22 13:38:40 +02:00
Daniel Brötzmann 4f28720db0 Remove ESessions leftovers 2018-10-21 23:17:42 +02:00
Philipp Hörist 3a97d44e3e Fix flickering tooltips in 3.24.1 2018-10-20 09:55:48 +02:00
Philipp Hörist 2c01883fc0 Fix missing declaration
Fixes #9322
2018-10-19 22:30:35 +02:00
Philipp Hörist e44cedf094 Use parse_delay also for presences 2018-10-19 20:43:04 +02:00
Philipp Hörist abf1909360 Remove support for XEP-0091 2018-10-19 20:38:44 +02:00
Philipp Hörist 53ec34a955 Use parse_datetime for parsing idle time
Fixes #9393
2018-10-19 20:37:18 +02:00
Philipp Hörist dbd3165c00 DiscoveryWindow: Add default identity
Fixes #9386
2018-10-19 17:52:00 +02:00
Philipp Hörist 8487bdb83e Make bookmark parsing more resilient
Fixes #9385
2018-10-19 15:59:04 +02:00
Philipp Hörist ba2618d035 Set password correctly on MUC join 2018-10-14 21:42:51 +02:00
Philipp Hörist c34ce28f56 Add a dedicated folder for plugin data 2018-10-14 17:09:39 +02:00
Philipp Hörist c58ea13379 Default to showing offline contacts
Many messengers dont show the status anymore, its not evident to new
users that most of their roster is hidden per default and they have to
show it to access the contacts
2018-10-13 16:21:44 +02:00
Philipp Hörist 2b7006e883 Catch exceptions when loading plugins 2018-10-13 14:13:38 +02:00
Philipp Hörist 683e7aa4c7 Bind textomain also for plugins 2018-10-13 13:27:33 +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 c43714e4c2 Dont monkey patch _() into plugins
Plugins can import _() from plugins_i18n
2018-10-12 23:42:38 +02:00
Philipp Hörist e5fe30cb5b Add get_builder() for plugins 2018-10-12 23:42:38 +02:00
Yann Leboulanger 00c8e5c01d Ability to update plugins on startup from a download folder 2018-10-12 22:17:34 +02:00
Philipp Hörist 528f758287 Raise Gajim version 2018-10-12 17:38:32 +02:00
André Apitzsch 8a0ed4af5b Fix missing UI translations on flatpak 2018-10-11 23:21:46 +02:00
Philipp Hörist c81711fdf0 Reset chatstate correctly if contact goes offline 2018-10-11 00:11:03 +02:00
Philipp Hörist bae95858aa Dont overwrite user plugins with base plugins
- Dont load plugins without short_name
- Check with the short_name if a plugin is already loaded
2018-10-10 21:25:54 +02:00
Daniel Brötzmann 491237b41d polish-change-status-dialog 2018-10-09 20:11:01 +02:00
Philipp Hörist f565928890 Fix a few things regarding chatstates
- Fix wrong chatstates issued because of textview changed signal
- Fix chatstates in PMs
2018-10-09 00:01:35 +02:00
Philipp Hörist 7e007a4210 Add property to distinguish pm contacts 2018-10-07 22:35:27 +02:00
Philipp Hörist 84276aed43 Raise min nbxmpp version 2018-10-07 20:51:51 +02:00
Philipp Hörist a60b54e46e GajimRemote: pass combined chatstate 2018-10-07 20:48:24 +02:00
Philipp Hörist 084e5d6ca7 Better fix for aa50da05 2018-10-07 18:19:57 +02:00
Philipp Hörist 99972dacf7 GajimRemote: Fix chatstate-received callback 2018-10-07 13:49:55 +02:00
Philipp Hörist aa50da05d3 Fix gettext not supporting Pathlib yet 2018-10-07 12:49:50 +02:00
Philipp Hörist f10f7d27ad Bring back lost --version command 2018-10-07 02:05:35 +02:00
Philipp Hörist cea5231c79 Dont show joined message on status change 2018-10-06 23:08:53 +02:00
Philipp Hörist 74bb8cec3f Fix pylint error 2018-10-06 23:06:07 +02:00
Philipp Hörist ca46742117 Fix missing imports 2018-10-06 23:04:28 +02:00
Philipp Hörist ad4e1258d3 Improve finding locale dir
- Dont install _() globally, although its elegant mypy cant deal with it
- If gettext cant find the translation itself, iter through all dirs and search for it
2018-10-06 22:44:26 +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 fd232ce616 MUC: Show info message that we joined the room 2018-10-06 00:01:07 +02:00
Philipp Hörist 259f5e3674 MUC: Show timestamp also for info messages 2018-10-05 23:57:54 +02:00
Philipp Hörist dbd25c590d Fix textview sorting 2018-10-05 23:47:59 +02:00
Philipp Hörist 1e933c2681 Dont show MUC subject on rejoin
- We only show it, if it changed
2018-10-05 23:21:50 +02:00
Philipp Hörist e8c5ad64a7 Better determine when we fully joined a muc 2018-10-05 22:42:36 +02:00
Philipp Hörist b049746418 MUC: Make print_status affect the 333 status code 2018-10-05 22:34:06 +02:00
Philipp Hörist 4f1a3a32c5 Fix resume after sm timeout
Fixes #9364
2018-10-05 21:25:15 +02:00
Philipp Hörist 84ba852a97 Dont return None on has_mam()
Fixes #9368
2018-10-05 15:05:06 +02:00
Philipp Hörist 34553b6ca7 Add a configurable threshold for MAM in MUC 2018-10-04 21:42:06 +02:00
Philipp Hörist 5173ca415a Pull correct security catalog for private messages 2018-10-04 14:27:45 +02:00
Philipp Hörist e664185845 Add debug commandline options
To easier simulate connectivity loss
2018-10-03 12:28:11 +02:00
Philipp Hörist 8b7aae564b MUC: Set active chatstate on messages 2018-10-03 09:56:56 +02:00
Philipp Hörist b6c43c9066 Fix the fix 2018-10-03 08:08:32 +02:00
Marcin Mielniczuk 237abf742b Pylint CI improvements
* Move the pylint CI configuration to a separate script
* Update pylint in CI to 2.1.1
* Add pycurl to pylint whitelist
2018-10-03 07:58:54 +02:00
Philipp Hörist ef3cc504d2 Pass correct show state 2018-10-03 07:53:30 +02:00
Philipp Hörist ff424b5084 Fix passing wrong type 2018-10-01 21:25:10 +02:00
Philipp Hörist 4858bb46f2 Fix wrong argument 2018-10-01 07:50:48 +02:00
Philipp Hörist 460d390795 Refactor Chat State Notifications
- Move code into chatstate module
- Refactor most of the code, make it much simpler
2018-09-30 22:58:38 +02:00
Philipp Hörist 5be73fa824 Fix typo 2018-09-30 15:34:59 +02:00
Daniel Brötzmann 1f3bb5667d Fix more strings from #7470 2018-09-30 10:37:16 +02:00
Daniel Brötzmann ef4c63ba3e Fix #9045, desync'ed 2018-09-30 10:37:16 +02:00