Removes the rendermanager and framewrapper objects along with any
QQuickPaintedItem-based QML render widget classes. This simplifies
the video widget stack implementation.
The new mechanism uses the VideoOutput component of QtMultimedia.
By accessing the VideoOutput's QVideoSink object, we update the
mapped buffer data of a sink's QVideoFrame when new frames are
published. Updates to frames and component sink subscriptions are
managed by a new class called VideoProvider.
Gitlab: #500
Also https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/536
Change-Id: I2391a32294922ea435ab80ac1f876c004ff6c21e
Save virtual desktop geometry and window visibility state settings
and set them for the application window when loading.
Gitlab: #604
Change-Id: I053716d9c7b5d23e1bd7f33a1c41aedefb6cf9c8
Introduces a primitive QML ListView based chat view lacking
features present in the previous web chat view, that will be added
in subsequent commits(styling, preview/media/link/file-transfer
message type support, etc.).
Gitlab: #467
Change-Id: Iedc40f6172a6cdacc48cda6f4187053fbf226713
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
Provides observable property representations of a conversation info
structure. Is updated when the selected conversation Id changes.
This object is only exposed in this commit, and will be used in
subsequent commits to introduce a more declarative approach in the
UI code.
Change-Id: I25be0f6b82cf9341b67fbf04fdeb04bffbf8ab24
gen-resources.py should be used to generate resources.qrc and
JamiResources.qml. Steps to add an image resource:
- add the resource file to the appropriate path under resources/
- run gen-resources.py
- use the newly available resource
Note: only icons and images will be represented by Qml properties.
The resource file generation may be made to run during CMake
configuration in a subsequent commit.
Some unused components were also removed during the refactor.
Gitlab: #477
Change-Id: I8e7f13d465031666be2bbadd5f29f9afc94d210d
1. Adjust QML main setup
2. Add resources.qrc for test and Qt Creator display
3. Change LRCInstance and ScreenInfo to QML Singletons
4. Move QML type registration entirely to qmlregister
Change-Id: I5c8a854173a2ec1f85ffa971707af262fa344505
1. New emoji picker by customizing emoji.js
2. New message bar ui (textarea, buttons, tooltips)
3. New pending files transfer container
4. Use MaterialToolTip for all PushButton
Change-Id: I05d0531c65c019ced42b04668a780919c8a4fac3
Removes profile type filter entirely. Treats swarm and non-swarm
differently when accessing role data.
depends on https://review.jami.net/c/ring-lrc/+/18656 for changes to
helper function names in conversation::Info
Change-Id: Ife69d4c70072ea524fed873136fd9ec39632d6d8
Minor cosmetic changes to the account combo box, search bar, filter
tabs, and smartlist.
Change-Id: Ie8173504859b325374e42f0dbb4e0ae75f3ed740
Gitlab: #373
Gitlab: #374
Gitlab: #388
When registering into QML namespaces from a non-global context,
certain QtCreator versions fail to find import modules. The only
effect is a lack of correct "intellisense". We can register dummy
namespace into the QML module namespaces we use to quiet the IDE.
Change-Id: Ideb06541475788c669619be82c30d993554435a9
Refactors audio settings to avoid list model code duplication. This code
could be greatly simplified by using string lists, however the combo-box
component design is highly dependent on QAbstractItemModel based models.
Also translates the handlebarred strings upon presentation, which is
currently used to translate the "Default" prefix for the first device
item.
Gitlab: #346
Change-Id: I5ed282d29cc4ec6a090a9cdf47b0459f0db2a99b
- 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
- re-introduce a genericized NetworkManager
- isolate update logic into a qml accessible class derived from
NetworkManager
- fix QtWebEngineProcess missing when re-installing over existing
version
- provide a command line option to override the base url
for testing local and remote updates
- clean-up manual update-check UI
Gitlab: #101
Change-Id: I9c8d2badae59ec31cab12d38b8470edf2bcad401
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
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
Partially optimized the wizardview related UI code and UI performance.
Note: Since some common components are changed, UI changes in settings
view are also required to keep the original style.
Gitlab: #59
Change-Id: Ib77868bac3a6479700e81f3361b67a8403725661
- 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