diff --git a/doc/workflow/qpm_packages_installation.md b/doc/workflow/qpm_packages_installation.md index 97c4d45..9783445 100644 --- a/doc/workflow/qpm_packages_installation.md +++ b/doc/workflow/qpm_packages_installation.md @@ -2,6 +2,5 @@ To work with PPS 2.0 you need to install Font Awesome web fonts package manager, so: * Download [qpm package manager](https://www.qpm.io/). * Put qpm.exe in PPS project folder. - * Use `qpm install` in command line. - * To use FontAwesome you need to `import com.cutehacks.fontawesome 1.0` in `main.qml`. - + * use `cd to ../PPS2/PPS` and then `qpm install` in command line. + * To use FontAwesome you need to `import com.cutehacks.fontawesome 1.0` in appropriate qml file. diff --git a/pllug-presentation-system/pllug-presentation-system.pro b/pllug-presentation-system/pllug-presentation-system.pro index 8faa1f2..c26bfec 100644 --- a/pllug-presentation-system/pllug-presentation-system.pro +++ b/pllug-presentation-system/pllug-presentation-system.pro @@ -18,4 +18,3 @@ QML_IMPORT_PATH = # Default rules for deployment. include(deployment.pri) include($$PWD/vendor/vendor.pri) - diff --git a/pllug-presentation-system/presentation-data/presentation-data.pri b/pllug-presentation-system/presentation-data/presentation-data.pri index 1829ab8..6a553e3 100644 --- a/pllug-presentation-system/presentation-data/presentation-data.pri +++ b/pllug-presentation-system/presentation-data/presentation-data.pri @@ -9,7 +9,8 @@ SOURCES += \ $$PWD/paragraph.cpp \ $$PWD/separator.cpp \ $$PWD/htmlimport.cpp \ - $$PWD/presentationelementfactory.cpp + $$PWD/presentationelementfactory.cpp \ + $$PWD/presentationmodel.cpp HEADERS += \ $$PWD/presentation.h \ @@ -24,6 +25,7 @@ HEADERS += \ $$PWD/separator.h \ $$PWD/htmlimport.h \ $$PWD/abstractpresentationelementfactory.h \ - $$PWD/presentationelementfactory.h + $$PWD/presentationelementfactory.h \ + $$PWD/presentationmodel.h INCLUDEPATH += $$PWD diff --git a/pllug-presentation-system/presentation-data/presentationmodel.cpp b/pllug-presentation-system/presentation-data/presentationmodel.cpp new file mode 100644 index 0000000..394cc77 Binary files /dev/null and b/pllug-presentation-system/presentation-data/presentationmodel.cpp differ diff --git a/pllug-presentation-system/presentation-data/presentationmodel.h b/pllug-presentation-system/presentation-data/presentationmodel.h new file mode 100644 index 0000000..6e2e964 Binary files /dev/null and b/pllug-presentation-system/presentation-data/presentationmodel.h differ diff --git a/pllug-presentation-system/resources/qml.qrc b/pllug-presentation-system/resources/qml.qrc index 4d6d66d..14cf447 100644 --- a/pllug-presentation-system/resources/qml.qrc +++ b/pllug-presentation-system/resources/qml.qrc @@ -6,4 +6,9 @@ qml/TestScreen/Page1.qml qml/TestScreen/Page1Form.ui.qml + + qml/StartupScreen/MainToolbar.qml + qml/StartupScreen/RecentDelegateModel.qml + qml/StartupScreen/RecentProject.qml + diff --git a/pllug-presentation-system/resources/qml/StartupScreen/MainToolbar.qml b/pllug-presentation-system/resources/qml/StartupScreen/MainToolbar.qml new file mode 100644 index 0000000..39b0447 --- /dev/null +++ b/pllug-presentation-system/resources/qml/StartupScreen/MainToolbar.qml @@ -0,0 +1,37 @@ +import QtQuick 2.7 +import QtQuick.Controls 2.0 +import QtQuick.Layouts 1.0 +import com.cutehacks.fontawesome 1.0 + +ToolBar { + + RowLayout { + anchors.fill: parent + + ToolButton { + id: optionsMenuToolButton + anchors.left: parent.left + anchors.margins: 10 + + FAText{ + font.pixelSize: 20 + text: icons.ellipsis_v + anchors.centerIn: parent + } + } + + ToolButton { + id: sideBarToolButton + anchors.left: optionsMenuToolButton.right + anchors.margins: 10 + + + FAText{ + font.pixelSize: 20 + text: icons.bars + anchors.centerIn: parent + } + } + } +} + diff --git a/pllug-presentation-system/resources/qml/StartupScreen/RecentDelegateModel.qml b/pllug-presentation-system/resources/qml/StartupScreen/RecentDelegateModel.qml new file mode 100644 index 0000000..6f7f04b --- /dev/null +++ b/pllug-presentation-system/resources/qml/StartupScreen/RecentDelegateModel.qml @@ -0,0 +1,54 @@ +import QtQuick 2.0 + +Item { + id: container + + Rectangle { + id: recentDelegeteRectangle + anchors.fill: parent + anchors.leftMargin: 20 + anchors.rightMargin: 20 + anchors.bottomMargin: 20 + anchors.topMargin: 20 + border.width: 2 + border.color: "black" + color: "white" + + Rectangle + { + anchors.fill:parent + anchors.topMargin: 140 + border.color: "black"; + border.width: 2 + Text { + id: presentationNameText + anchors.fill:parent + anchors.topMargin: 10 + anchors.bottomMargin: 10 + + text: presentationName + horizontalAlignment: Text.AlignHCenter + verticalAlignment: Text.AlignVCenter + } + } + Rectangle { + anchors.fill:parent + anchors.leftMargin: 2 + anchors.rightMargin: 2 + anchors.topMargin: 2 + anchors.bottomMargin: 40 + + Image { + id: presentationImage + anchors.fill: parent + source: imageSrc + } + } + } + + MouseArea { + id: mouseArea + anchors.fill: parent + hoverEnabled: true + } +} diff --git a/pllug-presentation-system/resources/qml/StartupScreen/RecentProject.qml b/pllug-presentation-system/resources/qml/StartupScreen/RecentProject.qml new file mode 100644 index 0000000..f688d03 --- /dev/null +++ b/pllug-presentation-system/resources/qml/StartupScreen/RecentProject.qml @@ -0,0 +1,65 @@ +import QtQuick 2.6 +import QtQuick.Controls 2.0 + +Flickable { + id: flickable + contentHeight: gridRectangle.height + + Rectangle { + id: gridRectangle + width: flickable.width + height: flickable.height * 1.25 + anchors.bottomMargin: 40 + + GridView { + id: gridView + anchors.fill: parent; + anchors.leftMargin: 10 + anchors.rightMargin: 5 + cellWidth: 220 + cellHeight: 220 + model: recentPresentationsModel + + delegate: RecentDelegateModel { + width: GridView.view.cellWidth + height: GridView.view.cellHeight + } + } + } + + ScrollBar.vertical: ScrollBar { } + + // You should remove this ListModel when our model will be available + ListModel { + id: recentPresentationsModel + + ListElement { + presentationName: "Presentation name1" + imageSrc: "" + } + ListElement { + presentationName: "Presentation name1" + imageSrc: "" + } + ListElement { + presentationName: "Presentation name1" + imageSrc: "" + } + ListElement { + presentationName: "Presentation name1" + imageSrc: "" + } + ListElement { + presentationName: "Presentation name1" + imageSrc: "" + } + ListElement { + presentationName: "Presentation name1" + imageSrc: "" + } + ListElement { + presentationName: "Presentation name1" + imageSrc: "" + } + } +} diff --git a/pllug-presentation-system/resources/qml/StartupScreen/StartupScreen.qml b/pllug-presentation-system/resources/qml/StartupScreen/StartupScreen.qml new file mode 100644 index 0000000..068e79d --- /dev/null +++ b/pllug-presentation-system/resources/qml/StartupScreen/StartupScreen.qml @@ -0,0 +1,8 @@ +import QtQuick 2.7 +import QtQuick.Controls 2.0 +import QtQuick.Layouts 1.0 + +GridMenu { + +} + diff --git a/pllug-presentation-system/resources/qml/main.qml b/pllug-presentation-system/resources/qml/main.qml index 373fc16..44dae7c 100644 --- a/pllug-presentation-system/resources/qml/main.qml +++ b/pllug-presentation-system/resources/qml/main.qml @@ -1,44 +1,21 @@ import QtQuick 2.7 import QtQuick.Controls 2.0 import QtQuick.Layouts 1.0 -import com.cutehacks.fontawesome 1.0 import "./TestScreen" - +import "./StartupScreen" ApplicationWindow { - visible: true - width: 640 + id: window + width: 700 height: 480 - title: qsTr("Hello World") - + visible: true + title: "PLLUG Presentation System 2.0" - SwipeView { - id: swipeView + RecentProject { + id: gridMenu anchors.fill: parent - currentIndex: tabBar.currentIndex - - Page1 { - } - - Page { - FAText { - text: icons.ambulance - anchors.centerIn: parent - font.pixelSize: 72 - color: "steelblue" - } - } } - footer: TabBar { - id: tabBar - currentIndex: swipeView.currentIndex - TabButton { - text: qsTr("First") - } - TabButton { - text: qsTr("Second") - } - } + header: MainToolbar { } }