Commit Graph

624 Commits

Author SHA1 Message Date
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 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 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 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 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 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
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
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 2a0d6dc1ad Use json format for the servers list 2018-10-28 21:26:25 +01: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 df7f0324a3 Move dbus modules into own folder
- light refactor of the screensaver module
2018-10-26 01:19:47 +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 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 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
Yann Leboulanger 00c8e5c01d Ability to update plugins on startup from a download folder 2018-10-12 22:17:34 +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 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 084e5d6ca7 Better fix for aa50da05 2018-10-07 18:19:57 +02:00
Philipp Hörist aa50da05d3 Fix gettext not supporting Pathlib yet 2018-10-07 12:49:50 +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 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