From f19cf511d1cdcdeacaf3437b1d620be5fa29aa63 Mon Sep 17 00:00:00 2001 From: johanneshilden Date: Sat, 30 Sep 2017 02:40:00 +0300 Subject: [PATCH] Add Dialog --- components/qtmaterialdialog.cpp | 14 +++--- components/qtmaterialdialog.h | 2 +- components/qtmaterialdialog_internal.cpp | 6 +-- components/qtmaterialdialog_internal.h | 2 +- examples/dialogsettingseditor.cpp | 63 ++++++++++++++++++++++++ examples/dialogsettingseditor.h | 26 ++++++++++ examples/dialogsettingsform.ui | 45 +++++++++++++++++ examples/examples.pro | 9 ++-- examples/mainwindow.cpp | 4 ++ 9 files changed, 156 insertions(+), 15 deletions(-) create mode 100644 examples/dialogsettingseditor.cpp create mode 100644 examples/dialogsettingseditor.h create mode 100644 examples/dialogsettingsform.ui diff --git a/components/qtmaterialdialog.cpp b/components/qtmaterialdialog.cpp index f572402..585b98b 100644 --- a/components/qtmaterialdialog.cpp +++ b/components/qtmaterialdialog.cpp @@ -1,14 +1,14 @@ -#include "xx/qtmaterialdialog.h" -#include "xx/qtmaterialdialog_p.h" -#include -#include +#include "qtmaterialdialog.h" +#include "qtmaterialdialog_p.h" +#include +#include #include #include -#include +#include #include #include -#include "xx/qtmaterialdialog_internal.h" -#include "xxlib/qtmaterialstatetransition.h" +#include "qtmaterialdialog_internal.h" +#include "lib/qtmaterialstatetransition.h" /*! * \class QtMaterialDialogPrivate diff --git a/components/qtmaterialdialog.h b/components/qtmaterialdialog.h index 3cf8f2a..2a4cfd9 100644 --- a/components/qtmaterialdialog.h +++ b/components/qtmaterialdialog.h @@ -2,7 +2,7 @@ #define QTMATERIALDIALOG_H #include -#include "xxlib/qtmaterialoverlaywidget.h" +#include "lib/qtmaterialoverlaywidget.h" class QLayout; class QtMaterialDialogPrivate; diff --git a/components/qtmaterialdialog_internal.cpp b/components/qtmaterialdialog_internal.cpp index ba1e40d..6cac9b8 100644 --- a/components/qtmaterialdialog_internal.cpp +++ b/components/qtmaterialdialog_internal.cpp @@ -1,9 +1,9 @@ -#include "xx/qtmaterialdialog_internal.h" +#include "qtmaterialdialog_internal.h" #include #include #include -#include -#include "xx/qtmaterialdialog.h" +#include +#include "qtmaterialdialog.h" /*! * \class QtMaterialDialogProxy diff --git a/components/qtmaterialdialog_internal.h b/components/qtmaterialdialog_internal.h index 903c026..52f5a05 100644 --- a/components/qtmaterialdialog_internal.h +++ b/components/qtmaterialdialog_internal.h @@ -1,7 +1,7 @@ #ifndef QTMATERIALDIALOG_INTERNAL_H #define QTMATERIALDIALOG_INTERNAL_H -#include +#include class QStackedLayout; class QtMaterialDialog; diff --git a/examples/dialogsettingseditor.cpp b/examples/dialogsettingseditor.cpp new file mode 100644 index 0000000..61f54d0 --- /dev/null +++ b/examples/dialogsettingseditor.cpp @@ -0,0 +1,63 @@ +#include "dialogsettingseditor.h" +#include +#include +#include "qtmaterialdialog.h" + +DialogSettingsEditor::DialogSettingsEditor(QWidget *parent) + : QWidget(parent), + ui(new Ui::DialogSettingsForm), + m_dialog(new QtMaterialDialog) +{ + QVBoxLayout *layout = new QVBoxLayout; + setLayout(layout); + + QWidget *widget = new QWidget; + layout->addWidget(widget); + + QWidget *canvas = new QWidget; + canvas->setStyleSheet("QWidget { background: white; }"); + layout->addWidget(canvas); + + ui->setupUi(widget); + layout->setContentsMargins(20, 20, 20, 20); + + layout = new QVBoxLayout; + canvas->setLayout(layout); + canvas->setMaximumHeight(300); + layout->addWidget(m_dialog); + layout->setAlignment(m_dialog, Qt::AlignHCenter); + + m_dialog->setParent(this); + + QWidget *dialogWidget = new QWidget; + QVBoxLayout *dialogWidgetLayout = new QVBoxLayout; + dialogWidget->setLayout(dialogWidgetLayout); + + QPushButton *closeButton = new QPushButton("Close"); + dialogWidgetLayout->addWidget(closeButton); + + QVBoxLayout *dialogLayout = new QVBoxLayout; + m_dialog->setWindowLayout(dialogLayout); + + dialogWidget->setMinimumHeight(300); + + dialogLayout->addWidget(dialogWidget); + + setupForm(); + + connect(ui->showDialogButton, SIGNAL(pressed()), m_dialog, SLOT(showDialog())); + connect(closeButton, SIGNAL(pressed()), m_dialog, SLOT(hideDialog())); +} + +DialogSettingsEditor::~DialogSettingsEditor() +{ + delete ui; +} + +void DialogSettingsEditor::setupForm() +{ +} + +void DialogSettingsEditor::updateWidget() +{ +} diff --git a/examples/dialogsettingseditor.h b/examples/dialogsettingseditor.h new file mode 100644 index 0000000..f922046 --- /dev/null +++ b/examples/dialogsettingseditor.h @@ -0,0 +1,26 @@ +#ifndef DIALOGSETTINGSEDITOR_H +#define DIALOGSETTINGSEDITOR_H + +#include +#include "ui_dialogsettingsform.h" + +class QtMaterialDialog; + +class DialogSettingsEditor : public QWidget +{ + Q_OBJECT + +public: + explicit DialogSettingsEditor(QWidget *parent = 0); + ~DialogSettingsEditor(); + +protected slots: + void setupForm(); + void updateWidget(); + +private: + Ui::DialogSettingsForm *const ui; + QtMaterialDialog *const m_dialog; +}; + +#endif // DIALOGSETTINGSEDITOR_H diff --git a/examples/dialogsettingsform.ui b/examples/dialogsettingsform.ui new file mode 100644 index 0000000..a8034cf --- /dev/null +++ b/examples/dialogsettingsform.ui @@ -0,0 +1,45 @@ + + + DialogSettingsForm + + + + 0 + 0 + 474 + 387 + + + + Form + + + + + 10 + 70 + 171 + 16 + + + + TODO + + + + + + 50 + 20 + 101 + 22 + + + + Show dialog + + + + + + diff --git a/examples/examples.pro b/examples/examples.pro index dda4c8d..3527648 100644 --- a/examples/examples.pro +++ b/examples/examples.pro @@ -16,7 +16,8 @@ SOURCES = mainwindow.cpp \ togglesettingseditor.cpp \ textfieldsettingseditor.cpp \ tabssettingseditor.cpp \ - snackbarsettingseditor.cpp + snackbarsettingseditor.cpp \ + dialogsettingseditor.cpp HEADERS = mainwindow.h \ avatarsettingseditor.h \ badgesettingseditor.h \ @@ -32,7 +33,8 @@ HEADERS = mainwindow.h \ togglesettingseditor.h \ textfieldsettingseditor.h \ tabssettingseditor.h \ - snackbarsettingseditor.h + snackbarsettingseditor.h \ + dialogsettingseditor.h LIBS += ../components/libcomponents.a INCLUDEPATH += ../components/ TARGET = ../examples-exe @@ -54,4 +56,5 @@ FORMS += \ radiobuttonsettingsform.ui \ togglesettingsform.ui \ textfieldsettingsform.ui \ - tabssettingsform.ui + tabssettingsform.ui \ + dialogsettingsform.ui diff --git a/examples/mainwindow.cpp b/examples/mainwindow.cpp index 9a800eb..4a0b24f 100644 --- a/examples/mainwindow.cpp +++ b/examples/mainwindow.cpp @@ -17,6 +17,7 @@ #include "textfieldsettingseditor.h" #include "tabssettingseditor.h" #include "snackbarsettingseditor.h" +#include "dialogsettingseditor.h" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) @@ -51,11 +52,13 @@ MainWindow::MainWindow(QWidget *parent) TextFieldSettingsEditor *textField = new TextFieldSettingsEditor; TabsSettingsEditor *tabs = new TabsSettingsEditor; SnackbarSettingsEditor *snackbar = new SnackbarSettingsEditor; + DialogSettingsEditor *dialog = new DialogSettingsEditor; stack->addWidget(avatar); stack->addWidget(badge); stack->addWidget(checkbox); stack->addWidget(circularProgress); + stack->addWidget(dialog); stack->addWidget(fab); stack->addWidget(flatButton); stack->addWidget(iconButton); @@ -72,6 +75,7 @@ MainWindow::MainWindow(QWidget *parent) list->addItem("Badge"); list->addItem("Checkbox"); list->addItem("Circular Progress"); + list->addItem("Dialog"); list->addItem("Floating Action Button"); list->addItem("Flat Button"); list->addItem("Icon Button");