* Support autostart for Appimage based Linphone-desktop. (Use APPIMAGE variable to retrieve appimage location for autostart)

* Deleted empty icon ligne in autostart file to show icons again
* Fixed indent to use space (default in this file)
This commit is contained in:
Peio Rigaux 2021-03-08 16:51:44 +00:00
parent 6f63b37cfa
commit 4933471f1a
2 changed files with 37 additions and 27 deletions

View file

@ -12,7 +12,7 @@ job-debian9-ninja-gcc:
CXX: g++
extends: .job-linux-desktop
job-debian9-ninja-gcc-smallsdk:
except:
refs:
@ -68,7 +68,7 @@ job-debian9-ninja-clang-novideo:
variables:
CMAKE_OPTIONS: -DENABLE_VIDEO=NO
extends: job-debian9-ninja-clang
job-debian9-makefile-clang:
tags: [ "docker-debian9" ]
image: gitlab.linphone.org:4567/bc/public/linphone-desktop/bc-dev-debian9-fuse-wget-gpg2-qt-release-no-debug-info:5.12.5
@ -98,7 +98,7 @@ job-debian9-makefile-clang:
- echo $DEFAULT_LINUX_CMAKE_OPTIONS
- echo $CMAKE_SANITIZER_OPTIONS
- cd build
- cmake .. -G "$CMAKE_GENERATOR" -DCMAKE_VERBOSE_MAKEFILE=ON -DLINPHONESDK_PLATFORM=Desktop -DCMAKE_BUILD_TYPE=$CI_BUILD_TYPE $DEFAULT_LINUX_CMAKE_OPTIONS $CMAKE_OPTIONS $SCHEDULE_CMAKE_OPTIONS $CMAKE_SANITIZER_OPTIONS
- cmake .. -G "$CMAKE_GENERATOR" -DCMAKE_VERBOSE_MAKEFILE=ON -DLINPHONESDK_PLATFORM=Desktop -DCMAKE_BUILD_TYPE=$CI_BUILD_TYPE $DEFAULT_LINUX_CMAKE_OPTIONS $CMAKE_OPTIONS $SCHEDULE_CMAKE_OPTIONS $CMAKE_SANITIZER_OPTIONS
- cmake --build . --target install --config $CI_BUILD_TYPE $LBC_NODEBUG_OPTIONS
extends: .job-linux-desktop
@ -137,7 +137,7 @@ job-debian9-makefile-clang-package:
- echo $DEFAULT_LINUX_CMAKE_OPTIONS
- echo $CMAKE_SANITIZER_OPTIONS
- cd build
- cmake .. -G "$CMAKE_GENERATOR" -DCMAKE_VERBOSE_MAKEFILE=ON -DLINPHONESDK_PLATFORM=Desktop -DCMAKE_BUILD_TYPE=$CI_BUILD_TYPE $DEFAULT_LINUX_CMAKE_OPTIONS $CMAKE_OPTIONS $SCHEDULE_CMAKE_OPTIONS $CMAKE_SANITIZER_OPTIONS
- cmake .. -G "$CMAKE_GENERATOR" -DCMAKE_VERBOSE_MAKEFILE=ON -DLINPHONESDK_PLATFORM=Desktop -DCMAKE_BUILD_TYPE=$CI_BUILD_TYPE $DEFAULT_LINUX_CMAKE_OPTIONS $CMAKE_OPTIONS $SCHEDULE_CMAKE_OPTIONS $CMAKE_SANITIZER_OPTIONS
- cmake --build . --target install --config $CI_BUILD_TYPE $LBC_NODEBUG_OPTIONS
artifacts:
paths:
@ -158,8 +158,8 @@ job-debian9-makefile-clang-deploy:
- $NIGHTLY_MASTER
- $DEPLOY_LINUX
script:
- rsync -rlv --ignore-existing build/OUTPUT/Packages/*.AppImage $DEPLOY_SERVER:$APPIMAGE_UPLOAD_DIRECTORY/
- rsync -rlv --ignore-existing build/OUTPUT/Packages/*.AppImage $DEPLOY_SERVER:$APPIMAGE_UPLOAD_DIRECTORY/
job-debian9-makefile-clang-plugins-deploy:
stage: deploy
@ -187,4 +187,3 @@ job-debian9-debug:
- $DEBUG_DEBIAN9
script:
- sleep 10m

View file

@ -319,7 +319,7 @@ void App::initContentApp () {
mNotifier = nullptr;
mSystemTrayIcon = nullptr;
//
//
CoreManager::uninit();
removeTranslator(mTranslator);
removeTranslator(mDefaultTranslator);
@ -709,7 +709,7 @@ void App::setTrayIcon () {
void App::initLocale (const shared_ptr<linphone::Config> &config) {
// Try to use preferred locale.
QString locale;
// Use english. This default translator is used if there are no found translations in others loads
mLocale = DefaultLocale;
if (!installLocale(*this, *mDefaultTranslator, QLocale(mLocale)))
@ -787,11 +787,23 @@ void App::setAutoStart (bool enabled) {
}
const QString binPath(applicationFilePath());
const QString exec(
binPath.startsWith("/app")
? QStringLiteral("flatpak run " APPLICATION_ID)
: binPath
);
// Check if installation is done via Flatpak, AppImage, or classic package
// in order to rewrite a correct exec path for autostart
QString exec;
qDebug() << "binpath=" << binPath;
if (binPath.startsWith("/app")) { //Flatpak
exec = QStringLiteral("flatpak run " APPLICATION_ID);
qDebug() << "exec path autostart set flatpak=" << exec;
}
else if (binPath.startsWith("/tmp/.mount")) { //Appimage
exec = QProcessEnvironment::systemEnvironment().value(QStringLiteral("APPIMAGE"));
qDebug() << "exec path autostart set appimage=" << exec;
}
else { //classic package
exec = binPath;
qDebug() << "exec path autostart set classic package=" << exec;
}
QTextStream(&file) << QString(
"[Desktop Entry]\n"
@ -799,8 +811,7 @@ void App::setAutoStart (bool enabled) {
"GenericName=SIP Phone\n"
"Comment=" APPLICATION_DESCRIPTION "\n"
"Type=Application\n"
"Exec=" + exec + "\n"
"Icon=\n"
"Exec=" + exec + " --iconified\n"
"Terminal=false\n"
"Categories=Network;Telephony;\n"
"MimeType=x-scheme-handler/sip-linphone;x-scheme-handler/sip;x-scheme-handler/sips-linphone;x-scheme-handler/sips;x-scheme-handler/tel;x-scheme-handler/callto;\n"
@ -927,17 +938,17 @@ void App::openAppAfterInit (bool mustBeIconified) {
// -----------------------------------------------------------------------------
QString App::getStrippedApplicationVersion(){// x.y.z but if 'z-*' then x.y.z-1
QString currentVersion = applicationVersion();
QStringList versions = currentVersion.split('.');
if(versions.size() >=3){
currentVersion = versions[0]+"."+versions[1]+".";
QStringList patchVersions = versions[2].split('-');
if( patchVersions.size() > 1)
currentVersion += QString::number(patchVersions[0].toInt()-1);
else
currentVersion += patchVersions[0];
}
return currentVersion;
QString currentVersion = applicationVersion();
QStringList versions = currentVersion.split('.');
if(versions.size() >=3){
currentVersion = versions[0]+"."+versions[1]+".";
QStringList patchVersions = versions[2].split('-');
if( patchVersions.size() > 1)
currentVersion += QString::number(patchVersions[0].toInt()-1);
else
currentVersion += patchVersions[0];
}
return currentVersion;
}
void App::checkForUpdate () {
CoreManager::getInstance()->getCore()->checkForUpdate(