Commit Graph

699 Commits

Author SHA1 Message Date
Philipp Hörist 86bfc81ad3 Remove old unused migration method 2018-04-23 17:34:14 +02:00
Philipp Hörist 3efa731fbf Add stanza_id index also when we create the DB 2018-04-23 00:10:35 +02:00
Philipp Hörist 8306f076b3 Move path creation into configpaths module 2018-04-22 23:12:34 +02:00
Philipp Hörist 124e501f26 Make ExceptionDialog easier to test 2018-04-22 22:34:27 +02:00
Philipp Hörist 188fb85bd0 Move DB creating into logger module 2018-04-22 22:16:17 +02:00
Philipp Hörist efd2ca50c6 Remove unused old migration method 2018-04-22 02:30:34 +02:00
Philipp Hörist 3ad539cbf2 Make sure all config dirs get created
LOG_DB_FOLDER and CACHE_DB_FOLDER are equal to MY_DATA and MY_CACHE
2018-04-22 02:30:08 +02:00
Philipp Hörist 220bf35827 Create some folders only on demand 2018-04-22 00:55:48 +02:00
Philipp Hörist c0c16dbf94 Dont change path names because plugins use them 2018-04-21 21:28:19 +02:00
Philipp Hörist 848c5cbdd0 More refactoring around paths
- Remove old config dir migration
- Remove some unused config paths
- Rewrite configpaths.init()
- Simplify creating paths in check_paths
2018-04-21 21:19:32 +02:00
Philipp Hörist 72e69a59af Fix setting custom config root 2018-04-21 14:47:47 +02:00
Philipp Hörist b0fce17cf2 HistoryManager: Open window centered 2018-04-21 13:59:30 +02:00
Philipp Hörist 0739eb9dec HistoryManager: Init configpaths only in standalone mode 2018-04-21 13:59:20 +02:00
Philipp Hörist 4a26ecb12c Refactor configpaths
- init configpaths earlier so logging can access it to store debug logs
- First step for more consistency across Gajim when looking up paths

  Recommended usage for the future:
  app.configpaths.get()
  configpaths.get()
2018-04-21 12:48:57 +02:00
philipp 8e9c040acf Support http:upload:0 2018-04-20 08:35:40 -04:00
Philipp Hörist dadc85bb52 Fix tests 2018-04-19 22:22:04 +02:00
Philipp Hörist 290e761f88 Add support for Room Avatars
- Groupchats promote a vcard hash with presence

Refactoring:

- Dont delete groupchat contacts if they are maximized from the roster
- Roster and GroupchatControl use the same contact object
2018-04-19 22:11:41 +02:00
Philipp Hörist 70a7000d44 Dont be lenient with namespace 2018-04-19 17:59:17 +02:00
Philipp Hörist a45554a10b Save history export with utf8 encoding 2018-04-17 22:00:15 +02:00
Philipp Hörist 53b38bd5d5 Use JID as default account name
Fixes #8939
2018-04-15 23:36:34 +02:00
Philipp Hörist e3066fb5ca Improve AccountsWindow design
Fixes #8940
2018-04-15 23:36:34 +02:00
Daniel e93ab408ec Fix History Manager search 2018-04-15 22:45:04 +02:00
Markus Wintermann a86abf2cf9 Update proxy comobobox in accounts/connections
After a new proxy was added/removed by ManageProxies the combobox in
accounts/connections gets updated
2018-04-14 22:01:58 +02:00
Philipp Hörist 93af68f81c Dont show error when receiving invalid avatars
Fixes #9022
2018-04-14 10:34:58 +02:00
Daniel 9f0eaf9df7 Fix placeholder not being removed when inserting nick in MUC via context menu 2018-04-13 22:36:57 +02:00
Philipp Hörist 363fdf7d9a Dont use str as a var name 2018-04-09 21:39:57 +02:00
Philipp Hörist cf8f0c2e83 Delete account from config if registration fails 2018-04-09 19:14:42 +02:00
Philipp Hörist 6baed38d4c Make code better understandable 2018-04-09 00:35:27 +02:00
Bronko fcad0f088a save hash and mime_type of avatar when receiving vCard from server
in case the avatar is not changed by the user we must resend the still valid hash.
if we do not save the hash here, gajim advertises an empty photo element after publishing the vCard,
which removes the avatar for all receiving clients of the photo element update
2018-04-08 23:45:32 +02:00
Bronko 36b31259e7 save encoded avatar when receiving vCard from server 2018-04-08 20:58:24 +02:00
Yann Leboulanger 879e03449c fix some py2->py3 missing things. Fixes #9019 2018-04-07 23:06:48 +02:00
Yann Leboulanger 6d868546fa update action when creating groupchat window. Fixes #9042 2018-04-07 22:48:38 +02:00
Yann Leboulanger 27e45856b0 prevent traceback. Fixes #9054 2018-04-07 22:04:32 +02:00
Yann Leboulanger 93b50bf1f6 prevent a traceback with wrong bookmarks. Fixes #9055 2018-04-07 22:01:39 +02:00
Philipp Hörist cf911b3984 Fix regression from 4caa4971 2018-04-05 22:14:57 +02:00
Philipp Hörist 711f3cbbb0 Encode filenames before sending
Fixes #9039
2018-04-05 19:38:17 +02:00
Philipp Hörist 898ac96647 Some status codes should only be in our presence
Some Servers broadcast these status codes in every presence which
is wrong accoring to the XEP
2018-04-04 22:16:46 +02:00
Philipp Hörist 1b8d76bf9e Add missing return statement 2018-04-04 22:10:34 +02:00
Yann Leboulanger 2ea9fc6932 when adding bookmark, check server validity on focus out only. Fixes #7879 2018-04-04 15:16:41 +02:00
Yann Leboulanger 17ae4e4ccc Hide protocol combobox when adding contacts if only XMPP is available 2018-04-04 14:46:46 +02:00
Yann Leboulanger 8e144e46f8 Use XMPP logo in add contact dialog for XMPP protocol. Fixes #9049 2018-04-04 14:42:10 +02:00
Yann Leboulanger dc58586a7a mark string as translatable. Fixes #9050 2018-04-04 14:23:12 +02:00
Philipp Hörist 4caa4971b2 Catch decrypted-message-received event in ChatControl
It makes more sense to catch the event with ChatControl than with the
RosterWindow. RosterWindow is only used now if no ChatControl is open.
2018-04-04 01:13:02 +02:00
Philipp Hörist 8a4264c94e Remove event handler on ChatControl Shutdown 2018-04-04 00:00:08 +02:00
Philipp Hörist f29d57e50b Catch invalid IQ stanzas and log them
Fixes #9044
2018-04-03 19:54:09 +02:00
Philipp Hörist 199f1c74ff Dont call show_all() on AboutDialog
Fixes #9038
2018-04-02 21:37:08 +02:00
André Apitzsch 672aae9c12 Fix password storage in plain text issue 2018-04-02 15:50:23 +02:00
Yann Leboulanger dc3565ee32 prepare 1.0.1 release 2018-04-01 22:48:42 +02:00
Yann Leboulanger 0f13b23a7d correctly set process name. Fixes #9034 2018-04-01 15:05:06 +02:00
Philipp Hörist e326aabf5f Decode PGP decrypted messages 2018-03-31 01:18:28 +02:00
Philipp Hörist 634cbd93a8 Remove not supported methods
Methods have been remove in from IPython since 2016
b7d03ed6b1 (diff-3ffc5a89fb88284fe9b5787b8859140b)

Fixes #9023
2018-03-30 15:05:25 +02:00
Yann Leboulanger ec78ce22e6 don't allow to open several filter dialogs. Fixes #8848 2018-03-29 12:26:37 +02:00
Yann Leboulanger c2184aaf8c remove bookmark and close muc when destroying the room. Fixes #8862 2018-03-29 11:01:25 +02:00
Yann Leboulanger a884ba6762 prevent traceback. Fixes #8936 2018-03-29 09:41:40 +02:00
André Apitzsch 612b7b4302 Show help lines only once
fixes #9018
2018-03-28 20:13:05 +02:00
Yann Leboulanger a9a6b048fb set a transient_for for join groupchat dialog when needed. Fixes #8994 2018-03-28 16:14:54 +02:00
Yann Leboulanger 16b8eb1fd0 ability to fix room name when browsing muc service. See #8994 2018-03-28 15:22:28 +02:00
Yann Leboulanger f52e8d889c don't traceback on account deletion. Fixes #8960 2018-03-28 11:36:14 +02:00
Philipp Hörist 241deac31c ChatControl: Display status message nicer 2018-03-27 23:43:24 +02:00
Yann Leboulanger a3853f6958 fix string 2018-03-27 15:02:11 +02:00
Yann Leboulanger 7562acbe5b correctly generate css for font that have a space. Fixes #9012 2018-03-27 12:25:20 +02:00
Philipp Hörist 5794d54d1c Dont print status if it has not changed
Only print the status, if status has changed or the status message

Clients announce there idle-time with presences but adding a idle-time
does not necessarily mean they went from available -> away

Fixes #9001
2018-03-26 23:47:43 +02:00
Philipp Hörist 4f1ba653e1 Raise min GTK version to 3.22 2018-03-26 19:41:41 +02:00
Yann Leboulanger 5353f770a1 Fix button text. Fixes #9005 2018-03-26 17:45:32 +02:00
Philipp Hörist 99b3aebc99 Remove unused imports 2018-03-26 01:06:56 +02:00
Philipp Hörist 6f55cf3dd4 Fix some problematic imports 2018-03-26 00:19:59 +02:00
Philipp Hörist b54f27599c Set min-width for notebooks tabs
Fixes #8973
2018-03-25 23:28:17 +02:00
Roland Pallai 23add367be Fix regression in a4291a27 2018-03-25 22:46:51 +02:00
Roland Pallai a4291a27f1 Fix sound playback for received group chat messages
Testing for historical messages was broken because `msg_obj.timestamp`
second resolution assumed but this is false and this led to broken
sound playback for received group chat messages.
2018-03-25 22:26:59 +02:00
Philipp Hörist 69fd7dc737 Groupchat: Set minimize on auto join default True 2018-03-25 21:34:42 +02:00
Yann Leboulanger 5874f5c388 ability to run history manager even when -s option is used to run Gajim 2018-03-25 20:52:36 +02:00
Yann Leboulanger e44d5e9778 typo 2018-03-25 18:29:17 +02:00
Yann Leboulanger a336f48b67 more string improvements 2018-03-25 18:20:37 +02:00
Yann Leboulanger faa88819a1 improve some strings 2018-03-25 16:26:29 +02:00
Philipp Hörist f7d9c16735 MessageTextView: Remove placeholder on paste
Fixes #8975
2018-03-25 01:39:16 +01:00
Philipp Hörist 6bd6294ab2 Disable autoscroll when moving the slider 2018-03-25 01:16:20 +01:00
Philipp Hörist 040521397e Dont use invalid sound devices
PulseAudio has devices that are None

Fixes #8797
2018-03-25 00:48:29 +01:00
Philipp Hörist af9552d704 Fix Autoscroll (for real this time)
Fixes #8992
2018-03-25 00:36:48 +01:00
Philipp Hörist 6207e607a8 Fix NoneType Error
element can be None if there was a error while calling Gst.ElementFactory.make()
2018-03-24 21:57:40 +01:00
Philipp Hörist 0fb19c2b1c Show error message on account registration
Prefer the error message text over the error code
2018-03-24 17:55:32 +01:00
Philipp Hörist e134e47deb HistoryManager: Clear logs TextView when nothing is selected 2018-03-24 17:25:49 +01:00
Philipp Hörist 058d3db1b0 Logger: Test for None after fetchone()
fetchone() returns None when nothing is found
len(None) yields a TypeError
2018-03-24 17:13:15 +01:00
Philipp Hörist 77dc975023 Only test if MUCs are on the blacklist 2018-03-24 10:52:16 +01:00
Philipp Hörist af2c66b50b Improve disabling autoscroll
Add the SHIFT + PAGE_UP keypress
Fix catching mouse scroll UP on some systems
2018-03-24 02:36:22 +01:00
Philipp Hörist 9314a0543b Add non-compliant mam:2 MUCs to blacklist
For MUCs on the blacklist we do a deduplication not depending on
stanza-id

This patch is only for current Prosody 0.10 stable and the mod_mam_muc
module which does not add stanza-id to the messages.

This can be removed once Prosody 0.11 hits or the module is updated
2018-03-24 01:47:03 +01:00
Philipp Hörist 4e1a9db6cc Remove conditional code for nbxmpp < 0.6.3 2018-03-24 00:19:27 +01:00
Philipp Hörist b3e6170e57 Remove cacert.pem
Dont ship cacerts, use certifi on Windows
2018-03-24 00:17:34 +01:00
Yann Leboulanger ba48e4530b don't just ignore when we receive an error to vcard request. Fixes #8965 2018-03-23 22:17:59 +01:00
Philipp Hörist e0256719ae Refactor resizing MUC rosters
Dont trigger resizes on notify::position, because the absolut
handle position changes also on window resizes, but the relative handle
position doesnt change.

Instead we use the notify::position event now to save the new position
to the config file and use left button release event (release of the handle after dragging)
and the window maximize/minimize event to trigger resizes in all controls

This fixes also fixes a issue where a previously hidden roster was shown again
if a new tab was opened.

Fixes #8984
2018-03-23 00:41:15 +01:00
Philipp Hörist 3d980fd6f5 Show image preview in filechooser dialog 2018-03-21 20:24:20 +01:00
Philipp Hörist a218864d91 Add stanza to log output in case of an error 2018-03-21 19:53:07 +01:00
Andrey Gursky c6172c86ad Fix window position restore on multi-head setups
Gajim stopped to properly restore roster and dialogs windows positions
after restart with more than one monitor attached.

Gajim saves the absolute window positions, i.e. based on the total screen size
of all monitors attached. Despite Gtk deprecated Gdk.Screen.width() and height(),
we cannot just use width() and height() for one monitor, as recommended.
We still need the total screen size, which was the base for saving the positions.

[1] https://stackoverflow.com/questions/30207586/gdk-screen-vs-monitor-vs-display
2018-03-21 19:40:54 +01:00
Andrey Gursky 8d583a1801 Fixup for History Manager
Only call Gtk.main_quit() if History Manager is running standalone.
2018-03-21 19:30:21 +01:00
Philipp Hörist 57d4ddcd57 Commandline args are always type str in Python3
Fixes #8970
2018-03-21 19:17:15 +01:00
Philipp Hörist abdca0eaac Fix TextView scrolling
Fixes #8813
2018-03-20 22:19:30 +01:00
Philipp Hörist 83f57d49cb Remove unused code 2018-03-19 20:25:25 +01:00
Philipp Hörist b7e9fb70e3 Limit width of entrys in StartChat Dialog 2018-03-19 20:04:51 +01:00
Philipp Hörist 945b7baafb Only handle event if it belongs to the control 2018-03-19 01:34:38 +01:00
Philipp Hörist cbab10bedd Fix showing `not in roster` status icon 2018-03-18 00:04:49 +01:00
Yann Leboulanger 504bfef7db don't crash when we parse arguments in history manager. Fixes #8959 2018-03-17 22:16:54 +01:00