- 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
Progress bar "pulse" method indicates that something has been done. For example, when indexing files, it can indicate that one file has been processed, but the number of files to process is unknown. In case of ad-hoc commands, there is only an indication that Gajim is waiting for the network, so spinner is more appropriate here.
Radio buttons are more suitable for static lists of options.
GNOME seems to be using lists in similar situations, for example to show a list of network printers.
This also makes it possible to search a command by typing.
Use GtkFileChooserDialog only when we need previews, default to
NativeFileChooser otherwise.
GtkFileChooserDialogs have a long list of issues, so lets only use it
if we gain something from it.
Flatpak should only run NativeFileChoosers because its sandboxed and
this is needed for security purposes. As a result of that, Flatpak Users
dont have image previews in the FileOpenDialogs
Refactor all FileChoosers for a more simple approach when we use them
Add a new SendFileDialog, so we dont have to put widgets into the FileChooser
which forces non-native Dialogs.
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
- Use ComboBoxText, its much simpler
- Add a dedicated method that returns all available themes
- If the configured Theme is not available fallback to font-emoticons
- Complete rewrite of the old Groupchat dialog
- Has now a "minimal" mode, which is used if we have all infos for joining except the nickname and if we want to bookmark
- Handle xmpp uris received via command line
- 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
- 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