summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2018-07-19Add server avatars to multiaccountThanos Doukoudakis
This patch implements a Model/View/Delegate for the multiple accounts a user might have. The list is shown on the left of the client, with an avatar, status presence and unread message counter. Mouse over a server avatar will show the user jid that was used to connect to the server. Server avatars are currently using the default Swift logo, server information are not connected with the actual data, and the presence icon is not being rendered. Future patches will improve this and connect to the actual server data. Test-Information Tested the changes in the UI in Windows 10 Qt5.8 and Ubuntu 16.04 Qt 5.6. Tested the status change, login, logout and saving account information during startup. Change-Id: I4aa86afffe6a02d589b47185cc587b2e09de7450
2018-07-18Add support for multiple accountsThanos Doukoudakis
Added support for multiple accounts and a list of servers where the user can switch between the accounts. Future patches will make the list widget to use server avatars with user status. Upon startup the client will reconnect with all previous accounts. If the user log outs with any of the accounts then it will not login automatically for future sessions, the credential though will be available to the user. Upon upgrading from previous versions, the client will migrate the account that was previously marked to auto-login to the new configuration and enable it. After the migration the autologin setting will be set to false. Some of the settings and command line arguments have been made obsolete due to these changes and removed, including SSO support, which will be re-introduced in a future patch. Test-Information: Tested the changes in Windows and Linux, tested adding and removing accounts, and switching between them. Tested the new configuration for accounts, the upgrade behaviour when an account is marked/not marked to autojoin, and the migration to the new configuration. Verified that the auto-login setting is set to false after the migration, and that the migrated account can be disabled (currently only by signing out). Change-Id: I63662f80e006112fde6f418f9743e2b420e81870
2018-05-18Open swift with sensible geometry in netbook mode the first timePeter Burgess
If swift has never been run in netbook mode before, then netbook mode geometry is set by some hard coded default value during construction of QtSingleWindow. The code to set and utilize the original non-netbook mode geometry has been removed. Test-information: No unit tests as all changes at Qt specific. Tested after deleting config file. Tested after replacing config file with one that has no SINGLE_WINDOW_XXX settings (so a config file you would find if swift had never been opened in netbook mode). Tested with one or other of the SINGLE_WINDOW_XXX settings missing Tested with config file that contains all SINGLE_WINDOW_XXX settings Change-Id: I0075456796bd830b855629fbd03d601df7f2891c
2018-05-09Remove ability to hide rosters via QSplitterTobias Markmann
Previously, you could move the QSplitter slider all to one side and thereby hide the account and MUC rosters. However, these splitters can be hard to get back their previous positions. Test-Information: Verified in Swift that you can not hide/collapse the roster in the UI anymore on macOS 10.13.4. Change-Id: If6622684feb47e5b4172405fe15c3a90178d7b9d
2018-05-04Set QSplitter width to 0px on macOS for more native lookTobias Markmann
Finder, Mail and other applications all use one or zero width splitters. Test-Information: Rebuilt and verified the splitter look more similar to those in Mail and Finder on macOS 10.13.4. Change-Id: I14827bf3e17d73b24f634031c90ff6b062f5611d
2016-11-23Migrate remaining Swiften/Base/foreach.h use to range-based for loopTobias Markmann
Test-Information: Build on macOS 10.12.1 and all tests pass. Change-Id: Iedaa3fa7e7672c77909fd0568bf30e9393cb87e0
2016-04-14Fix delayed login/roster resize on window resize in netbook modeTobias Markmann
If you resize the window in netbook mode, the splitter inside only resizes to the new geometry if it is clicked or moved. This is due to overriding resizeEvent hook of QSplitter in QtSingleWindow but not notifying QSplitter's resizeEvent hook in the new method. Test-Information: Tested on OS X 10.11.4 with Qt 5.4.2. Opened Swift in netbook mode and resize the window. The login screen is resized as the window is resized. The login screen used to only resize if you moved the splitter. Change-Id: I7715e1cdcb4c0e672e233a9f76fad3ef5fe70d25
2016-03-31Convert tabs to 4 spaces for all source filesTobias Markmann
Removed trailing spaces and whitespace on empty lines in the process. Changed CheckTabs.py tool to disallow hard tabs in source files. Test-Information: Manually checked 30 random files that the conversion worked as expected. Change-Id: I874f99d617bd3d2bb55f02d58f22f58f9b094480
2016-03-30Apply consistent #include grouping and sorting styleTobias Markmann
Changed "" style includes to <> style. Test-Information: Build with Clang 3.9.0 and ran all tests on OS X 10.11.4. Change-Id: Ic05e53f2e5dba39cc1307b116fc5f17b62ab9eb8
2014-12-15Update Copyright in SwiftKevin Smith
Change-Id: Idb6ef5fa191b1465c0bf46c47e63b695de07fa0b
2013-03-24Show window titles in netbook modeKevin Smith
Change-Id: Idb51c066c5b0030646eecf641d729966b9e14d06
2012-12-23Remember window splitter placement in netbook modeKevin Smith
Change-Id: I53ce03b9536e97766c4afd286f3b09a941693265
2012-12-23Remember single window sizeKevin Smith
Change-Id: Ic65eef49b415a7b8e1575b517cc758cb9c95defc
2012-12-23Make the splitter into a classKevin Smith
Change-Id: I26e4e979ce0af2bc922f1b3f740ed58b0c9d9d53