diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..496ee2c --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.DS_Store \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..ac7936b --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,11 @@ +cmake_minimum_required(VERSION 3.16) + +project(scribbles VERSION 1.0.0 LANGUAGES CXX) + +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED ON) + +find_package(Qt6 REQUIRED COMPONENTS Widgets) +qt_standard_project_setup() + +add_subdirectory(src/app) diff --git a/src/app/CMakeLists.txt b/src/app/CMakeLists.txt new file mode 100644 index 0000000..247043b --- /dev/null +++ b/src/app/CMakeLists.txt @@ -0,0 +1,13 @@ + +qt_add_executable(scribbles + main.cpp + MainWindow.cpp + MainWindow.ui +) + +target_link_libraries(scribbles PRIVATE Qt6::Widgets) + +set_target_properties(scribbles PROPERTIES + WIN32_EXECUTABLE ON + MACOSX_BUNDLE ON +) \ No newline at end of file diff --git a/src/app/MainWindow.cpp b/src/app/MainWindow.cpp new file mode 100644 index 0000000..e69de29 diff --git a/src/app/MainWindow.h b/src/app/MainWindow.h new file mode 100644 index 0000000..e69de29 diff --git a/src/app/MainWindow.ui b/src/app/MainWindow.ui new file mode 100644 index 0000000..e69de29 diff --git a/src/app/main.cpp b/src/app/main.cpp new file mode 100644 index 0000000..45e8413 --- /dev/null +++ b/src/app/main.cpp @@ -0,0 +1,34 @@ +#include +#include + +#include "MainWindow.h" + +int main(int argc, char *argv[]) +{ + QApplication app(argc, argv); + QCoreApplication::setOrganizationName("Scribbles"_L1); + QCoreApplication::setApplicationName("Scribbles"_L1); + QCoreApplication::setApplicationVersion("0.1"_L1); + + QCommandLineParser parser; + parser.setApplicationDescription(QApplication::translate("main", + "A note taking and sketching app")); + parser.addHelpOption(); + parser.addVersionOption(); + parser.addPositionalArgument("File"_L1, QApplication::translate("main", + "A Scribbles file to open")); + parser.process(app); + + const QStringList &positionalArguments = parser.positionalArguments(); + const QString &fileName = (positionalArguments.count() > 0) ? positionalArguments.at(0) + : QString(); + + MainWindow w; + w.show(); + if (!fileName.isEmpty()) + { + w.openFile(fileName); + } + + return app.exec(); +} \ No newline at end of file