Skip to content

Commit

Permalink
Fix chemcal.desktop and icons.
Browse files Browse the repository at this point in the history
Signed-off-by: chris <cbaba001@comcast.net>
  • Loading branch information
Chris-Baba committed Oct 21, 2024
1 parent bb66c8d commit ae9f9cb
Show file tree
Hide file tree
Showing 8 changed files with 70 additions and 56 deletions.
14 changes: 10 additions & 4 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ if(${QT_VERSION_MAJOR} GREATER_EQUAL 6)
select_dialog.h select_dialog.cpp select_dialog.ui
about_dialog.h about_dialog.cpp about_dialog.ui
COPYING.txt
chemcalc.desktop
)
# Define target properties for Android with Qt 6 as:
# set_property(TARGET chemcalc APPEND PROPERTY QT_ANDROID_PACKAGE_SOURCE_DIR
Expand Down Expand Up @@ -76,12 +77,17 @@ set_target_properties(chemcalc PROPERTIES
WIN32_EXECUTABLE TRUE
)

include(GNUInstallDirs)
# See https://cmake.org/cmake/help/latest/module/GNUInstallDirs.html
include(GNUInstallDirs) # Provides prefix ('/usr' for my linux) for below lines.
install(TARGETS chemcalc
BUNDLE DESTINATION .
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
BUNDLE DESTINATION . # Used only on macOS.
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} # /usr/lib for me (prefix+/lib)
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} # /usr/bin for me (prefix+/bin)
)
# See https://cmake.org/cmake/help/latest/command/install.html#files
install(FILES chemcalc.desktop
# Defaults to '/usr/share'+/applications on my linux.
DESTINATION ${CMAKE_INSTALL_DATADIR}/applications)

if(QT_VERSION_MAJOR EQUAL 6)
qt_finalize_executable(chemcalc)
Expand Down
66 changes: 33 additions & 33 deletions CMakeLists.txt.user
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 14.0.2, 2024-10-11T13:11:41. -->
<!-- Written by QtCreator 14.0.2, 2024-10-15T23:27:48. -->
<qtcreator>
<data>
<variable>EnvironmentId</variable>
Expand Down Expand Up @@ -100,14 +100,14 @@
<value type="int" key="CMake.Configure.BaseEnvironment">2</value>
<value type="bool" key="CMake.Configure.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="CMake.Configure.UserEnvironmentChanges"/>
<value type="QString" key="CMake.Initial.Parameters">-DQT_QMAKE_EXECUTABLE:FILEPATH=%{Qt:qmakeExecutable}
-DCMAKE_PROJECT_INCLUDE_BEFORE:FILEPATH=%{BuildConfig:BuildDirectory:NativeFilePath}/.qtc/package-manager/auto-setup.cmake
-DCMAKE_CXX_COMPILER:FILEPATH=%{Compiler:Executable:Cxx}
-DCMAKE_CXX_FLAGS_INIT:STRING=%{Qt:QML_DEBUG_FLAG}
<value type="QString" key="CMake.Initial.Parameters">-DCMAKE_PREFIX_PATH:PATH=%{Qt:QT_INSTALL_PREFIX}
-DCMAKE_GENERATOR:STRING=Ninja
-DCMAKE_PREFIX_PATH:PATH=%{Qt:QT_INSTALL_PREFIX}
-DCMAKE_BUILD_TYPE:STRING=Debug
-DCMAKE_CXX_COMPILER:FILEPATH=%{Compiler:Executable:Cxx}
-DCMAKE_C_COMPILER:FILEPATH=%{Compiler:Executable:C}
-DCMAKE_BUILD_TYPE:STRING=Debug</value>
-DCMAKE_PROJECT_INCLUDE_BEFORE:FILEPATH=%{BuildConfig:BuildDirectory:NativeFilePath}/.qtc/package-manager/auto-setup.cmake
-DCMAKE_CXX_FLAGS_INIT:STRING=%{Qt:QML_DEBUG_FLAG}
-DQT_QMAKE_EXECUTABLE:FILEPATH=%{Qt:qmakeExecutable}</value>
<value type="int" key="EnableQmlDebugging">0</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/chris/Cpp-Projects/Lessons/build-Test3-noQt5-Desktop-Debug</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
Expand Down Expand Up @@ -157,15 +157,15 @@
<value type="int" key="CMake.Configure.BaseEnvironment">2</value>
<value type="bool" key="CMake.Configure.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="CMake.Configure.UserEnvironmentChanges"/>
<value type="QString" key="CMake.Initial.Parameters">-DQT_QMAKE_EXECUTABLE:FILEPATH=%{Qt:qmakeExecutable}
-DCMAKE_PROJECT_INCLUDE_BEFORE:FILEPATH=%{BuildConfig:BuildDirectory:NativeFilePath}/.qtc/package-manager/auto-setup.cmake
-DCMAKE_CXX_COMPILER:FILEPATH=%{Compiler:Executable:Cxx}
-DCMAKE_CXX_FLAGS_INIT:STRING=%{Qt:QML_DEBUG_FLAG}
<value type="QString" key="CMake.Initial.Parameters">-DCMAKE_PREFIX_PATH:PATH=%{Qt:QT_INSTALL_PREFIX}
-DCMAKE_GENERATOR:STRING=Ninja
-DCMAKE_PREFIX_PATH:PATH=%{Qt:QT_INSTALL_PREFIX}
-DCMAKE_BUILD_TYPE:STRING=Release
-DCMAKE_CXX_COMPILER:FILEPATH=%{Compiler:Executable:Cxx}
-DCMAKE_C_COMPILER:FILEPATH=%{Compiler:Executable:C}
-DCMAKE_BUILD_TYPE:STRING=Release</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/chris/Cpp-Projects/ChemCalc/build</value>
-DCMAKE_PROJECT_INCLUDE_BEFORE:FILEPATH=%{BuildConfig:BuildDirectory:NativeFilePath}/.qtc/package-manager/auto-setup.cmake
-DCMAKE_CXX_FLAGS_INIT:STRING=%{Qt:QML_DEBUG_FLAG}
-DQT_QMAKE_EXECUTABLE:FILEPATH=%{Qt:qmakeExecutable}</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/chris/Cpp-Projects/ChemCalcBuilds</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="QString" key="CMakeProjectManager.MakeStep.BuildPreset"></value>
Expand Down Expand Up @@ -213,14 +213,14 @@
<value type="int" key="CMake.Configure.BaseEnvironment">2</value>
<value type="bool" key="CMake.Configure.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="CMake.Configure.UserEnvironmentChanges"/>
<value type="QString" key="CMake.Initial.Parameters">-DQT_QMAKE_EXECUTABLE:FILEPATH=%{Qt:qmakeExecutable}
-DCMAKE_PROJECT_INCLUDE_BEFORE:FILEPATH=%{BuildConfig:BuildDirectory:NativeFilePath}/.qtc/package-manager/auto-setup.cmake
-DCMAKE_CXX_COMPILER:FILEPATH=%{Compiler:Executable:Cxx}
-DCMAKE_CXX_FLAGS_INIT:STRING=%{Qt:QML_DEBUG_FLAG}
<value type="QString" key="CMake.Initial.Parameters">-DCMAKE_PREFIX_PATH:PATH=%{Qt:QT_INSTALL_PREFIX}
-DCMAKE_GENERATOR:STRING=Ninja
-DCMAKE_PREFIX_PATH:PATH=%{Qt:QT_INSTALL_PREFIX}
-DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo
-DCMAKE_CXX_COMPILER:FILEPATH=%{Compiler:Executable:Cxx}
-DCMAKE_C_COMPILER:FILEPATH=%{Compiler:Executable:C}
-DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo</value>
-DCMAKE_PROJECT_INCLUDE_BEFORE:FILEPATH=%{BuildConfig:BuildDirectory:NativeFilePath}/.qtc/package-manager/auto-setup.cmake
-DCMAKE_CXX_FLAGS_INIT:STRING=%{Qt:QML_DEBUG_FLAG}
-DQT_QMAKE_EXECUTABLE:FILEPATH=%{Qt:qmakeExecutable}</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/chris/Cpp-Projects/Lessons/build-Test3-noQt5-Desktop-RelWithDebInfo</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
Expand Down Expand Up @@ -267,14 +267,14 @@
<value type="int" key="CMake.Configure.BaseEnvironment">2</value>
<value type="bool" key="CMake.Configure.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="CMake.Configure.UserEnvironmentChanges"/>
<value type="QString" key="CMake.Initial.Parameters">-DQT_QMAKE_EXECUTABLE:FILEPATH=%{Qt:qmakeExecutable}
-DCMAKE_PROJECT_INCLUDE_BEFORE:FILEPATH=%{BuildConfig:BuildDirectory:NativeFilePath}/.qtc/package-manager/auto-setup.cmake
-DCMAKE_CXX_COMPILER:FILEPATH=%{Compiler:Executable:Cxx}
-DCMAKE_CXX_FLAGS_INIT:STRING=%{Qt:QML_DEBUG_FLAG}
<value type="QString" key="CMake.Initial.Parameters">-DCMAKE_PREFIX_PATH:PATH=%{Qt:QT_INSTALL_PREFIX}
-DCMAKE_GENERATOR:STRING=Ninja
-DCMAKE_PREFIX_PATH:PATH=%{Qt:QT_INSTALL_PREFIX}
-DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo
-DCMAKE_CXX_COMPILER:FILEPATH=%{Compiler:Executable:Cxx}
-DCMAKE_C_COMPILER:FILEPATH=%{Compiler:Executable:C}
-DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo</value>
-DCMAKE_PROJECT_INCLUDE_BEFORE:FILEPATH=%{BuildConfig:BuildDirectory:NativeFilePath}/.qtc/package-manager/auto-setup.cmake
-DCMAKE_CXX_FLAGS_INIT:STRING=%{Qt:QML_DEBUG_FLAG}
-DQT_QMAKE_EXECUTABLE:FILEPATH=%{Qt:qmakeExecutable}</value>
<value type="int" key="EnableQmlDebugging">0</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/chris/Cpp-Projects/Lessons/build-Test3-noQt5-Desktop-Profile</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
Expand Down Expand Up @@ -322,14 +322,14 @@
<value type="int" key="CMake.Configure.BaseEnvironment">2</value>
<value type="bool" key="CMake.Configure.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="CMake.Configure.UserEnvironmentChanges"/>
<value type="QString" key="CMake.Initial.Parameters">-DQT_QMAKE_EXECUTABLE:FILEPATH=%{Qt:qmakeExecutable}
-DCMAKE_PROJECT_INCLUDE_BEFORE:FILEPATH=%{BuildConfig:BuildDirectory:NativeFilePath}/.qtc/package-manager/auto-setup.cmake
-DCMAKE_CXX_COMPILER:FILEPATH=%{Compiler:Executable:Cxx}
-DCMAKE_CXX_FLAGS_INIT:STRING=%{Qt:QML_DEBUG_FLAG}
<value type="QString" key="CMake.Initial.Parameters">-DCMAKE_PREFIX_PATH:PATH=%{Qt:QT_INSTALL_PREFIX}
-DCMAKE_GENERATOR:STRING=Ninja
-DCMAKE_PREFIX_PATH:PATH=%{Qt:QT_INSTALL_PREFIX}
-DCMAKE_BUILD_TYPE:STRING=MinSizeRel
-DCMAKE_CXX_COMPILER:FILEPATH=%{Compiler:Executable:Cxx}
-DCMAKE_C_COMPILER:FILEPATH=%{Compiler:Executable:C}
-DCMAKE_BUILD_TYPE:STRING=MinSizeRel</value>
-DCMAKE_PROJECT_INCLUDE_BEFORE:FILEPATH=%{BuildConfig:BuildDirectory:NativeFilePath}/.qtc/package-manager/auto-setup.cmake
-DCMAKE_CXX_FLAGS_INIT:STRING=%{Qt:QML_DEBUG_FLAG}
-DQT_QMAKE_EXECUTABLE:FILEPATH=%{Qt:qmakeExecutable}</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/chris/Cpp-Projects/Lessons/build-Test3-noQt5-Desktop-MinSizeRel</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
Expand Down Expand Up @@ -401,7 +401,7 @@
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
<value type="bool" key="RunConfiguration.UseLibrarySearchPath">true</value>
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
<value type="QString" key="RunConfiguration.WorkingDirectory.default">/home/chris/Cpp-Projects/ChemCalc/build</value>
<value type="QString" key="RunConfiguration.WorkingDirectory.default">/home/chris/Cpp-Projects/ChemCalcBuilds</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
</valuemap>
Expand Down
2 changes: 1 addition & 1 deletion chemcalc.desktop
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ Categories=Science
Comment=A Chemical Calculator
Exec=chemcalc
GenericName=Chemical Calculator
Icon=chemcalc-icon
Icon=chemcalc_icon_120.svg
Name=ChemCalc
NoDisplay=false
StartupNotify=true
Expand Down
File renamed without changes
File renamed without changes
29 changes: 19 additions & 10 deletions main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@
#include <QGuiApplication> //?

#include <KAboutData>
// #include <KDBusService>
#include <KDBusService>

// #include <KDBusAddons>

int main(int argc, char *argv[])
Expand All @@ -16,21 +17,29 @@ int main(int argc, char *argv[])
// setup translation string domain for the i18n calls
// KLocalizedString::setApplicationDomain("foo");
// create a KAboutData object to use for setting the application metadata
KAboutData aboutData("com.github.Chris-Baba.ChemCalc", "ChemCalc", "0.1",
"A Chemical Calculator",
KAboutLicense::GPL_V3,
"Copyright 2024 Chris Baba", QString(),
"https://github.com/Chris-Baba/ChemCalc");
KAboutData aboutData(
"chemcalc", // componentName
"ChemCalc", // displayName
"0.1", // version
"A Chemical Calculator", // shortDescription
KAboutLicense::GPL_V3, // licenseType
"Copyright 2024 Chris Baba", // copyrightStatement
QString(), // otherText
"https://github.com/Chris-Baba/ChemCalc", // homePageAddress
"https://github.com/Chris-Baba/ChemCalc/issues" //bugAddress
);

// overwrite default-generated values of organizationDomain & desktopFileName
aboutData.setOrganizationDomain("github.com.Chris-Baba");
aboutData.setDesktopFileName("com.github.Chris-Baba.ChemCalc");
// Note: Qt has identical functions, but these are from KAboutData.
aboutData.setOrganizationDomain("github.com.chris_baba");
aboutData.setDesktopFileName("chris-baba.com.github.ChemCalc");

// set the application metadata
KAboutData::setApplicationData(aboutData);
// in GUI apps set the window icon manually, not covered by KAboutData
// needed for environments where the icon name is not extracted from
// the information in the application's desktop file
QApplication::setWindowIcon(QIcon::fromTheme(QStringLiteral("com.github.Chris-Baba.ChemCalc")));
QApplication::setWindowIcon(QIcon::fromTheme(QStringLiteral("chris-baba.com.github.ChemCalc")));

// integrate with commandline argument handling
QCommandLineParser parser;
Expand All @@ -41,7 +50,7 @@ int main(int argc, char *argv[])
aboutData.processCommandLine(&parser);

// with the application metadata set, register to the D-Bus session
// KDBusService programDBusService(KDBusService::Multiple | KDBusService::NoExitOnFailure);
KDBusService programDBusService(KDBusService::Multiple | KDBusService::NoExitOnFailure);
//------------------------------

MainWindow w;
Expand Down
8 changes: 4 additions & 4 deletions mainwindow.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -91,15 +91,15 @@ MainWindow::MainWindow(QWidget *parent)
setWindowTitle("Chemical Calculator");

// //Set window icon. No errors below, but it doesn't work.
QIcon myIcon = QIcon(":/Icons/ChemCalc_icon_120.svg");
QIcon myIcon = QIcon(":/chemcalc_icon_120.svg");
QWindow Obj;
Obj.setIcon(myIcon);
// QWindow::setIcon(QIcon(":/Icons/ChemCalc_icon_120.png"));
// setWindowIcon(QIcon(":/Icons/ChemCalc_icon_120.png"));
// QWindow::setIcon(QIcon(":chemcalc_icon_120.png"));
// setWindowIcon(QIcon(":chemcalc_icon_120.png"));
// // Below line doesn't work in Wayland!!!
// // SEE https://stackoverflow.com/questions/78256166/app-icon-ws-on-qt6-6-and-wayland-in-a-flatpak-on-kde-neon
// // Try QGuiApplication Class!!
// MainWindow::setWindowIcon(QIcon(":/Icons/ChemCalc_icon_120.png"));
// MainWindow::setWindowIcon(QIcon(":/chemcalc_icon_120.png"));
// setDesktopFileName("chemcalc");

// Runs once at start, to setup file locations, database, config files etc.
Expand Down
7 changes: 3 additions & 4 deletions resources.qrc
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,8 @@
<file>ChemCalc_help1.md</file>
<file>ChemCalc_Screen_Capture.png</file>
<file>ChemCalc.conf</file>
<file>chemcalc_icon_120.png</file>
<file>chemcalc_icon_120.svg</file>
</qresource>
<qresource prefix="/Icons">
<file>ChemCalc_icon_120.svg</file>
<file>ChemCalc_icon_120.png</file>
</qresource>
<qresource prefix="/Icons"/>
</RCC>

0 comments on commit ae9f9cb

Please sign in to comment.