├── .gitignore ├── .krazy ├── AUTHORS ├── CMakeLists.txt ├── COPYING ├── DEVELOPPER.md ├── Doxyfile ├── INSTALL ├── Messages.sh ├── NEWS ├── README.md ├── TRANSLATOR ├── android ├── AndroidManifest.xml ├── res │ ├── drawable │ │ ├── icon.png │ │ └── kde.png │ └── values │ │ └── libs.xml └── src │ └── org │ └── kde │ └── ringkde │ └── Ringkde.java ├── clients ├── CMakeLists.txt ├── desktop │ ├── CMakeLists.txt │ ├── appicon.qrc │ ├── cmd.cpp │ ├── cmd.h │ ├── main.cpp │ ├── ringapplication.cpp │ └── ringapplication.h └── mobile │ ├── CMakeLists.txt │ ├── android.qrc │ ├── appicon.qrc │ ├── main.cpp │ └── qtquickcontrols2.conf ├── cmake ├── FetchRingQt.cmake └── MacOSXBundleInfo.plist.in ├── config.sh ├── data ├── CMakeLists.txt ├── config.ini ├── cx.ring.ring-kde.xml ├── icons │ ├── CMakeLists.txt │ └── sc-apps-ring-kde.svgz ├── org.kde.ring-kde.appdata.xml ├── org.kde.ring-kde.desktop ├── ring ├── ring-kde.notifyrc └── ring-kdeui.rc ├── doc ├── CMakeLists.txt ├── accessibility.png ├── account-advanced.png ├── account-basic.png ├── account-credentials.png ├── account-list.png ├── account-ringtone.png ├── account-security.png ├── advanced-use.docbook ├── audio-codecs.png ├── audio.png ├── autocompletion.png ├── basic-use.docbook ├── call-action.png ├── call-drop.png ├── call-list.png ├── call-play-record.png ├── call-record.png ├── call-transfer.png ├── common-use.docbook ├── contact-list.png ├── contact-transfer.png ├── credits.docbook ├── display.png ├── getting-started.docbook ├── history-drop.png ├── history.png ├── index.docbook ├── introduction.docbook ├── introduction │ └── introduction.html ├── man-ring-kde.1.docbook ├── menu-view.png ├── multiple-number.png ├── wizard-create-email.png ├── wizard-createorregister.png ├── wizard-finish.png ├── wizard-register-settings.png ├── wizard-register-siporiax.png ├── wizard-stun.png └── wizard-welcome.png ├── gen_po.sh ├── logo.png ├── man ├── CMakeLists.txt ├── README.manpages ├── ring-kde.pod └── sflphone.pod ├── release.sh ├── src ├── CMakeLists.txt ├── accountview │ ├── CMakeLists.txt │ ├── accountview.qrc │ ├── accountviewplugin.cpp │ ├── accountviewplugin.h │ ├── cmake │ │ └── JamiAccountViewConfig.cmake.in │ ├── jamiaccountview.json │ └── qml │ │ ├── accountdialog.qml │ │ ├── accountlist.qml │ │ ├── accounts.qml │ │ ├── codecs.qml │ │ ├── deleter.qml │ │ ├── pages │ │ ├── advanced.qml │ │ ├── basic.qml │ │ ├── codecs.qml │ │ ├── credentials.qml │ │ ├── devices.qml │ │ ├── network.qml │ │ ├── profiles.qml │ │ ├── ringtones.qml │ │ └── security.qml │ │ ├── presenceselector.qml │ │ ├── securitylevel.qml │ │ └── securitytip.qml ├── callview │ ├── CMakeLists.txt │ ├── callview.json │ ├── callview.qrc │ ├── callviewplugin.cpp │ ├── callviewplugin.h │ ├── cmake │ │ └── JamiCallViewConfig.cmake.in │ ├── qml │ │ ├── callbackground.qml │ │ ├── callview.qml │ │ ├── cmselector.qml │ │ └── recordingicon.qml │ ├── videowidget.cpp │ └── videowidget.h ├── canvasindicators │ ├── CMakeLists.txt │ ├── canvasindicator.cpp │ ├── canvasindicator.h │ ├── canvasindicator.json │ ├── canvasindicator.qrc │ ├── cmake │ │ └── JamiCanvasIndicatorConfig.cmake.in │ ├── icons │ │ ├── lookup.svg │ │ ├── phoneDown.svg │ │ ├── ring1.svg │ │ ├── ring2.svg │ │ ├── ring3.svg │ │ └── searching.svg │ ├── qml │ │ ├── newcall.qml │ │ ├── progress.qml │ │ ├── ringing.qml │ │ └── searching.qml │ ├── ringingimageprovider.cpp │ └── ringingimageprovider.h ├── contactview │ ├── CMakeLists.txt │ ├── assets │ │ └── welcome.html │ ├── cmake │ │ └── JamiContactViewConfig.cmake.in │ ├── contactphoto.cpp │ ├── contactphoto.h │ ├── contactview.json │ ├── contactview.qrc │ ├── contactviewplugin.cpp │ ├── contactviewplugin.h │ └── qml │ │ ├── addresses.qml │ │ ├── bookmarkcard.qml │ │ ├── bookmarklist.qml │ │ ├── commonactions.qml │ │ ├── contactcard.qml │ │ ├── contactdialog.qml │ │ ├── contactinfo.qml │ │ ├── contactlist.qml │ │ ├── newcontactdialog.qml │ │ ├── pendingrequests.qml │ │ ├── phonenumbers.qml │ │ ├── sendrequest.qml │ │ ├── statistics.qml │ │ ├── vcardform.qml │ │ └── viewcontactrequests.qml ├── dialview │ ├── CMakeLists.txt │ ├── cmake │ │ └── JamiDialViewConfig.cmake.in │ ├── dialview.json │ ├── dialview.qrc │ ├── dialviewplugin.cpp │ ├── dialviewplugin.h │ └── qml │ │ ├── actiontoolbar.qml │ │ ├── addcall.qml │ │ ├── calldelegate.qml │ │ ├── calldelegateitem.qml │ │ ├── callerror.qml │ │ ├── calllist.qml │ │ ├── completiondelegate.qml │ │ ├── currentcall.qml │ │ ├── dialpad.qml │ │ ├── dialview.qml │ │ ├── finishedcall.qml │ │ ├── incomingcall.qml │ │ ├── mergecall.qml │ │ ├── missedcall.qml │ │ └── outgoingcall.qml ├── genericutils │ ├── CMakeLists.txt │ ├── cmake │ │ └── GenericUtilsConfig.cmake.in │ ├── fileloader.cpp │ ├── fileloader.h │ ├── genericutils.json │ ├── plugin.cpp │ ├── plugin.h │ ├── qml │ │ ├── actionswitch.qml │ │ ├── outlinebutton.qml │ │ └── outlinebuttons.qml │ ├── qmlwidgets.qrc │ ├── symboliccolorizer.cpp │ ├── symboliccolorizer.h │ ├── treehelper.cpp │ └── treehelper.h ├── jamiaudioplayer │ ├── CMakeLists.txt │ ├── cmake │ │ └── JamiAudioPlayerConfig.cmake.in │ ├── jamiaudioplayer.json │ ├── jamiaudioplayer.qrc │ ├── plugin.cpp │ ├── plugin.h │ └── qml │ │ └── audioplayer.qml ├── jamichatview │ ├── CMakeLists.txt │ ├── bubble.cpp │ ├── bubble.h │ ├── cmake │ │ └── JamiChatViewConfig.cmake.in │ ├── jamichatview.json │ ├── jamichatview.qrc │ ├── plugin.cpp │ ├── plugin.h │ └── qml │ │ ├── callgroup.qml │ │ ├── categoryheader.qml │ │ ├── chatbox.qml │ │ ├── chatpage.qml │ │ ├── chatview.qml │ │ ├── groupfooter.qml │ │ ├── groupheader.qml │ │ ├── navigation.qml │ │ ├── slideshow.qml │ │ ├── snapshots.qml │ │ ├── textbubble.qml │ │ ├── textmessagegroup.qml │ │ └── thumbnail.qml ├── jamihistoryview │ ├── CMakeLists.txt │ ├── cmake │ │ └── JamiHistoryViewConfig.cmake.in │ ├── jamihistoryview.json │ ├── jamihistoryview.qrc │ ├── plugin.cpp │ ├── plugin.h │ └── qml │ │ ├── callhistory.qml │ │ ├── historytimeline.qml │ │ └── recordinghistory.qml ├── jamikdeintegration │ ├── CMakeLists.txt │ ├── cmake │ │ └── JamiKDEIntegrationConfig.cmake.in │ ├── kcfg_settings.kcfgc │ ├── ring-kde.kcfg │ ├── sharedassets │ │ ├── CMakeLists.txt │ │ ├── assets.qrc │ │ ├── branding.svg │ │ ├── icons │ │ │ ├── conf-small.svg │ │ │ ├── icon_dialpad.svg │ │ │ ├── mic.svg │ │ │ ├── mic_25.svg │ │ │ ├── mic_50.svg │ │ │ ├── mic_75.svg │ │ │ └── miniicons │ │ │ │ ├── call.png │ │ │ │ ├── car.png │ │ │ │ ├── home.png │ │ │ │ ├── mail.png │ │ │ │ ├── mobile.png │ │ │ │ ├── pager.png │ │ │ │ ├── preferred.png │ │ │ │ ├── video.png │ │ │ │ └── work.png │ │ ├── outline │ │ │ ├── call.svg │ │ │ ├── camera.svg │ │ │ ├── chat.svg │ │ │ ├── close.svg │ │ │ ├── qrcode.svg │ │ │ ├── screen.svg │ │ │ ├── warning.svg │ │ │ └── web.svg │ │ ├── phone_dark │ │ │ ├── accept.svg │ │ │ ├── accept_video.svg │ │ │ ├── busy.svg │ │ │ ├── connected.svg │ │ │ ├── current.svg │ │ │ ├── dial.svg │ │ │ ├── failed.svg │ │ │ ├── hang_up.svg │ │ │ ├── hold.svg │ │ │ ├── incoming.svg │ │ │ ├── initialization.svg │ │ │ ├── mailbox.svg │ │ │ ├── missed_incoming.svg │ │ │ ├── missed_outgoing.svg │ │ │ ├── mute_video.svg │ │ │ ├── outgoing.svg │ │ │ ├── ringing.svg │ │ │ ├── transfert.svg │ │ │ └── unhold.svg │ │ ├── phone_light │ │ │ ├── accept.svg │ │ │ ├── call.svg │ │ │ ├── hold.svg │ │ │ ├── mic_off.svg │ │ │ ├── mic_on.svg │ │ │ ├── record_call.svg │ │ │ ├── refuse.svg │ │ │ ├── transfert.svg │ │ │ └── unhold.svg │ │ └── security │ │ │ ├── lock_certified.svg │ │ │ ├── lock_confirmed.svg │ │ │ ├── lock_error.svg │ │ │ ├── lock_off.svg │ │ │ └── lock_unconfirmed.svg │ └── src │ │ ├── accessibility.cpp │ │ ├── accessibility.h │ │ ├── actioncollection.cpp │ │ ├── actioncollection.h │ │ ├── actioninterface.cpp │ │ ├── actioninterface.h │ │ ├── akonadibackend.cpp │ │ ├── akonadibackend.h │ │ ├── cmiconengine.cpp │ │ ├── cmiconengine.h │ │ ├── colorinterface.cpp │ │ ├── colorinterface.h │ │ ├── fileproverderinterface.cpp │ │ ├── fileproverderinterface.h │ │ ├── jamikdeintegration.json │ │ ├── personiconengine.cpp │ │ ├── personiconengine.h │ │ ├── pixmapinterface.cpp │ │ ├── pixmapinterface.h │ │ ├── plugin.cpp │ │ ├── plugin.h │ │ ├── qactionbinder.cpp │ │ ├── qactionbinder.h │ │ ├── qmlaction.cpp │ │ ├── qmlaction.h │ │ ├── serializationinterface.cpp │ │ ├── serializationinterface.h │ │ ├── shortcutinterface.cpp │ │ ├── shortcutinterface.h │ │ ├── systray.cpp │ │ ├── systray.h │ │ ├── windowevent.cpp │ │ └── windowevent.h ├── jaminotification │ ├── CMakeLists.txt │ ├── cmake │ │ └── JamiNotificationConfig.cmake.in │ ├── focuslistener.cpp │ ├── focuslistener.h │ ├── jaminotification.qrc │ ├── notification.cpp │ ├── notification.h │ ├── notification.json │ ├── plugin.cpp │ ├── plugin.h │ └── qml │ │ └── individualsettings.qml ├── jamisearch │ ├── CMakeLists.txt │ ├── cmake │ │ └── JamiSearchConfig.cmake.in │ ├── icons │ │ ├── bookmark.svg │ │ ├── contact.svg │ │ └── history.svg │ ├── jamisearch.json │ ├── jamisearch.qrc │ ├── jamisearchplugin.cpp │ ├── jamisearchplugin.h │ ├── qml │ │ ├── findpeers.qml │ │ ├── firstrun.qml │ │ ├── matchcategories.qml │ │ ├── searchbox.qml │ │ ├── searchdelegate.qml │ │ ├── searchoverlay.qml │ │ ├── searchstate.qml │ │ ├── searchtip.qml │ │ └── toolbar.qml │ ├── tipmodel.cpp │ └── tipmodel.h ├── jamitimeline │ ├── CMakeLists.txt │ ├── cmake │ │ └── JamiTimelineViewConfig.cmake.in │ ├── icons │ │ ├── bookmarked.svg │ │ └── not_bookmarked.svg │ ├── qml │ │ ├── contactmethoddelegate.qml │ │ ├── peerstimeline.qml │ │ └── peerstimelinecategories.qml │ ├── recentdock.qrc │ ├── timelineplugin.cpp │ ├── timelineplugin.h │ └── timelineview.json ├── jamitimelinebase │ ├── CMakeLists.txt │ ├── cmake │ │ └── JamiTimelineBaseConfig.cmake.in │ ├── jamitimelinebase.json │ ├── jamitimelinebase.qrc │ ├── multicall.cpp │ ├── multicall.h │ ├── plugin.cpp │ ├── plugin.h │ ├── qml │ │ └── scrollbar.qml │ ├── timelinedots.cpp │ └── timelinedots.h ├── jamitroubleshooting │ ├── CMakeLists.txt │ ├── cmake │ │ └── JamiTroubleshootingConfig.cmake.in │ ├── jamitroubleshooting.json │ ├── jamitroubleshooting.qrc │ ├── plugin.cpp │ ├── plugin.h │ └── qml │ │ ├── accountdisabled.qml │ │ ├── accounterror.qml │ │ ├── globaltroubleshoot.qml │ │ ├── mediaavailability.qml │ │ ├── noaccount.qml │ │ └── troubleshoot.qml ├── jamivideoview │ ├── CMakeLists.txt │ ├── cmake │ │ └── JamiVideoViewConfig.cmake.in │ ├── imageprovider.cpp │ ├── imageprovider.h │ ├── jamivideo.json │ ├── jamivideo.qrc │ ├── plugin.cpp │ ├── plugin.h │ ├── qml │ │ ├── canvaspopup.qml │ │ ├── devicesetting.qml │ │ ├── screensharing.qml │ │ ├── settingpopup.qml │ │ ├── streaming.qml │ │ ├── videocontroltoolbar.qml │ │ ├── videosource.qml │ │ └── videowidget.qml │ ├── snapshotadapter.cpp │ └── snapshotadapter.h ├── photoselector │ ├── CMakeLists.txt │ ├── cmake │ │ └── JamiPhotoSelectorConfig.cmake.in │ ├── photoplugin.cpp │ ├── photoplugin.h │ ├── photoselector.cpp │ ├── photoselector.h │ ├── photoselector.json │ ├── photoselector.qrc │ └── qml │ │ └── editor.qml └── wizard │ ├── CMakeLists.txt │ ├── assets │ ├── beta_logo.svg │ ├── people.svg │ └── ring-kde.svg │ ├── cmake │ └── JamiWizardConfig.cmake.in │ ├── jamiwizard.json │ ├── plugin.cpp │ ├── plugin.h │ ├── policies.cpp │ ├── policies.h │ ├── qml │ ├── buttonBar.qml │ ├── createRing.qml │ ├── importRing.qml │ ├── profilePage.qml │ ├── splash.qml │ ├── splash.ui.qml │ ├── startPage.qml │ ├── startPage.ui.qml │ └── wizard.qml │ ├── welcome.cpp │ ├── welcome.h │ └── wizard.qrc ├── templates ├── cpp └── h ├── test.config └── views ├── CMakeLists.txt ├── basic ├── CMakeLists.txt ├── basic.json ├── basic.qrc ├── basicviewplugin.cpp ├── basicviewplugin.h ├── cmake │ └── BasicViewConfig.cmake.in └── qml │ ├── banjiactioncollection.qml │ ├── basic.qml │ ├── callpage.qml │ ├── chatpage.qml │ ├── detail.qml │ ├── globaldrawer.qml │ ├── individualdetails.qml │ ├── individualeditor.qml │ ├── listpage.qml │ ├── pagemanager.qml │ ├── sidebar.qml │ ├── sidebarheader.qml │ ├── timelinelist.qml │ └── toolbarheader.qml └── desktop ├── CMakeLists.txt ├── cmake └── DesktopViewConfig.cmake.in ├── desktopview.json ├── desktopview.qrc ├── desktopviewplugin.cpp ├── desktopviewplugin.h ├── dockmodel.cpp ├── dockmodel.h ├── icons ├── assets │ └── toolbar_bg.png ├── icons.h └── toolbar │ ├── call.svg │ └── timeline.svg ├── mainpage.cpp ├── mainpage.h └── qml ├── contactheader.qml ├── desktopwindow.qml ├── dockbar.qml ├── drawer.qml ├── mediabuttons.qml └── viewcontact.qml /.gitignore: -------------------------------------------------------------------------------- 1 | build 2 | *.moc 3 | moc_*.cpp 4 | ui_*.h 5 | *.gmo 6 | *_automoc.cpp 7 | *.files 8 | man/index.html 9 | doc/index.cache.bz2 10 | src/ring-kde 11 | src/ring-kde.shell 12 | #po/ 13 | #po/* 14 | #doc/ 15 | #man/ 16 | #data/ 17 | CMakeCache.txt 18 | CMakeLists.txt.user 19 | CTestTestfile.cmake 20 | CMakeFiles/ 21 | CMakeTmp/ 22 | qtcreator-build/ 23 | src/.directory 24 | src/CTestTestfile.cmake 25 | src/CMakeFiles/ 26 | src/*.moc 27 | src/callmanager_dbus_interface.* 28 | src/configurationmanager_dbus_interface.* 29 | src/instance_dbus_interface.* 30 | src/kde_automoc.cpp 31 | src/kde_automoc.cpp.files 32 | src/cmake_install.cmake 33 | src/kcfg_settings.cpp 34 | src/kcfg_settings.h 35 | src/qrc_resources.cxx 36 | src/kde.shell 37 | man/ring.pod 38 | *~ 39 | .directory 40 | .*.kate-swp 41 | clazy 42 | -------------------------------------------------------------------------------- /.krazy: -------------------------------------------------------------------------------- 1 | EXCLUDE includes 2 | -------------------------------------------------------------------------------- /AUTHORS: -------------------------------------------------------------------------------- 1 | Current authors: 2 | 3 | Emmanuel Lepage Vallee 4 | 5 | Former authors: 6 | 7 | Jérémy Quentin 8 | -------------------------------------------------------------------------------- /INSTALL: -------------------------------------------------------------------------------- 1 | Installation Instructions 2 | ************************* 3 | 4 | Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005 Free 5 | Software Foundation, Inc. 6 | 7 | This file is free documentation; the Free Software Foundation gives 8 | unlimited permission to copy, distribute and modify it. 9 | 10 | Basic Installation 11 | ================== 12 | 13 | These are generic installation instructions. 14 | 15 | 16 | To install the appplication, type the following commands in a console, while in the root directory of this application: 17 | 18 | mkdir -p build 19 | cd build 20 | cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr # Add -DENABLE_VIDEO=true if you want experimental video support 21 | make -j3 22 | sudo make install 23 | 24 | To generate a source tarball (sflphone-cliend-kde.tar.xz), just execute release.sh 25 | 26 | Explaination 27 | ================== 28 | 29 | This script will configure and prepare the compilation and installation of the program. 30 | 31 | All needed files will be built in "build" directory. 32 | So you have to go to this directory: 33 | 34 | cd build 35 | 36 | Then execute the Makefile, to compile the application (src, doc...) 37 | 38 | make 39 | 40 | Then install it all using: 41 | 42 | sudo make install 43 | 44 | You have to use "sudo" to be able to install the program in a protected directory (which is the case by default and most of the time). 45 | Therefore it will ask for your system password. 46 | If you don't have this password or for any reason you want to install the program in a non-protected directory, refer to the Options below. 47 | -------------------------------------------------------------------------------- /Messages.sh: -------------------------------------------------------------------------------- 1 | $EXTRACTRC `find . -name \*.rc -o -name \*.ui -o -name \*.kcfg` >> rc.cpp 2 | $XGETTEXT `find . -name \*.cc -o -name \*.cpp -o -name \*.h -o -name \*.qml` -o $podir/ring-kde.pot 3 | rm -rf rc.cpp 4 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | ### Ring-KDE 3 | 4 | Welcome to Ring KDE Client! 5 | 6 | Ring-KDE is a Qt based client for the [Ring](www.ring.cx) daemon. 7 | 8 | ### Installation 9 | For install instructions, read the INSTALL file, in this directory. 10 | 11 | 12 | Copyright (c) Savoir-faire Linux, Inc 2004-2013 13 | 14 | 15 | This program is free software; you can redistribute it and/or modify 16 | it under the terms of the GNU General Public License as published by 17 | the Free Software Foundation; either version 3 of the License, or 18 | (at your option) any later version. 19 | 20 | This program is distributed in the hope that it will be useful, 21 | but WITHOUT ANY WARRANTY; without even the implied warranty of 22 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 23 | GNU General Public License for more details. 24 | 25 | You should have received a copy of the GNU General Public License 26 | along with this program; if not, write to the Free Software 27 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 28 | 29 | 30 | Refer to the development site for further information: https://projects.savoirfairelinux.com/projects/show/sflphone 31 | 32 | 33 | Thank you 34 | -------------------------------------------------------------------------------- /TRANSLATOR: -------------------------------------------------------------------------------- 1 | SFLPhone-KDE rely on kde.org internationalization infrastructure to gather 2 | translations and receive l10n issues feedback. Please refer to: 3 | 4 | * https://techbase.kde.org/Localization 5 | * http://tsdgeos.blogspot.ca/2010/08/how-to-run-messagessh-file-to-create.html 6 | 7 | for more detailed description. This file is intended for translators who wish 8 | to bypass kde.org translation process and submit updates directly. 9 | 10 | For both legacy and simplicity reasons, some of the translations scripts are 11 | still hoster on SVN as of 2014. The first step is to fetch them: 12 | 13 | ``` 14 | svn co svn://anonsvn.kde.org/home/kde/branches/stable/l10n-kde4/scripts 15 | ``` 16 | 17 | The second is to download the current sflphone-kde source code: 18 | 19 | ``` 20 | git clone http://anongit.kde.org/sflphone-kde 21 | cd sflphone-kde 22 | ``` 23 | 24 | Please make sure `xgettext` and `extractrc` (`kde-developer-sdk` package or 25 | `git clone http://anongit.kde.org/kde-dev-scripts`) are installed 26 | 27 | Finally, the `.pot` files need to be extracted. 28 | 29 | ``` 30 | mkdir po 31 | # Depend sur xgettext et extractrc 32 | ////l10n-script/extract-messages.sh 33 | ``` 34 | 35 | Two files should now be present in the `./po` directory. They can be opened 36 | manually using a text editor or using the specialized `lokalize` application. 37 | 38 | Translations can be sent to `sflphone@lists.savoirfairelinux.net` and/or 39 | `kde-i18n-doc@@kde.org ` -------------------------------------------------------------------------------- /android/res/drawable/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/ring-kde/f8c095e1a889c9362ab3a099f4b1d210d287a959/android/res/drawable/icon.png -------------------------------------------------------------------------------- /android/res/drawable/kde.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/ring-kde/f8c095e1a889c9362ab3a099f4b1d210d287a959/android/res/drawable/kde.png -------------------------------------------------------------------------------- /android/res/values/libs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | https://download.qt.io/ministro/android/qt5/qt-5.7 5 | 6 | 7 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | libring.so:qml/libring.so 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /android/src/org/kde/ringkde/Ringkde.java: -------------------------------------------------------------------------------- 1 | package org.kde.ringkde; 2 | 3 | import org.qtproject.qt5.android.bindings.QtActivity; 4 | import org.qtproject.qt5.android.bindings.QtApplication; 5 | import android.util.Log; 6 | import android.content.Context; 7 | import android.os.Bundle; 8 | import android.media.AudioAttributes; 9 | import java.util.Locale; 10 | import java.lang.String; 11 | 12 | public class Ringkde extends QtActivity 13 | { 14 | public Ringkde() 15 | { 16 | } 17 | 18 | /** Called when the activity is first created. */ 19 | @Override 20 | public void onCreate(Bundle savedInstanceState) { 21 | super.onCreate(savedInstanceState); 22 | } 23 | 24 | public void onInit(int status) 25 | { 26 | } 27 | 28 | @Override 29 | protected void onDestroy() { 30 | super.onDestroy(); 31 | /*if (m_tts != null) { 32 | m_tts.shutdown(); 33 | }*/ 34 | } 35 | 36 | } 37 | 38 | -------------------------------------------------------------------------------- /clients/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | # Mobile don't have command line option and single instance boilerplate, the 3 | # mobile client has less code that can go wrong. 4 | # if(OS_ANDROID) 5 | add_subdirectory(mobile) 6 | # else() 7 | # add_subdirectory(desktop) 8 | # endif() 9 | -------------------------------------------------------------------------------- /clients/desktop/appicon.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | ../../data/icons/sc-apps-ring-kde.svgz 4 | 5 | 6 | -------------------------------------------------------------------------------- /clients/mobile/android.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | qtquickcontrols2.conf 4 | 5 | 6 | -------------------------------------------------------------------------------- /clients/mobile/appicon.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | ../../data/icons/sc-apps-ring-kde.svgz 4 | 5 | 6 | -------------------------------------------------------------------------------- /clients/mobile/qtquickcontrols2.conf: -------------------------------------------------------------------------------- 1 | [Controls] 2 | Style=Material 3 | 4 | [Universal] 5 | Theme=System 6 | Accent=Red 7 | 8 | [Material] 9 | Theme=Light 10 | Accent=Blue 11 | Primary=BlueGrey 12 | -------------------------------------------------------------------------------- /cmake/MacOSXBundleInfo.plist.in: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | Ring-KDE 9 | CFBundleGetInfoString 10 | 11 | CFBundleIconFile 12 | 13 | CFBundleIdentifier 14 | 15 | CFBundleInfoDictionaryVersion 16 | 6.0 17 | CFBundleLongVersionString 18 | 19 | CFBundleName 20 | 21 | CFBundlePackageType 22 | APPL 23 | CFBundleShortVersionString 24 | 25 | CFBundleSignature 26 | ???? 27 | CFBundleVersion 28 | 2.91 29 | CSResourcesFileMapped 30 | 31 | NSHumanReadableCopyright 32 | 33 | NSHighResolutionCapable 34 | True 35 | LSEnvironment 36 | 37 | QT_AUTO_SCREEN_SCALE_FACTOR 38 | true 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /config.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | function autocmd() 4 | { 5 | echo "Running ${1}..." 6 | $* || { 7 | echo "Error running ${1}" 8 | exit 1 9 | } 10 | } 11 | 12 | if `echo $@ | grep -q "\--clear"`;then 13 | echo "Clearing" 14 | rm -rf build 15 | exit 0 16 | fi 17 | 18 | if [ ! -d "build" ]; then 19 | mkdir build 20 | fi 21 | 22 | cd build 23 | 24 | # prefix=`echo $@ | grep -q "--prefix="` 25 | # 26 | # if $prefix 27 | # then options=$@" -DCMAKE_INSTALL_PREFIX="$prefix_env 28 | 29 | # debug=`echo $@ | grep -q "debug"` 30 | 31 | options=`echo $@ | sed "s/--prefix=/-DCMAKE_INSTALL_PREFIX=/g" | sed "s/--with-debug//g" \ 32 | | sed "s/--with-video//g" | sed "s/--install//g"` 33 | 34 | if `echo $@ | grep -q "\--with-video"`;then 35 | echo "Enable video messages" 36 | options="$options -DENABLE_VIDEO=true" 37 | fi 38 | 39 | if `echo $@ | grep -q "\--with-debug"`;then 40 | echo "Enable debug messages" 41 | options="$options -DCMAKE_BUILD_TYPE=Debug" 42 | else 43 | echo "Disable debug messages" 44 | options="$options -DCMAKE_BUILD_TYPE=Release" 45 | fi 46 | 47 | echo "Passing argument '$options' to cmake" 48 | 49 | autocmd cmake $options .. 50 | 51 | if `echo $@ | grep -q "\--with-debug"`;then 52 | make -j3 install 53 | else 54 | echo "**********************************************" 55 | echo "Configuration done!" 56 | echo "Run \`cd build' to go to the build directory." 57 | echo "Then run \`make'to build the software." 58 | echo "**********************************************" 59 | fi 60 | -------------------------------------------------------------------------------- /data/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | ADD_SUBDIRECTORY(icons) 3 | 4 | INSTALL( FILES org.kde.ring-kde.desktop DESTINATION ${XDG_APPS_INSTALL_DIR} ) 5 | INSTALL( FILES ring-kdeui.rc DESTINATION ${KXMLGUI_INSTALL_DIR}/ring-kde ) 6 | INSTALL( FILES ring-kde.notifyrc DESTINATION ${KNOTIFYRC_INSTALL_DIR} ) 7 | INSTALL( FILES org.kde.ring-kde.desktop DESTINATION ${DATA_INSTALL_DIR}/ring-kde ) 8 | INSTALL( FILES cx.ring.ring-kde.xml DESTINATION ${DBUS_INTERFACES_INSTALL_DIR} ) 9 | install( FILES org.kde.ring-kde.appdata.xml DESTINATION ${CMAKE_INSTALL_METAINFODIR} ) 10 | 11 | INSTALL( 12 | FILES 13 | ring 14 | DESTINATION 15 | ${BIN_INSTALL_DIR} 16 | PERMISSIONS 17 | WORLD_READ 18 | OWNER_WRITE 19 | OWNER_READ 20 | GROUP_READ 21 | OWNER_EXECUTE 22 | GROUP_EXECUTE 23 | WORLD_EXECUTE 24 | ) 25 | -------------------------------------------------------------------------------- /data/config.ini: -------------------------------------------------------------------------------- 1 | # 2 | # you can use remove, addPo, addDocs, set docs to yes if an app has 3 | # doc translations, etc. 4 | # 5 | 6 | [ring-kde] 7 | mainmodule = extragear 8 | name = ring-kde 9 | submodule = pim 10 | folder = ring-kde 11 | kde_release = no 12 | version = 3.1.0 13 | docs = yes 14 | translations = yes 15 | gitModule = yes 16 | custompo = ring-kde 17 | -------------------------------------------------------------------------------- /data/cx.ring.ring-kde.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /data/icons/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ecm_install_icons(ICONS 2 | sc-apps-ring-kde.svgz 3 | DESTINATION ${ICON_INSTALL_DIR} 4 | THEME hicolor 5 | ) 6 | -------------------------------------------------------------------------------- /data/icons/sc-apps-ring-kde.svgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/ring-kde/f8c095e1a889c9362ab3a099f4b1d210d287a959/data/icons/sc-apps-ring-kde.svgz -------------------------------------------------------------------------------- /data/ring-kdeui.rc: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Actions 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | View 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | Settings 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /doc/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ########### install files ############### 2 | # 3 | # 4 | 5 | KDOCTOOLS_CREATE_HANDBOOK(index.docbook INSTALL_DESTINATION ${KDE_INSTALL_DOCBUNDLEDIR}/en SUBDIR ring-kde) 6 | KDOCTOOLS_CREATE_MANPAGE(man-ring-kde.1.docbook 1 INSTALL_DESTINATION ${KDE_INSTALL_MANDIR}) 7 | -------------------------------------------------------------------------------- /doc/accessibility.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/ring-kde/f8c095e1a889c9362ab3a099f4b1d210d287a959/doc/accessibility.png -------------------------------------------------------------------------------- /doc/account-advanced.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/ring-kde/f8c095e1a889c9362ab3a099f4b1d210d287a959/doc/account-advanced.png -------------------------------------------------------------------------------- /doc/account-basic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/ring-kde/f8c095e1a889c9362ab3a099f4b1d210d287a959/doc/account-basic.png -------------------------------------------------------------------------------- /doc/account-credentials.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/ring-kde/f8c095e1a889c9362ab3a099f4b1d210d287a959/doc/account-credentials.png -------------------------------------------------------------------------------- /doc/account-list.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/ring-kde/f8c095e1a889c9362ab3a099f4b1d210d287a959/doc/account-list.png -------------------------------------------------------------------------------- /doc/account-ringtone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/ring-kde/f8c095e1a889c9362ab3a099f4b1d210d287a959/doc/account-ringtone.png -------------------------------------------------------------------------------- /doc/account-security.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/ring-kde/f8c095e1a889c9362ab3a099f4b1d210d287a959/doc/account-security.png -------------------------------------------------------------------------------- /doc/audio-codecs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/ring-kde/f8c095e1a889c9362ab3a099f4b1d210d287a959/doc/audio-codecs.png -------------------------------------------------------------------------------- /doc/audio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/ring-kde/f8c095e1a889c9362ab3a099f4b1d210d287a959/doc/audio.png -------------------------------------------------------------------------------- /doc/autocompletion.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/ring-kde/f8c095e1a889c9362ab3a099f4b1d210d287a959/doc/autocompletion.png -------------------------------------------------------------------------------- /doc/call-action.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/ring-kde/f8c095e1a889c9362ab3a099f4b1d210d287a959/doc/call-action.png -------------------------------------------------------------------------------- /doc/call-drop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/ring-kde/f8c095e1a889c9362ab3a099f4b1d210d287a959/doc/call-drop.png -------------------------------------------------------------------------------- /doc/call-list.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/ring-kde/f8c095e1a889c9362ab3a099f4b1d210d287a959/doc/call-list.png -------------------------------------------------------------------------------- /doc/call-play-record.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/ring-kde/f8c095e1a889c9362ab3a099f4b1d210d287a959/doc/call-play-record.png -------------------------------------------------------------------------------- /doc/call-record.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/ring-kde/f8c095e1a889c9362ab3a099f4b1d210d287a959/doc/call-record.png -------------------------------------------------------------------------------- /doc/call-transfer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/ring-kde/f8c095e1a889c9362ab3a099f4b1d210d287a959/doc/call-transfer.png -------------------------------------------------------------------------------- /doc/contact-list.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/ring-kde/f8c095e1a889c9362ab3a099f4b1d210d287a959/doc/contact-list.png -------------------------------------------------------------------------------- /doc/contact-transfer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/ring-kde/f8c095e1a889c9362ab3a099f4b1d210d287a959/doc/contact-transfer.png -------------------------------------------------------------------------------- /doc/credits.docbook: -------------------------------------------------------------------------------- 1 | 2 | Credits and License 3 | 4 | 17 | 18 | 19 | Program: 20 | 21 | The initial application were written by Jérémy Quentin jeremy.quentin@savoirfairelinux.com. 22 | 23 | 24 | 25 | 26 | 27 | Documentation: 28 | 29 | The initial contents of this manual were written by Jérémy Quentin jeremy.quentin@savoirfairelinux.com. 30 | 31 | 32 | 33 | 34 | 35 | &underFDL; 36 | &underGPL; 37 | 38 | 39 | -------------------------------------------------------------------------------- /doc/display.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/ring-kde/f8c095e1a889c9362ab3a099f4b1d210d287a959/doc/display.png -------------------------------------------------------------------------------- /doc/history-drop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/ring-kde/f8c095e1a889c9362ab3a099f4b1d210d287a959/doc/history-drop.png -------------------------------------------------------------------------------- /doc/history.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/ring-kde/f8c095e1a889c9362ab3a099f4b1d210d287a959/doc/history.png -------------------------------------------------------------------------------- /doc/introduction.docbook: -------------------------------------------------------------------------------- 1 | 2 | Introduction 3 | 4 | 5 | 6 | This user manual is intended to describe the contents and use of the &ring-kde; &ringrelease; softphone. 7 | &ring-kde; is a &kde; client for &Ring;. It communicates with the core side, Ring daemon, through &DBus;. 8 | &Ring; is meant to be a robust enterprise-class desktop phone. 9 | It provides functions like call transfer, call hold, multiple lines, multiple accounts support. 10 | It is SIP and IAX2 compatible. &Ring; audio layer is built upon a native ALSA interface and a native PulseAudio interface. 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /doc/introduction/introduction.html: -------------------------------------------------------------------------------- 1 | 2 | Introduction

Chapter 1. Introduction

19 | 20 |

This user manual is intended to describe the contents and use of the softphone. 22 | is a KDE client for .It communicates with the core side through DBus. 23 | is meant to be a robust enterprise-class desktop phone. 24 | It provides functions like call transfer, call hold, multiple lines, multiple accounts support. 25 | It is SIP and IAX2 compatible. 26 | audio layer is built upon a native ALSA interface and and a native PulseAudio interface.

28 |
32 | -------------------------------------------------------------------------------- /doc/menu-view.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/ring-kde/f8c095e1a889c9362ab3a099f4b1d210d287a959/doc/menu-view.png -------------------------------------------------------------------------------- /doc/multiple-number.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/ring-kde/f8c095e1a889c9362ab3a099f4b1d210d287a959/doc/multiple-number.png -------------------------------------------------------------------------------- /doc/wizard-create-email.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/ring-kde/f8c095e1a889c9362ab3a099f4b1d210d287a959/doc/wizard-create-email.png -------------------------------------------------------------------------------- /doc/wizard-createorregister.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/ring-kde/f8c095e1a889c9362ab3a099f4b1d210d287a959/doc/wizard-createorregister.png -------------------------------------------------------------------------------- /doc/wizard-finish.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/ring-kde/f8c095e1a889c9362ab3a099f4b1d210d287a959/doc/wizard-finish.png -------------------------------------------------------------------------------- /doc/wizard-register-settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/ring-kde/f8c095e1a889c9362ab3a099f4b1d210d287a959/doc/wizard-register-settings.png -------------------------------------------------------------------------------- /doc/wizard-register-siporiax.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/ring-kde/f8c095e1a889c9362ab3a099f4b1d210d287a959/doc/wizard-register-siporiax.png -------------------------------------------------------------------------------- /doc/wizard-stun.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/ring-kde/f8c095e1a889c9362ab3a099f4b1d210d287a959/doc/wizard-stun.png -------------------------------------------------------------------------------- /doc/wizard-welcome.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/ring-kde/f8c095e1a889c9362ab3a099f4b1d210d287a959/doc/wizard-welcome.png -------------------------------------------------------------------------------- /gen_po.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | #This script make CMake PO/MO generation work 4 | cd po 5 | if [ "$(grep -E "^ *add_subdirectory *\( *po *\)" ../CMakeLists.txt)" == "" ]; then 6 | echo "Updating root CMakeLists.txt" 7 | sed 's/add_subdirectory( plasma )/add_subdirectory( plasma )\nadd_subdirectory( po )/' -i ../CMakeLists.txt 8 | fi 9 | 10 | for DIR in $(find -type d); do 11 | echo -e "file(GLOB _po_files *.po)\nGETTEXT_PROCESS_PO_FILES($( echo $DIR | cut -f2 -d'/') ALL INSTALL_DESTINATION \${LOCALE_INSTALL_DIR} \${_po_files} )" > $DIR/CMakeLists.txt 12 | done 13 | 14 | 15 | cat << EOF > CMakeLists.txt 16 | find_package(Gettext REQUIRED) 17 | if (NOT GETTEXT_MSGMERGE_EXECUTABLE) 18 | MESSAGE(FATAL_ERROR "Please install msgmerge binary") 19 | endif (NOT GETTEXT_MSGMERGE_EXECUTABLE) 20 | if (NOT GETTEXT_MSGFMT_EXECUTABLE) 21 | MESSAGE(FATAL_ERROR "Please install msgmerge binary") 22 | endif (NOT GETTEXT_MSGFMT_EXECUTABLE) 23 | 24 | EOF 25 | for FILE in `ls`;do echo "add_subdirectory( $FILE )" | grep -v CMakeLists.txt >> CMakeLists.txt ;done 26 | -------------------------------------------------------------------------------- /logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/ring-kde/f8c095e1a889c9362ab3a099f4b1d210d287a959/logo.png -------------------------------------------------------------------------------- /man/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ########### install files ############### 2 | # 3 | # 4 | # kde4_create_manpage(ring-kde.1.docbook 1 INSTALL_DESTINATION ${MAN_INSTALL_DIR}) 5 | 6 | # kde4_create_manpage(ring-kde.1.docbook 1 INSTALL_DESTINATION ${MAN_INSTALL_DIR}) 7 | -------------------------------------------------------------------------------- /man/README.manpages: -------------------------------------------------------------------------------- 1 | CREATING MANPAGES 2 | 3 | Procedure: 4 | 5 | - Creating the manual pages under POD format. A template is available in this directory. 6 | - Convert the pdo file in a manpage file: 7 | pod2man --section=1 --release=$(VERSION) --center "" myapp.pod > myapp.1 8 | - You are done! You can read the manpage file with: 9 | groff -man -Tascii myapp.1 10 | 11 | 12 | 13 | Ref: https://wiki.ubuntu.com/PackagingGuide/Complete#Man%20Pages 14 | -------------------------------------------------------------------------------- /man/ring-kde.pod: -------------------------------------------------------------------------------- 1 | =head1 NAME 2 | 3 | ring-kde - SIP and IAX2 compatible voice over IP softphone KDE client. 4 | 5 | =head1 SYNOPSIS 6 | 7 | ring-kde 8 | 9 | =head1 DESCRIPTION 10 | 11 | Ring-KDE is meant to be a robust enterprise-class desktop phone. It provides functions like call transfer, call hold, multiple lines, multiple accounts support. 12 | Ring-KDE audio layer is build upon a native ALSA interface and and a native PulseAudio interface. 13 | B is a KDE client for Ring; it communicates with the core side through DBus. Ring package comes with the core, B. 14 | 15 | =head1 BUGS 16 | 17 | Please report bugs at https://projects.savoirfairelinux.com/projects/show/sflphone. 18 | 19 | =head1 AUTHORS 20 | 21 | B is developed in Montreal by Savoir-Faire Linux Inc. The active developers are Jeremy Quentin . 22 | 23 | This manual page was written by Jeremy Quentin . 24 | 25 | =head1 SEE ALSO 26 | 27 | B(1) 28 | 29 | =head1 COPYRIGHT 30 | 31 | This program is free software; you can redistribute it and/or modify it 32 | under the terms of the GNU General Public License version 3 as published by the 33 | Free Software Foundation. 34 | 35 | On Debian GNU/Linux systems, the complete text of the GNU General 36 | Public License can be found in `/usr/share/common-licenses/GPL'. 37 | 38 | =cut 39 | 40 | -------------------------------------------------------------------------------- /man/sflphone.pod: -------------------------------------------------------------------------------- 1 | sflphone-client-kde.pod -------------------------------------------------------------------------------- /release.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | echo 'Make sure config.ini and all code version refewrences are ready [PRESS ENTER]' 3 | read 4 | mkdir -p build 5 | cd build 6 | if [ -d "kde-dev-scripts" ]; then 7 | cd kde-dev-scripts 8 | git pull 9 | cd .. 10 | else 11 | git clone http://anongit.kde.org/kde-dev-scripts 12 | fi 13 | cp ../data/config.ini ./ 14 | cp kde-dev-scripts/createtarball/create_tarball_kf5.rb ./ 15 | ruby create_tarball_kf5.rb -n -a ring-kde && mv ring-kde-*.tar.* ../ 16 | -------------------------------------------------------------------------------- /src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Shared C++ QML components 2 | ADD_SUBDIRECTORY( genericutils ) 3 | 4 | #Build KDE specific files 5 | ADD_SUBDIRECTORY( jamikdeintegration ) 6 | 7 | # Build the QML based first run Wizard 8 | ADD_SUBDIRECTORY( wizard ) 9 | 10 | # Build the QML based interactive video canvas 11 | ADD_SUBDIRECTORY( callview ) 12 | 13 | # Build the advanced phone dialer 14 | ADD_SUBDIRECTORY( dialview ) 15 | 16 | # Build the views and widgets related to the social timeline feature 17 | ADD_SUBDIRECTORY( jamitimeline ) 18 | 19 | # Build the views and widgets related to the peers/people search box 20 | ADD_SUBDIRECTORY( jamisearch ) 21 | 22 | # Build the contact and profile photo editor dialog 23 | ADD_SUBDIRECTORY( photoselector ) 24 | 25 | # Build the elements used to notify the users of events 26 | ADD_SUBDIRECTORY( canvasindicators ) 27 | 28 | # Build the contact manager subsystem 29 | ADD_SUBDIRECTORY( contactview ) 30 | 31 | # Build the account manager subsystem 32 | ADD_SUBDIRECTORY( accountview ) 33 | 34 | # Build the main desktop component 35 | ADD_SUBDIRECTORY( jamivideoview ) 36 | 37 | # Build the main desktop component 38 | ADD_SUBDIRECTORY( jamitroubleshooting ) 39 | 40 | # Build the call and event history 41 | ADD_SUBDIRECTORY( jamihistoryview ) 42 | 43 | # Build the chat widgets 44 | ADD_SUBDIRECTORY( jamichatview ) 45 | 46 | # Build the shared timeline widgets 47 | ADD_SUBDIRECTORY( jamitimelinebase ) 48 | 49 | # Build the audio player widget 50 | ADD_SUBDIRECTORY( jamiaudioplayer ) 51 | 52 | if(ENABLE_NOTIFICATIONS) 53 | # Build the account manager subsystem 54 | ADD_SUBDIRECTORY( jaminotification ) 55 | endif() 56 | -------------------------------------------------------------------------------- /src/accountview/accountview.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | qml/accountlist.qml 4 | qml/presenceselector.qml 5 | qml/accounts.qml 6 | qml/accountdialog.qml 7 | qml/securitylevel.qml 8 | qml/securitytip.qml 9 | qml/deleter.qml 10 | qml/pages/basic.qml 11 | qml/pages/advanced.qml 12 | qml/pages/network.qml 13 | qml/pages/codecs.qml 14 | qml/pages/credentials.qml 15 | qml/pages/devices.qml 16 | qml/pages/security.qml 17 | qml/pages/ringtones.qml 18 | qml/pages/profiles.qml 19 | 20 | 21 | -------------------------------------------------------------------------------- /src/accountview/accountviewplugin.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2018 by Bluesystems * 3 | * Author : Emmanuel Lepage Vallee * 4 | * * 5 | * This program is free software; you can redistribute it and/or modify * 6 | * it under the terms of the GNU General Public License as published by * 7 | * the Free Software Foundation; either version 3 of the License, or * 8 | * (at your option) any later version. * 9 | * * 10 | * This program is distributed in the hope that it will be useful, * 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 13 | * GNU General Public License for more details. * 14 | * * 15 | * You should have received a copy of the GNU General Public License * 16 | * along with this program. If not, see . * 17 | **************************************************************************/ 18 | #pragma once 19 | 20 | #include 21 | 22 | class Q_DECL_EXPORT JamiAccountView final : public QQmlExtensionPlugin 23 | { 24 | Q_OBJECT 25 | Q_PLUGIN_METADATA(IID "org.kde.ringkde.jamiaccountview" FILE "jamiaccountview.json") 26 | 27 | public: 28 | void registerTypes(const char* uri) override; 29 | }; 30 | -------------------------------------------------------------------------------- /src/accountview/cmake/JamiAccountViewConfig.cmake.in: -------------------------------------------------------------------------------- 1 | @PACKAGE_INIT@ 2 | 3 | #Allow users to when to use Q_IMPORT_PLUGIN in main.cpp 4 | if(@ENABLE_STATIC_PLUGIN@ MATCHES 1) 5 | add_definitions(-DJAMIACCOUNTVIEW_USE_STATIC_PLUGIN=1) 6 | endif() 7 | 8 | include("${CMAKE_CURRENT_LIST_DIR}/JamiAccountViewTargets.cmake") 9 | -------------------------------------------------------------------------------- /src/accountview/jamiaccountview.json: -------------------------------------------------------------------------------- 1 | { 2 | "Keys": [ "org.kde.ringkde.jamiaccountview" ], 3 | "uri": ["org.kde.ringkde.jamiaccountview"] 4 | } 5 | -------------------------------------------------------------------------------- /src/accountview/qml/pages/profiles.qml: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2018 by Bluesystems * 3 | * Author : Emmanuel Lepage Vallee * 4 | * * 5 | * This program is free software; you can redistribute it and/or modify * 6 | * it under the terms of the GNU General Public License as published by * 7 | * the Free Software Foundation; either version 3 of the License, or * 8 | * (at your option) any later version. * 9 | * * 10 | * This program is distributed in the hope that it will be useful, * 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 13 | * GNU General Public License for more details. * 14 | * * 15 | * You should have received a copy of the GNU General Public License * 16 | * along with this program. If not, see . * 17 | **************************************************************************/ 18 | import QtQuick 2.8 19 | import org.kde.kirigami 2.5 as Kirigami 20 | import QtQuick.Controls 2.0 21 | import QtQuick.Layouts 1.0 22 | import org.kde.ringkde.jamicontactview 1.0 as JamiContactView 23 | import org.kde.playground.kquickitemviews 1.0 as KQuickItemViews 24 | 25 | Page { 26 | function save() { 27 | if (contactInfo.isChanged) { 28 | contactInfo.save() 29 | } 30 | } 31 | 32 | JamiContactView.ContactInfo { 33 | id: contactInfo 34 | anchors.fill: parent 35 | showStat: false 36 | showImage: true 37 | showSave: true 38 | individual: profile ? profile.individual : null 39 | forcedState: "profile" 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /src/callview/callview.json: -------------------------------------------------------------------------------- 1 | { 2 | "Keys": [ "org.kde.ringkde.callview" ], 3 | "uri": ["org.kde.ringkde.callview"] 4 | } 5 | -------------------------------------------------------------------------------- /src/callview/callview.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | qml/callview.qml 4 | qml/callbackground.qml 5 | qml/cmselector.qml 6 | qml/recordingicon.qml 7 | 8 | 9 | -------------------------------------------------------------------------------- /src/callview/callviewplugin.h: -------------------------------------------------------------------------------- 1 | /************************************************************************************ 2 | * Copyright (C) 2019 by BlueSystems GmbH * 3 | * Author : Emmanuel Lepage Vallee * 4 | * * 5 | * This library is free software; you can redistribute it and/or * 6 | * modify it under the terms of the GNU Lesser General Public * 7 | * License as published by the Free Software Foundation; either * 8 | * version 2.1 of the License, or (at your option) any later version. * 9 | * * 10 | * This library is distributed in the hope that it will be useful, * 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * 13 | * Lesser General Public License for more details. * 14 | * * 15 | * You should have received a copy of the GNU Lesser General Public * 16 | * License along with this library; if not, write to the Free Software * 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * 18 | ***********************************************************************************/ 19 | #pragma once 20 | 21 | #include 22 | 23 | class Q_DECL_EXPORT JamiCallView final : public QQmlExtensionPlugin 24 | { 25 | Q_OBJECT 26 | Q_PLUGIN_METADATA(IID "org.kde.ringkde.callview" FILE "callview.json") 27 | 28 | public: 29 | void registerTypes(const char* uri) override; 30 | virtual void initializeEngine(QQmlEngine* engine, const char* uri) override; 31 | }; 32 | -------------------------------------------------------------------------------- /src/callview/cmake/JamiCallViewConfig.cmake.in: -------------------------------------------------------------------------------- 1 | @PACKAGE_INIT@ 2 | 3 | #Allow users to when to use Q_IMPORT_PLUGIN in main.cpp 4 | if(@ENABLE_STATIC_PLUGIN@ MATCHES 1) 5 | add_definitions(-DJAMICALL_USE_STATIC_PLUGIN=1) 6 | endif() 7 | 8 | include("${CMAKE_CURRENT_LIST_DIR}/JamiCallViewTargets.cmake") 9 | -------------------------------------------------------------------------------- /src/canvasindicators/canvasindicator.h: -------------------------------------------------------------------------------- 1 | /************************************************************************************ 2 | * Copyright (C) 2019 by BlueSystems GmbH * 3 | * Author : Emmanuel Lepage Vallee * 4 | * * 5 | * This library is free software; you can redistribute it and/or * 6 | * modify it under the terms of the GNU Lesser General Public * 7 | * License as published by the Free Software Foundation; either * 8 | * version 2.1 of the License, or (at your option) any later version. * 9 | * * 10 | * This library is distributed in the hope that it will be useful, * 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * 13 | * Lesser General Public License for more details. * 14 | * * 15 | * You should have received a copy of the GNU Lesser General Public * 16 | * License along with this library; if not, write to the Free Software * 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * 18 | ***********************************************************************************/ 19 | #pragma once 20 | 21 | #include 22 | 23 | class Q_DECL_EXPORT JamiCanvasIndicator final : public QQmlExtensionPlugin 24 | { 25 | Q_OBJECT 26 | Q_PLUGIN_METADATA(IID "org.kde.ringkde.jamicanvasindicator" FILE "canvasindicator.json") 27 | 28 | public: 29 | void registerTypes(const char* uri) override; 30 | virtual void initializeEngine(QQmlEngine* engine, const char* uri) override; 31 | }; 32 | -------------------------------------------------------------------------------- /src/canvasindicators/canvasindicator.json: -------------------------------------------------------------------------------- 1 | { 2 | "Keys": [ "org.kde.ringkde.canvasindicator" ], 3 | "uri": ["org.kde.ringkde.canvasindicator"] 4 | } 5 | -------------------------------------------------------------------------------- /src/canvasindicators/canvasindicator.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | qml/ringing.qml 4 | qml/searching.qml 5 | qml/progress.qml 6 | qml/newcall.qml 7 | 8 | icons/phoneDown.svg 9 | icons/ring3.svg 10 | icons/ring2.svg 11 | icons/ring1.svg 12 | icons/searching.svg 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/canvasindicators/cmake/JamiCanvasIndicatorConfig.cmake.in: -------------------------------------------------------------------------------- 1 | @PACKAGE_INIT@ 2 | 3 | #Allow users to when to use Q_IMPORT_PLUGIN in main.cpp 4 | if(@ENABLE_STATIC_PLUGIN@ MATCHES 1) 5 | add_definitions(-DJAMICANVASINDICATOR_USE_STATIC_PLUGIN=1) 6 | endif() 7 | 8 | include("${CMAKE_CURRENT_LIST_DIR}/JamiCanvasIndicatorTargets.cmake") 9 | -------------------------------------------------------------------------------- /src/canvasindicators/qml/ringing.qml: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2017 by Bluesystems * 3 | * Author : Emmanuel Lepage Vallee * 4 | * * 5 | * This program is free software; you can redistribute it and/or modify * 6 | * it under the terms of the GNU General Public License as published by * 7 | * the Free Software Foundation; either version 3 of the License, or * 8 | * (at your option) any later version. * 9 | * * 10 | * This program is distributed in the hope that it will be useful, * 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 13 | * GNU General Public License for more details. * 14 | * * 15 | * You should have received a copy of the GNU General Public License * 16 | * along with this program. If not, see . * 17 | **************************************************************************/ 18 | import QtQuick 2.7 19 | 20 | Rectangle { 21 | width: 128 22 | height: 128 23 | color: "transparent" 24 | property alias running: frameTimer.running 25 | 26 | Image { 27 | id: ringingImage 28 | width: parent.height 29 | height: parent.height 30 | sourceSize.width: parent.height 31 | sourceSize.height: parent.height 32 | smooth: true 33 | source: "image://RingingImageProvider/ringing/0" 34 | } 35 | 36 | property var counter: 0 37 | 38 | Timer { 39 | id: frameTimer 40 | interval: 33 41 | repeat: true 42 | onTriggered: { 43 | counter = counter < 35 ? counter + 1 : 0 44 | ringingImage.source = "image://RingingImageProvider/ringing/"+counter 45 | } 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /src/canvasindicators/qml/searching.qml: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2017 by Bluesystems * 3 | * Author : Emmanuel Lepage Vallee * 4 | * * 5 | * This program is free software; you can redistribute it and/or modify * 6 | * it under the terms of the GNU General Public License as published by * 7 | * the Free Software Foundation; either version 3 of the License, or * 8 | * (at your option) any later version. * 9 | * * 10 | * This program is distributed in the hope that it will be useful, * 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 13 | * GNU General Public License for more details. * 14 | * * 15 | * You should have received a copy of the GNU General Public License * 16 | * along with this program. If not, see . * 17 | **************************************************************************/ 18 | import QtQuick 2.7 19 | 20 | Image { 21 | width: 128 22 | height: 128 23 | property alias running: frameTimer.running 24 | 25 | source: "image://RingingImageProvider/init/0" 26 | 27 | RotationAnimation on rotation { 28 | id: frameTimer 29 | loops: Animation.Infinite 30 | from: 0 31 | to: 360 32 | duration: 2000 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/canvasindicators/ringingimageprovider.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2017 by Bluesystems * 3 | * Author : Emmanuel Lepage Vallee * 4 | * * 5 | * This program is free software; you can redistribute it and/or modify * 6 | * it under the terms of the GNU General Public License as published by * 7 | * the Free Software Foundation; either version 3 of the License, or * 8 | * (at your option) any later version. * 9 | * * 10 | * This program is distributed in the hope that it will be useful, * 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 13 | * GNU General Public License for more details. * 14 | * * 15 | * You should have received a copy of the GNU General Public License * 16 | * along with this program. If not, see . * 17 | **************************************************************************/ 18 | #pragma once 19 | 20 | #include 21 | 22 | class RingingImageProviderPrivate; 23 | 24 | /** 25 | * This image provider mainly exist to edit SVG files to set some colors or 26 | * effects from the palette. 27 | */ 28 | class RingingImageProvider : public QQuickImageProvider 29 | { 30 | public: 31 | explicit RingingImageProvider(); 32 | virtual ~RingingImageProvider(); 33 | 34 | virtual QPixmap requestPixmap(const QString &id, QSize *size, const QSize &requestedSize) override; 35 | 36 | private: 37 | Q_DISABLE_COPY(RingingImageProvider) 38 | RingingImageProviderPrivate* d_ptr; 39 | Q_DECLARE_PRIVATE(RingingImageProvider) 40 | }; 41 | -------------------------------------------------------------------------------- /src/contactview/assets/welcome.html: -------------------------------------------------------------------------------- 1 |
 
2 | 3 |

4 |

Welcome to Banji

5 | Above is the search box. To begin to use Banji, you need to add someone 6 | to talk too. Since no contacts have been imported yet, use the following 7 | search term to locate someone: 8 |

9 | 10 |

11 |

    12 |
  • Their registered Ring or Jami username
  • 13 |
  • Their unique Ring or Jami number identifier
  • 14 |
  • Their phone number
  • 15 |
  • Their name
  • 16 |
17 |
18 |

19 | -------------------------------------------------------------------------------- /src/contactview/cmake/JamiContactViewConfig.cmake.in: -------------------------------------------------------------------------------- 1 | @PACKAGE_INIT@ 2 | 3 | #Allow users to when to use Q_IMPORT_PLUGIN in main.cpp 4 | if(@ENABLE_STATIC_PLUGIN@ MATCHES 1) 5 | add_definitions(-DJAMICONTACTVIEW_USE_STATIC_PLUGIN=1) 6 | endif() 7 | 8 | include("${CMAKE_CURRENT_LIST_DIR}/JamiContactViewTargets.cmake") 9 | -------------------------------------------------------------------------------- /src/contactview/contactview.json: -------------------------------------------------------------------------------- 1 | { 2 | "Keys": [ "org.kde.ringkde.callview" ], 3 | "uri": ["org.kde.ringkde.callview"] 4 | } 5 | -------------------------------------------------------------------------------- /src/contactview/contactview.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | qml/contactlist.qml 4 | qml/bookmarklist.qml 5 | qml/contactcard.qml 6 | qml/bookmarkcard.qml 7 | qml/vcardform.qml 8 | qml/statistics.qml 9 | qml/newcontactdialog.qml 10 | qml/pendingrequests.qml 11 | qml/sendrequest.qml 12 | qml/viewcontactrequests.qml 13 | qml/contactinfo.qml 14 | qml/phonenumbers.qml 15 | qml/contactdialog.qml 16 | qml/addresses.qml 17 | qml/commonactions.qml 18 | 19 | 20 | assets/welcome.html 21 | 22 | 23 | -------------------------------------------------------------------------------- /src/contactview/contactviewplugin.h: -------------------------------------------------------------------------------- 1 | /************************************************************************************ 2 | * Copyright (C) 2019 by BlueSystems GmbH * 3 | * Author : Emmanuel Lepage Vallee * 4 | * * 5 | * This library is free software; you can redistribute it and/or * 6 | * modify it under the terms of the GNU Lesser General Public * 7 | * License as published by the Free Software Foundation; either * 8 | * version 2.1 of the License, or (at your option) any later version. * 9 | * * 10 | * This library is distributed in the hope that it will be useful, * 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * 13 | * Lesser General Public License for more details. * 14 | * * 15 | * You should have received a copy of the GNU Lesser General Public * 16 | * License along with this library; if not, write to the Free Software * 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * 18 | ***********************************************************************************/ 19 | #pragma once 20 | 21 | #include 22 | 23 | class Q_DECL_EXPORT JamiContactView final : public QQmlExtensionPlugin 24 | { 25 | Q_OBJECT 26 | Q_PLUGIN_METADATA(IID "org.kde.ringkde.contactview" FILE "contactview.json") 27 | 28 | public: 29 | void registerTypes(const char* uri) override; 30 | virtual void initializeEngine(QQmlEngine* engine, const char* uri) override; 31 | }; 32 | -------------------------------------------------------------------------------- /src/dialview/cmake/JamiDialViewConfig.cmake.in: -------------------------------------------------------------------------------- 1 | @PACKAGE_INIT@ 2 | 3 | #Allow users to when to use Q_IMPORT_PLUGIN in main.cpp 4 | if(@ENABLE_STATIC_PLUGIN@ MATCHES 1) 5 | add_definitions(-DJAMIDIALVIEW_USE_STATIC_PLUGIN=1) 6 | endif() 7 | 8 | include("${CMAKE_CURRENT_LIST_DIR}/JamiDialViewTargets.cmake") 9 | -------------------------------------------------------------------------------- /src/dialview/dialview.json: -------------------------------------------------------------------------------- 1 | { 2 | "Keys": [ "org.kde.ringkde.dialview" ], 3 | "uri": ["org.kde.ringkde.dialview"] 4 | } 5 | -------------------------------------------------------------------------------- /src/dialview/dialview.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | qml/dialview.qml 4 | qml/dialpad.qml 5 | qml/calllist.qml 6 | qml/calldelegate.qml 7 | qml/calldelegateitem.qml 8 | qml/addcall.qml 9 | qml/mergecall.qml 10 | qml/callerror.qml 11 | qml/missedcall.qml 12 | qml/outgoingcall.qml 13 | qml/incomingcall.qml 14 | qml/finishedcall.qml 15 | qml/currentcall.qml 16 | qml/completiondelegate.qml 17 | qml/actiontoolbar.qml 18 | 19 | 20 | -------------------------------------------------------------------------------- /src/dialview/dialviewplugin.h: -------------------------------------------------------------------------------- 1 | /************************************************************************************ 2 | * Copyright (C) 2019 by BlueSystems GmbH * 3 | * Author : Emmanuel Lepage Vallee * 4 | * * 5 | * This library is free software; you can redistribute it and/or * 6 | * modify it under the terms of the GNU Lesser General Public * 7 | * License as published by the Free Software Foundation; either * 8 | * version 2.1 of the License, or (at your option) any later version. * 9 | * * 10 | * This library is distributed in the hope that it will be useful, * 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * 13 | * Lesser General Public License for more details. * 14 | * * 15 | * You should have received a copy of the GNU Lesser General Public * 16 | * License along with this library; if not, write to the Free Software * 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * 18 | ***********************************************************************************/ 19 | #pragma once 20 | 21 | #include 22 | 23 | class Q_DECL_EXPORT JamiDialView final : public QQmlExtensionPlugin 24 | { 25 | Q_OBJECT 26 | Q_PLUGIN_METADATA(IID "org.kde.ringkde.jamidialview" FILE "dialview.json") 27 | 28 | public: 29 | void registerTypes(const char* uri) override; 30 | virtual void initializeEngine(QQmlEngine* engine, const char* uri) override; 31 | }; 32 | -------------------------------------------------------------------------------- /src/dialview/qml/addcall.qml: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * Copyright (C) 2012 by Savoir-Faire Linux * 3 | * Author : Emmanuel Lepage Vallee * 4 | * * 5 | * This library is free software; you can redistribute it and/or * 6 | * modify it under the terms of the GNU Lesser General Public * 7 | * License as published by the Free Software Foundation; either * 8 | * version 2.1 of the License, or (at your option) any later version. * 9 | * * 10 | * This library is distributed in the hope that it will be useful, * 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * 13 | * Lesser General Public License for more details. * 14 | * * 15 | * You should have received a copy of the Lesser GNU General Public License * 16 | * along with this program. If not, see . * 17 | *****************************************************************************/ 18 | import QtQuick 2.0 19 | 20 | import org.kde.ringkde.genericutils 1.0 as GenericUtils 21 | 22 | GenericUtils.OutlineButton { 23 | id: mainArea 24 | height: 58 25 | expandedHeight: 64 26 | width: parent.width 27 | label: i18n("Create a call") 28 | visible: !RingSession.callModel.hasDialingCall 29 | onClicked: { 30 | RingSession.callModel.selectDialingCall() 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/dialview/qml/callerror.qml: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * Copyright (C) 2012 by Savoir-Faire Linux * 3 | * Author : Emmanuel Lepage Vallee * 4 | * * 5 | * This library is free software; you can redistribute it and/or * 6 | * modify it under the terms of the GNU Lesser General Public * 7 | * License as published by the Free Software Foundation; either * 8 | * version 2.1 of the License, or (at your option) any later version. * 9 | * * 10 | * This library is distributed in the hope that it will be useful, * 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * 13 | * Lesser General Public License for more details. * 14 | * * 15 | * You should have received a copy of the Lesser GNU General Public License * 16 | * along with this program. If not, see . * 17 | *****************************************************************************/ 18 | import QtQuick 2.0 19 | import org.kde.kirigami 2.2 as Kirigami 20 | 21 | 22 | Column { 23 | property QtObject call: null 24 | 25 | Image { 26 | height: 22 27 | fillMode: Image.PreserveAspectFit 28 | width: parent.width 29 | sourceSize.width: 22 30 | sourceSize.height: 22 31 | horizontalAlignment: Image.AlignHCenter 32 | source: "image://SymbolicColorizer/:/sharedassets/outline/warning.svg" 33 | } 34 | Text { 35 | text: call.lastErrorMessage + " (" + call.lastErrorCode + ")" 36 | color: Kirigami.Theme.textColor 37 | wrapMode: Text.WordWrap 38 | width: parent.width 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /src/dialview/qml/calllist.qml: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * Copyright (C) 2012 by Savoir-Faire Linux * 3 | * Author : Emmanuel Lepage Vallee * 4 | * * 5 | * This library is free software; you can redistribute it and/or * 6 | * modify it under the terms of the GNU Lesser General Public * 7 | * License as published by the Free Software Foundation; either * 8 | * version 2.1 of the License, or (at your option) any later version. * 9 | * * 10 | * This library is distributed in the hope that it will be useful, * 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * 13 | * Lesser General Public License for more details. * 14 | * * 15 | * You should have received a copy of the Lesser GNU General Public License * 16 | * along with this program. If not, see . * 17 | *****************************************************************************/ 18 | import QtQuick 2.0 19 | 20 | import net.lvindustries.ringqtquick 1.0 as RingQtQuick 21 | import org.kde.ringkde.jamidialview 1.0 as JamiDialView 22 | 23 | ListView { 24 | Component { 25 | id: callDelegate 26 | JamiDialView.CallDelegate {} 27 | } 28 | 29 | header: JamiDialView.MergeCall {} 30 | footer: JamiDialView.AddCall {} 31 | 32 | id: callList 33 | spacing: 10 34 | 35 | delegate: callDelegate 36 | model: RingSession.callModel 37 | } //CallList 38 | -------------------------------------------------------------------------------- /src/dialview/qml/incomingcall.qml: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * Copyright (C) 2018 by Bluesystems * 3 | * Author : Emmanuel Lepage Vallee * 4 | * * 5 | * This library is free software; you can redistribute it and/or * 6 | * modify it under the terms of the GNU Lesser General Public * 7 | * License as published by the Free Software Foundation; either * 8 | * version 2.1 of the License, or (at your option) any later version. * 9 | * * 10 | * This library is distributed in the hope that it will be useful, * 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * 13 | * Lesser General Public License for more details. * 14 | * * 15 | * You should have received a copy of the Lesser GNU General Public License * 16 | * along with this program. If not, see . * 17 | *****************************************************************************/ 18 | import QtQuick 2.0 19 | import org.kde.ringkde.jamicanvasindicator 1.0 as JamiCanvasIndicator 20 | 21 | 22 | Column { 23 | id: outgoingCall 24 | property QtObject call: null 25 | 26 | spacing: 6 27 | 28 | JamiCanvasIndicator.Ringing { 29 | height: 32 30 | width: 32 31 | anchors.horizontalCenter: parent.horizontalCenter 32 | running: true 33 | visible: true 34 | } 35 | 36 | Item { 37 | height: 4 38 | width: parent.width 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /src/genericutils/cmake/GenericUtilsConfig.cmake.in: -------------------------------------------------------------------------------- 1 | @PACKAGE_INIT@ 2 | 3 | #Allow users to when to use Q_IMPORT_PLUGIN in main.cpp 4 | if(@ENABLE_STATIC_PLUGIN@ MATCHES 1) 5 | add_definitions(-DGENERICUTILS_USE_STATIC_PLUGIN=1) 6 | endif() 7 | 8 | include("${CMAKE_CURRENT_LIST_DIR}/GenericUtilsTargets.cmake") 9 | -------------------------------------------------------------------------------- /src/genericutils/fileloader.cpp: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2017 by Bluesystems * 3 | * Author : Emmanuel Lepage Vallee * 4 | * * 5 | * This program is free software; you can redistribute it and/or modify * 6 | * it under the terms of the GNU General Public License as published by * 7 | * the Free Software Foundation; either version 3 of the License, or * 8 | * (at your option) any later version. * 9 | * * 10 | * This program is distributed in the hope that it will be useful, * 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 13 | * GNU General Public License for more details. * 14 | * * 15 | * You should have received a copy of the GNU General Public License * 16 | * along with this program. If not, see . * 17 | **************************************************************************/ 18 | #include "fileloader.h" 19 | 20 | // Qt 21 | #include 22 | 23 | class FileLoaderPrivate 24 | { 25 | public: 26 | QString m_Path; 27 | QString m_Content; 28 | }; 29 | 30 | FileLoader::FileLoader(QObject* parent) : 31 | QObject(parent), d_ptr(new FileLoaderPrivate()) 32 | {} 33 | 34 | FileLoader::~FileLoader() 35 | { 36 | delete d_ptr; 37 | } 38 | 39 | QString FileLoader::path() const 40 | { 41 | return d_ptr->m_Path; 42 | } 43 | 44 | void FileLoader::setPath(const QString& path) 45 | { 46 | d_ptr->m_Path = path; 47 | 48 | QFile file(path); 49 | d_ptr->m_Content = file.open(QIODevice::ReadOnly) ? file.readAll() : ""; 50 | 51 | emit contentChanged(); 52 | } 53 | 54 | QString FileLoader::content() const 55 | { 56 | return d_ptr->m_Content; 57 | } 58 | -------------------------------------------------------------------------------- /src/genericutils/fileloader.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2017 by Bluesystems * 3 | * Author : Emmanuel Lepage Vallee * 4 | * * 5 | * This program is free software; you can redistribute it and/or modify * 6 | * it under the terms of the GNU General Public License as published by * 7 | * the Free Software Foundation; either version 3 of the License, or * 8 | * (at your option) any later version. * 9 | * * 10 | * This program is distributed in the hope that it will be useful, * 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 13 | * GNU General Public License for more details. * 14 | * * 15 | * You should have received a copy of the GNU General Public License * 16 | * along with this program. If not, see . * 17 | **************************************************************************/ 18 | #pragma once 19 | 20 | #include 21 | 22 | class FileLoaderPrivate; 23 | 24 | /** 25 | * Set "path" in and get "content" out. Simple, right? 26 | */ 27 | class Q_DECL_EXPORT FileLoader : public QObject 28 | { 29 | Q_OBJECT 30 | public: 31 | Q_PROPERTY(QString path READ path WRITE setPath) 32 | Q_PROPERTY(QString content READ content NOTIFY contentChanged) 33 | 34 | Q_INVOKABLE explicit FileLoader(QObject* parent = nullptr); 35 | virtual ~FileLoader(); 36 | 37 | QString path() const; 38 | void setPath(const QString& path); 39 | 40 | QString content() const; 41 | 42 | Q_SIGNALS: 43 | void contentChanged(); 44 | 45 | private: 46 | FileLoaderPrivate *d_ptr; 47 | Q_DECLARE_PRIVATE(FileLoader) 48 | }; 49 | -------------------------------------------------------------------------------- /src/genericutils/genericutils.json: -------------------------------------------------------------------------------- 1 | { 2 | "Keys": [ "org.kde.ringkde.genericutils" ], 3 | "uri": ["org.kde.ringkde.genericutils"] 4 | } 5 | -------------------------------------------------------------------------------- /src/genericutils/plugin.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2017 by Bluesystems * 3 | * Author : Emmanuel Lepage Vallee * 4 | * * 5 | * This program is free software; you can redistribute it and/or modify * 6 | * it under the terms of the GNU General Public License as published by * 7 | * the Free Software Foundation; either version 3 of the License, or * 8 | * (at your option) any later version. * 9 | * * 10 | * This program is distributed in the hope that it will be useful, * 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 13 | * GNU General Public License for more details. * 14 | * * 15 | * You should have received a copy of the GNU General Public License * 16 | * along with this program. If not, see . * 17 | **************************************************************************/ 18 | #pragma once 19 | 20 | #include 21 | 22 | //![plugin] 23 | class GenericUtils final : public QQmlExtensionPlugin 24 | { 25 | Q_OBJECT 26 | Q_PLUGIN_METADATA(IID "org.kde.ringkde.genericutils" FILE "genericutils.json") 27 | 28 | public: 29 | void registerTypes(const char *uri) override; 30 | virtual void initializeEngine(QQmlEngine* engine, const char* uri) override; 31 | }; 32 | //![plugin] 33 | -------------------------------------------------------------------------------- /src/genericutils/qmlwidgets.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | qml/outlinebutton.qml 4 | qml/outlinebuttons.qml 5 | qml/actionswitch.qml 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/genericutils/symboliccolorizer.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2017 by Bluesystems * 3 | * Author : Emmanuel Lepage Vallee * 4 | * * 5 | * This program is free software; you can redistribute it and/or modify * 6 | * it under the terms of the GNU General Public License as published by * 7 | * the Free Software Foundation; either version 3 of the License, or * 8 | * (at your option) any later version. * 9 | * * 10 | * This program is distributed in the hope that it will be useful, * 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 13 | * GNU General Public License for more details. * 14 | * * 15 | * You should have received a copy of the GNU General Public License * 16 | * along with this program. If not, see . * 17 | **************************************************************************/ 18 | #pragma once 19 | 20 | #include 21 | 22 | class SymbolicColorizerPrivate; 23 | 24 | /** 25 | * SymbolicColorizer is a QtQuick image provider designed to paint any theme 26 | * or QRC icons it receive the same color as the QPalette text color. 27 | */ 28 | class SymbolicColorizer final : public QQuickImageProvider 29 | { 30 | public: 31 | explicit SymbolicColorizer(); 32 | virtual ~SymbolicColorizer(); 33 | 34 | virtual QPixmap requestPixmap(const QString &id, QSize *size, const QSize &requestedSize) override; 35 | 36 | private: 37 | Q_DISABLE_COPY(SymbolicColorizer) 38 | SymbolicColorizerPrivate* d_ptr; 39 | Q_DECLARE_PRIVATE(SymbolicColorizer) 40 | }; 41 | -------------------------------------------------------------------------------- /src/jamiaudioplayer/cmake/JamiAudioPlayerConfig.cmake.in: -------------------------------------------------------------------------------- 1 | @PACKAGE_INIT@ 2 | 3 | #Allow users to when to use Q_IMPORT_PLUGIN in main.cpp 4 | if(@ENABLE_STATIC_PLUGIN@ MATCHES 1) 5 | add_definitions(-DJAMIJAMIAUDIOPLAYER_USE_STATIC_PLUGIN=1) 6 | endif() 7 | 8 | include("${CMAKE_CURRENT_LIST_DIR}/JamiAudioPlayerTargets.cmake") 9 | -------------------------------------------------------------------------------- /src/jamiaudioplayer/jamiaudioplayer.json: -------------------------------------------------------------------------------- 1 | { 2 | "Keys": [ "org.kde.ringkde.jamiaudioplayer" ], 3 | "uri": ["org.kde.ringkde.jamiaudioplayer"] 4 | } 5 | -------------------------------------------------------------------------------- /src/jamiaudioplayer/jamiaudioplayer.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | qml/audioplayer.qml 4 | 5 | 6 | -------------------------------------------------------------------------------- /src/jamiaudioplayer/plugin.cpp: -------------------------------------------------------------------------------- 1 | /************************************************************************************ 2 | * Copyright (C) 2018 by BlueSystems GmbH * 3 | * Author : Emmanuel Lepage Vallee * 4 | * * 5 | * This library is free software; you can redistribute it and/or * 6 | * modify it under the terms of the GNU Lesser General Public * 7 | * License as published by the Free Software Foundation; either * 8 | * version 2.1 of the License, or (at your option) any later version. * 9 | * * 10 | * This library is distributed in the hope that it will be useful, * 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * 13 | * Lesser General Public License for more details. * 14 | * * 15 | * You should have received a copy of the GNU Lesser General Public * 16 | * License along with this library; if not, write to the Free Software * 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * 18 | ***********************************************************************************/ 19 | #include "plugin.h" 20 | 21 | // Qt 22 | #include 23 | #include 24 | 25 | // QRC 26 | #include 27 | 28 | void JamiAudioPlayer::registerTypes(const char *uri) 29 | { 30 | Q_ASSERT(uri == QByteArray("org.kde.ringkde.jamiaudioplayer")); 31 | qmlRegisterType(QStringLiteral("qrc:/jamiaudioplayer/qml/audioplayer.qml"), uri, 1, 0, "AudioPlayer"); 32 | 33 | } 34 | 35 | void JamiAudioPlayer::initializeEngine(QQmlEngine *engine, const char *uri) 36 | { 37 | Q_UNUSED(engine) 38 | Q_UNUSED(uri) 39 | } 40 | -------------------------------------------------------------------------------- /src/jamiaudioplayer/plugin.h: -------------------------------------------------------------------------------- 1 | /************************************************************************************ 2 | * Copyright (C) 2019 by BlueSystems GmbH * 3 | * Author : Emmanuel Lepage Vallee * 4 | * * 5 | * This library is free software; you can redistribute it and/or * 6 | * modify it under the terms of the GNU Lesser General Public * 7 | * License as published by the Free Software Foundation; either * 8 | * version 2.1 of the License, or (at your option) any later version. * 9 | * * 10 | * This library is distributed in the hope that it will be useful, * 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * 13 | * Lesser General Public License for more details. * 14 | * * 15 | * You should have received a copy of the GNU Lesser General Public * 16 | * License along with this library; if not, write to the Free Software * 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * 18 | ***********************************************************************************/ 19 | #pragma once 20 | 21 | #include 22 | 23 | class Q_DECL_EXPORT JamiAudioPlayer final : public QQmlExtensionPlugin 24 | { 25 | Q_OBJECT 26 | Q_PLUGIN_METADATA(IID "org.kde.ringkde.jamiaudioplayer" FILE "jamiaudioplayer.json") 27 | 28 | public: 29 | void registerTypes(const char* uri) override; 30 | virtual void initializeEngine(QQmlEngine* engine, const char* uri) override; 31 | }; 32 | -------------------------------------------------------------------------------- /src/jamichatview/cmake/JamiChatViewConfig.cmake.in: -------------------------------------------------------------------------------- 1 | @PACKAGE_INIT@ 2 | 3 | #Allow users to when to use Q_IMPORT_PLUGIN in main.cpp 4 | if(@ENABLE_STATIC_PLUGIN@ MATCHES 1) 5 | add_definitions(-DJAMIJAMICHATVIEW_USE_STATIC_PLUGIN=1) 6 | endif() 7 | 8 | include("${CMAKE_CURRENT_LIST_DIR}/JamiChatViewTargets.cmake") 9 | -------------------------------------------------------------------------------- /src/jamichatview/jamichatview.json: -------------------------------------------------------------------------------- 1 | { 2 | "Keys": [ "org.kde.ringkde.jamichatview" ], 3 | "uri": ["org.kde.ringkde.jamichatview"] 4 | } 5 | -------------------------------------------------------------------------------- /src/jamichatview/jamichatview.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | qml/chatbox.qml 4 | qml/chatview.qml 5 | qml/textbubble.qml 6 | qml/categoryheader.qml 7 | qml/textmessagegroup.qml 8 | qml/callgroup.qml 9 | qml/groupheader.qml 10 | qml/groupfooter.qml 11 | qml/chatpage.qml 12 | qml/navigation.qml 13 | qml/snapshots.qml 14 | qml/slideshow.qml 15 | qml/thumbnail.qml 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/jamichatview/plugin.h: -------------------------------------------------------------------------------- 1 | /************************************************************************************ 2 | * Copyright (C) 2019 by BlueSystems GmbH * 3 | * Author : Emmanuel Lepage Vallee * 4 | * * 5 | * This library is free software; you can redistribute it and/or * 6 | * modify it under the terms of the GNU Lesser General Public * 7 | * License as published by the Free Software Foundation; either * 8 | * version 2.1 of the License, or (at your option) any later version. * 9 | * * 10 | * This library is distributed in the hope that it will be useful, * 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * 13 | * Lesser General Public License for more details. * 14 | * * 15 | * You should have received a copy of the GNU Lesser General Public * 16 | * License along with this library; if not, write to the Free Software * 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * 18 | ***********************************************************************************/ 19 | #pragma once 20 | 21 | #include 22 | 23 | class Q_DECL_EXPORT JamiChatView final : public QQmlExtensionPlugin 24 | { 25 | Q_OBJECT 26 | Q_PLUGIN_METADATA(IID "org.kde.ringkde.jamichatview" FILE "jamichatview.json") 27 | 28 | public: 29 | void registerTypes(const char* uri) override; 30 | virtual void initializeEngine(QQmlEngine* engine, const char* uri) override; 31 | }; 32 | -------------------------------------------------------------------------------- /src/jamichatview/qml/categoryheader.qml: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2017 by Bluesystems * 3 | * Author : Emmanuel Lepage Vallee * 4 | * * 5 | * This program is free software; you can redistribute it and/or modify * 6 | * it under the terms of the GNU General Public License as published by * 7 | * the Free Software Foundation; either version 3 of the License, or * 8 | * (at your option) any later version. * 9 | * * 10 | * This program is distributed in the hope that it will be useful, * 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 13 | * GNU General Public License for more details. * 14 | * * 15 | * You should have received a copy of the GNU General Public License * 16 | * along with this program. If not, see . * 17 | **************************************************************************/ 18 | import QtQuick 2.7 19 | import QtQuick.Layouts 1.0 20 | import org.kde.kirigami 2.2 as Kirigami 21 | 22 | ColumnLayout { 23 | Rectangle { 24 | width: parent.width 25 | anchors.topMargin: 1 26 | height: 1; 27 | color: Kirigami.Theme.disabledTextColor 28 | } 29 | 30 | Text { 31 | text: display 32 | color: Kirigami.Theme.disabledTextColor 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/jamichatview/qml/textmessagegroup.qml: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2017 by Bluesystems * 3 | * Author : Emmanuel Lepage Vallee * 4 | * * 5 | * This program is free software; you can redistribute it and/or modify * 6 | * it under the terms of the GNU General Public License as published by * 7 | * the Free Software Foundation; either version 3 of the License, or * 8 | * (at your option) any later version. * 9 | * * 10 | * This program is distributed in the hope that it will be useful, * 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 13 | * GNU General Public License for more details. * 14 | * * 15 | * You should have received a copy of the GNU General Public License * 16 | * along with this program. If not, see . * 17 | **************************************************************************/ 18 | import QtQuick 2.7 19 | import org.kde.ringkde.jamichatview 1.0 as JamiChatView 20 | 21 | Item { 22 | id: textGroupDelegate 23 | width: parent.width 24 | height: 50 25 | 26 | JamiChatView.GroupHeader { 27 | type: "text" 28 | anchors.margins: 4 29 | height: 38 30 | } 31 | 32 | JamiChatView.GroupFooter { 33 | anchors.horizontalCenter: parent.horizontalCenter 34 | y: (parent.parent && parent.parent.parent && parent.parent.parent.height) ? 35 | parent.parent.parent.height - height : 0 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/jamihistoryview/cmake/JamiHistoryViewConfig.cmake.in: -------------------------------------------------------------------------------- 1 | @PACKAGE_INIT@ 2 | 3 | #Allow users to when to use Q_IMPORT_PLUGIN in main.cpp 4 | if(@ENABLE_STATIC_PLUGIN@ MATCHES 1) 5 | add_definitions(-DJAMIJAMIHISTORYVIEW_USE_STATIC_PLUGIN=1) 6 | endif() 7 | 8 | include("${CMAKE_CURRENT_LIST_DIR}/JamiHistoryViewTargets.cmake") 9 | -------------------------------------------------------------------------------- /src/jamihistoryview/jamihistoryview.json: -------------------------------------------------------------------------------- 1 | { 2 | "Keys": [ "org.kde.ringkde.jamihistoryview" ], 3 | "uri": ["org.kde.ringkde.jamihistoryview"] 4 | } 5 | -------------------------------------------------------------------------------- /src/jamihistoryview/jamihistoryview.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | qml/recordinghistory.qml 4 | qml/callhistory.qml 5 | qml/historytimeline.qml 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/jamihistoryview/plugin.h: -------------------------------------------------------------------------------- 1 | /************************************************************************************ 2 | * Copyright (C) 2019 by BlueSystems GmbH * 3 | * Author : Emmanuel Lepage Vallee * 4 | * * 5 | * This library is free software; you can redistribute it and/or * 6 | * modify it under the terms of the GNU Lesser General Public * 7 | * License as published by the Free Software Foundation; either * 8 | * version 2.1 of the License, or (at your option) any later version. * 9 | * * 10 | * This library is distributed in the hope that it will be useful, * 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * 13 | * Lesser General Public License for more details. * 14 | * * 15 | * You should have received a copy of the GNU Lesser General Public * 16 | * License along with this library; if not, write to the Free Software * 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * 18 | ***********************************************************************************/ 19 | #pragma once 20 | 21 | #include 22 | 23 | class Q_DECL_EXPORT JamiHistoryView final : public QQmlExtensionPlugin 24 | { 25 | Q_OBJECT 26 | Q_PLUGIN_METADATA(IID "org.kde.ringkde.jamihistoryview" FILE "jamihistoryview.json") 27 | 28 | public: 29 | void registerTypes(const char* uri) override; 30 | virtual void initializeEngine(QQmlEngine* engine, const char* uri) override; 31 | }; 32 | -------------------------------------------------------------------------------- /src/jamikdeintegration/cmake/JamiKDEIntegrationConfig.cmake.in: -------------------------------------------------------------------------------- 1 | @PACKAGE_INIT@ 2 | 3 | #Allow users to when to use Q_IMPORT_PLUGIN in main.cpp 4 | if(@ENABLE__STATIC_PLUGIN@ MATCHES 1) 5 | add_definitions(-DJAMIKDEINTEGRATION_USE_STATIC_PLUGIN=1) 6 | endif() 7 | 8 | include("${CMAKE_CURRENT_LIST_DIR}/JamiKDEIntegrationTargets.cmake") 9 | -------------------------------------------------------------------------------- /src/jamikdeintegration/kcfg_settings.kcfgc: -------------------------------------------------------------------------------- 1 | 2 | File=ring-kde.kcfg 3 | ClassName=ConfigurationSkeleton 4 | Singleton=true 5 | Mutators=true 6 | Visibility=Q_DECL_EXPORT 7 | -------------------------------------------------------------------------------- /src/jamikdeintegration/sharedassets/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | CMAKE_MINIMUM_REQUIRED(VERSION 3.0) 2 | 3 | PROJECT(sharedassets) 4 | 5 | IF(POLICY CMP0063) 6 | CMAKE_POLICY(SET CMP0063 NEW) 7 | ENDIF(POLICY CMP0063) 8 | 9 | SET(CMAKE_AUTOMOC ON) 10 | SET(CMAKE_AUTORCC ON) 11 | SET(CMAKE_AUTOUIC ON) 12 | 13 | FIND_PACKAGE ( LibRingQt QUIET ) 14 | 15 | FIND_PACKAGE(Qt5 CONFIG REQUIRED 16 | Core 17 | ) 18 | 19 | SET(GENERIC_LIB_VERSION "1.0.0") 20 | 21 | QT5_ADD_RESOURCES(sharedassets_LIB_SRCS 22 | assets.qrc 23 | ) 24 | 25 | ADD_LIBRARY( sharedassets STATIC ${sharedassets_LIB_SRCS} ) 26 | 27 | target_link_libraries( sharedassets PRIVATE ) 28 | 29 | # https://gitlab.kitware.com/cmake/cmake/issues/17357 30 | export(TARGETS sharedassets 31 | FILE "${PROJECT_BINARY_DIR}/cmake/JamiSharedAssetsTargets.cmake" 32 | ) 33 | 34 | install(TARGETS sharedassets 35 | EXPORT JamiSharedAssetsTargets 36 | LIBRARY DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}" COMPONENT sharedassets 37 | ARCHIVE DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR} 38 | RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/bin 39 | COMPONENT Devel 40 | ) 41 | 42 | install(EXPORT JamiSharedAssetsTargets 43 | DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR}/cmake/JamiSharedAssets 44 | COMPONENT Devel 45 | ) 46 | -------------------------------------------------------------------------------- /src/jamikdeintegration/sharedassets/icons/icon_dialpad.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/jamikdeintegration/sharedassets/icons/miniicons/call.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/ring-kde/f8c095e1a889c9362ab3a099f4b1d210d287a959/src/jamikdeintegration/sharedassets/icons/miniicons/call.png -------------------------------------------------------------------------------- /src/jamikdeintegration/sharedassets/icons/miniicons/car.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/ring-kde/f8c095e1a889c9362ab3a099f4b1d210d287a959/src/jamikdeintegration/sharedassets/icons/miniicons/car.png -------------------------------------------------------------------------------- /src/jamikdeintegration/sharedassets/icons/miniicons/home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/ring-kde/f8c095e1a889c9362ab3a099f4b1d210d287a959/src/jamikdeintegration/sharedassets/icons/miniicons/home.png -------------------------------------------------------------------------------- /src/jamikdeintegration/sharedassets/icons/miniicons/mail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/ring-kde/f8c095e1a889c9362ab3a099f4b1d210d287a959/src/jamikdeintegration/sharedassets/icons/miniicons/mail.png -------------------------------------------------------------------------------- /src/jamikdeintegration/sharedassets/icons/miniicons/mobile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/ring-kde/f8c095e1a889c9362ab3a099f4b1d210d287a959/src/jamikdeintegration/sharedassets/icons/miniicons/mobile.png -------------------------------------------------------------------------------- /src/jamikdeintegration/sharedassets/icons/miniicons/pager.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/ring-kde/f8c095e1a889c9362ab3a099f4b1d210d287a959/src/jamikdeintegration/sharedassets/icons/miniicons/pager.png -------------------------------------------------------------------------------- /src/jamikdeintegration/sharedassets/icons/miniicons/preferred.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/ring-kde/f8c095e1a889c9362ab3a099f4b1d210d287a959/src/jamikdeintegration/sharedassets/icons/miniicons/preferred.png -------------------------------------------------------------------------------- /src/jamikdeintegration/sharedassets/icons/miniicons/video.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/ring-kde/f8c095e1a889c9362ab3a099f4b1d210d287a959/src/jamikdeintegration/sharedassets/icons/miniicons/video.png -------------------------------------------------------------------------------- /src/jamikdeintegration/sharedassets/icons/miniicons/work.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/ring-kde/f8c095e1a889c9362ab3a099f4b1d210d287a959/src/jamikdeintegration/sharedassets/icons/miniicons/work.png -------------------------------------------------------------------------------- /src/jamikdeintegration/sharedassets/outline/call.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/jamikdeintegration/sharedassets/outline/camera.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/jamikdeintegration/sharedassets/outline/chat.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/jamikdeintegration/sharedassets/outline/screen.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/jamikdeintegration/sharedassets/outline/web.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /src/jamikdeintegration/sharedassets/phone_dark/accept.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/jamikdeintegration/sharedassets/phone_dark/accept_video.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/jamikdeintegration/sharedassets/phone_dark/busy.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/jamikdeintegration/sharedassets/phone_dark/connected.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/jamikdeintegration/sharedassets/phone_dark/current.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/jamikdeintegration/sharedassets/phone_dark/dial.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/jamikdeintegration/sharedassets/phone_dark/failed.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/jamikdeintegration/sharedassets/phone_dark/hang_up.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/jamikdeintegration/sharedassets/phone_dark/hold.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/jamikdeintegration/sharedassets/phone_dark/incoming.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/jamikdeintegration/sharedassets/phone_dark/initialization.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/jamikdeintegration/sharedassets/phone_dark/mailbox.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/jamikdeintegration/sharedassets/phone_dark/missed_incoming.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/jamikdeintegration/sharedassets/phone_dark/missed_outgoing.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/jamikdeintegration/sharedassets/phone_dark/mute_video.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/jamikdeintegration/sharedassets/phone_dark/outgoing.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/jamikdeintegration/sharedassets/phone_dark/ringing.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/jamikdeintegration/sharedassets/phone_dark/transfert.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/jamikdeintegration/sharedassets/phone_light/accept.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/jamikdeintegration/sharedassets/phone_light/call.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/jamikdeintegration/sharedassets/phone_light/hold.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/jamikdeintegration/sharedassets/phone_light/mic_off.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/jamikdeintegration/sharedassets/phone_light/mic_on.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/jamikdeintegration/sharedassets/phone_light/record_call.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/jamikdeintegration/sharedassets/phone_light/refuse.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/jamikdeintegration/sharedassets/phone_light/transfert.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/jamikdeintegration/sharedassets/phone_light/unhold.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/jamikdeintegration/sharedassets/security/lock_confirmed.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/jamikdeintegration/sharedassets/security/lock_error.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/jamikdeintegration/src/colorinterface.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2013-2015 by Savoir-Faire Linux * 3 | * Author : Emmanuel Lepage Vallee * 4 | * * 5 | * This program is free software; you can redistribute it and/or modify * 6 | * it under the terms of the GNU General Public License as published by * 7 | * the Free Software Foundation; either version 3 of the License, or * 8 | * (at your option) any later version. * 9 | * * 10 | * This program is distributed in the hope that it will be useful, * 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 13 | * GNU General Public License for more details. * 14 | * * 15 | * You should have received a copy of the GNU General Public License * 16 | * along with this program. If not, see . * 17 | **************************************************************************/ 18 | #pragma once 19 | 20 | // Qt 21 | #include 22 | 23 | // LibRingQt 24 | #include 25 | 26 | class ColorInterface final : public QObject, public Interfaces::AccountListColorizerI 27 | { 28 | Q_OBJECT 29 | public: 30 | explicit ColorInterface(); 31 | 32 | ColorInterface(const ColorInterface&) = delete; 33 | ColorInterface& operator=(const ColorInterface&) = delete; 34 | 35 | virtual Q_INVOKABLE QVariant color(const Account* a) override; 36 | 37 | virtual Q_INVOKABLE QVariant icon(const Account* a) override; 38 | private: 39 | QPalette m_Pal; 40 | QColor m_Green; 41 | QColor m_Yellow; 42 | QColor m_Red; 43 | }; 44 | -------------------------------------------------------------------------------- /src/jamikdeintegration/src/fileproverderinterface.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2013-2015 by Savoir-Faire Linux * 3 | * Author : Emmanuel Lepage Vallee * 4 | * * 5 | * This program is free software; you can redistribute it and/or modify * 6 | * it under the terms of the GNU General Public License as published by * 7 | * the Free Software Foundation; either version 3 of the License, or * 8 | * (at your option) any later version. * 9 | * * 10 | * This program is distributed in the hope that it will be useful, * 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 13 | * GNU General Public License for more details. * 14 | * * 15 | * You should have received a copy of the GNU General Public License * 16 | * along with this program. If not, see . * 17 | **************************************************************************/ 18 | #pragma once 19 | 20 | #include 21 | 22 | class FileProviderInterface : public Interfaces::FileProviderI 23 | { 24 | public: 25 | explicit FileProviderInterface() = default; 26 | 27 | virtual QUrl getAnyFile(const QStringList& extensions) const override; 28 | 29 | virtual QList recentFiles() const override; 30 | 31 | virtual void addRecentFile(const QUrl& path) const override; 32 | 33 | }; 34 | 35 | // kate: space-indent on; indent-width 4; replace-tabs on; 36 | -------------------------------------------------------------------------------- /src/jamikdeintegration/src/jamikdeintegration.json: -------------------------------------------------------------------------------- 1 | { 2 | "Keys": [ "org.kde.ringkde.jamikdeintegration" ], 3 | "uri": ["org.kde.ringkde.jamikdeintegration"] 4 | } 5 | -------------------------------------------------------------------------------- /src/jamikdeintegration/src/personiconengine.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2017 by Bluesystems * 3 | * Author : Emmanuel Lepage Vallee * 4 | * * 5 | * This program is free software; you can redistribute it and/or modify * 6 | * it under the terms of the GNU General Public License as published by * 7 | * the Free Software Foundation; either version 3 of the License, or * 8 | * (at your option) any later version. * 9 | * * 10 | * This program is distributed in the hope that it will be useful, * 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 13 | * GNU General Public License for more details. * 14 | * * 15 | * You should have received a copy of the GNU General Public License * 16 | * along with this program. If not, see . * 17 | **************************************************************************/ 18 | #pragma once 19 | 20 | #include 21 | 22 | class Person; 23 | 24 | class PersonIconEnginePrivate; 25 | 26 | /** 27 | * Generate pixmap with photo and presence data. 28 | */ 29 | class PersonIconEngine : public QIconEngine 30 | { 31 | public: 32 | explicit PersonIconEngine(Person* person); 33 | virtual ~PersonIconEngine(); 34 | 35 | virtual void paint(QPainter *painter, const QRect &rect, QIcon::Mode mode, QIcon::State state) override; 36 | virtual QIconEngine* clone() const override; 37 | virtual QSize actualSize(const QSize &size, QIcon::Mode mode, QIcon::State state) override; 38 | 39 | private: 40 | Q_DISABLE_COPY(PersonIconEngine) 41 | PersonIconEnginePrivate* d_ptr; 42 | }; 43 | -------------------------------------------------------------------------------- /src/jamikdeintegration/src/plugin.h: -------------------------------------------------------------------------------- 1 | /************************************************************************************ 2 | * Copyright (C) 2018 by BlueSystems GmbH * 3 | * Author : Emmanuel Lepage Vallee * 4 | * * 5 | * This library is free software; you can redistribute it and/or * 6 | * modify it under the terms of the GNU Lesser General Public * 7 | * License as published by the Free Software Foundation; either * 8 | * version 2.1 of the License, or (at your option) any later version. * 9 | * * 10 | * This library is distributed in the hope that it will be useful, * 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * 13 | * Lesser General Public License for more details. * 14 | * * 15 | * You should have received a copy of the GNU Lesser General Public * 16 | * License along with this library; if not, write to the Free Software * 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * 18 | ***********************************************************************************/ 19 | #pragma once 20 | 21 | #include 22 | 23 | class Q_DECL_EXPORT JamiKDEIntegration final : public QQmlExtensionPlugin 24 | { 25 | Q_OBJECT 26 | Q_PLUGIN_METADATA(IID "org.kde.ringkde.jamikdeintegration" FILE "jamikdeintegration.json") 27 | 28 | public: 29 | static QQmlEngine* engine(); 30 | void registerTypes(const char* uri) override; 31 | virtual void initializeEngine(QQmlEngine* engine, const char* uri) override; 32 | }; 33 | -------------------------------------------------------------------------------- /src/jamikdeintegration/src/shortcutinterface.cpp: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2013-2015 by Savoir-Faire Linux * 3 | * Author : Emmanuel Lepage Vallee * 4 | * * 5 | * This program is free software; you can redistribute it and/or modify * 6 | * it under the terms of the GNU General Public License as published by * 7 | * the Free Software Foundation; either version 3 of the License, or * 8 | * (at your option) any later version. * 9 | * * 10 | * This program is distributed in the hope that it will be useful, * 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 13 | * GNU General Public License for more details. * 14 | * * 15 | * You should have received a copy of the GNU General Public License * 16 | * along with this program. If not, see . * 17 | **************************************************************************/ 18 | #include "shortcutinterface.h" 19 | 20 | QVariant ShortcutInterface::createAction(Macro* macro) 21 | { 22 | Q_UNUSED(macro) 23 | return {}; 24 | } 25 | -------------------------------------------------------------------------------- /src/jamikdeintegration/src/shortcutinterface.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2013-2015 by Savoir-Faire Linux * 3 | * Author : Emmanuel Lepage Vallee * 4 | * * 5 | * This program is free software; you can redistribute it and/or modify * 6 | * it under the terms of the GNU General Public License as published by * 7 | * the Free Software Foundation; either version 3 of the License, or * 8 | * (at your option) any later version. * 9 | * * 10 | * This program is distributed in the hope that it will be useful, * 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 13 | * GNU General Public License for more details. * 14 | * * 15 | * You should have received a copy of the GNU General Public License * 16 | * along with this program. If not, see . * 17 | **************************************************************************/ 18 | #pragma once 19 | 20 | class Macro; 21 | 22 | #include 23 | 24 | class ShortcutInterface final : public Interfaces::ShortcutCreatorI 25 | { 26 | public: 27 | virtual ~ShortcutInterface(){} 28 | virtual QVariant createAction(Macro* macro) override; 29 | }; 30 | 31 | -------------------------------------------------------------------------------- /src/jaminotification/cmake/JamiNotificationConfig.cmake.in: -------------------------------------------------------------------------------- 1 | @PACKAGE_INIT@ 2 | 3 | #Allow users to when to use Q_IMPORT_PLUGIN in main.cpp 4 | if(@ENABLE_STATIC_PLUGIN@ MATCHES 1) 5 | add_definitions(-DJAMINOTIFICATION_USE_STATIC_PLUGIN=1) 6 | endif() 7 | 8 | include("${CMAKE_CURRENT_LIST_DIR}/JamiNotificationTargets.cmake") 9 | -------------------------------------------------------------------------------- /src/jaminotification/jaminotification.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | qml/individualsettings.qml 4 | 5 | 6 | -------------------------------------------------------------------------------- /src/jaminotification/notification.json: -------------------------------------------------------------------------------- 1 | { 2 | "Keys": [ "org.kde.ringkde.jaminotification" ], 3 | "uri": ["org.kde.ringkde.jaminotification"] 4 | } 5 | -------------------------------------------------------------------------------- /src/jaminotification/plugin.h: -------------------------------------------------------------------------------- 1 | /************************************************************************************ 2 | * Copyright (C) 2019 by BlueSystems GmbH * 3 | * Author : Emmanuel Lepage Vallee * 4 | * * 5 | * This library is free software; you can redistribute it and/or * 6 | * modify it under the terms of the GNU Lesser General Public * 7 | * License as published by the Free Software Foundation; either * 8 | * version 2.1 of the License, or (at your option) any later version. * 9 | * * 10 | * This library is distributed in the hope that it will be useful, * 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * 13 | * Lesser General Public License for more details. * 14 | * * 15 | * You should have received a copy of the GNU Lesser General Public * 16 | * License along with this library; if not, write to the Free Software * 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * 18 | ***********************************************************************************/ 19 | #pragma once 20 | 21 | #include 22 | 23 | class Q_DECL_EXPORT JamiNotification final : public QQmlExtensionPlugin 24 | { 25 | Q_OBJECT 26 | Q_PLUGIN_METADATA(IID "org.kde.ringkde.jaminotification" FILE "notification.json") 27 | 28 | public: 29 | void registerTypes(const char* uri) override; 30 | virtual void initializeEngine(QQmlEngine* engine, const char* uri) override; 31 | }; 32 | -------------------------------------------------------------------------------- /src/jamisearch/cmake/JamiSearchConfig.cmake.in: -------------------------------------------------------------------------------- 1 | @PACKAGE_INIT@ 2 | 3 | #Allow users to when to use Q_IMPORT_PLUGIN in main.cpp 4 | if(@ENABLE_STATIC_PLUGIN@ MATCHES 1) 5 | add_definitions(-DJAMITIMELINEVIEW_USE_STATIC_PLUGIN=1) 6 | endif() 7 | 8 | include("${CMAKE_CURRENT_LIST_DIR}/JamiTimelineViewTargets.cmake") 9 | -------------------------------------------------------------------------------- /src/jamisearch/jamisearch.json: -------------------------------------------------------------------------------- 1 | { 2 | "Keys": [ "org.kde.ringkde.timelineview" ], 3 | "uri": ["org.kde.ringkde.timelineview"] 4 | } 5 | -------------------------------------------------------------------------------- /src/jamisearch/jamisearch.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | qml/searchdelegate.qml 4 | qml/findpeers.qml 5 | qml/firstrun.qml 6 | qml/searchtip.qml 7 | qml/searchbox.qml 8 | qml/searchoverlay.qml 9 | qml/searchstate.qml 10 | qml/matchcategories.qml 11 | qml/toolbar.qml 12 | 13 | 14 | 15 | ./icons/history.svg 16 | ./icons/contact.svg 17 | ./icons/bookmark.svg 18 | 19 | 20 | -------------------------------------------------------------------------------- /src/jamisearch/jamisearchplugin.h: -------------------------------------------------------------------------------- 1 | /************************************************************************************ 2 | * Copyright (C) 2019 by BlueSystems GmbH * 3 | * Author : Emmanuel Lepage Vallee * 4 | * * 5 | * This library is free software; you can redistribute it and/or * 6 | * modify it under the terms of the GNU Lesser General Public * 7 | * License as published by the Free Software Foundation; either * 8 | * version 2.1 of the License, or (at your option) any later version. * 9 | * * 10 | * This library is distributed in the hope that it will be useful, * 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * 13 | * Lesser General Public License for more details. * 14 | * * 15 | * You should have received a copy of the GNU Lesser General Public * 16 | * License along with this library; if not, write to the Free Software * 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * 18 | ***********************************************************************************/ 19 | #pragma once 20 | 21 | #include 22 | 23 | class Q_DECL_EXPORT JamiSearch final : public QQmlExtensionPlugin 24 | { 25 | Q_OBJECT 26 | Q_PLUGIN_METADATA(IID "org.kde.ringkde.jamisearch" FILE "jamisearch.json") 27 | 28 | public: 29 | void registerTypes(const char* uri) override; 30 | virtual void initializeEngine(QQmlEngine* engine, const char* uri) override; 31 | }; 32 | -------------------------------------------------------------------------------- /src/jamisearch/qml/firstrun.qml: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2017 by Bluesystems * 3 | * Author : Emmanuel Lepage Vallee * 4 | * * 5 | * This program is free software; you can redistribute it and/or modify * 6 | * it under the terms of the GNU General Public License as published by * 7 | * the Free Software Foundation; either version 3 of the License, or * 8 | * (at your option) any later version. * 9 | * * 10 | * This program is distributed in the hope that it will be useful, * 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 13 | * GNU General Public License for more details. * 14 | * * 15 | * You should have received a copy of the GNU General Public License * 16 | * along with this program. If not, see . * 17 | **************************************************************************/ 18 | import QtQuick 2.7 19 | import org.kde.ringkde.genericutils 1.0 as GenericUtils 20 | import org.kde.kirigami 2.2 as Kirigami 21 | 22 | Loader { 23 | clip: true 24 | 25 | GenericUtils.FileLoader { 26 | id: welcomeMessage 27 | path: ":/assets/welcome.html" 28 | } 29 | 30 | sourceComponent: Text { 31 | anchors.fill: parent 32 | color: Kirigami.Theme.textColor 33 | textFormat: Text.RichText 34 | wrapMode: Text.WordWrap 35 | text: welcomeMessage.content 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/jamisearch/tipmodel.cpp: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2018 by Bluesystems * 3 | * Author : Emmanuel Lepage Vallee * 4 | * * 5 | * This program is free software; you can redistribute it and/or modify * 6 | * it under the terms of the GNU General Public License as published by * 7 | * the Free Software Foundation; either version 3 of the License, or * 8 | * (at your option) any later version. * 9 | * * 10 | * This program is distributed in the hope that it will be useful, * 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 13 | * GNU General Public License for more details. * 14 | * * 15 | * You should have received a copy of the GNU General Public License * 16 | * along with this program. If not, see . * 17 | **************************************************************************/ 18 | #include "tipmodel.h" 19 | 20 | #include <../jamikdeintegration/kcfg_settings.h> 21 | 22 | bool TipModel::showSearchTip() const 23 | { 24 | return ConfigurationSkeleton::displaySearchTip(); 25 | } 26 | 27 | void TipModel::setShowSearchTip(bool v) 28 | { 29 | ConfigurationSkeleton::setDisplaySearchTip(v); 30 | emit changed(); 31 | } 32 | 33 | bool TipModel::showFirstTip() const 34 | { 35 | return ConfigurationSkeleton::displayFirstTip(); 36 | } 37 | 38 | void TipModel::setShowFirstTip(bool v) 39 | { 40 | ConfigurationSkeleton::setDisplayFirstTip(v); 41 | emit changed(); 42 | } 43 | -------------------------------------------------------------------------------- /src/jamisearch/tipmodel.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2018 by Bluesystems * 3 | * Author : Emmanuel Lepage Vallee * 4 | * * 5 | * This program is free software; you can redistribute it and/or modify * 6 | * it under the terms of the GNU General Public License as published by * 7 | * the Free Software Foundation; either version 3 of the License, or * 8 | * (at your option) any later version. * 9 | * * 10 | * This program is distributed in the hope that it will be useful, * 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 13 | * GNU General Public License for more details. * 14 | * * 15 | * You should have received a copy of the GNU General Public License * 16 | * along with this program. If not, see . * 17 | **************************************************************************/ 18 | #pragma once 19 | 20 | #include 21 | 22 | class TipModel : public QObject 23 | { 24 | Q_OBJECT 25 | public: 26 | Q_PROPERTY(bool showSearchTip READ showSearchTip WRITE setShowSearchTip NOTIFY changed) 27 | Q_PROPERTY(bool showFirstTip READ showFirstTip WRITE setShowFirstTip NOTIFY changed) 28 | 29 | bool showSearchTip() const; 30 | void setShowSearchTip(bool v); 31 | 32 | bool showFirstTip() const; 33 | void setShowFirstTip(bool v); 34 | 35 | Q_SIGNALS: 36 | void changed(); 37 | }; 38 | -------------------------------------------------------------------------------- /src/jamitimeline/cmake/JamiTimelineViewConfig.cmake.in: -------------------------------------------------------------------------------- 1 | @PACKAGE_INIT@ 2 | 3 | #Allow users to when to use Q_IMPORT_PLUGIN in main.cpp 4 | if(@ENABLE_STATIC_PLUGIN@ MATCHES 1) 5 | add_definitions(-DJAMITIMELINEVIEW_USE_STATIC_PLUGIN=1) 6 | endif() 7 | 8 | include("${CMAKE_CURRENT_LIST_DIR}/JamiTimelineViewTargets.cmake") 9 | -------------------------------------------------------------------------------- /src/jamitimeline/icons/bookmarked.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/jamitimeline/icons/not_bookmarked.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/jamitimeline/recentdock.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | qml/peerstimeline.qml 4 | qml/contactmethoddelegate.qml 5 | qml/peerstimelinecategories.qml 6 | icons/bookmarked.svg 7 | icons/not_bookmarked.svg 8 | 9 | 10 | -------------------------------------------------------------------------------- /src/jamitimeline/timelineplugin.h: -------------------------------------------------------------------------------- 1 | /************************************************************************************ 2 | * Copyright (C) 2019 by BlueSystems GmbH * 3 | * Author : Emmanuel Lepage Vallee * 4 | * * 5 | * This library is free software; you can redistribute it and/or * 6 | * modify it under the terms of the GNU Lesser General Public * 7 | * License as published by the Free Software Foundation; either * 8 | * version 2.1 of the License, or (at your option) any later version. * 9 | * * 10 | * This library is distributed in the hope that it will be useful, * 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * 13 | * Lesser General Public License for more details. * 14 | * * 15 | * You should have received a copy of the GNU Lesser General Public * 16 | * License along with this library; if not, write to the Free Software * 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * 18 | ***********************************************************************************/ 19 | #pragma once 20 | 21 | #include 22 | 23 | class Q_DECL_EXPORT JamiTimelineView final : public QQmlExtensionPlugin 24 | { 25 | Q_OBJECT 26 | Q_PLUGIN_METADATA(IID "org.kde.ringkde.jamitimeline" FILE "timelineview.json") 27 | 28 | public: 29 | void registerTypes(const char* uri) override; 30 | virtual void initializeEngine(QQmlEngine* engine, const char* uri) override; 31 | }; 32 | -------------------------------------------------------------------------------- /src/jamitimeline/timelineview.json: -------------------------------------------------------------------------------- 1 | { 2 | "Keys": [ "org.kde.ringkde.timelineview" ], 3 | "uri": ["org.kde.ringkde.timelineview"] 4 | } 5 | -------------------------------------------------------------------------------- /src/jamitimelinebase/cmake/JamiTimelineBaseConfig.cmake.in: -------------------------------------------------------------------------------- 1 | @PACKAGE_INIT@ 2 | 3 | #Allow users to when to use Q_IMPORT_PLUGIN in main.cpp 4 | if(@ENABLE_STATIC_PLUGIN@ MATCHES 1) 5 | add_definitions(-DJAMIJAMITIMELINEBASE_USE_STATIC_PLUGIN=1) 6 | endif() 7 | 8 | include("${CMAKE_CURRENT_LIST_DIR}/JamiTimelineBaseTargets.cmake") 9 | -------------------------------------------------------------------------------- /src/jamitimelinebase/jamitimelinebase.json: -------------------------------------------------------------------------------- 1 | { 2 | "Keys": [ "org.kde.ringkde.jamitimelinebase" ], 3 | "uri": ["org.kde.ringkde.jamitimelinebase"] 4 | } 5 | -------------------------------------------------------------------------------- /src/jamitimelinebase/jamitimelinebase.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | qml/scrollbar.qml 4 | 5 | 6 | -------------------------------------------------------------------------------- /src/jamitimelinebase/plugin.h: -------------------------------------------------------------------------------- 1 | /************************************************************************************ 2 | * Copyright (C) 2019 by BlueSystems GmbH * 3 | * Author : Emmanuel Lepage Vallee * 4 | * * 5 | * This library is free software; you can redistribute it and/or * 6 | * modify it under the terms of the GNU Lesser General Public * 7 | * License as published by the Free Software Foundation; either * 8 | * version 2.1 of the License, or (at your option) any later version. * 9 | * * 10 | * This library is distributed in the hope that it will be useful, * 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * 13 | * Lesser General Public License for more details. * 14 | * * 15 | * You should have received a copy of the GNU Lesser General Public * 16 | * License along with this library; if not, write to the Free Software * 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * 18 | ***********************************************************************************/ 19 | #pragma once 20 | 21 | #include 22 | 23 | class Q_DECL_EXPORT JamiTimelineBase final : public QQmlExtensionPlugin 24 | { 25 | Q_OBJECT 26 | Q_PLUGIN_METADATA(IID "org.kde.ringkde.jamitimelinebase" FILE "jamitimelinebase.json") 27 | 28 | public: 29 | void registerTypes(const char* uri) override; 30 | virtual void initializeEngine(QQmlEngine* engine, const char* uri) override; 31 | }; 32 | -------------------------------------------------------------------------------- /src/jamitimelinebase/timelinedots.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2017 by Bluesystems * 3 | * Author : Emmanuel Lepage Vallee * 4 | * * 5 | * This program is free software; you can redistribute it and/or modify * 6 | * it under the terms of the GNU General Public License as published by * 7 | * the Free Software Foundation; either version 3 of the License, or * 8 | * (at your option) any later version. * 9 | * * 10 | * This program is distributed in the hope that it will be useful, * 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 13 | * GNU General Public License for more details. * 14 | * * 15 | * You should have received a copy of the GNU General Public License * 16 | * along with this program. If not, see . * 17 | **************************************************************************/ 18 | #pragma once 19 | 20 | #include 21 | 22 | class TimelineDotsPrivate; 23 | 24 | /** 25 | * The pure QML version of this widget created too many elements and was too 26 | * slow. 27 | */ 28 | class TimelineDots : public QQuickPaintedItem 29 | { 30 | Q_OBJECT 31 | public: 32 | Q_PROPERTY(QColor color READ color WRITE setColor NOTIFY changed) 33 | 34 | QColor color() const; 35 | void setColor(const QColor& color); 36 | 37 | explicit TimelineDots(QQuickItem* parent = nullptr); 38 | virtual ~TimelineDots(); 39 | 40 | virtual void paint(QPainter *painter) override; 41 | 42 | Q_SIGNALS: 43 | void changed(); 44 | 45 | private: 46 | TimelineDotsPrivate* d_ptr; 47 | Q_DECLARE_PRIVATE(TimelineDots) 48 | }; 49 | -------------------------------------------------------------------------------- /src/jamitroubleshooting/cmake/JamiTroubleshootingConfig.cmake.in: -------------------------------------------------------------------------------- 1 | @PACKAGE_INIT@ 2 | 3 | #Allow users to when to use Q_IMPORT_PLUGIN in main.cpp 4 | if(@ENABLE_STATIC_PLUGIN@ MATCHES 1) 5 | add_definitions(-DJAMIJAMITROUBLESHOOTING_USE_STATIC_PLUGIN=1) 6 | endif() 7 | 8 | include("${CMAKE_CURRENT_LIST_DIR}/JamiTroubleshootingTargets.cmake") 9 | -------------------------------------------------------------------------------- /src/jamitroubleshooting/jamitroubleshooting.json: -------------------------------------------------------------------------------- 1 | { 2 | "Keys": [ "org.kde.ringkde.jamitroubleshooting" ], 3 | "uri": ["org.kde.ringkde.jamitroubleshooting"] 4 | } 5 | -------------------------------------------------------------------------------- /src/jamitroubleshooting/jamitroubleshooting.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | qml/troubleshoot.qml 4 | qml/accounterror.qml 5 | qml/accountdisabled.qml 6 | qml/noaccount.qml 7 | qml/mediaavailability.qml 8 | qml/globaltroubleshoot.qml 9 | 10 | 11 | -------------------------------------------------------------------------------- /src/jamitroubleshooting/plugin.h: -------------------------------------------------------------------------------- 1 | /************************************************************************************ 2 | * Copyright (C) 2019 by BlueSystems GmbH * 3 | * Author : Emmanuel Lepage Vallee * 4 | * * 5 | * This library is free software; you can redistribute it and/or * 6 | * modify it under the terms of the GNU Lesser General Public * 7 | * License as published by the Free Software Foundation; either * 8 | * version 2.1 of the License, or (at your option) any later version. * 9 | * * 10 | * This library is distributed in the hope that it will be useful, * 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * 13 | * Lesser General Public License for more details. * 14 | * * 15 | * You should have received a copy of the GNU Lesser General Public * 16 | * License along with this library; if not, write to the Free Software * 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * 18 | ***********************************************************************************/ 19 | #pragma once 20 | 21 | #include 22 | 23 | class Q_DECL_EXPORT JamiTroubleshooting final : public QQmlExtensionPlugin 24 | { 25 | Q_OBJECT 26 | Q_PLUGIN_METADATA(IID "org.kde.ringkde.jamitroubleshooting" FILE "jamitroubleshooting.json") 27 | 28 | public: 29 | void registerTypes(const char* uri) override; 30 | virtual void initializeEngine(QQmlEngine* engine, const char* uri) override; 31 | }; 32 | -------------------------------------------------------------------------------- /src/jamivideoview/cmake/JamiVideoViewConfig.cmake.in: -------------------------------------------------------------------------------- 1 | @PACKAGE_INIT@ 2 | 3 | #Allow users to when to use Q_IMPORT_PLUGIN in main.cpp 4 | if(@ENABLE_STATIC_PLUGIN@ MATCHES 1) 5 | add_definitions(-DJAMIJAMIVIDEOVIEW_USE_STATIC_PLUGIN=1) 6 | endif() 7 | 8 | include("${CMAKE_CURRENT_LIST_DIR}/JamiVideoViewTargets.cmake") 9 | -------------------------------------------------------------------------------- /src/jamivideoview/imageprovider.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * Copyright (C) 2017 by Bluesystems * 3 | * Author : Emmanuel Lepage Vallee * 4 | * * 5 | * This program is free software; you can redistribute it and/or modify * 6 | * it under the terms of the GNU General Public License as published by * 7 | * the Free Software Foundation; either version 3 of the License, or * 8 | * (at your option) any later version. * 9 | * * 10 | * This program is distributed in the hope that it will be useful, * 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 13 | * GNU General Public License for more details. * 14 | * * 15 | * You should have received a copy of the GNU General Public License * 16 | * along with this program. If not, see . * 17 | **************************************************************************/ 18 | #pragma once 19 | 20 | #include 21 | 22 | #include