Import dialog and import progress moved to core library.

This commit is contained in:
2017-05-06 23:27:54 +02:00
parent 25c481f5f1
commit 0e803c23cb
17 changed files with 197 additions and 196 deletions
-1
View File
@@ -1 +0,0 @@
<?xml version="1.0" ?><svg clip-rule="evenodd" fill-rule="evenodd" image-rendering="optimizeQuality" shape-rendering="geometricPrecision" text-rendering="geometricPrecision" viewBox="0 0 500 500" xmlns="http://www.w3.org/2000/svg"><defs><linearGradient gradientUnits="userSpaceOnUse" id="a" x1="250" x2="250" y1="284.547" y2="122.267"><stop offset="0" stop-color="#008BFF"/><stop offset="1" stop-color="#0af"/></linearGradient></defs><g><circle cx="250" cy="250" fill="none" r="210" stroke="#434242" stroke-width="30"/><rect fill="#434242" height="29.998" rx="10" ry="10" width="260" x="120" y="350"/><path d="M270 90l60 60c5 5 10 10 10 20s-10 20-20 20h-40v125c0 8-7 15-15 15h-30c-8 0-15-7-15-15v-125h-40c-10 0-20-10-20-20s5-15 10-20l60-60c13-13 27-13 40 0z" fill="url(#a)" stroke="#434242" stroke-width="10"/></g></svg>

Before

Width:  |  Height:  |  Size: 820 B

-46
View File
@@ -1,46 +0,0 @@
#include "importdialog.h"
#include "ui_importdialog.h"
#include <service.h>
#include <csvimporter.h>
#include <QDesktopWidget>
#include <QFileDialog>
#include "data/postdata.h"
#include "postregister-odb.hxx"
#include "importprogressform.h"
ImportDialog::ImportDialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::ImportDialog)
{
ui->setupUi(this);
}
ImportDialog::~ImportDialog()
{
delete ui;
}
void ImportDialog::on_buttonBox_accepted()
{
QString fileName = ui->editFile->text();
Service<PostData> service;
PostData pd;
CsvImporter importer(pd.metaObject());
importer.setImportFile(fileName);
importer.setSeparator(ui->editSparator->text());
ImportProgressForm *progress = new ImportProgressForm();
progress->move(QApplication::desktop()->screen()->rect().center() - progress->rect().center());
progress->setWindowModality(Qt::ApplicationModal);
progress->show();
service.importData(&importer, progress);
}
void ImportDialog::on_btnFile_clicked()
{
QString file = QFileDialog::getOpenFileName(this, tr("Import file"), "", tr("All Files (*.*)"));
ui->editFile->setText(file);
}
-27
View File
@@ -1,27 +0,0 @@
#ifndef IMPORTDIALOG_H
#define IMPORTDIALOG_H
#include <QDialog>
namespace Ui {
class ImportDialog;
}
class ImportDialog : public QDialog
{
Q_OBJECT
public:
explicit ImportDialog(QWidget *parent = 0);
~ImportDialog();
private slots:
void on_buttonBox_accepted();
void on_btnFile_clicked();
private:
Ui::ImportDialog *ui;
};
#endif // IMPORTDIALOG_H
-122
View File
@@ -1,122 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>ImportDialog</class>
<widget class="QDialog" name="ImportDialog">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>518</width>
<height>152</height>
</rect>
</property>
<property name="windowTitle">
<string>Dialog</string>
</property>
<layout class="QFormLayout" name="formLayout">
<property name="horizontalSpacing">
<number>10</number>
</property>
<property name="verticalSpacing">
<number>10</number>
</property>
<item row="1" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>CSV file</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QWidget" name="widget" native="true">
<layout class="QHBoxLayout" name="horizontalLayout">
<property name="spacing">
<number>3</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QLineEdit" name="editFile"/>
</item>
<item>
<widget class="QToolButton" name="btnFile">
<property name="text">
<string>...</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="5" column="0" colspan="2">
<widget class="QDialogButtonBox" name="buttonBox">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="standardButtons">
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
<string>Field separator</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLineEdit" name="editSparator">
<property name="text">
<string>;</string>
</property>
</widget>
</item>
</layout>
</widget>
<resources/>
<connections>
<connection>
<sender>buttonBox</sender>
<signal>accepted()</signal>
<receiver>ImportDialog</receiver>
<slot>accept()</slot>
<hints>
<hint type="sourcelabel">
<x>248</x>
<y>254</y>
</hint>
<hint type="destinationlabel">
<x>157</x>
<y>274</y>
</hint>
</hints>
</connection>
<connection>
<sender>buttonBox</sender>
<signal>rejected()</signal>
<receiver>ImportDialog</receiver>
<slot>reject()</slot>
<hints>
<hint type="sourcelabel">
<x>316</x>
<y>260</y>
</hint>
<hint type="destinationlabel">
<x>286</x>
<y>274</y>
</hint>
</hints>
</connection>
</connections>
</ui>
-34
View File
@@ -1,34 +0,0 @@
#include "importprogressform.h"
#include "ui_importprogressform.h"
ImportProgressForm::ImportProgressForm(QWidget *parent) :
QWidget(parent),
ui(new Ui::ImportProgressForm)
{
ui->setupUi(this);
ui->progressBar->setRange(0, 100);
ui->progressBar->setValue(0);
m_terminate = false;
}
ImportProgressForm::~ImportProgressForm()
{
delete ui;
}
void ImportProgressForm::on_btnCancel_clicked()
{
m_terminate = true;
this->close();
}
void ImportProgressForm::updateProgress(int currentPos)
{
ui->progressBar->setValue(currentPos);
}
bool ImportProgressForm::terminate()
{
return m_terminate;
}
-32
View File
@@ -1,32 +0,0 @@
#ifndef IMPORTPROGRESSFORM_H
#define IMPORTPROGRESSFORM_H
#include <QWidget>
#include <iimportprogress.h>
namespace Ui {
class ImportProgressForm;
}
class ImportProgressForm : public QWidget, public IImportProgress
{
Q_OBJECT
public:
explicit ImportProgressForm(QWidget *parent = 0);
~ImportProgressForm();
private slots:
void on_btnCancel_clicked();
private:
Ui::ImportProgressForm *ui;
bool m_terminate;
// IImportProgress interface
public:
void updateProgress(int currentPos);
bool terminate();
};
#endif // IMPORTPROGRESSFORM_H
-35
View File
@@ -1,35 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>ImportProgressForm</class>
<widget class="QWidget" name="ImportProgressForm">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>369</width>
<height>134</height>
</rect>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QProgressBar" name="progressBar">
<property name="value">
<number>24</number>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btnCancel">
<property name="text">
<string>Cancel</string>
</property>
</widget>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>
+4 -11
View File
@@ -24,16 +24,12 @@ DEFINES += QT_DEPRECATED_WARNINGS
SOURCES += postregister.cpp \
data/postdata.cpp \
postregistergrid.cpp \
importdialog.cpp \
importprogressform.cpp
postregistergrid.cpp
HEADERS += postregister.h\
postregister_global.h \
data/postdata.h \
postregistergrid.h \
importdialog.h \
importprogressform.h
postregistergrid.h
include(../config_plugin.pri)
@@ -44,9 +40,6 @@ include(../odb.pri)
DISTFILES += \
postregister.json
FORMS += \
importdialog.ui \
importprogressform.ui
FORMS +=
RESOURCES += \
postregisterrc.qrc
RESOURCES +=
+1 -19
View File
@@ -3,30 +3,12 @@
#include <QToolButton>
#include "postregister-odb.hxx"
#include "importdialog.h"
PostRegisterGrid::PostRegisterGrid(QWidget *parent)
:GridForm<PostData>(parent)
{
setTableModel(new AutoTableModel<PostData>());
QHBoxLayout *tbLayout = qobject_cast<QHBoxLayout*>(this->toolbar()->layout());
if (tbLayout != NULL)
{
QToolButton *btnImport = new QToolButton(this->toolbar());
btnImport->setIcon(QIcon(":/icons/import.svg"));
btnImport->setAutoRaise(true);
btnImport->setIconSize(QSize(24, 24));
btnImport->setToolTip(tr("Import"));
tbLayout->insertWidget(tbLayout->count() - 1, btnImport);
connect(btnImport, &QToolButton::clicked, [this](){
ImportDialog *dlg = new ImportDialog(this);
dlg->setAttribute(Qt::WA_DeleteOnClose);
dlg->show();
});
}
showImportButton();
}
bool PostRegisterGrid::canAddRecord()
-5
View File
@@ -1,5 +0,0 @@
<RCC>
<qresource prefix="/">
<file>icons/import.svg</file>
</qresource>
</RCC>