Age | Commit message (Collapse) | Author |
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
Test-Information:
Build on macOS 10.12.1 and all tests pass.
Change-Id: Iedaa3fa7e7672c77909fd0568bf30e9393cb87e0
|
|
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
|
|
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
|
|
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
|
|
Change-Id: Idb6ef5fa191b1465c0bf46c47e63b695de07fa0b
|
|
Change-Id: Idb51c066c5b0030646eecf641d729966b9e14d06
|
|
Change-Id: I53ce03b9536e97766c4afd286f3b09a941693265
|
|
Change-Id: Ic65eef49b415a7b8e1575b517cc758cb9c95defc
|
|
Change-Id: I26e4e979ce0af2bc922f1b3f740ed58b0c9d9d53
|