diff --git a/.gitlab/media/QtCreator_install.png b/.gitlab/media/QtCreator_install.png
new file mode 100644
index 00000000..ad4cdcb3
Binary files /dev/null and b/.gitlab/media/QtCreator_install.png differ
diff --git a/.gitlab/media/QtCreator_kit.png b/.gitlab/media/QtCreator_kit.png
new file mode 100644
index 00000000..24982a8f
Binary files /dev/null and b/.gitlab/media/QtCreator_kit.png differ
diff --git a/Docs/DeveloperSetup.md b/Docs/DeveloperSetup.md
new file mode 100644
index 00000000..59531b22
--- /dev/null
+++ b/Docs/DeveloperSetup.md
@@ -0,0 +1,99 @@
+### Basic
+1. Install latest [git + git-lfs](https://git-scm.com/)
+2. Clone ScreenPlay
+``` bash
+git clone --recursive https://gitlab.com/kelteseth/ScreenPlay.git
+```
+3. Download the latest [__Qt 5.14__](https://www.qt.io/download-qt-installer). Earlier versions are not supported!
+4. Start install-dependencies.bat to download dependencies into the Common/ folder
+``` bash
+//Windows
+.\install-dependencies.bat
+
+//Linux
+sudo apt install git gcc cmake build-essential libgl1-mesa-dev
+chmod +x install-dependencies.sh
+.\install-dependencies.sh
+```
+ * This will install these dependencies via __vcpkg__
+ * libzippp
+ * nlohmann-json
+ * openSSL 1.1.1d
+ * zlib& libzip
+ * breakpad
+ * Download these dependencies via __git submodules__
+ * stomt-qt-sdk
+ * qt-google-analytics
+ * qt-breakpad
+5. **Follow the steps below for your OS**.
+6. Open the CMakeLists.txt via QtCreator. **This can take some time until QtCreator parses all files!**
+7. Add a second build step at: Projects -> Build -> Add Build Step -> Select Build -> Select "install" .
+
+
+
![](../.gitlab/media/QtCreator_install.png)
+
+
+8. Add CMake variables
+ * Add CMAKE_TOOLCHAIN_FILE and VCPKG_TARGET_TRIPLET
+ * Extras -> Tools -> Kits -> -> CMake Configuration -> Append this:
+ * CMAKE_TOOLCHAIN_FILE:STRING=%{CurrentProject:Path}/Common/vcpkg/scripts/buildsystems/vcpkg.cmake
+ * VCPKG_TARGET_TRIPLET:STRING=x64-windows
+ * or Linux: x64-linux MacOSX: x64-osx
+
+
+
![](../.gitlab/media/QtCreator_kit.png)
+
+
+9. Check if Ninja is selected
+ * Extras -> Tools -> Kits -> -> CMakeGenerator -> Change to:
+ * Generator: Ninja
+ * Extra Generator: CodeBlocks
+10. Save and close the settings.
+11. Press build (the big green play button). This will compile the project and copy all necessary files into your Qt installation.
+
+### Windows
+1. [Download and install MSVC 2019 Community](https://visualstudio.microsoft.com/vs/community/)
+ - Select "Desktop development with C++"
+2. [Download and install Qt 5 binary installer from qt.io](https://www.qt.io/download-qt-installer)
+ - Install the Maintaince tool
+ - Select the following features to install:
+ - Qt 5.14.2
+ - MSVC 2017 64-bit
+ - Qt WebEngine
+ - Developer and Designer Tools
+ - Cmake
+ - Ninja
+
+### Linux
+1. Install dependencies for your distro:
+``` bash
+# Debian/Ubuntu
+sudo apt install build-essential libgl1-mesa-dev lld ninja-build cmake
+
+# Fedora/RHEL/CentOS (yum)
+sudo yum groupinstall "C Development Tools and Libraries"
+sudo yum install mesa-libGL-devel
+
+# openSUSE (zypper)
+sudo zypper install -t pattern devel_basis
+```
+2. [Download and install Qt 5 binary installer from qt.io](https://www.qt.io/download-qt-installer)
+ - Install the Maintaince tool
+ - Select the following features to install:
+ - Qt 5.14.2
+ - GCC
+ - Qt WebEngine
+### OSX
+1. [Download and install Qt 5 binary installer from qt.io](https://www.qt.io/download-qt-installer)
+ - Install the Maintaince tool
+ - Select the following features to install:
+ - Qt 5.14.2
+ - Qt WebEngine
+ - Developer and Designer Tools
+ - OpenSSL 1.1.1.c Toolkit
+ - OpenSSL 64-bit binaries
+ - Cmake
+ - Ninja
+2. Install [homebrew](https://brew.sh/)
+ - Open a terminal and install clang -> brew install llvm
+3. Change your default kit: QtCreator -> Options -> Kits -> Select your default kit (Desktop Qt 5.13.0) -> Change c and c++ Compiler to Apple Clang (x86_64)
diff --git a/Docs/ProjectOverview.md b/Docs/ProjectOverview.md
new file mode 100644
index 00000000..00fcd810
--- /dev/null
+++ b/Docs/ProjectOverview.md
@@ -0,0 +1,24 @@
+# Overview
+
+``` mermaid
+ graph TD
+
+ Main.cpp --> App
+ App --> QQmlApplicationEngine
+ App --> GlobalVariables
+ App --> ScreenPlayManager
+ ScreenPlayManager --> ScreenPlayWallpaper
+ ScreenPlayManager --> ScreenPlayWidget
+ App --> Create
+ Create--> CreateVideoImport
+ App --> Util
+ App --> Settings
+ App --> SDKConnector
+ App --> InstalledListModel
+ InstalledListModel --> ProjectFile
+ App --> InstalledListFilter
+ App --> MonitorListModel
+ MonitorListModel --> Monitor
+ App --> ProfileListModel
+ ProfileListModel --> Profile
+```
\ No newline at end of file
diff --git a/README.md b/README.md
index ce3718e6..2efd6c19 100644
--- a/README.md
+++ b/README.md
@@ -11,9 +11,25 @@ ScreenPlay is an open source cross plattform app for displaying Wallpaper, Widge
![Preview](.gitlab/media/preview.mp4)
-
+
+
+# Contributing for none programmer
+
+Everyone can contribute with code, design, documentation or translation. Visit our [contributing guide](https://gitlab.com/kelteseth/ScreenPlay/blob/dev/CONTRIBUTING.md) for more informations.
+
+* If you want to help [translate](https://kelteseth.gitlab.io/ScreenPlayDocs/contribute/translations/)
+* If you are a [designer](https://kelteseth.gitlab.io/ScreenPlayDocs/contribute/contribute/#design)
+* Help create example app via [HTML/QML/Javascript](https://kelteseth.gitlab.io/ScreenPlayDocs/)
+
+
+# Contributing for programmer
+ * If you want to contribute but don't know how to start, take a look at our open issues and WIP merge request.
+ * If you need help don't hesitate to ask me (Keltseth) via our forum/discord!
+ * [Developer setup guide on how to download and compile ScreenPlay yourself.](https://gitlab.com/kelteseth/ScreenPlay/blob/dev/Docs/DeveloperSetup.md)
+ * [Developer C++ Classes Documentation](https://kelteseth.gitlab.io/ScreenPlayDeveloperDocs/)
+
# Platform support
* ❌ Not working/Not implemented
@@ -49,114 +65,3 @@ __If you want to help and add new desktop environments look at ScreenPlayWallpap
-
-# Contributing
-
-Everyone can contribute with code, design, documentation or translation. Visit our [contributing guide](https://gitlab.com/kelteseth/ScreenPlay/blob/dev/CONTRIBUTING.md) for more informations.
-
-* If you want to help [translate](https://gitlab.com/kelteseth/ScreenPlay/blob/dev/CONTRIBUTING.md#translation)
-* If you are a [programmer](https://gitlab.com/kelteseth/ScreenPlay/blob/dev/CONTRIBUTING.md#development)
-* If you are a [designer](https://gitlab.com/kelteseth/ScreenPlay/blob/dev/CONTRIBUTING.md#design)
-
-
-# Getting started
-
-### Basic
-1. Install latest [git + git-lfs](https://git-scm.com/)
-2. Clone ScreenPlay
-``` bash
-git clone --recursive https://gitlab.com/kelteseth/ScreenPlay.git
-```
-3. Download the latest [__Qt 5.14__](https://www.qt.io/download-qt-installer). Earlier versions are not supported!
-4. Start install-dependencies.bat to download dependencies into the Common/ folder
-``` bash
-//Windows
-.\install-dependencies.bat
-
-//Linux
-sudo apt install git gcc cmake build-essential libgl1-mesa-dev
-chmod +x install-dependencies.sh
-.\install-dependencies.sh
-```
- * This will install these dependencies via __vcpkg__
- * libzippp
- * nlohmann-json
- * openSSL 1.1.1d
- * zlib& libzip
- * breakpad
- * Download these dependencies via __git submodules__
- * stomt-qt-sdk
- * qt-google-analytics
- * qt-breakpad
-5. **Follow the steps below for your OS**.
-6. Open the CMakeLists.txt via QtCreator. **This can take some time until QtCreator parses all files!**
-7. Add a second build step at: Projects -> Build -> Add Build Step -> Select Build -> Select "install" .
-
-
-
![](.gitlab/media/QtCreator_install.png)
-
-
-8. Add CMake variables
- * Add CMAKE_TOOLCHAIN_FILE and VCPKG_TARGET_TRIPLET
- * Extras -> Tools -> Kits -> -> CMake Configuration -> Append this:
- * CMAKE_TOOLCHAIN_FILE:STRING=%{CurrentProject:Path}/Common/vcpkg/scripts/buildsystems/vcpkg.cmake
- * VCPKG_TARGET_TRIPLET:STRING=x64-windows
- * or Linux: x64-linux MacOSX: x64-osx
-
-
-
![](.gitlab/media/QtCreator_kit.png)
-
-
-9. Check if Ninja is selected
- * Extras -> Tools -> Kits -> -> CMakeGenerator -> Change to:
- * Generator: Ninja
- * Extra Generator: CodeBlocks
-10. Save and close the settings.
-11. Press build (the big green play button). This will compile the project and copy all necessary files into your Qt installation.
-
-### Windows
-1. [Download and install MSVC 2019 Community](https://visualstudio.microsoft.com/vs/community/)
- - Select "Desktop development with C++"
-2. [Download and install Qt 5 binary installer from qt.io](https://www.qt.io/download-qt-installer)
- - Install the Maintaince tool
- - Select the following features to install:
- - Qt 5.14.2
- - MSVC 2017 64-bit
- - Qt WebEngine
- - Developer and Designer Tools
- - Cmake
- - Ninja
-
-### Linux
-1. Install dependencies for your distro:
-``` bash
-# Debian/Ubuntu
-sudo apt install build-essential libgl1-mesa-dev lld ninja-build cmake
-
-# Fedora/RHEL/CentOS (yum)
-sudo yum groupinstall "C Development Tools and Libraries"
-sudo yum install mesa-libGL-devel
-
-# openSUSE (zypper)
-sudo zypper install -t pattern devel_basis
-```
-2. [Download and install Qt 5 binary installer from qt.io](https://www.qt.io/download-qt-installer)
- - Install the Maintaince tool
- - Select the following features to install:
- - Qt 5.14.2
- - GCC
- - Qt WebEngine
-### OSX
-1. [Download and install Qt 5 binary installer from qt.io](https://www.qt.io/download-qt-installer)
- - Install the Maintaince tool
- - Select the following features to install:
- - Qt 5.14.2
- - Qt WebEngine
- - Developer and Designer Tools
- - OpenSSL 1.1.1.c Toolkit
- - OpenSSL 64-bit binaries
- - Cmake
- - Ninja
-2. Install [homebrew](https://brew.sh/)
- - Open a terminal and install clang -> brew install llvm
-3. Change your default kit: QtCreator -> Options -> Kits -> Select your default kit (Desktop Qt 5.13.0) -> Change c and c++ Compiler to Apple Clang (x86_64)