1. Remove redundant functions in AvAdapter
2. Add CurrentDevice for video device treatment
Audio device treatment should be improved in the next
stage
3. Add QSortFilterProxyModel to all video list models and
manage them together to avoid redundant function calls
4. Video device call action should be responsive to device
change as well
Gitlab: #508
Change-Id: I3df949a08bc19042b73f033139cd6ab06925c0b6
1. Add account config QML properties and use them
in settings directly to avoid manual update
2. Rough clean up for video/audio settings
3. Remove settingsAdapter entirely and split the
responsibility
Change-Id: Icf81b91d5a3a0dd9f2a52824159cd222367b801f
1. Remove deviceModel from AccountAdapter
2. Use QSortFilterProxyModel to make sure that
current device is always on top and the rest are
in alphabetical order
3. Elide device name properly in DeviceItemDelegate
Change-Id: Ic66a11fb4a4a8cca65916653e0981b15c939bce6
1. Move accountStatusChanged and profileUpdated signals
out from safeInit.
2. Add interrupter concept into Utils::oneShotConnect
to avoid oneShotConnect being triggered after.
3. Add varieties of tests for wizardview including
accounts creation tests (SIP, Jami, Rendezvous, Backup)
4. Remove uncleared stackLayoutIndex
Gitlab: #470
Change-Id: I22c04811110b277eee53610f4ae34c924316a20a
Implements a leaner avatar caching system. The avatar component
listens for uid filtering its id, which may be:
- conversation id
- account id
- contact uri
In response to the uid change, a the image source is updated with
a new image url invoking a fresh QQuickImageProvider query. With
this design, only the avatarregistry's uid mapping needs to be
updated when profiles are changed, and no longer should specific
avatar components receive manual source updates.
Gitlab: #466
Change-Id: Ie5313f5c187a0977ca51b890dd92187480a42537
Using a custom getter setter cause the setting of the value to
require manual changed signal emission and in addition to being
error prone, this prevents the changed signal from being emitted
upon initial selection. Some excess workaround code may be removed
in following commits.
This patch also refactors the banned contact signaling as part of
an accountadapter connection cleanup.
Change-Id: I73fb751001e53e086adc7a6a8d706671c2878a77
This should fix a race condition preventing the right conversation
from being selected after an outgoing interaction and, more rarely,
accepting an invitation.
Change-Id: Iccd1f91ba4d46285c2f1e4594122a736824b752f
- use QString for interactionId
- swarm conversations: use loadConversationMessages and
subscribe to newMessagesAvailable signal
- avoid displaying "merge" and empty "data transfer" messages
- link composing status
Change-Id: Ic524bb786b2ff0471f03b1bb02d41d6da38e716a
Minor cosmetic changes to the account combo box, search bar, filter
tabs, and smartlist.
Change-Id: Ie8173504859b325374e42f0dbb4e0ae75f3ed740
Gitlab: #373
Gitlab: #374
Gitlab: #388
- remove some faulty hover state management, excessive text metrics
objects. Split the code up too and increase declarativeness.
- fix the rendering of account avatars in the dropdown list
- make the 'add account' item always visible
- make the popup modal with transparent overlay
Gitlab: #388
Change-Id: If0e5f95d1250ee77902c518469878bdb678c8b9d
- don't query the recording state in the set time text function
- change set time text function interval from 20ms to 1000ms
- stop the account-wide time text update timer when there are
no calls
Change-Id: Iaaabfd52a50ba61aaabade59cae4f061c562cb2d
On GNU/Linux, the ringtone is managed by the deamon. No need to
manage it (incorrectly) in the client
Change-Id: I38fe783d6bd0778f702ee6da333468c54d59d678
GitLab: #351
- add configurable list of default moderators
- add option for enabling local moderators
- indicate when participant is locally muted on moderation overlay
- small typo fixes
Change-Id: I1669c903be3c3a3f2344f1d95d8b618e62b9d412
A small fix to prevent username registration line edit receiving
signal when there is no input is also in since adding banned contact
back will trigger lookupAddress.
Gitlab: #152
Change-Id: I30afb42eab5903aefb7dd19e9f7a5ad77183e866
- switch between "conversations" - "invitations" smartlists according to call origin
- "Accept Request" button from msg's view header: hide on contact accepted, set on view load according to userType
- correct requests smartlist item selection on tab switch
- accept incoming call from pending contact makes conversation permanent
Gitlab: #74
Change-Id: Iadfef0d7e4032002d8007a4f18a9eae27f7ba230
- AccountAdapter::navigateToWelcomePageRequired is no longer required since subscription to property change in QML
- avoid unnecessary CallAdapter signals for UI management. Listen to BehaviorController and avoid duplicated / unnecessary signals.
- avoid duplicated code:
- account selection only in AccountAdapter::changeAccount and ConversationsAdapter::selectConversation
- simplification of ConversationsAdapter::selectConversation
- conversation UI always managed by ConversationsAdapter -> ConversationSmartListItemDelegate
- smartlistmodel: no need to show callstack for outgoing calls in state ENDED
Gitlab: #86
Gitlab: #87
Gitlab: #88
Change-Id: I7025d4292914939f5a78aee1c4742104b370641d
1. When there is no contact, some properties in smart list view could be null
2. When creating new accounts from no accounts, adding a new contact and
switch accounts will cause "Contact out of range". This is caused by
smartlist model account id does not update at that time. Instead,
use current account id always.
Change-Id: Ic42ec33c4932908caff2ebca2814903f95c12a10
- Note: adds forcing the main window to the top to overcome a
Qt/QML bug which prevents this from working when activating
from a notification window source.
Change-Id: Ib5a93d3937fe5a4de0229f7aeae8469d1ffdfba3
The clientwrapper class masks granular object registration within
qml, and encourages code duplication between viewmodels(adapters)
and code lasagnafication and the misuse of declarative Qml.
Change-Id: I85fef214363e62e54fc0681282323ea4861000d6
Gitlab: #66
- Separate utilsadapter into files and expose it to Qml so it can
be used without passing through clientwrapper.
Change-Id: I7c351d7191cd166521b6e0a685ea9d4a9731f165
Gitlab: #66
1. Add spinner button and logic when waitting for account created to
prevent reclicking the buttons
2. Add back button when creating accounts in main view.
3. Fix the look up username bug
4. Change some buttons to blue styled
5. Change back button to back arrow
6. Add autofocus when entering certain page
Gitlab: #59
Change-Id: I3cada8c07a6605f091001db75a2913cde379c41b
It seems concurrent calls to invokeMethod using qml component
object pointers can lead to access violations. These method
invocations can be replaced with a signal/slot mechanism.
This patch replaces only the invocations in conversationsadapter
and accountsadapter that are known to be problematic for now.
Some code cleanup is done for QmlAdapterBase derived classes.
Gitlab: #61
Change-Id: I72f47c9229a9bf42299ae52822c3a1a8c04eb423
- Introduces a C++/Qml common mechanic for accessing system settings
- Refactors a good chunk of application wide settings management code
- Refactors the onboarding and quit-suppression logic
- Makes a first stab at cleaning the Qml object registration
- Removes some 'ClientWrapper' use
- Fixes some file name spelling errors and inconsistencies
Gitlab: #51
Gitlab: #53
Change-Id: I3dd1085aca72a38827ec004e347bd91106be2bcb
- avoid duplicate call of LRC's setTopAccount()
- welcome view displays always the first account on the list, so passing the index is not necessary
- conversationsadapter and messagesadapter no longer listen to currentAccountChanged signal since there is a specific function for the setup
Gitlab: #12
Change-Id: Iac932d2596bf59c7528d83be799342ccefeea6b0