Commit Graph

138 Commits

Author SHA1 Message Date
Philipp Hörist be96422a14 Disco the room after it has been created 2018-09-01 00:03:24 +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
Yann Leboulanger 08d0cde95d improve string for translators 2018-08-30 14:57:33 +02:00
Philipp Hörist 1c69b92d85 Move filechoosers into gtk module 2018-08-19 17:47:17 +02:00
Philipp Hörist f3dd55de3e Add reason to MUC service-error kick 2018-08-19 17:02:10 +02:00
Philipp Hörist 9d5131b8b4 Rework Gajim Theming
- Save all Theme settings to .css instead of the config file
- Add a gajim-dark.css
- Refactor the ThemesWindow
2018-08-16 22:53:33 +02:00
Philipp Hörist 71586e01d2 Escape groupchat name in tab label 2018-08-12 00:06:22 +02:00
Philipp Hörist f438a27ab8 Handle new MUC status code 333 2018-08-08 21:51:23 +02:00
Philipp Hörist 5a6f03dea4 Add connect_maschine()
Add method that sequentially works the steps we have to do
before sending first presence

- Move Delimiter into own module
- Move Metacontacts into own module
2018-07-27 16:01:10 +02:00
Philipp Hörist a943a35a5d Move caps code into own module 2018-07-22 20:49:53 +02:00
Philipp Hörist 07c87a4194 Rewrite discovery code and move it into own module 2018-07-22 16:20:00 +02:00
Philipp Hörist 5ff9e9febf Move dataforms into modules folder 2018-07-22 16:20:00 +02:00
Philipp Hörist 78858f7c82 Move more MUC methods into muc module 2018-07-22 16:19:53 +02:00
Philipp Hörist 3a3b5aff20 Move some dialogs into gtk module 2018-07-18 00:15:46 +02:00
Philipp Hörist bff5f14b92 Move invites into MUC module 2018-07-17 18:38:36 +02:00
Philipp Hörist ebbe06d587 Refactor MAM into own module
- Rework the MAM Preference dialog
- Move MAM Preference dialog into a new gtk module
- Refactor all MAM code into own module
- Refactor the MAM code itself so we can easier test it in the future
- Add a misc module for smaller XEPs and move EME, Last Message Correction
Delay, OOB into it
- Add dedicated module for XEP-0082 Time Profiles
2018-07-15 14:26:00 +02:00
Ave O c3a359ba23
Change to gender-neutral alternatives of pronouns 2018-07-11 23:15:56 +03:00
Philipp Hörist aaab5f17ce Remove whitespace char from groupchat label 2018-07-11 19:04:09 +02:00
Philipp Hörist bd79fe629f Refactor Privacy and Blocking into own modules 2018-07-08 16:44:14 +02:00
Philipp Hörist 4bcdbde2c8 Move httpupload into modules 2018-07-07 01:49:50 +02:00
Philipp Hörist a1e1e56dda Fix logic error when printing status 2018-07-05 22:03:06 +02:00
Philipp Hörist 3b7055ca74 Fix regression from 2ca0ca38
Fixes #9230
2018-07-05 18:06:48 +02:00
Philipp Hörist 2ca0ca38a5 Refactor Pubsub/Bookmarks/UserAvatar into own modules 2018-07-01 22:35:56 +02:00
Philipp Hörist 8b800f4646 Refactor VCard code into own modules 2018-06-30 19:32:36 +02:00
Alexander Krotov 7fa4c9e1c2 Spellcheck 2018-06-28 23:37:34 +02:00
Philipp Hörist 7b957a2876 Refactor ping code into own module 2018-06-24 23:33:42 +02:00
Alexander Krotov d871dcdcb1 More spelling fixes 2018-06-22 01:47:29 +03:00
Alexander Krotov 1870f560a4 Spellcheck some comments and docstrings 2018-06-19 01:56:18 +03:00
Philipp Hörist c5f8fe915a Disable subject change if room doesnt allow it 2018-06-01 20:02:29 +02:00
Philipp Hörist 32b74b459e Remove support for ESessions
Fixes #5294
2018-05-28 18:21:45 +02:00
Philipp Hörist 2636e3449f Refactor avatar publishing
- Publish avatars with a size of 200x200
- Add AvatarSize.PUBLISH so we can easily change it in the future
- Dont upscale small avatars on publish
- Use surfaces for displaying the avatar in ProfileWindow and VcardWindow
because this scales correctly on HiDPI screens
2018-05-20 01:28:12 +02:00
Philipp Hörist 913634c4c6 Add menu for uploading room avatars 2018-05-06 09:11:32 +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
Daniel 9f0eaf9df7 Fix placeholder not being removed when inserting nick in MUC via context menu 2018-04-13 22:36:57 +02:00
Yann Leboulanger 6d868546fa update action when creating groupchat window. Fixes #9042 2018-04-07 22:48:38 +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
Yann Leboulanger c2184aaf8c remove bookmark and close muc when destroying the room. Fixes #8862 2018-03-29 11:01:25 +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 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 abdca0eaac Fix TextView scrolling
Fixes #8813
2018-03-20 22:19:30 +01:00
Philipp Hörist 945b7baafb Only handle event if it belongs to the control 2018-03-19 01:34:38 +01:00
Yann Leboulanger 1190b10ecd prevent traceback when pressing tab in groupchat. Fixes #8933 2018-03-06 21:59:40 +01:00
Yann Leboulanger 14f3e041de Use hide_groupchat_occupants_list option to decide if we show the occupant list or not. Fixes #8922 2018-03-06 21:53:38 +01:00
Philipp Hörist 51a4c4b5fd MAM: Display corrected messages on MAM catchup
This shows corrected messages correctly in groupchat when we
receive the messages via MAM
2018-02-25 21:20:38 +01:00
Philipp Hörist a94276f6e9 Make file transfer labels sound less technical 2018-02-22 22:45:15 +01:00
Philipp Hörist f1aceae214 Fix avatar ratio
Fixes #8907
2018-02-19 22:02:31 +01:00
Philipp Hörist 828e969d23 Simplify cellrenderers
- Makes it better understandable
- Fixes a bug where an avatar was drawn in a group row
- Fixes not all cells getting the same background color while using a theme
2018-02-18 02:00:43 +01:00
Philipp Hörist c5c717ddd1 Use IconTheme for some icons 2018-01-29 20:02:30 +01:00
Philipp Hörist 762617e0be Use icons from IconTheme for Groupchat Roster 2018-01-29 00:06:46 +01:00
Philipp Hörist dd12584fe6 Use icons from IconTheme for ChatControl Banner
It will correctly scale on HiDPI Displays if we set it like that
2018-01-29 00:06:32 +01:00
Philipp Hörist 232dc1dda0 Scale Avatars for HiDPI Screens 2018-01-29 00:06:31 +01:00
Philipp Hörist 5ce0c65ce4 Move chat options menu
Putting it into the header forced GTK Window Decorations, that makes
the application look alien on all systems except Gnome.
2018-01-28 20:39:02 +01:00
Philipp Hörist afc3075415 Refactor adding actions to chat windows 2018-01-27 10:29:52 +01:00
Philipp Hörist b8a62a8bb2 Fix shortcuts in chat window
Fixes #8873
2018-01-27 08:44:11 +01:00
Bronko 3a3be94aa8 integrate httpupload plugin into gajim core
add new config option 'filetransfer_preference'
add drag and drop support for file upload
2018-01-22 17:29:27 +01:00
André Apitzsch 6f025a1d4a Remove some unused imports 2018-01-12 00:21:11 +01:00
Philipp Hörist ccc69bc7ee Fix LMC in Groupchats 2017-12-28 17:37:37 +01:00
Philipp Hörist 8ea39cff75 Add 'active' chatstate to groupchat messages
Fixes #8801
2017-12-27 19:09:12 +01:00
Philipp Hörist fd7f302044 Merge branch 'master' into 'master'
Refactor some Tooltips

See merge request gajim/gajim!180
2017-12-24 08:40:04 +01:00
Philipp Hörist 8116ef1316 Refactor GCTooltip
- Dont create a Tooltip window
- Just return the tooltip grid, so we can use it with set_custom()
2017-12-23 22:04:54 +01:00
Yann Leboulanger c3369f0304 ability to call ad hoc commands on groupchats and groupchats occupants.
Fixes #8819
2017-12-22 12:21:57 +01:00
Philipp Hörist 7815ce19a5 Dont use callbacks when sending messages
Using a callback to display a sent message inside the ChatControl means
that all messages we send have to be issued from the GUI layer
(send_message()) if we want them to display in the ChatControl.

This replaces the callback and catches the stanza-message-outgoing event
after it was processed by the core.

This is easier to read/understand than dealing with callbacks and lets
the core issue messages without having to care if a ChatControl is open or not
2017-12-10 18:56:29 +01:00
Philipp Hörist 75b1d54b4c Add MAM for MUCs 2017-11-19 19:36:20 +01:00
Philipp Hörist 24320c894c Remove unused code 2017-11-19 14:34:04 +01:00
Philipp Hörist 4c45c186c4 Pass additional_data to groupchats 2017-11-03 16:33:34 +01:00
Philipp Hörist 06e4c2c4f1 Display carbons in MUC-PMs correctly 2017-10-29 09:50:16 +01:00
Philipp Hörist 970d6f8c3f New style for ChatControl
- Move ActionBar into HeaderMenu
- Make Design of ChatControl look cleaner
- Hide the Roster in Groupchats per default
- Add Button to hide/show Roster in Groupchats
- Move Groupchat topic into popover
- Display Avatars on the right side of the ChatControl and status on the
left
- Add a default Avatar for contacts that have none
2017-10-26 22:52:20 +02:00
Philipp Hörist 1c7369229e MUC: Save last message time after each message 2017-10-22 20:12:25 +02:00
Philipp Hörist 03e326688d MUC: Hide block menu if privacy list is absent 2017-10-15 21:34:42 +02:00
Philipp Hörist 2e9de7702f Remove discovery of generic pubsub support
We use PubSub only on our account jid, this use case is what PEP
was made for. If PEP is discovered we know that certain PubSub
features are supported, see: https://xmpp.org/extensions/xep-0163.html#defaults

The current check for <feature var='http://jabber.org/protocol/pubsub'/>
is pretty useless, as it just tells us that there is a PubSub implementation
but not much about the features. Only `publish` and `subscribe` are MUST
in XEP-0060 which is not enough for our needs.

If there is ever need to discover a generic PubSub implementation
that is not PEP we should check for all the PubSub features we need
instead of only for <feature var='http://jabber.org/protocol/pubsub'/>
2017-10-15 01:56:52 +02:00
Philipp Hörist a01cdbf271 Refactor Avatars
- Add support for Pubsub Avatars
- Dont poll for vCard Updates, only use XEP-0153
- Dont cache vCards
- Store the avatar SHA of roster contacts in the DB
- Store the current SHA of each contact in the Contacts Object
- Move some code into the ConnectionVcard Class
2017-10-08 11:26:28 +02:00
Philipp Hörist 2a2d4477a7 Fix broken highlight sound in Groupchat
tim is epoch, time.localtime() a struct_time
2017-10-07 11:15:10 +02:00
Philipp Hörist 6f2fbde60e Highlight on mention of own real JID in Groupchat
Fixes #8752
2017-10-07 11:10:53 +02:00
Philipp Hörist 7bd73e2424 Fuse Emoticons/Authentication with TextView 2017-10-03 03:12:31 +02:00
Philipp Hörist ef748c6d46 Remove send button 2017-10-03 00:38:47 +02:00
Philipp Hörist 9785f31415 Set lock_image from icon name instead of filepath
Fixes #8673
2017-09-22 16:44:07 +02:00
Yann Leboulanger d070d141bb fix scrolling to iter in groupchat when we receive a pm. Fixes #8635 2017-08-21 21:59:47 +02:00
Yann Leboulanger 07ba85b456 Ability to be notified on all message. Option is now perroom. Fixes #8646 2017-08-20 23:07:58 +02:00
André Apitzsch 89c7eb6e6a Rename gajim.common.gajim to avoid name conflicts 2017-08-18 20:03:20 +02:00
André Apitzsch efec098aef Use absolute imports 2017-08-18 19:48:48 +02:00
Philipp Hörist 10f8fe2bb5 Use unique id as action name instead of jid
A jid can contain characters that are not allowed in an action name.
This creates a unique UUID4 for each MessageControl and uses it as
action name instead.

We can reuse the UUID for other actions that belong to the
MessageControl

Fixes #8636
2017-08-18 18:58:07 +02:00
Yann Leboulanger a47bb9f03c fix error when someone changes nick ina room 2017-08-17 21:40:00 +02:00
Philipp Hörist 850e273605 Correctly remove timeout source
Set source IDs to None after removing the source
except when shutting down, because the Control ist destroyed anyway

Only try to remove if we have a source ID
2017-07-31 02:59:52 +02:00
Philipp Hörist 9bca51eb69 Implement XEP-0359 Stable Stanza IDs
- This allows us to better deduplicate Messages on MAM syncs
2017-07-28 14:03:14 +02:00
Philipp Hörist e675df1803 Fix activity timers for groupchat
- Dont add timers when we autojoin minimized
- Remove timers when the chatcontrol gets minimized
- Send inactive chatstate when the chatcontrol gets minimized
- Add timers when the chatcontrol gets maximized
2017-07-16 23:58:54 +02:00
Philipp Hörist 79716f421f Rework emoticon menu 2017-07-02 21:27:44 +02:00
André Apitzsch 125ce523e4 Rename src directory 2017-07-02 17:25:47 +02:00
Renamed from src/groupchat_control.py (Browse further)