Initial upload
[quick-widgets] / quickwidgetsettings.cpp
diff --git a/quickwidgetsettings.cpp b/quickwidgetsettings.cpp
new file mode 100644 (file)
index 0000000..22f2650
--- /dev/null
@@ -0,0 +1,45 @@
+#include <QFileDialog>
+#include "quickwidgetsettings.hpp"
+#include "quickwidget.hpp"
+#include "ui_quickwidgetsettings.h"
+
+QuickWidgetSettings::QuickWidgetSettings(QWidget *parent) :
+    QDialog(parent),
+    ui(new Ui::QuickWidgetSettings)
+{
+    ui->setupUi(this);
+    connect(ui->fileButton, SIGNAL(clicked()), this, SLOT(getQml()));
+}
+
+QuickWidgetSettings::~QuickWidgetSettings()
+{
+    delete ui;
+}
+
+void QuickWidgetSettings::accept() {
+    QFile f(ui->fileEdit->text());
+    QSize size;
+    if (ui->sizingCheckBox->isChecked()) {
+        bool wok, hok;
+        int width = ui->widthEdit->text().toInt(&wok);
+        int height = ui->heightEdit->text().toInt(&hok);
+        if ( wok && hok && width < 800 && width > 10 && height < 400 && height > 10) {
+            size.setWidth(width);
+            size.setHeight(height);
+        }
+    }
+    if (f.exists())
+    {
+        QuickWidget::createAndShowNew(ui->fileEdit->text(), size);
+    }
+
+    QDialog::accept();
+}
+
+void QuickWidgetSettings::getQml()
+{
+    QString fileName = QFileDialog::getOpenFileName(this, tr("Open File"),
+                                                    QDir::homePath(),
+                                                    tr("QML files (*.qml)"));
+    ui->fileEdit->setText(fileName);
+}