1
0
Fork 0
mirror of https://git.jami.net/savoirfairelinux/jami-client-qt.git synced 2025-07-23 00:45:29 +02:00
Commit graph

94 commits

Author SHA1 Message Date
Trevor Tabah
2e67dc1bd8 chatview: replace web chat view with qml listview
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
2021-10-06 15:51:20 -04:00
Maxim Cournoyer
a2e8238be5 build: Make Python a required dependency.
Python 3 is required to generate the resources.qrc file.

Change-Id: Ifb82097183715e6a1a1008a1bb58272afd8019ec
2021-10-01 09:30:57 -04:00
Ming Rui Zhang
e0737f4b70 settings: refactor for SettingsView - stage two
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
2021-09-14 16:52:45 -04:00
Ming Rui Zhang
a196513d2e settings: refactor for SettingsView - stage one
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
2021-09-14 16:52:30 -04:00
FuchtelJockel
8871db4986 build: fix includes, add glib and gio to CMakeLists.txt
First I added glib to cmake this fixed the glib.h not found error.
Then I got build errors from the missing GIO include as seen in the linked issue.
After adding the #include <gio/gio.h> the linker failed to find the gio library.
After adding the gio check to cmake all build issues were solved.

GitLab: #504
Change-Id: Iac537e10261f2e9dfa61029c4591e000851a378c
2021-08-30 11:07:08 -04:00
Andreas Traczyk
f2ba34ca51 accounts: introduce currentaccount
A structure to represent the currently selected account and it's
properties as observables.

Change-Id: I6b4ae92e15b492a4c4d61ec5da019e2c7e937401
2021-08-17 10:14:57 -04:00
Andreas Traczyk
6b3bf5149f misc: add a qml adapter class to represent the current conversation
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
2021-08-06 11:56:01 -04:00
Ming Rui Zhang
234ee7a2e9 wizardview: refactor account creation ui and enhance flow
1. Use MaterialToolTip in MaterialButton
2. Add BubbleLabel and BackButton
3. Add WizardViewStepModel
4. Focus re-visit

Gitlab: #470

Change-Id: I818da76c4b97cb08d2b6df6b2c8e2752d7a522f2
2021-07-29 10:48:39 -04:00
Andreas Traczyk
279f92d2af misc: generate image resource files during cmake configure
resources.qrc & src/constant/JamiResources.qml are unversioned.

Glob checks for changes to the resource dir and forces a
reconfigure.

Change-Id: Ic88e4e861b8367ba44bc0eea6c323e08310afb8b
Gitlab: #477
2021-07-27 13:26:53 -04:00
Andreas Traczyk
1a61af02f3 resources: remove unused images and icons
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
2021-07-20 21:57:27 -04:00
Andreas Traczyk
4bda330637 swarm: simplify and update avatar update mechanism
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
2021-07-12 17:29:48 -04:00
Ming Rui Zhang
14620f8bc8 messagewebview: chatview message bar qml replacement - ui
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
2021-07-09 10:06:42 -04:00
Maxim Cournoyer
a7e7105cda Rename dring to jamid, ring to jami.
Automated via the following command:

  $ git grep -l dring | grep -v '.ts$' | xargs sed -i
  's/dring/jamid/g'
  $ git ls-files | xargs sed -i 's,bin/jamid.lib,bin/jami.lib,g'
  $ git ls-files | xargs sed -i 's,src/jamid,src/jami,g'
  $ git ls-files | xargs sed -i 's,-mutejamid,-mutejami,g'
  $ git checkout docker

Change-Id: I030209b60817372f866055daadb4d0a1c1e2e9df
2021-06-29 16:12:18 -04:00
Andreas Traczyk
25f85712d7 calladapter: add calloverlay model
Introduce a model to manage the overlay logic.

It is not used in this commit.

Gitlab: #411
Change-Id: I6a666fe00e7f66c7e217ae1f77360327e83fdcd6
2021-05-25 16:39:07 -04:00
Ming Rui Zhang
8e1497bd1a build: use the correct path for files of translations
Change-Id: I7fff92d4df8e327a2f0065b4a125ebdae9fd0219
2021-05-10 16:32:41 -04:00
Andreas Traczyk
e64a9e7ee7 sidepanel: improve smartlist interface with underlying models
Minor cosmetic changes to the account combo box, search bar, filter
tabs, and smartlist.

Change-Id: Ie8173504859b325374e42f0dbb4e0ae75f3ed740
Gitlab: #373
Gitlab: #374
Gitlab: #388
2021-05-07 15:41:28 -04:00
Ming Rui Zhang
a7eafe4793 test: add building blocks for qml and GTest on windows
- Also updated the INSTALL.md

Gitlab: #385

Change-Id: Ib5bf9f0348dbc6da57e586475d698fe8dec0351b
2021-05-04 11:19:59 -04:00
Andreas Traczyk
b391d947c3 misc: use QAbstractListModel in list model base class and rename
Inlcuding QAbstractListModel inlcudes qabstractitemmodel.h, but
this is not certain.

Change-Id: I5affb3462a09f4f6ea93be2f979144608d015969
2021-04-27 14:05:24 -04:00
Ming Rui Zhang
8152db585c cmake: prevent the console from showing up by default
Change-Id: I87f352bf69dd5d60e9df821d3e1f9e7b349c29e2
2021-04-19 10:18:07 -04:00
Mingrui Zhang
19e8c3da66 cmake: revert the change for linux lrc translations
Change-Id: Ia5b38d008dc8914e437ce5c3140679872d025e59
2021-04-16 15:51:21 -04:00
Ming Rui Zhang
855be429fe cmake: make cmake minimum version to be 3.15 for MSVC
Change-Id: Ie87b2d7a5fdcb7b600bba3e99471b236804bfd6e
2021-04-16 09:11:33 -04:00
Ming Rui Zhang
c19fb112bb build: use cmake entirely for windows
GitLab: #352

Change-Id: Ib373811c9d47164954a19633fd0da389eff5aac6
2021-04-14 17:09:17 -04:00
Andreas Traczyk
ac87d33d9f misc: put lrcinstance implementation into cpp file
Change-Id: I46c4e17124b2c0cbf6e92c696d3d47e1b0ad2d0d
2021-04-09 16:00:33 -04:00
Andreas Traczyk
7f28ac65df notifications: add avatars to gnu/linux notifications
Gitlab: #320
Change-Id: Ib2121257af2704dd2a246b499961657b66ae944d
2021-04-07 16:06:59 -04:00
Andreas Traczyk
2cc82053c9 notifications: implement libnotify on gnu/linux
Gitlab: #320
Change-Id: I39ffd7e0ba8c5160e81a6b64260f3d92ab8c619a
2021-04-07 16:06:05 -04:00
Mingrui Zhang
2e60568307 project: don't use Qt keywords for signal/slot/emit
Gitlab: #320
Change-Id: Ia2a16a05be3fd6452a39df999660a5c8440eea13
2021-04-02 15:37:43 -04:00
Andreas Traczyk
4ce208ec33 injection: remove the remaining c++ singleton classes
- refactor qml object registration
- inject AppSettingsManager and SystemTray

Gitlab: #320
Change-Id: Ic8232a290003245d09ad9452c9f5518fd260af78
2021-04-02 15:37:33 -04:00
Andreas Traczyk
255252e3aa cmake: use a default ring-project lrc path if not defined
This provides out-of-the-box cmake configuration for QtCreator
without having to manually specify the lrc path.

Change-Id: I3a8abbc2d0dd8062cecece166afbf09b91b52f59
2021-04-02 15:37:33 -04:00
Ming Rui Zhang
7951764b2e misc: remove LRC singleton
GitLab: #337

Change-Id: Ifb671d38d364714818650a8154c43a5787460039
2021-03-22 15:47:14 -05:00
Andreas Traczyk
28aa5aab6d settings: use default audio devices
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
2021-03-22 15:59:24 -04:00
ababi
4d6f5b3410 translations: revise access to translations for GNU/Linux
- correct translations (.qm) install path for cmake
- use JAMI_INSTALL_PREFIX to fetch translations
- create "share/ring/translations" inside build dir to store .qm files

Change-Id: I127cbad1d4b00a628d79e9654ed471f456a550e8
2021-02-19 17:28:48 -05:00
ababi
c36d5cc324 callview: inhibit screen saver while in a call
Gitlab: #272

Change-Id: I25c1a9547b526f8889231a9d5061e63c349c39f1
2021-02-12 17:18:21 -05:00
Amin Bandali
e93854e137 autostart: revision for snap packaging
Adjust JAMI_DATA_PATH (and in turn JAMI_DATA_DIR) for snap after any
cmake 'install' command definitions that refer to it, so that the
version compiled into the package using target_compile_definitions
will have the right value for our snap package.  With this particular
configuration, we don't have to check for JAMI_DATA_DIR during runtime
since it will have the right value set at build time, and the path it
points to (/snap/jami/current/...) is actually stable across updates,
so we don't have to worry about correcting the autostart desktop file
symlink after each upgrade.

Note: as the comments in CMakeLists.txt mention, it is crucial that
JAMI_DATA_PATH is only adjusted after all 'install' commands that
refer to it, because its snap-specific value isn't meant to be used
during build time as an install destination.  Also, that the call to
target_compile_definitions must come after the JAMI_DATA_PATH change
described earlier.

Co-authored-by: ababi <albert.babi@savoirfairelinux.com>

Gitlab: #262
Change-Id: I07896be8195c336833bcd4a84b918276eddbe159
2021-02-12 13:17:19 -05:00
ababi
0d5361fc1f cmake: avoid generating doc if graphviz is not installed
Change-Id: I6fc0e28d5050110c87494e3cb19f7f2deded7ac2
2021-02-08 15:32:39 +01:00
ababi
5d460b089f cmake: fix setting definition
- definitions should be set with COMPILE_DEFINITIONS

Change-Id: Icdd47a010fd51ff4f061ef744d9004ef6b8fca2e
Gitlab: #262, #263
2021-02-05 09:27:17 +01:00
ababi
8caf659bb8 misc: add start on login support for linux
Gitlab: #160

Change-Id: I166988985e4a2c9b1d06d21ba0a1394159478172
2021-02-03 13:42:26 -05:00
ababi
69db8684a1 packaging: add global installation support for linux
- avoid using fixed paths and find LRC either when globally installed or located in custom directory
- add installation rules for binaries, .desktop files, .appdata.xml, logo and doc
- add support for generating and copying runtime files (webresources and translations)
- add launcher script (client qt/gnome/kde selector)
- add uninstall support
- add missing sources (moderatorlistmodel)
- update README

Gitlab: #160, #230, #263, #264

Change-Id: I3fee77a917be038072a20c7f99b510f9a8bf65b4
2021-02-03 13:42:19 -05:00
agsantos
a5ec0c8e65 plugins: add ChatHandler API
Change-Id: I415fc953b9111ca7e3d899c1531a42bd43716ab2
2021-02-03 09:09:26 -05:00
ababi
2d461cc557 build: add support for custom lrc installation path
- qmake: add custom lrc path support
- cmake: add custom lrc path support, check qt version, update dependencies, optional test compilation
- readme: update flags building with make-ring.py
- tests: avoid using pandoc

Change-Id: I97dea21ca7c720c2d619c44bfa7dae5290de72f9
2020-12-16 10:10:58 -05:00
ababi
a4787e2a45 nm: add libnm support for connectivity change detection (linux)
Change-Id: I014999c80cfbc725ff36e517696a3ffb237a6213
2020-12-14 17:17:55 -05:00
ababi
310adb9aa1 cqfd: add Ubuntu 20.10 Dockerfile and other test fixes
- add Ubuntu 20.10 Dockerfile to build with cqfd
- set symlink to Ubuntu 20.10 Dockerfile instead of Debian 11
- fix packages on Debian Dockerfile
- add subdirectory tests and dummy_test to CMakeLists.txt

Change-Id: I13d21e2b9e53d456ec1d7a53962860912397d9c7
2020-11-06 15:31:10 -04:00
ababi
4048a9d710 tests: add first samples for c++ and qml testing
- add QtQuickTest, QtTest and googletest support
- create tests folder within cmake hierarchy
- avoid using wildcards in Dockerfile

Change-Id: I81661a86757f01333538908dbc81a0bafae00ab7
2020-11-06 10:53:34 -05:00
Ming Rui Zhang
173cf2be50 migration: use image provider to show avatar image
1. Use avatarimageprovider
2. Remove redundant base64 code

Change-Id: I2a2517890e95b4a9f9a363fbea2251d6d5dd1c8f
2020-10-30 11:35:39 -04:00
ababi
ce8783f753 build: cmake migration
Change-Id: I53835f403bf5be06ad3b8e92fc3f81c747074d21
2020-10-28 18:38:15 -04:00