From d661cc7b426671c644935fbd0c0d6df184d2c7fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aure=CC=81lie=20Delhaie?= Date: Tue, 1 Feb 2022 19:08:44 +0100 Subject: [PATCH] First version --- Info.plist | 24 ++ README.md | 5 + TaskNote.pro | 77 +++++ TaskNote.pro.user | 266 +++++++++++++++++ TaskNote.pro.user.4f8813a | 267 ++++++++++++++++++ TaskNote.pro.user.6652f76 | 265 +++++++++++++++++ TaskNote.pro.user.f1407b1 | 264 +++++++++++++++++ icon.icns | Bin 0 -> 48364 bytes icon.ico | Bin 0 -> 115748 bytes icons.qrc | 11 + resources/logo.png | Bin 0 -> 37708 bytes .../outline_add_circle_outline_black_18dp.png | Bin 0 -> 208 bytes .../outline_delete_forever_black_18dp.png | Bin 0 -> 183 bytes resources/outline_help_outline_black_18dp.png | Bin 0 -> 271 bytes resources/outline_save_black_18dp.png | Bin 0 -> 191 bytes src/frames/aboutdialog.cpp | 15 + src/frames/aboutdialog.h | 23 ++ src/frames/aboutdialog.ui | 97 +++++++ src/frames/mainwindow.cpp | 133 +++++++++ src/frames/mainwindow.h | 44 +++ src/frames/mainwindow.ui | 189 +++++++++++++ src/main.cpp | 11 + src/models/note.cpp | 45 +++ src/models/note.h | 26 ++ src/services/savemanager.cpp | 99 +++++++ src/services/savemanager.h | 35 +++ 26 files changed, 1896 insertions(+) create mode 100755 Info.plist create mode 100644 README.md create mode 100755 TaskNote.pro create mode 100755 TaskNote.pro.user create mode 100755 TaskNote.pro.user.4f8813a create mode 100755 TaskNote.pro.user.6652f76 create mode 100755 TaskNote.pro.user.f1407b1 create mode 100755 icon.icns create mode 100755 icon.ico create mode 100755 icons.qrc create mode 100755 resources/logo.png create mode 100755 resources/outline_add_circle_outline_black_18dp.png create mode 100755 resources/outline_delete_forever_black_18dp.png create mode 100755 resources/outline_help_outline_black_18dp.png create mode 100755 resources/outline_save_black_18dp.png create mode 100755 src/frames/aboutdialog.cpp create mode 100755 src/frames/aboutdialog.h create mode 100755 src/frames/aboutdialog.ui create mode 100755 src/frames/mainwindow.cpp create mode 100755 src/frames/mainwindow.h create mode 100755 src/frames/mainwindow.ui create mode 100755 src/main.cpp create mode 100755 src/models/note.cpp create mode 100755 src/models/note.h create mode 100755 src/services/savemanager.cpp create mode 100755 src/services/savemanager.h diff --git a/Info.plist b/Info.plist new file mode 100755 index 0000000..5c734dc --- /dev/null +++ b/Info.plist @@ -0,0 +1,24 @@ + + + + + CFBundleExecutable + TaskNote + CFBundleIconFile + + CFBundleIdentifier + com.aureliedelhaie.TaskNote + CFBundlePackageType + APPL + CFBundleSignature + ???? + LSMinimumSystemVersion + 10.14 + NSPrincipalClass + NSApplication + NSSupportsAutomaticGraphicsSwitching + + CFBundleIconFile + icon.icns + + diff --git a/README.md b/README.md new file mode 100644 index 0000000..de8d568 --- /dev/null +++ b/README.md @@ -0,0 +1,5 @@ +# TaskNote - Simple note editor + +Wrote with Qt 6 Open Source : [Download](https://www.qt.io/download-open-source) + +This is a very simple note editor. The editor has a Markdown text area and a rendering view diff --git a/TaskNote.pro b/TaskNote.pro new file mode 100755 index 0000000..cf05ddd --- /dev/null +++ b/TaskNote.pro @@ -0,0 +1,77 @@ +QT += core gui + +greaterThan(QT_MAJOR_VERSION, 4): QT += widgets + +CONFIG += c++17 + +# remove possible other optimization flags +win32 { + message("Build for Windows") + QMAKE_CXXFLAGS_RELEASE -= -O + QMAKE_CXXFLAGS_RELEASE -= -O1 + QMAKE_CXXFLAGS_RELEASE *= -O2 + equals(QMAKE_TARGET.arch, arm64) { + message("CPU Architecture : aarch64") + # Add specific arm stuff here + } + equals(QMAKE_TARGET.arch, x86_64) { + message("CPU Architecture : x64") + QMAKE_CXXFLAGS_RELEASE += -favor:INTEL64 + } + RC_ICONS = icon.ico + VERSION = 1.1.0.0 + QMAKE_TARGET_COMPANY = "Aurelie Delhaie" + QMAKE_TARGET_PRODUCT = "TaskNote" + QMAKE_TARGET_DESCRIPTION = "TaskNote" +} + +macx { + message("Build for macOS") + ICON = icon.icns + QMAKE_INFO_PLIST = Info.plist + QMAKE_CXXFLAGS_RELEASE -= -O + QMAKE_CXXFLAGS_RELEASE -= -O1 + QMAKE_CXXFLAGS_RELEASE -= -O2 + QMAKE_CXXFLAGS_RELEASE *= -O3 + equals(QMAKE_APPLE_DEVICE_ARCHS, arm64) { + message("CPU Architecture : aarch64") + QMAKE_CXXFLAGS_RELEASE += -mcpu=apple-a14 + } + VERSION = 1.1.0 +} + +linux-g++* { + message("Build for Linux") + QMAKE_CXXFLAGS_RELEASE *= -O3 + QMAKE_CXXFLAGS_RELEASE += -march=skylake + VERSION = 1.1.0 +} + +# You can make your code fail to compile if it uses deprecated APIs. +# In order to do so, uncomment the following line. +#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0 + +SOURCES += \ + src/frames/aboutdialog.cpp \ + src/main.cpp \ + src/frames/mainwindow.cpp \ + src/models/note.cpp \ + src/services/savemanager.cpp + +HEADERS += \ + src/frames/aboutdialog.h \ + src/frames/mainwindow.h \ + src/models/note.h \ + src/services/savemanager.h + +FORMS += \ + src/frames/aboutdialog.ui \ + src/frames/mainwindow.ui + +# Default rules for deployment. +qnx: target.path = /tmp/$${TARGET}/bin +else: unix:!android: target.path = /opt/$${TARGET}/bin +!isEmpty(target.path): INSTALLS += target + +RESOURCES += \ + icons.qrc diff --git a/TaskNote.pro.user b/TaskNote.pro.user new file mode 100755 index 0000000..97c2f07 --- /dev/null +++ b/TaskNote.pro.user @@ -0,0 +1,266 @@ + + + + + + EnvironmentId + {f1407b1e-b4d5-4aac-ba0d-b38072a0dfb8} + + + ProjectExplorer.Project.ActiveTarget + 0 + + + ProjectExplorer.Project.EditorSettings + + true + false + true + + Cpp + + CppGlobal + + + + QmlJS + + QmlJSGlobal + + + 2 + UTF-8 + false + 4 + false + 80 + true + true + 1 + false + true + false + 0 + true + true + 0 + 8 + true + false + 1 + true + true + true + *.md, *.MD, Makefile + false + true + + + + ProjectExplorer.Project.PluginSettings + + + true + false + true + true + true + true + + + 0 + true + + true + Builtin.BuildSystem + + true + true + Builtin.DefaultTidyAndClazy + 4 + + + + true + + + + + ProjectExplorer.Project.Target.0 + + Desktop + Qt 6.2.0 for macOS + Qt 6.2.0 for macOS + qt.qt6.620.clang_64_kit + 1 + 0 + 0 + + 0 + /Users/alexis/build-TaskNote-Qt_6_2_0_for_macOS-Debug + /Users/alexis/build-TaskNote-Qt_6_2_0_for_macOS-Debug + + + true + QtProjectManager.QMakeBuildStep + false + + arm-darwin-generic-mach_o-64bit + + + + true + Qt4ProjectManager.MakeStep + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + clean + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + + + /Users/alexis/build-TaskNote-Qt_6_2_0_for_macOS-Release + /Users/alexis/build-TaskNote-Qt_6_2_0_for_macOS-Release + + + true + QtProjectManager.QMakeBuildStep + false + + arm-darwin-generic-mach_o-64bit + + + + true + Qt4ProjectManager.MakeStep + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + clean + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + 0 + + + 0 + /Users/alexis/build-TaskNote-Qt_6_2_0_for_macOS-Profile + /Users/alexis/build-TaskNote-Qt_6_2_0_for_macOS-Profile + + + true + QtProjectManager.QMakeBuildStep + true + + + + true + Qt4ProjectManager.MakeStep + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + clean + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + 0 + 0 + + 3 + + + 0 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + + false + ProjectExplorer.DefaultDeployConfiguration + + 1 + + true + true + true + + 2 + + Qt4ProjectManager.Qt4RunConfiguration:/Users/alexis/TaskNote/TaskNote.pro + /Users/alexis/TaskNote/TaskNote.pro + false + true + true + false + true + /Users/alexis/build-TaskNote-Qt_6_2_0_for_macOS-Release/TaskNote.app/Contents/MacOS + + 1 + + + + ProjectExplorer.Project.TargetCount + 1 + + + ProjectExplorer.Project.Updater.FileVersion + 22 + + + Version + 22 + + diff --git a/TaskNote.pro.user.4f8813a b/TaskNote.pro.user.4f8813a new file mode 100755 index 0000000..a9a66a5 --- /dev/null +++ b/TaskNote.pro.user.4f8813a @@ -0,0 +1,267 @@ + + + + + + EnvironmentId + {4f8813a6-3af3-4bb9-ae1e-fccaa8f98bf0} + + + ProjectExplorer.Project.ActiveTarget + 0 + + + ProjectExplorer.Project.EditorSettings + + true + false + true + + Cpp + + CppGlobal + + + + QmlJS + + QmlJSGlobal + + + 2 + UTF-8 + false + 4 + false + 80 + true + true + 1 + false + true + false + 0 + true + true + 0 + 8 + true + false + 1 + true + true + true + *.md, *.MD, Makefile + false + true + + + + ProjectExplorer.Project.PluginSettings + + + true + false + true + true + true + true + + + 0 + true + + -fno-delayed-template-parsing + + true + Builtin.BuildSystem + + true + true + Builtin.DefaultTidyAndClazy + 8 + + + + true + + + + + ProjectExplorer.Project.Target.0 + + Desktop + Desktop Qt 6.2.3 MSVC2019 64bit + Desktop Qt 6.2.3 MSVC2019 64bit + qt.qt6.623.win64_msvc2019_64_kit + 1 + 0 + 0 + + 0 + D:\build-TaskNote-Desktop_Qt_6_2_3_MSVC2019_64bit-Debug + D:/build-TaskNote-Desktop_Qt_6_2_3_MSVC2019_64bit-Debug + + + true + QtProjectManager.QMakeBuildStep + false + + + + true + Qt4ProjectManager.MakeStep + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + clean + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + false + + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + + + D:\build-TaskNote-Desktop_Qt_6_2_3_MSVC2019_64bit-Release + D:/build-TaskNote-Desktop_Qt_6_2_3_MSVC2019_64bit-Release + + + true + QtProjectManager.QMakeBuildStep + false + + + + true + Qt4ProjectManager.MakeStep + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + clean + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + false + + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + 0 + + + 0 + D:\build-TaskNote-Desktop_Qt_6_2_3_MSVC2019_64bit-Profile + D:/build-TaskNote-Desktop_Qt_6_2_3_MSVC2019_64bit-Profile + + + true + QtProjectManager.QMakeBuildStep + false + + + + true + Qt4ProjectManager.MakeStep + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + clean + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + false + + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + 0 + 0 + + 3 + + + 0 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + + false + ProjectExplorer.DefaultDeployConfiguration + + 1 + + true + true + true + + 2 + + Qt4ProjectManager.Qt4RunConfiguration:D:/TaskNote/TaskNote.pro + D:/TaskNote/TaskNote.pro + false + true + true + false + true + D:/build-TaskNote-Desktop_Qt_6_2_3_MSVC2019_64bit-Release + + 1 + + + + ProjectExplorer.Project.TargetCount + 1 + + + ProjectExplorer.Project.Updater.FileVersion + 22 + + + Version + 22 + + diff --git a/TaskNote.pro.user.6652f76 b/TaskNote.pro.user.6652f76 new file mode 100755 index 0000000..9f73a8a --- /dev/null +++ b/TaskNote.pro.user.6652f76 @@ -0,0 +1,265 @@ + + + + + + EnvironmentId + {6652f76d-bc53-48e0-b6d8-98a4bb74cdef} + + + ProjectExplorer.Project.ActiveTarget + 0 + + + ProjectExplorer.Project.EditorSettings + + true + false + true + + Cpp + + CppGlobal + + + + QmlJS + + QmlJSGlobal + + + 2 + UTF-8 + false + 4 + false + 80 + true + true + 1 + false + true + false + 0 + true + true + 0 + 8 + true + false + 1 + true + true + true + *.md, *.MD, Makefile + false + true + + + + ProjectExplorer.Project.PluginSettings + + + true + false + true + true + true + true + + + 0 + true + + true + Builtin.BuildSystem + + true + true + Builtin.DefaultTidyAndClazy + 8 + + + + true + + + + + ProjectExplorer.Project.Target.0 + + Desktop + Desktop Qt 6.2.3 GCC 64bit + Desktop Qt 6.2.3 GCC 64bit + qt.qt6.623.gcc_64_kit + 1 + 0 + 0 + + 0 + /home/aurelie/build-TaskNote-Desktop_Qt_6_2_3_GCC_64bit-Debug + /home/aurelie/build-TaskNote-Desktop_Qt_6_2_3_GCC_64bit-Debug + + + true + QtProjectManager.QMakeBuildStep + false + + + + true + Qt4ProjectManager.MakeStep + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + clean + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + false + + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + + + /home/aurelie/build-TaskNote-Desktop_Qt_6_2_3_GCC_64bit-Release + /home/aurelie/build-TaskNote-Desktop_Qt_6_2_3_GCC_64bit-Release + + + true + QtProjectManager.QMakeBuildStep + false + + + + true + Qt4ProjectManager.MakeStep + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + clean + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + false + + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + 0 + + + 0 + /home/aurelie/build-TaskNote-Desktop_Qt_6_2_3_GCC_64bit-Profile + /home/aurelie/build-TaskNote-Desktop_Qt_6_2_3_GCC_64bit-Profile + + + true + QtProjectManager.QMakeBuildStep + false + + + + true + Qt4ProjectManager.MakeStep + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + clean + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + false + + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + 0 + 0 + + 3 + + + 0 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + + false + ProjectExplorer.DefaultDeployConfiguration + + 1 + + true + true + true + + 2 + + Qt4ProjectManager.Qt4RunConfiguration:/home/aurelie/TaskNote/TaskNote.pro + /home/aurelie/TaskNote/TaskNote.pro + false + true + true + false + true + /home/aurelie/build-TaskNote-Desktop_Qt_6_2_3_GCC_64bit-Release + + 1 + + + + ProjectExplorer.Project.TargetCount + 1 + + + ProjectExplorer.Project.Updater.FileVersion + 22 + + + Version + 22 + + diff --git a/TaskNote.pro.user.f1407b1 b/TaskNote.pro.user.f1407b1 new file mode 100755 index 0000000..c88d811 --- /dev/null +++ b/TaskNote.pro.user.f1407b1 @@ -0,0 +1,264 @@ + + + + + + EnvironmentId + {f1407b1e-b4d5-4aac-ba0d-b38072a0dfb8} + + + ProjectExplorer.Project.ActiveTarget + 0 + + + ProjectExplorer.Project.EditorSettings + + true + false + true + + Cpp + + CppGlobal + + + + QmlJS + + QmlJSGlobal + + + 2 + UTF-8 + false + 4 + false + 80 + true + true + 1 + false + true + false + 0 + true + true + 0 + 8 + true + false + 1 + true + true + true + *.md, *.MD, Makefile + false + true + + + + ProjectExplorer.Project.PluginSettings + + + true + false + true + true + true + true + + + 0 + true + + true + Builtin.BuildSystem + + true + true + Builtin.DefaultTidyAndClazy + 4 + + + + true + + + + + ProjectExplorer.Project.Target.0 + + Desktop + Qt 6.2.0 for macOS + Qt 6.2.0 for macOS + qt.qt6.620.clang_64_kit + 0 + 0 + 0 + + 0 + /Users/alexis/build-TaskNote-Qt_6_2_0_for_macOS-Debug + /Users/alexis/build-TaskNote-Qt_6_2_0_for_macOS-Debug + + + true + QtProjectManager.QMakeBuildStep + false + + arm-darwin-generic-mach_o-64bit + + + + true + Qt4ProjectManager.MakeStep + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + clean + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + + + /Users/alexis/build-TaskNote-Qt_6_2_0_for_macOS-Release + /Users/alexis/build-TaskNote-Qt_6_2_0_for_macOS-Release + + + true + QtProjectManager.QMakeBuildStep + true + + + + true + Qt4ProjectManager.MakeStep + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + clean + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + 0 + + + 0 + /Users/alexis/build-TaskNote-Qt_6_2_0_for_macOS-Profile + /Users/alexis/build-TaskNote-Qt_6_2_0_for_macOS-Profile + + + true + QtProjectManager.QMakeBuildStep + true + + + + true + Qt4ProjectManager.MakeStep + + 2 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + true + Qt4ProjectManager.MakeStep + clean + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + 0 + 0 + + 3 + + + 0 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + + false + ProjectExplorer.DefaultDeployConfiguration + + 1 + + true + true + true + + 2 + + Qt4ProjectManager.Qt4RunConfiguration:/Users/alexis/TaskNote/TaskNote.pro + /Users/alexis/TaskNote/TaskNote.pro + false + true + true + false + true + /Users/alexis/build-TaskNote-Qt_6_2_0_for_macOS-Debug/TaskNote.app/Contents/MacOS + + 1 + + + + ProjectExplorer.Project.TargetCount + 1 + + + ProjectExplorer.Project.Updater.FileVersion + 22 + + + Version + 22 + + diff --git a/icon.icns b/icon.icns new file mode 100755 index 0000000000000000000000000000000000000000..39c3b1f8117be2621dd90deac8ab7292fbbd5473 GIT binary patch literal 48364 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ஊu)yE-2ea^8tyQLx!QejzufZ#Uk=6AEYtHTx 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 NS96=0<-UOR{|CT2wJiVu literal 0 HcmV?d00001 diff --git a/icon.ico b/icon.ico new file mode 100755 index 0000000000000000000000000000000000000000..f48bc2a084aa5cbfe415a861b4c6ec674fbc1ebc GIT binary patch literal 115748 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 literal 0 HcmV?d00001 diff --git a/icons.qrc b/icons.qrc new file mode 100755 index 0000000..c5e844d --- /dev/null +++ b/icons.qrc @@ -0,0 +1,11 @@ + + + resources/outline_add_circle_outline_black_18dp.png + resources/outline_delete_forever_black_18dp.png + resources/outline_save_black_18dp.png + resources/outline_help_outline_black_18dp.png + + + resources/logo.png + + diff --git a/resources/logo.png b/resources/logo.png new file mode 100755 index 0000000000000000000000000000000000000000..e498b55c984627c2097815a6fa2f01e2d3e814e3 GIT binary patch literal 37708 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 G=KlxeH1os& literal 0 HcmV?d00001 diff --git a/resources/outline_add_circle_outline_black_18dp.png b/resources/outline_add_circle_outline_black_18dp.png new file mode 100755 index 0000000000000000000000000000000000000000..59e2fa29726d2c858b06d03bfe4c7dd4866189c7 GIT binary patch literal 208 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+0wn(&ce?|mrhB?LhG?9hI%y|wivy2qJfjR} zsK7)=*$bQ^Mwe7B^hVEYm~&&Ic|!S?H5X3ZILSYczgAk#{pgWHhg?eeO>#88`K2!Y z=^7>Em9k(#g2Ez|TiMf(_?2tEzTtWQZkUO3;{?OhzY3;aXIPt3WCLFX_euQKy^`Fs ze2$@)f&vFSdy_zeP;wo^&SN{p$|E0`TrL%R-Z*#tC-u176N6c04^>11oyg$n>gTe~ HDWM4f30qDH literal 0 HcmV?d00001 diff --git a/resources/outline_delete_forever_black_18dp.png b/resources/outline_delete_forever_black_18dp.png new file mode 100755 index 0000000000000000000000000000000000000000..c89a0fffca858ea92c62df9f9f3a8e833ea2d6c2 GIT binary patch literal 183 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+0wn(&ce?|m>O5T>Lp07OCoJGKNV;))gFMG~ zrpSl}=EL&^BGI3jXnUa|MfHE9QiQ0X!G@-r3PQ`3!rON9 zymF}MKPb6fiMQ=J&-nuZvhz#p64w8IxYPJvlLQq^Eu@v66irTelW z&3492GXKmxd1m-`^vtcT&GqgB16x6?GT0h4kxVHlOm%cj6@pTBJEe4zV`ynuDy;RLFFcHlz&`Q)z6h8X!4!WY% zJt*^O@1Y6R>)_4zRY$t677kCIf9pheZ2|1;s_Mpq)Jzr@71A)X)md5|xaF(-5kDBc VQPsf?nmqsj002ovPDHLkV1inHaCHCx literal 0 HcmV?d00001 diff --git a/resources/outline_save_black_18dp.png b/resources/outline_save_black_18dp.png new file mode 100755 index 0000000000000000000000000000000000000000..f6cd4ca8e1d09dece58ac8f6ab50aabf043e6895 GIT binary patch literal 191 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+0wn(&ce?|m+B{txLp07OCoIsrkP>lzgFJ6u zdVoXdmU$0t+ZKK2`5rj6kwsSG)x-r%&5DPmLsAu7zw-Q_xPUp}ia^G#GN&$uM-^)i zui}tCuu!Azp{BsG2f-@mJ_x^AG~YqY&-GV9`|HPHN6r**t$89cq4l`$9iB{w6TN4B qZ!BUJGJXBg-GE~q`>6m?28Ky@(sO;&wJ!l(#Ng@b=d#Wzp$PzbB}%CP literal 0 HcmV?d00001 diff --git a/src/frames/aboutdialog.cpp b/src/frames/aboutdialog.cpp new file mode 100755 index 0000000..13933b3 --- /dev/null +++ b/src/frames/aboutdialog.cpp @@ -0,0 +1,15 @@ +#include "aboutdialog.h" +#include "ui_aboutdialog.h" + +AboutDialog::AboutDialog(QWidget *parent) : + QDialog(parent), + ui(new Ui::AboutDialog) +{ + ui->setupUi(this); + ui->appNameLabel->setText(QString("TaskNote (%1)").arg(QSysInfo::currentCpuArchitecture())); +} + +AboutDialog::~AboutDialog() +{ + delete ui; +} diff --git a/src/frames/aboutdialog.h b/src/frames/aboutdialog.h new file mode 100755 index 0000000..a8c5c53 --- /dev/null +++ b/src/frames/aboutdialog.h @@ -0,0 +1,23 @@ +#ifndef ABOUTDIALOG_H +#define ABOUTDIALOG_H + +#include +#include + +namespace Ui { +class AboutDialog; +} + +class AboutDialog : public QDialog +{ + Q_OBJECT + +public: + explicit AboutDialog(QWidget *parent = nullptr); + ~AboutDialog(); + +private: + Ui::AboutDialog *ui; +}; + +#endif // ABOUTDIALOG_H diff --git a/src/frames/aboutdialog.ui b/src/frames/aboutdialog.ui new file mode 100755 index 0000000..9565d03 --- /dev/null +++ b/src/frames/aboutdialog.ui @@ -0,0 +1,97 @@ + + + AboutDialog + + + + 0 + 0 + 334 + 180 + + + + + 334 + 180 + + + + + 334 + 180 + + + + About TaskNote + + + + + + + + + 0 + 64 + + + + + 16777215 + 64 + + + + image: url(:/logo/resources/logo.png); + + + + + + Qt::AlignCenter + + + + + + + + 14 + + + + TaskNote + + + Qt::AlignCenter + + + + + + + Version 1.1.0.0 + + + Qt::AlignCenter + + + + + + + Author: AurĂ©lie Delhaie (aureliedelhaie.fr) + + + Qt::AlignCenter + + + + + + + + + + diff --git a/src/frames/mainwindow.cpp b/src/frames/mainwindow.cpp new file mode 100755 index 0000000..0bdcd15 --- /dev/null +++ b/src/frames/mainwindow.cpp @@ -0,0 +1,133 @@ +#include "mainwindow.h" +#include "ui_mainwindow.h" + +MainWindow::MainWindow(QWidget *parent) + : QMainWindow(parent) + , ui(new Ui::MainWindow) +{ + ui->setupUi(this); + timer = new QTimer(this); + connect(ui->actionAdd, &QAction::triggered, this, &MainWindow::createNote); + connect(ui->actionRemove, &QAction::triggered, this, &MainWindow::removeSelected); + connect(ui->actionSave, &QAction::triggered, this, &MainWindow::save); + connect(ui->actionAbout, &QAction::triggered, this, &MainWindow::showAboutBox); + connect(ui->noteList, &QListWidget::currentRowChanged, this, &MainWindow::selectionChanged); + connect(ui->titleEdit, &QLineEdit::textChanged, this, &MainWindow::titleChanged); + connect(ui->contentEdit, &QPlainTextEdit::textChanged, this, &MainWindow::contentChanged); + const QFont fixedFont = QFontDatabase::systemFont(QFontDatabase::FixedFont); + ui->contentEdit->setFont(fixedFont); + this->savemng = new SaveManager(); + updateListView(); + connect(timer, &QTimer::timeout, this, &MainWindow::save); +} + +MainWindow::~MainWindow() +{ + delete timer; + delete savemng; + delete ui; +} + +void MainWindow::createNote() +{ + Note *n = new Note(); + n->setTitle("untitled note"); + savemng->addNote(n); + updateListView(); +} + +void MainWindow::selectionChanged(int i) +{ + this->currentIndex = i; + if (i == -1) + { + clearAndDisableFields(); + return; + } + Note *n = this->savemng->getNoteByIndex(i); + if (n == nullptr) + { + QMessageBox::critical(this, tr("TaskNote"), "Failed to get this note, the memory pointer is empty", QMessageBox::Ok, QMessageBox::Ok); + clearAndDisableFields(); + return; + } + ui->actionRemove->setDisabled(false); + ui->titleEdit->setDisabled(false); + ui->contentEdit->setDisabled(false); + ui->titleEdit->setText(n->getTitle()); + ui->contentEdit->setPlainText(n->getContent()); + ui->markdownViewer->setMarkdown(n->getContent()); +} + +void MainWindow::removeSelected() +{ + if (this->currentIndex > -1) + { + this->savemng->removeNoteByIndex(this->currentIndex); + clearAndDisableFields(); + updateListView(); + } +} + +void MainWindow::save() +{ + if (this->currentIndex > -1) + { + Note *n = this->savemng->getNoteByIndex(this->currentIndex); + n->setTitle(ui->titleEdit->text()); + n->setContent(ui->contentEdit->toPlainText()); + } + this->savemng->flushSave(); +} + +void MainWindow::titleChanged() +{ + timer->stop(); + if (this->currentIndex > -1) + { + Note *n = this->savemng->getNoteByIndex(this->currentIndex); + n->setTitle(ui->titleEdit->text()); + ui->noteList->item(this->currentIndex)->setText(ui->titleEdit->text()); + } + timer->start(1000); +} + +void MainWindow::showAboutBox() +{ + AboutDialog dialog; + dialog.setModal(true); + dialog.exec(); +} + +void MainWindow::contentChanged() +{ + timer->stop(); + if (this->currentIndex > -1) + { + Note *n = this->savemng->getNoteByIndex(this->currentIndex); + n->setContent(ui->contentEdit->toPlainText()); + ui->markdownViewer->setMarkdown(ui->contentEdit->toPlainText()); + } + timer->start(1000); +} + +void MainWindow::updateListView() +{ + ui->noteList->clear(); + foreach (Note *n, savemng->getNotes()) + { + ui->noteList->addItem(n->getTitle()); + } +} + +void MainWindow::clearAndDisableFields() +{ + this->currentIndex = -1; + ui->actionRemove->setDisabled(true); + ui->titleEdit->setDisabled(true); + ui->contentEdit->setDisabled(true); + ui->titleEdit->clear(); + ui->contentEdit->clear(); + ui->markdownViewer->clear(); +} + diff --git a/src/frames/mainwindow.h b/src/frames/mainwindow.h new file mode 100755 index 0000000..644b7a9 --- /dev/null +++ b/src/frames/mainwindow.h @@ -0,0 +1,44 @@ +#ifndef MAINWINDOW_H +#define MAINWINDOW_H + + +#include +#include +#include + +#include "../services/savemanager.h" +#include "aboutdialog.h" + + +QT_BEGIN_NAMESPACE +namespace Ui { class MainWindow; } +QT_END_NAMESPACE + +class MainWindow : public QMainWindow +{ + Q_OBJECT + +public: + MainWindow(QWidget *parent = nullptr); + ~MainWindow(); + +private slots: + void createNote(); + void selectionChanged(int); + void removeSelected(); + void save(); + void contentChanged(); + void titleChanged(); + void showAboutBox(); + +private: + Ui::MainWindow *ui; + SaveManager *savemng; + QTimer *timer; + + int currentIndex = -1; + + void updateListView(); + void clearAndDisableFields(); +}; +#endif // MAINWINDOW_H diff --git a/src/frames/mainwindow.ui b/src/frames/mainwindow.ui new file mode 100755 index 0000000..49e7fb4 --- /dev/null +++ b/src/frames/mainwindow.ui @@ -0,0 +1,189 @@ + + + MainWindow + + + + 0 + 0 + 1075 + 710 + + + + + 1075 + 710 + + + + TaskNote + + + + + + + + + + 250 + 16777215 + + + + + + + + Qt::Vertical + + + + + + + + + + 16777215 + 13 + + + + Title + + + + + + + false + + + + + + + + + Markdown editor + + + + + + + Viewer + + + + + + + + + + + false + + + + + + + true + + + QTextEdit::AutoAll + + + QTextEdit::WidgetWidth + + + true + + + false + + + Qt::TextSelectableByMouse + + + + + + + + + + + + + + + 16777215 + 33 + + + + toolBar + + + TopToolBarArea + + + false + + + + + + + + + + + + :/icon/resources/outline_add_circle_outline_black_18dp.png:/icon/resources/outline_add_circle_outline_black_18dp.png + + + Add + + + + + false + + + + :/icon/resources/outline_delete_forever_black_18dp.png:/icon/resources/outline_delete_forever_black_18dp.png + + + Remove + + + + + + :/icon/resources/outline_save_black_18dp.png:/icon/resources/outline_save_black_18dp.png + + + Save + + + + + + :/icon/resources/outline_help_outline_black_18dp.png:/icon/resources/outline_help_outline_black_18dp.png + + + About + + + + + + + + diff --git a/src/main.cpp b/src/main.cpp new file mode 100755 index 0000000..8e0d377 --- /dev/null +++ b/src/main.cpp @@ -0,0 +1,11 @@ +#include "src/frames/mainwindow.h" + +#include + +int main(int argc, char *argv[]) +{ + QApplication a(argc, argv); + MainWindow w; + w.show(); + return a.exec(); +} diff --git a/src/models/note.cpp b/src/models/note.cpp new file mode 100755 index 0000000..7200a04 --- /dev/null +++ b/src/models/note.cpp @@ -0,0 +1,45 @@ +#include "note.h" + +Note::Note() +{ + +} + +QJsonObject Note::toJson() +{ + QJsonObject o; + + o["title"] = this->title; + o["content"] = this->content; + + return o; +} + +Note *Note::fromJson(QJsonObject o) +{ + Note *n = new Note(); + n->title = o["title"].toString(); + n->content = o["content"].toString(); + return n; +} + +QString Note::getTitle() +{ + return title; +} + +QString Note::getContent() +{ + return content; +} + +void Note::setTitle(QString value) +{ + this->title = value; +} + +void Note::setContent(QString value) +{ + this->content = value; +} + diff --git a/src/models/note.h b/src/models/note.h new file mode 100755 index 0000000..a22a546 --- /dev/null +++ b/src/models/note.h @@ -0,0 +1,26 @@ +#ifndef NOTE_H +#define NOTE_H + +#include +#include + +class Note +{ +public: + Note(); + + QJsonObject toJson(); + static Note* fromJson(QJsonObject o); + + QString getTitle(); + QString getContent(); + + void setTitle(QString value); + void setContent(QString value); + +private: + QString title; + QString content; +}; + +#endif // NOTE_H diff --git a/src/services/savemanager.cpp b/src/services/savemanager.cpp new file mode 100755 index 0000000..63d7787 --- /dev/null +++ b/src/services/savemanager.cpp @@ -0,0 +1,99 @@ +#include "savemanager.h" + +SaveManager::SaveManager() +{ + openSave(); +} + +SaveManager::~SaveManager() +{ + flushSave(); +} + +void SaveManager::flushSave() +{ + QJsonArray json_notes; + + foreach (Note *n, notes) + { + json_notes.append(n->toJson()); + } + + QJsonObject obj + { + {"notes", json_notes}, + }; + + QJsonDocument doc(obj); + QFile *f = new QFile(getSaveFilePath()); + if (f->open(QIODevice::WriteOnly)) + { + f->write(doc.toJson()); + f->close(); + } + delete f; +} + +QVector SaveManager::getNotes() +{ + return notes; +} + +void SaveManager::addNote(Note *n) +{ + this->notes.append(n); + flushSave(); +} + +bool SaveManager::removeNoteByIndex(int i) +{ + if ((i < 0) || (i >= this->notes.length())) + { + return false; + } + Note *n = this->notes[i]; + this->notes.removeAt(i); + delete n; + flushSave(); + return true; +} + +Note *SaveManager::getNoteByIndex(int i) +{ + if ((i < 0) || (i >= this->notes.length())) + { + return nullptr; + } + return this->notes[i]; +} + +QString SaveManager::getSaveFilePath() { + QString path = QStandardPaths::writableLocation(QStandardPaths::AppDataLocation); + if (!QDir(path).exists()) + { + QDir().mkpath(path); + } + + path += "/data/"; + if (!QDir(path).exists()) + { + QDir().mkpath(path); + } + path += SAVE_FILENAME; + return QDir::cleanPath(path); +} + +void SaveManager::openSave() { + QFile* file = new QFile(getSaveFilePath()); + file->open(QIODevice::ReadOnly); + auto json = QString(file->readAll()); + file->close(); + delete file; + + QJsonObject obj = QJsonDocument::fromJson(json.toUtf8()).object(); + QJsonArray arr = obj["notes"].toArray(); + for (int i = 0; i < arr.size(); i++) + { + this->notes.append(Note::fromJson(arr[i].toObject())); + } +} diff --git a/src/services/savemanager.h b/src/services/savemanager.h new file mode 100755 index 0000000..25eb1e3 --- /dev/null +++ b/src/services/savemanager.h @@ -0,0 +1,35 @@ +#ifndef SAVEMANAGER_H +#define SAVEMANAGER_H + +#define SAVE_FILENAME "data.json" + +#include +#include +#include +#include +#include +#include + +#include "../models/note.h" + +class SaveManager +{ +public: + SaveManager(); + ~SaveManager(); + + void flushSave(); + + QVector getNotes(); + + void addNote(Note *n); + bool removeNoteByIndex(int i); + Note *getNoteByIndex(int i); +private: + QString getSaveFilePath(); + void openSave(); + + QVector notes; +}; + +#endif // SAVEMANAGER_H