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
c61bd65607
Simplify PEP module inits
2018-11-20 15:32:01 +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
3ba34fa396
Remove old iconset code
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
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
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
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
Daniel Brötzmann
6975ffdf94
Unify Emoticon and Emoji strings
2018-09-30 10:37:16 +02:00
Philipp Hörist
acf79ffe8a
MAM: Up the requested page size
2018-09-30 10:01:42 +02:00
Philipp Hörist
a8c0567bd0
Request security catalog from the barejid
...
- Some Code/UI cleanup
2018-09-30 00:15:00 +02:00
Philipp Hörist
8ff3e55f33
Fix security labels
2018-09-29 18:29:59 +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
Yann Leboulanger
5aa41c7f63
handle error message from MUC correctly. Fixes #9280
2018-09-23 22:45:05 +02:00
Philipp Hörist
26b8125446
configpaths: Add get_plugin_dirs() method
...
This helps with mypy because otherwise get() has multiple return types
This reduces our usage of cast()
2018-09-23 14:41:44 +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
d29f6b2ca9
Dont parse our own nick on sent carbons
...
Fixes #9051
2018-09-22 15:35:45 +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
cb692ae4eb
Make SQL INSERT querys more resilient
...
Specify the column in which we insert otherwise downgrading Gajim is
not possible anymore because the query breaks if we modified the column
count in future
2018-09-19 20:12:24 +02:00
Philipp Hörist
422cd12991
Fix pylint errors
...
- deprecated-method
- anomalous-backslash-in-string
- cell-var-from-loop
- undefined-loop-variable
2018-09-18 18:45:16 +02:00
Philipp Hörist
6c80473ebe
pylint W0143 is not available on pylint < 2.0
2018-09-18 17:39:35 +02:00
Philipp Hörist
385ef2e456
Fix pylint errors
...
- duplicate-key
- eval-used
- comparison-with-callable
2018-09-18 17:02:14 +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
df88cc5e15
Fix redefined-builtin pylint errors
2018-09-18 13:54:25 +02:00
Philipp Hörist
29647ea693
Fix trailing-whitespace pylint errors
2018-09-18 13:38:22 +02:00
Philipp Hörist
ccc06a04ab
Fix bad-whitespace pylint errors
2018-09-18 12:06:01 +02:00
Philipp Hörist
dea1464832
Fix multiple-statements pylint errors
2018-09-18 10:30:33 +02:00
Philipp Hörist
6237bfae41
Fix singleton-comparison pylint errors
2018-09-18 10:26:27 +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
cbe335b291
keys() doesnt return list() in python3
2018-09-18 07:20:49 +02:00
Philipp Hörist
04b70bf220
Fix trailing-comma-tuple pylint errors
2018-09-17 23:38:52 +02:00
Philipp Hörist
01694c6a06
Fix simplifiable-if-statement pylint errors
2018-09-17 23:25:55 +02:00
Philipp Hörist
158d013a86
Fix literal-comparison pylint errors
2018-09-17 23:03:45 +02:00
Philipp Hörist
76333ec73a
Use keys() iteration if we modify the dict
2018-09-17 22:51:42 +02:00
Philipp Hörist
793184e7be
Fix consider-iterating-dictionary pylint errors
2018-09-17 22:34:15 +02:00
Philipp Hörist
0b8b4f75c3
Fix pylint errors
2018-09-17 22:20:19 +02:00
Philipp Hörist
e8ac644440
Fix unused-variable pylint errors
2018-09-17 21:16:19 +02:00
Philipp Hörist
d638087c26
Fix logging-not-lazy pylint errors
2018-09-17 18:57:00 +02:00
Philipp Hörist
7bb6f8b22e
Fix bare-except pylint errors
2018-09-16 23:45:01 +02:00
Philipp Hörist
b8bbcf2be0
Fix missing time attribute
...
This was removed by accident
2018-09-16 23:33:09 +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
328d250f4c
Fix evaluation for subject change
2018-09-16 14:36:54 +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
bb545d546a
Fix useless-object-inheritance pylint errors
2018-09-16 11:56:56 +02:00
Philipp Hörist
de0c0a9c08
Fix unsued-import pylint errors
2018-09-16 11:37:38 +02:00
Philipp Hörist
49ca238252
Fix len-as-condition pylint errors
2018-09-16 01:10:04 +02:00
Philipp Hörist
f7a139eac2
Zeroconf: Store time of outgoing messages
2018-09-15 12:00:32 +02:00
Philipp Hörist
d54d4bc232
Add annotations and fix pylint/mypy errors
2018-09-13 23:56:12 +02:00
Philipp Hörist
62c54525d8
fuzzyclock: Fix pylint errors
2018-09-13 00:33:54 +02:00
Philipp Hörist
64aec8adce
Add annotations
2018-09-12 21:08:37 +02:00
Philipp Hörist
b99632ab03
Fix pylint errors
2018-09-12 00:01:54 +02:00
Philipp Hörist
09c5183575
Fix pylint errors in common/modules
2018-09-11 22:25:55 +02:00
Philipp Hörist
4ad38d5398
Make some vars private
2018-09-11 20:00:34 +02:00
Philipp Hörist
dad7def794
Catch error if no translation is found
2018-09-11 19:37:48 +02:00
Philipp Hörist
a34bf54c46
Fix mypy error regarding _()
2018-09-11 19:29:08 +02:00
Philipp Hörist
21672fadee
Refactor i18n
...
- Make _() available, so other modules can import it from i18n, we need
this because mypy cant handle _() in the builtins namespace
2018-09-11 19:27:10 +02:00
Philipp Hörist
2649b3d01e
Add annotations to modules/util.py
2018-09-11 00:47:59 +02:00
Philipp Hörist
ca9b4cb596
Add annotations for modules/__init__.py
2018-09-11 00:47:54 +02:00
Philipp Hörist
bcf2a3770d
Remove unnecessary code
...
NetworkIncomingEvent defines base_network_events and generate() already
2018-09-11 00:37:00 +02:00
Philipp Hörist
f82cd95f2c
Fix subscribing to contact
...
Fixes #9321
2018-09-09 17:43:17 +02:00
Philipp Hörist
432704005d
Request blocking list on connect
2018-09-09 16:50:55 +02:00
Philipp Hörist
0a20cb5997
Fix fallback for bookmark name
2018-09-08 23:55:31 +02:00
Philipp Hörist
27dd36cca3
Improve speed of groupchat roster
...
- Save reference to contact in a dict instead of iterating the whole model
- Sort roster only once after all contacts have been added to the roster
- Speed up get_gc_contact()
Fixes #9334
2018-09-08 20:49:26 +02:00
Philipp Hörist
c8b31dffbb
Remove verbose logging of idle time
2018-09-06 21:44:31 +02:00
Philipp Hörist
bba88cf609
Windows: Improve locked screen detection
...
UAC prompts count as locked screens, so only trigger extended away
when the screen is more than 10 seconds locked
Fixes #9117
2018-09-06 21:41:38 +02:00
Philipp Hörist
3a16ccb4d4
Revert "Windows: Remove locked screen detection"
...
This reverts commit 05307bd609
2018-09-06 21:38:41 +02:00
Philipp Hörist
05307bd609
Windows: Remove locked screen detection
...
This does not reliably tell us when the screen is locked.
For example this triggers when a UAC prompt is active.
From the Windows documentation there is no way to determine
if a workstation is locked
Fixes #9117
2018-09-06 21:17:05 +02:00
Philipp Hörist
a4a136566f
Fix license comment format
...
every linter flags this as an error
2018-09-05 02:59:34 +02:00
Philipp Hörist
9dd747dfe5
Windows: Fix IPV6 for Windows 10+
...
Fixes #9326
2018-09-05 02:14:51 +02:00
Philipp Hörist
27f7580688
Light refactring of bookmark code
...
- Convert xs:boolean values in bookmark module
- Use python booleans for minimize and autojoin in other parts of Gajim
- Use add_bookmark() instead of manipulating the bookmarks dict
2018-09-05 00:06:59 +02:00
Philipp Hörist
b62335eaf5
Add a bookmark sorting method
2018-09-04 23:22:57 +02:00
Philipp Hörist
be6c2d4f7a
Add XEP-0398 optimizations
...
- If the server implements XEP-0398 we dont need to add the avatar sha
anymore, the server adds it for us.
- It also means we dont have to query our own avatar from vcard at start
because the server tells us the avatar sha that is published with the inital
presence reflection
2018-09-01 20:40:20 +02:00
Philipp Hörist
c68f4f1041
Send all presence through the presence module
2018-09-01 18:06:21 +02:00
Philipp Hörist
7d723d7b98
Fix contact not beeing found after room destroy
2018-09-01 12:44:45 +02:00
Philipp Hörist
527762f726
Fix missing attribute
2018-08-31 06:37:53 +02:00
Sophie Herold
7743c11a50
Unify to use app.get_account_label()
2018-08-30 19:27:40 +02:00
Philipp Hörist
dd8dda9b32
Fix displaying MUC subjects with delay tag
...
Dont print it as "old" conversation, instead add the delay timestamp
at the end of the subject
2018-08-30 19:19:47 +02:00
Philipp Hörist
8a34261137
Parse delay after decryption
...
Delay could be encrypted with full stanza encryption
2018-08-30 19:19:47 +02:00
Philipp Hörist
931e3f60ba
Register modules defined by plugins
2018-08-28 23:03:00 +02:00
Philipp Hörist
a087486e45
Windows: Fix gstreamer/farstream plugin paths
2018-08-21 19:21:07 +02:00
Philipp Hörist
fb4c5a2351
Call link() on correct object
2018-08-21 18:48:20 +02:00
Philipp Hörist
fef8cff254
Display only emojis the font supports
...
Fixes #9299
2018-08-20 19:18:07 +02:00
André Apitzsch
5d853e902a
Time: use classes from standard library
2018-08-19 23:29:05 +02:00
Philipp Hörist
9e3e6f80bb
Add JID to VcardReceivedEvent
2018-08-19 16:43:59 +02:00
Philipp Hörist
c4dfc0f8f2
Caps: Lower log level
2018-08-19 10:50:51 +02:00
Yann Leboulanger
c49f9d60ab
fix jingle negotiation from an XMPP point of view
2018-08-18 16:05:33 +02:00
Philipp Hörist
bab834814e
Use a python 3.5 compat method to scan dirs
2018-08-18 14:06:54 +02:00
Philipp Hörist
c8c44f5a78
Fix XMLConsole
...
- Print the stream header again
- Fix template button, it should not be translated
2018-08-18 12:35:21 +02:00
Philipp Hörist
5feb4becfd
Rework Emoji implementation
...
- Use emoji data from a generated dict based on the offical unicode docs,
this makes it easier to update in the future
- Rewrite the emoji chooser
- Add a search field to the emoji chooser
- The emoji chooser is loaded async
- Update to current Unicode 11 Noto theme
2018-08-17 21:55:42 +02:00