Skip to content
Snippets Groups Projects
  1. Nov 15, 2022
    • Andreas Traczyk's avatar
      misc: regenerate qml.qrc at configure time · 9e4f5a19
      Andreas Traczyk authored and Sébastien Blin's avatar Sébastien Blin committed
      Our qml.qrc is:
      - commonly in conflict and prone to erroneous conflict resolution
      - platform dependant (generation is used anyway for removing
        webengine dependant resources)
      - a poorly maintained hodge-podge with resources in subdirectories
        that aren't grouped
      - requires alteration when moving resources (if not done correctly,
        without tests, results in uncaught runtime failures)
      
      This patch uses a python script at configure time to generate the
      qml.qrc resource file, and removes it from versioning.
      
      GitLab: #749
      Change-Id: Ia2b81bb5b2c29d0bf6f5a5302e76795864e93e40
      9e4f5a19
    • Andreas Traczyk's avatar
      misc: clean image resource generation python script · a230365a
      Andreas Traczyk authored and Sébastien Blin's avatar Sébastien Blin committed
      Conform to PEP8 and Qt6/QML (remove QtQuick module version).
      
      GitLab: #749
      Change-Id: Ibccc8023e6f622f039bcdb470f3cade34cc2be9e
      a230365a
  2. Nov 14, 2022
    • Maxim Cournoyer's avatar
      Move xcb include/link directives from jami to libclient. · e2ce5c4d
      Maxim Cournoyer authored and Sébastien Blin's avatar Sébastien Blin committed
      Relates to <#882>.
      
      This problem was discovered when attempting to build the test suite:
      
         ld: ../src/libclient/liblibjamiclient.a(avmodel.cpp.o): undefined
         reference to symbol 'xcb_get_setup'
      
      * CMakeLists.txt: [!(APPLE or MSVC] Move xcb includes and link directives to...
      * src/libclient/CMakeLists.txt [!(APPLE or MSVC]: ... here.
      
      Change-Id: If9b6653e157081300caad8f13cafe4979a49630b
      e2ce5c4d
  3. Oct 17, 2022
    • Amin Bandali's avatar
      build: Add daemon submodule and optionally use it. · ca7b1e70
      Amin Bandali authored and Sébastien Blin's avatar Sébastien Blin committed
      This allows invoking cmake with -DWITH_DAEMON_SUBMODULE=true to use
      the daemon header files and library from the submodule.  Note that it
      is currently still necessary to build the daemon separately first,
      either manually or using the build.py convenience script.
      
      The goal is to eventually add support for building the daemon with
      CMake in the future, so that we could add_subdirectory(${DAEMON_DIR})
      in client-qt's CMakeLists.txt and have CMake take care of everything.
      
      Change-Id: I3a16c44837e6c79616b3101fea8a6ff3defa3ab5
      ca7b1e70
  4. Oct 07, 2022
    • Maxim Cournoyer's avatar
      misc: Rename jami-qt to jami and remove launcher script. · bf4a8c31
      Maxim Cournoyer authored and Amin Bandali's avatar Amin Bandali committed
      Now that there is no longer a second official client (jami-gnome), we
      can remove this uninteresting implementation detail from the name.
      
      Mostly automated via:
      
        $ git grep jami-qt -l | xargs sed 's/jami-qt/jami/g' -i
      
      * src/app/jami: Delete launcher script.
      * CMakeLists.txt: Un-register it from installation.
      
      Change-Id: I5167c29089feb4e64c12d7d01c1ce281e16c0613
      bf4a8c31
    • Amin Bandali's avatar
      misc: Clean up repository root. · 2fc8661d
      Amin Bandali authored
      This is the first in a series for cleaning up the top directory (root)
      of the repository and move various files/folders into nicely organized
      directory structures.
      
      GitLab: #749
      Change-Id: If59b74fff981df242bc26e62a070bdb81d7baded
      2fc8661d
  5. Oct 04, 2022
    • Amin Bandali's avatar
      build: Tweak CMakeLists.txt pkg-config usage for finding avutil. · 7fb102ed
      Amin Bandali authored
      * CMakeLists.txt: Prepend CMAKE_PREFIX_PATH with the location of
      libavutil.pc from daemon's contrib before trying to find libavutil
      using pkg-config, and remove it afterwards.  Further, there is no need
      to link the application executable against libavutil; the application
      only needs its headers (libclient, however, does already link against
      libavutil).
      
      Change-Id: Iffa5af43bfd1bb62bc24cc94dce292f87e9ecb2a
      7fb102ed
  6. Sep 26, 2022
  7. Aug 03, 2022
  8. Jul 30, 2022
  9. Jul 29, 2022
  10. Jun 23, 2022
  11. Jun 08, 2022
    • Amin Bandali's avatar
      misc: vendor libjamiclient into 'src/libclient/' · e0b3b4ad
      Amin Bandali authored
      This is libjamiclient from the jami-libclient.git repository as of
      767c45b8b09806ac05cbada720864df93588c047, with the following changes:
      
      * src/libclient/newaccountmodel.cpp:
      (NewAccountModelPimpl::removeFromAccounts): The lock wait inside
      '#ifdef CHK_FREEABLE_BEFORE_ERASE_ACCOUNT' was not updated when the
      type of 'accounts' was changed over the years from this:
      std::map<std::string, account::Info>
      to this:
      std::map<QString, std::pair<account::Info, std::shared_ptr<Database>>>
      Basically we need to get the 'first' of the pair for 'account::Info'.
      So we now do that.
      
      * src/libclient/avmodel.cpp:
      * src/libclient/callbackshandler.cpp:
      * src/libclient/contactmodel.cpp:
      * src/libclient/conversationmodel.cpp:
      * src/libclient/database.cpp:
      * src/libclient/namedirectory.cpp:
      * src/libclient/newaccountmodel.cpp:
      * src/libclient/newcallmodel.cpp:
      * src/libclient/newdevicemodel.cpp:
      * src/libclient/peerdiscoverymodel.cpp:
      * src/libclient/pluginmodel.cpp:
      * src/libclient/smartinfohub.cpp:
      * src/libclient/vcard.h:
      * src/libclient/authority/storagehelper.cpp:  Replace Qt's 'foreach'
      with 'Q_FOREACH' and its 'emit' with 'Q_EMIT' because in the client-qt
      code base we have '-DQT_NO_KEYWORDS' to avoid conflicts with other
      libraries we use.
      
      * cmake/FindLibJami.cmake: Import cmake/FindRing.cmake from the
      jami-libclient.git repository.  Then, rename RING_BUILD_DIR to
      LIBJAMI_BUILD_DIR (though the old name is still supported for now).
      Also update other references of Ring to Jami.  Further, add additional
      calls to 'find_library' to make sure specified local paths for libjami
      are checked before system-wide ones (in case of older/obsolete libjami
      being available system-wide, which might happen on GNU/Linux systems).
      
      * translations/lrc_*.ts: Import translation files from the libclient
      repository.  The message location paths were corrected by running
      "sed -i 's|../src|&/libclient|g' lrc_*.ts" in 'translations/'.
      
      .tx/config: Add section for the newly-imported libclient translations.
      
      * CMakeLists.txt: Reformat, plus various fixes and cleanups, such as
      changing indentation to 2 spaces and wrapping lines at 70 characters,
      renaming the parent directory of translations from 'ring' to 'jami',
      and using all lowercase function calls.  Also add copyright headers.
      
      * src/app/appsettingsmanager.cpp:
      (AppSettingsManager::loadTranslations):
      * src/app/utilsadapter.cpp (UtilsAdapter::supportedLang): Update to
      adapt to the renaming of the parent directory of translations from
      'ring' to 'jami'.
      
      GitLab: #748
      Change-Id: I86e3b0fb30e554755023e7b858b6a0d132cd59ab
      e0b3b4ad
  12. May 19, 2022
  13. May 05, 2022
  14. May 03, 2022
  15. Apr 26, 2022
  16. Apr 05, 2022
  17. Apr 04, 2022
  18. Mar 24, 2022
  19. Mar 17, 2022
  20. Mar 08, 2022
    • Andreas Traczyk's avatar
      video: use QVideoSink/VideoOutput and QVideoFrame instead of QImage · e7cc0497
      Andreas Traczyk authored and Adrien Béraud's avatar Adrien Béraud committed
      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 #536
      
      Change-Id: I2391a32294922ea435ab80ac1f876c004ff6c21e
      e7cc0497
  21. Feb 09, 2022
  22. Feb 03, 2022
    • Kateryna Kostiuk's avatar
      build: make deploy optional on macOS · 54a29473
      Kateryna Kostiuk authored and Andreas Traczyk's avatar Andreas Traczyk committed
      Sometimes deploy failed with qmlimportscanner error. For better
      control macdeployqt will be called manually for release
      builds.
      
      Gitlab: #578
      Change-Id: Ic3a781cb4680499bbb7e479e31764f3f35e29800
      54a29473
    • Kateryna Kostiuk's avatar
      updater: add sparkle · 29849316
      Kateryna Kostiuk authored and Andreas Traczyk's avatar Andreas Traczyk committed
      - add sparkle submodule
      - add an option to enable sparkle
      - modify entitlements
      - cleanup Info.plist
      
      Gitlab: #578
      Change-Id: I7f562112a72a33e008ab316479fbaa68dc0e07f1
      29849316
    • Andreas Traczyk's avatar
      main: use IPC to terminate secondary client during re-install(win) · 5613a81a
      Andreas Traczyk authored
      To coordinate the MSI installer with Jami's close-to-tray feature,
      a custom action was used to kill QtWebEngineProcess and Jami, prior
      to the file installation step. The close-to-tray feature makes it
      so the only way to terminate the app is via the systray context
      menu.
      
      This patch harnesses the IPC mechanism used by the run-guard, and
      adds a command-line option('--term') used to signal the secondary
      process and provoke graceful termination.
      
      The benefits are:
      - the app can save data before closing
      - system tray icons aren't left dangling after updates
      - QtWebEngineProcess is guaranteed to be terminated during install
      
      Gitlab: #654
      Gitlab: #543
      Change-Id: I79421eeab49c9ec0826010af99a364471bb81d1a
      5613a81a
  23. Dec 22, 2021
  24. Dec 21, 2021
  25. Oct 07, 2021
  26. Oct 06, 2021
    • Trevor Tabah's avatar
      chatview: replace web chat view with qml listview · 2e67dc1b
      Trevor Tabah authored and Ming Rui Zhang's avatar Ming Rui Zhang committed
      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
      2e67dc1b
  27. Oct 01, 2021
  28. Sep 14, 2021
    • Ming Rui Zhang's avatar
      settings: refactor for SettingsView - stage two · e0737f4b
      Ming Rui Zhang authored
      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
      e0737f4b
    • Ming Rui Zhang's avatar
      settings: refactor for SettingsView - stage one · a196513d
      Ming Rui Zhang authored
      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
      a196513d
Loading