Browse Source

fixup sample, export common components

pull/2/head
Skycoder42 7 years ago
parent
commit
37b5675da3
  1. 1
      examples/mvvmquick/SampleQuick/ResultView.qml
  2. 5
      examples/mvvmquick/SampleQuick/SampleQuick.pro
  3. 51
      examples/mvvmquick/SampleQuick/SampleView.qml
  4. 45
      examples/mvvmquick/SampleQuick/TabView.qml
  5. 20
      examples/mvvmquick/SampleQuick/qpmx.json
  6. 9
      src/imports/mvvmdatasyncquick/ChangeRemoteView.qml
  7. 9
      src/imports/mvvmdatasyncquick/DataSyncView.qml
  8. 19
      src/imports/mvvmdatasyncquick/ExportSetupView.qml
  9. 19
      src/imports/mvvmdatasyncquick/IdentityEditView.qml
  10. 24
      src/imports/mvvmquick/AlertDialog.qml
  11. 19
      src/imports/mvvmquick/MsgBoxBase.qml
  12. 9
      src/imports/mvvmquick/SettingsView.qml
  13. 12
      src/imports/mvvmquick/ToolBarLabel.qml
  14. 2
      src/imports/mvvmquick/mvvmquick.pro
  15. 2
      src/imports/mvvmquick/qmldir
  16. 6
      src/mvvmdatasynccore/datasyncviewmodel.cpp
  17. 4
      src/mvvmdatasynccore/networkexchangeviewmodel.cpp

1
examples/mvvmquick/SampleQuick/ResultView.qml

@ -3,7 +3,6 @@ import QtQuick.Controls 2.3
import QtQuick.Layouts 1.3
import de.skycoder42.QtMvvm.Core 1.0
import de.skycoder42.QtMvvm.Quick 1.0
import de.skycoder42.quickextras 2.0
import de.skycoder42.QtMvvm.Sample 1.0
AlertDialog {

5
examples/mvvmquick/SampleQuick/SampleQuick.pro

@ -1,6 +1,6 @@
TEMPLATE = app
QT += core gui qml quick mvvmquick widgets
QT += core gui qml quick mvvmquick widgets quickcontrols2
TARGET = SampleQuick
@ -45,6 +45,3 @@ samples_in_build {
QML_IMPORT_PATH = $$OUT_PWD/../../../qml
DEFINES += QML_PATH=\\\"$$QML_IMPORT_PATH\\\"
}
!ReleaseBuild:!DebugBuild:!system(qpmx -d $$shell_quote($$_PRO_FILE_PWD_) --qmake-run init $$QPMX_EXTRA_OPTIONS $$shell_quote($$QMAKE_QMAKE) $$shell_quote($$OUT_PWD)): error(qpmx initialization failed. Check the compilation log for details.)
else: include($$OUT_PWD/qpmx_generated.pri)

51
examples/mvvmquick/SampleQuick/SampleView.qml

@ -3,7 +3,6 @@ import QtQuick.Controls 2.3
import QtQuick.Layouts 1.3
import de.skycoder42.QtMvvm.Core 1.0
import de.skycoder42.QtMvvm.Quick 1.0
import de.skycoder42.quickextras 2.0
import de.skycoder42.QtMvvm.Sample 1.0
Page {
@ -11,27 +10,43 @@ Page {
property SampleViewModel viewModel: null
readonly property bool presentAsRoot: true
header: ActionBar {
showMenuButton: true
title: qsTr("Sample")
onMenuButtonClicked: QuickPresenter.toggleDrawer()
header: ContrastToolBar {
RowLayout {
anchors.fill: parent
spacing: 0
moreMenu: Menu {
MenuItem {
text: qsTr("Another Input")
onTriggered: viewModel.getInput()
}
MenuItem {
text: qsTr("Add Files")
onTriggered: viewModel.getFiles()
ToolButton {
text: "≣"
onClicked: QuickPresenter.toggleDrawer()
}
MenuSeparator {}
ToolBarLabel {
text: qsTr("Sample")
Layout.fillWidth: true
}
MenuItem {
text: qsTr("About")
onTriggered: viewModel.about()
ToolButton {
text: "⋮"
onClicked: moreMenu.open()
Menu {
id: moreMenu
MenuItem {
text: qsTr("Another Input")
onTriggered: viewModel.getInput()
}
MenuItem {
text: qsTr("Add Files")
onTriggered: viewModel.getFiles()
}
MenuSeparator {}
MenuItem {
text: qsTr("About")
onTriggered: viewModel.about()
}
}
}
}
}

45
examples/mvvmquick/SampleQuick/TabView.qml

@ -3,28 +3,42 @@ import QtQuick.Controls 2.3
import QtQuick.Layouts 1.3
import de.skycoder42.QtMvvm.Core 1.0
import de.skycoder42.QtMvvm.Quick 1.0
import de.skycoder42.quickextras 2.0
import de.skycoder42.QtMvvm.Sample 1.0
Page {
id: tabView
property TabViewModel viewModel: null
header: ActionBar {
id: bar
showMenuButton: true
//showMenuAsBack: true
title: qsTr("Sample")
header: ContrastToolBar {
height: 56 + tabBar.height
onMenuButtonClicked: QuickPresenter.toggleDrawer()
GridLayout {
anchors.fill: parent
rowSpacing: 0
columnSpacing: 0
columns: 2
tabBar: TabBar {
id: tabBar
currentIndex: 0
ToolButton {
text: "≣"
onClicked: QuickPresenter.toggleDrawer()
}
ToolBarLabel {
text: qsTr("Sample Tabs")
Layout.fillWidth: true
Layout.preferredHeight: 56
}
TabBar {
id: tabBar
Layout.columnSpan: 2
Layout.fillWidth: true
onCurrentIndexChanged: swipe.setCurrentIndex(currentIndex)
TabButton {
text: "+"
onClicked: viewModel.addTab();
TabButton {
text: "+"
onClicked: viewModel.addTab();
}
}
}
}
@ -34,7 +48,7 @@ Page {
SwipeView {
id: swipe
anchors.fill: parent
currentIndex: bar.tabBarItem.currentIndex
onCurrentIndexChanged: tabBar.setCurrentIndex(currentIndex)
}
Component {
@ -43,13 +57,11 @@ Page {
property TabItemViewModel viewModel: null
text: viewModel.title
onClicked: swipe.setCurrentIndex(bar.tabBarItem.currentIndex)
}
}
function presentTab(item) {
console.log("here");
var tabBar = bar.tabBarItem;
tabBar.insertItem(tabBar.count - 1, _newTab.createObject(tabBar, {viewModel: item.viewModel}));
item.parent = swipe;
swipe.addItem(item);
@ -58,7 +70,6 @@ Page {
}
function afterPop() {
var tabBar = bar.tabBarItem;
while(tabBar.count > 0)
tabBar.takeItem(0).destroy();
while(swipe.count > 0)

20
examples/mvvmquick/SampleQuick/qpmx.json

@ -1,20 +0,0 @@
{
"dependencies": [
{
"package": "de.skycoder42.quickextras",
"provider": "qpm",
"version": "2.1.0"
}
],
"license": {
"file": "",
"name": ""
},
"prcFile": "",
"priFile": "",
"priIncludes": [
],
"publishers": {
},
"source": false
}

9
src/imports/mvvmdatasyncquick/ChangeRemoteView.qml

@ -29,16 +29,9 @@ Page {
onClicked: QuickPresenter.popView()
}
Label {
ToolBarLabel {
id: _titleLabel
font.pointSize: 14
font.bold: true
elide: Label.ElideRight
horizontalAlignment: Qt.AlignLeft
verticalAlignment: Qt.AlignVCenter
Layout.fillWidth: true
Layout.leftMargin: 16
text: qsTr("Change Remote")
}

9
src/imports/mvvmdatasyncquick/DataSyncView.qml

@ -20,16 +20,9 @@ Page {
anchors.fill: parent
spacing: 0
Label {
ToolBarLabel {
id: _titleLabel
font.pointSize: 14
font.bold: true
elide: Label.ElideRight
horizontalAlignment: Qt.AlignLeft
verticalAlignment: Qt.AlignVCenter
Layout.fillWidth: true
Layout.leftMargin: 16
text: qsTr("Synchronization")
}

19
src/imports/mvvmdatasyncquick/ExportSetupView.qml

@ -6,28 +6,11 @@ import de.skycoder42.QtMvvm.Core 1.0
import de.skycoder42.QtMvvm.Quick 1.0
import de.skycoder42.QtMvvm.DataSync.Core 1.0
Dialog {
AlertDialog {
id: _exportSetupView
property PExportSetupViewModel viewModel: null
property real extraHeight: 0
property real baseWidth: 300
x: parent ? (parent.width - width) / 2 : 0
y: parent ? deltaY() : 0
width: parent ? Math.min(Math.max(implicitWidth, baseWidth), parent.width - 24) : implicitWidth
height: parent ? Math.min(implicitHeight, parent.height - 24) : implicitWidth
modal: true
focus: true
function deltaY() { //TODO move to common js file?
var unscaled = Qt.inputMethod.keyboardRectangle.height / Screen.devicePixelRatio;
var availHeight = (parent.height + extraHeight) - unscaled - 24; //margins
var rawDelta = (Math.max(0, availHeight - height) / 2);
return rawDelta + 12 - extraHeight; //spacing
}
title: viewModel.label
ColumnLayout {

19
src/imports/mvvmdatasyncquick/IdentityEditView.qml

@ -6,28 +6,11 @@ import de.skycoder42.QtMvvm.Core 1.0
import de.skycoder42.QtMvvm.Quick 1.0
import de.skycoder42.QtMvvm.DataSync.Core 1.0
Dialog {
AlertDialog {
id: _identityEditView
property PIdentityEditViewModel viewModel: null
property real extraHeight: 0
property real baseWidth: 300
x: parent ? (parent.width - width) / 2 : 0
y: parent ? deltaY() : 0
width: parent ? Math.min(Math.max(implicitWidth, baseWidth), parent.width - 24) : implicitWidth
height: parent ? Math.min(implicitHeight, parent.height - 24) : implicitWidth
modal: true
focus: true
function deltaY() {
var unscaled = Qt.inputMethod.keyboardRectangle.height / Screen.devicePixelRatio;
var availHeight = (parent.height + extraHeight) - unscaled - 24; //margins
var rawDelta = (Math.max(0, availHeight - height) / 2);
return rawDelta + 12 - extraHeight; //spacing
}
title: qsTr("Edit Identity")
ColumnLayout {

24
src/imports/mvvmquick/AlertDialog.qml

@ -0,0 +1,24 @@
import QtQuick 2.10
import QtQuick.Controls 2.3
import QtQuick.Window 2.2
Dialog {
id: _alertDialog
property real extraHeight: 0
property real baseWidth: 300
x: parent ? (parent.width - width) / 2 : 0
y: parent ? deltaY() : 0
width: parent ? Math.min(Math.max(implicitWidth, baseWidth), parent.width - 24) : implicitWidth
height: parent ? Math.min(implicitHeight, parent.height - 24) : implicitWidth
modal: true
focus: true
function deltaY() {
var unscaled = Qt.inputMethod.keyboardRectangle.height / Screen.devicePixelRatio;
var availHeight = (parent.height + extraHeight) - unscaled - 24; //margins
var rawDelta = (Math.max(0, availHeight - height) / 2);
return rawDelta + 12 - extraHeight; //spacing
}
}

19
src/imports/mvvmquick/MsgBoxBase.qml

@ -4,32 +4,15 @@ import QtQuick.Window 2.2
import QtQuick.Layouts 1.3
import de.skycoder42.QtMvvm.Core 1.0
Dialog {
AlertDialog {
id: _msgBoxBase
property var msgConfig
property MessageResult msgResult
property real extraHeight: 0
property real baseWidth: 300
property alias iconVisible: _icon.visible
property alias iconSource: _icon.source
x: parent ? (parent.width - width) / 2 : 0
y: parent ? deltaY() : 0
width: parent ? Math.min(Math.max(implicitWidth, baseWidth), parent.width - 24) : implicitWidth
height: parent ? Math.min(implicitHeight, parent.height - 24) : implicitWidth
modal: true
focus: true
function deltaY() {
var unscaled = Qt.inputMethod.keyboardRectangle.height / Screen.devicePixelRatio;
var availHeight = (parent.height + extraHeight) - unscaled - 24; //margins
var rawDelta = (Math.max(0, availHeight - height) / 2);
return rawDelta + 12 - extraHeight; //spacing
}
header: Pane {
id: _headerPane
background: Item {}

9
src/imports/mvvmquick/SettingsView.qml

@ -29,15 +29,10 @@ Page {
Layout.fillHeight: true
Layout.leftMargin: 16
Label {
ToolBarLabel {
id: _titleLabel
font.pointSize: 14
font.bold: true
elide: Label.ElideRight
horizontalAlignment: Qt.AlignLeft
verticalAlignment: Qt.AlignVCenter
anchors.fill: parent
leftPadding: 0
text: qsTr("Settings")
visible: !_searchField.visible
}

12
src/imports/mvvmquick/ToolBarLabel.qml

@ -0,0 +1,12 @@
import QtQuick 2.10
import QtQuick.Controls 2.3
Label {
id: _toolLabel
font.pointSize: 14
font.bold: true
elide: Label.ElideRight
horizontalAlignment: Qt.AlignLeft
verticalAlignment: Qt.AlignVCenter
leftPadding: 16
}

2
src/imports/mvvmquick/mvvmquick.pro

@ -31,7 +31,9 @@ QML_FILES += \
PopupPresenter.qml \
DialogPresenter.qml \
TintIcon.qml \
AlertDialog.qml \
ContrastToolBar.qml \
ToolBarLabel.qml \
ActionButton.qml \
RoundActionButton.qml \
MsgBoxBase.qml \

2
src/imports/mvvmquick/qmldir

@ -16,7 +16,9 @@ internal ListSection ListSection.qml
internal SectionListView SectionListView.qml
internal OverviewListView OverviewListView.qml
AlertDialog 1.0 AlertDialog.qml
ContrastToolBar 1.0 ContrastToolBar.qml
ToolBarLabel 1.0 ToolBarLabel.qml
ActionButton 1.0 ActionButton.qml
RoundActionButton 1.0 RoundActionButton.qml

6
src/mvvmdatasynccore/datasyncviewmodel.cpp

@ -156,7 +156,7 @@ void DataSyncViewModel::startImport()
config.setTitle(tr("Import account data"))
.setText(tr("Enter the password to decrypt the account data. "
"Then choose whether you want to keep you local data or not:"))
.setButtons(MessageConfig::YesToAll | MessageConfig::Yes | MessageConfig::Cancel) //TODO adjust to get ideal placement
.setButtons(MessageConfig::YesToAll | MessageConfig::Yes | MessageConfig::Cancel)
.setButtonText(MessageConfig::YesToAll, tr("Reset data"))
.setButtonText(MessageConfig::Yes, tr("Keep data"))
.setViewProperties({
@ -179,7 +179,7 @@ void DataSyncViewModel::startImport()
MessageConfig config{MessageConfig::TypeMessageBox, MessageConfig::SubTypeQuestion};
config.setTitle(tr("Import account data"))
.setText(tr("Keep the local data after changing the account?"))
.setButtons(MessageConfig::YesToAll | MessageConfig::Yes | MessageConfig::Cancel) //TODO adjust to get ideal placement
.setButtons(MessageConfig::YesToAll | MessageConfig::Yes | MessageConfig::Cancel)
.setButtonText(MessageConfig::YesToAll, tr("Reset data"))
.setButtonText(MessageConfig::Yes, tr("Keep data"));
auto res = CoreApp::showDialog(config);
@ -210,7 +210,7 @@ void DataSyncViewModel::performReset()
"You will loose the connection to all other devices and get a new identity. "
"You can either keep your data or reset it as well. "
"This cannot be undone!"))
.setButtons(MessageConfig::YesToAll | MessageConfig::Yes | MessageConfig::Cancel) //TODO adjust to get ideal placement
.setButtons(MessageConfig::YesToAll | MessageConfig::Yes | MessageConfig::Cancel)
.setButtonText(MessageConfig::YesToAll, tr("Reset data"))
.setButtonText(MessageConfig::Yes, tr("Keep data"));
auto res = CoreApp::showDialog(config);

4
src/mvvmdatasynccore/networkexchangeviewmodel.cpp

@ -173,7 +173,7 @@ void NetworkExchangeViewModel::newUserData(const UserInfo &userInfo, bool truste
"Then choose whether you want to keep you local data or not:")
.arg(userInfo.name())
.arg(ExchangeDevicesModel::fullAddress(userInfo)))
.setButtons(MessageConfig::YesToAll | MessageConfig::Yes | MessageConfig::Cancel) //TODO adjust to get ideal placement
.setButtons(MessageConfig::YesToAll | MessageConfig::Yes | MessageConfig::Cancel)
.setButtonText(MessageConfig::YesToAll, tr("Reset data"))
.setButtonText(MessageConfig::Yes, tr("Keep data"))
.setViewProperties({
@ -199,7 +199,7 @@ void NetworkExchangeViewModel::newUserData(const UserInfo &userInfo, bool truste
"Keep the local data after changing the account?")
.arg(userInfo.name())
.arg(ExchangeDevicesModel::fullAddress(userInfo)))
.setButtons(MessageConfig::YesToAll | MessageConfig::Yes | MessageConfig::Cancel) //TODO adjust to get ideal placement
.setButtons(MessageConfig::YesToAll | MessageConfig::Yes | MessageConfig::Cancel)
.setButtonText(MessageConfig::YesToAll, tr("Reset data"))
.setButtonText(MessageConfig::Yes, tr("Keep data"));
auto res = CoreApp::showDialog(config);

Loading…
Cancel
Save