start a KDELearningProject
to learn kde stuff. kirigami will come later.
This commit is contained in:
commit
a694946fb9
8 changed files with 131 additions and 0 deletions
3
.clang-format
Normal file
3
.clang-format
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
BasedOnStyle: WebKit
|
||||||
|
UseTab: Always
|
||||||
|
TabWidth: 4
|
4
.editorconfig
Normal file
4
.editorconfig
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
[*]
|
||||||
|
indent_style = tab
|
||||||
|
end_of_line = lf
|
||||||
|
insert_final_newline = true
|
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
/build*
|
||||||
|
/.cache
|
16
.vscode/launch.json
vendored
Normal file
16
.vscode/launch.json
vendored
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
{
|
||||||
|
// Use IntelliSense to learn about possible attributes.
|
||||||
|
// Hover to view descriptions of existing attributes.
|
||||||
|
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
|
||||||
|
"version": "0.2.0",
|
||||||
|
"configurations": [
|
||||||
|
{
|
||||||
|
"type": "lldb",
|
||||||
|
"request": "launch",
|
||||||
|
"name": "Debug",
|
||||||
|
"program": "${command:cmake.launchTargetPath}",
|
||||||
|
"args": [],
|
||||||
|
"cwd": "${workspaceFolder}"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
30
CMakeLists.txt
Normal file
30
CMakeLists.txt
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
cmake_minimum_required(VERSION 3.18)
|
||||||
|
project(KDELearningProject)
|
||||||
|
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
||||||
|
set(CMAKE_CXX_STANDARD 20)
|
||||||
|
|
||||||
|
set(QT_MIN_VERSION "5.15.2")
|
||||||
|
set(KF5_MIN_VERSION "5.78.0")
|
||||||
|
|
||||||
|
find_package(ECM 1.0.0 REQUIRED NO_MODULE)
|
||||||
|
set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
|
||||||
|
|
||||||
|
include(KDEInstallDirs)
|
||||||
|
include(KDECMakeSettings)
|
||||||
|
include(KDECompilerSettings NO_POLICY_SCOPE)
|
||||||
|
include(FeatureSummary)
|
||||||
|
|
||||||
|
find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS
|
||||||
|
Core
|
||||||
|
Widgets
|
||||||
|
)
|
||||||
|
|
||||||
|
find_package(KF5 ${KF5_MIN_VERSION} REQUIRED COMPONENTS
|
||||||
|
CoreAddons
|
||||||
|
I18n
|
||||||
|
WidgetsAddons
|
||||||
|
)
|
||||||
|
|
||||||
|
feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES)
|
||||||
|
|
||||||
|
add_subdirectory(src)
|
15
src/CMakeLists.txt
Normal file
15
src/CMakeLists.txt
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
add_executable(hello hello.cc)
|
||||||
|
target_link_libraries(hello
|
||||||
|
Qt5::Widgets
|
||||||
|
KF5::CoreAddons
|
||||||
|
KF5::WidgetsAddons
|
||||||
|
)
|
||||||
|
|
||||||
|
add_executable(internationalization internationalization.cc)
|
||||||
|
|
||||||
|
target_link_libraries(internationalization
|
||||||
|
Qt5::Widgets
|
||||||
|
KF5::CoreAddons
|
||||||
|
KF5::WidgetsAddons
|
||||||
|
KF5::I18n
|
||||||
|
)
|
16
src/hello.cc
Normal file
16
src/hello.cc
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
#include <QApplication>
|
||||||
|
#include <KMessageBox>
|
||||||
|
|
||||||
|
int main(int argc, char *argv[]) {
|
||||||
|
QApplication app(argc, argv);
|
||||||
|
|
||||||
|
KGuiItem primaryAction(
|
||||||
|
"Meow", QString(),
|
||||||
|
"Meow", "A Meowy button."
|
||||||
|
);
|
||||||
|
|
||||||
|
return KMessageBox::questionTwoActions(
|
||||||
|
nullptr, "Meowy World", "Meowy Title",
|
||||||
|
primaryAction, KStandardGuiItem::cancel()
|
||||||
|
) == KMessageBox::PrimaryAction ? EXIT_SUCCESS : EXIT_FAILURE;
|
||||||
|
}
|
45
src/internationalization.cc
Normal file
45
src/internationalization.cc
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
#include <KAboutData>
|
||||||
|
#include <KLocalizedString>
|
||||||
|
#include <KMessageBox>
|
||||||
|
#include <QApplication>
|
||||||
|
|
||||||
|
int main(int argc, char* argv[])
|
||||||
|
{
|
||||||
|
QApplication app(argc, argv);
|
||||||
|
|
||||||
|
KAboutData aboutData(
|
||||||
|
// Internal name
|
||||||
|
QStringLiteral("internationalization"),
|
||||||
|
// Displayed name
|
||||||
|
i18n("Internationalization"),
|
||||||
|
// Version
|
||||||
|
QStringLiteral("1.0"),
|
||||||
|
// Short Description
|
||||||
|
i18n("an experiment that displays a KMessageBox."),
|
||||||
|
KAboutLicense::Custom,
|
||||||
|
// Long Description
|
||||||
|
i18n("this is an experiment app to learn how to use KMessageBox's."),
|
||||||
|
// Program homepage
|
||||||
|
QStringLiteral("https://git.fries.gay/fries/KDELearningProject"));
|
||||||
|
|
||||||
|
KAboutData::setApplicationData(aboutData);
|
||||||
|
|
||||||
|
KGuiItem primaryAction(
|
||||||
|
i18n("Meow"), QString(),
|
||||||
|
i18n("This is a Meowy tooltip."),
|
||||||
|
i18n("This is Meowy help text."));
|
||||||
|
|
||||||
|
KMessageBox::ButtonCode box = KMessageBox::questionTwoActions(
|
||||||
|
// Parent
|
||||||
|
nullptr,
|
||||||
|
// Message Box content
|
||||||
|
i18n("Meowy World!"),
|
||||||
|
// Title
|
||||||
|
i18n("Meowy Title"),
|
||||||
|
// Primary button
|
||||||
|
primaryAction,
|
||||||
|
// Secondary button
|
||||||
|
KStandardGuiItem::cancel());
|
||||||
|
|
||||||
|
return box == KMessageBox::PrimaryAction ? EXIT_SUCCESS : EXIT_FAILURE;
|
||||||
|
}
|
Loading…
Reference in a new issue