From 2e85375d166dff6db88e90015ed92a8a948ae707 Mon Sep 17 00:00:00 2001 From: Herwig Birke Date: Thu, 14 Feb 2019 16:34:21 +0100 Subject: [PATCH] initial commit --- cimportdialog.cpp | 47 +++++++++++++++-------------------- cimportdialog.h | 15 +++++------ cimportdialog.ui | 63 ++++++++++++++++++++++++++++++++++++----------- cmainwindow.cpp | 7 +++--- ctoolboxinfo.cpp | 3 +-- 5 files changed, 80 insertions(+), 55 deletions(-) diff --git a/cimportdialog.cpp b/cimportdialog.cpp index cdb914e..9d0c0d2 100644 --- a/cimportdialog.cpp +++ b/cimportdialog.cpp @@ -21,7 +21,8 @@ cImportDialog::cImportDialog(QWidget *parent) : QDialog(parent), - ui(new Ui::cImportDialog) + ui(new Ui::cImportDialog), + m_bHasImported(false) { initUI(); createActions(); @@ -42,18 +43,15 @@ void cImportDialog::initUI() QSettings settings; - if(settings.value("main/maximized").toBool()) - { - qint32 iX = settings.value("import/x", QVariant::fromValue(-1)).toInt(); - qint32 iY = settings.value("import/y", QVariant::fromValue(-1)).toInt(); - qint32 iWidth = settings.value("import/width", QVariant::fromValue(-1)).toInt(); - qint32 iHeight = settings.value("import/height", QVariant::fromValue(-1)).toInt(); + qint32 iX = settings.value("import/x", QVariant::fromValue(-1)).toInt(); + qint32 iY = settings.value("import/y", QVariant::fromValue(-1)).toInt(); + qint32 iWidth = settings.value("import/width", QVariant::fromValue(-1)).toInt(); + qint32 iHeight = settings.value("import/height", QVariant::fromValue(-1)).toInt(); - if(iWidth != -1 && iHeight != -1) - resize(iWidth, iHeight); - if(iX != -1 && iY != -1) - move(iX, iY); - } + if(iWidth != -1 && iHeight != -1) + resize(iWidth, iHeight); + if(iX != -1 && iY != -1) + move(iX, iY); qint32 iWidth1 = settings.value("import/splitter1", QVariant::fromValue(-1)).toInt(); qint32 iWidth2 = settings.value("import/splitter2", QVariant::fromValue(-1)).toInt(); @@ -63,6 +61,11 @@ void cImportDialog::initUI() ui->m_lpPath->setText(settings.value("import/path", QDir::homePath()).toString()); } +bool cImportDialog::hasImported() +{ + return(m_bHasImported); +} + void cImportDialog::createActions() { connect(ui->m_lpPathSelect, &QPushButton::clicked, this, &cImportDialog::onPathSelect); @@ -71,21 +74,6 @@ void cImportDialog::createActions() connect(ui->m_lpImportList->selectionModel(), &QItemSelectionModel::selectionChanged, this, &cImportDialog::onThumbnailSelected); } -void cImportDialog::closeEvent(QCloseEvent *event) -{ - QSettings settings; - settings.setValue("import/width", QVariant::fromValue(size().width())); - settings.setValue("import/height", QVariant::fromValue(size().height())); - settings.setValue("import/x", QVariant::fromValue(x())); - settings.setValue("import/y", QVariant::fromValue(y())); - if(this->isMaximized()) - settings.setValue("import/maximized", QVariant::fromValue(true)); - else - settings.setValue("import/maximized", QVariant::fromValue(false)); - - event->accept(); -} - void cImportDialog::onPathSelect() { QSettings settings; @@ -103,6 +91,8 @@ void cImportDialog::onThumbnailSelected(const QItemSelection& /*selection*/, con { cToolBoxInfo* lpToolBoxInfo = ui->m_lpInfo; + ui->m_lpCount->setText(QString("count: %1, selected: %2").arg(m_lpImportListModel->rowCount()).arg(ui->m_lpImportList->selectionModel()->selectedRows().count())); + if(ui->m_lpImportList->selectionModel()->selectedIndexes().count() != 1) { lpToolBoxInfo->setPicture(nullptr); @@ -156,6 +146,7 @@ void cImportDialog::onRead() void cImportDialog::onImport() { + m_bHasImported = true; } void cImportDialog::readDirectory(const QString& szPath, bool bRecursive) @@ -207,6 +198,8 @@ void cImportDialog::readDirectory(const QString& szPath, bool bRecursive) lpItem->setData(QVariant::fromValue(lpPicture)); m_lpImportListModel->appendRow(lpItem); qApp->processEvents(); + + ui->m_lpCount->setText(QString("count: %1, selected: %2").arg(m_lpImportListModel->rowCount()).arg(ui->m_lpImportList->selectionModel()->selectedRows().count())); } } } diff --git a/cimportdialog.h b/cimportdialog.h index e164895..8b42a1c 100644 --- a/cimportdialog.h +++ b/cimportdialog.h @@ -33,6 +33,13 @@ public: */ ~cImportDialog(); + /** + * @brief + * + * @return bool + */ + bool hasImported(); + private slots: /*! \brief @@ -63,6 +70,7 @@ private slots: private: Ui::cImportDialog* ui; /**< TODO: describe */ QStandardItemModel* m_lpImportListModel; /**< TODO: describe */ + bool m_bHasImported; /**< TODO: describe */ void initUI(); void createActions(); @@ -92,13 +100,6 @@ private: */ void savePosition(); protected: - /*! - \brief - - \fn closeEvent - \param event - */ - void closeEvent(QCloseEvent* event); }; #endif // CIMPORTDIALOG_H diff --git a/cimportdialog.ui b/cimportdialog.ui index 62f74ad..14589a2 100644 --- a/cimportdialog.ui +++ b/cimportdialog.ui @@ -15,7 +15,7 @@ - + @@ -74,18 +74,40 @@ - - - read - - - - - - - import - - + + + + + + 100 + 0 + + + + read + + + + + + + + 100 + 0 + + + + + 0 + 0 + + + + import + + + + @@ -143,7 +165,7 @@ 0 0 69 - 167 + 134 @@ -155,6 +177,17 @@ + + + + + + TextLabel + + + + + @@ -179,7 +212,7 @@ Qt::Horizontal - QDialogButtonBox::Cancel|QDialogButtonBox::Ok + QDialogButtonBox::Close diff --git a/cmainwindow.cpp b/cmainwindow.cpp index 1524d1d..bd8b44e 100644 --- a/cmainwindow.cpp +++ b/cmainwindow.cpp @@ -396,8 +396,7 @@ void cMainWindow::onFileImport() { cImportDialog importDialog(this); - if(importDialog.exec() == QDialog::Rejected) - return; - - loadData(); + importDialog.exec(); + if(importDialog.hasImported()) + loadData(); } diff --git a/ctoolboxinfo.cpp b/ctoolboxinfo.cpp index 06c7028..c9e42fc 100644 --- a/ctoolboxinfo.cpp +++ b/ctoolboxinfo.cpp @@ -28,6 +28,5 @@ void cToolBoxInfo::setPicture(cPicture* lpPicture) ui->m_lpFileName->setText(lpPicture->fileName()); ui->m_lpDate->setText(lpPicture->dateTime().toString()); ui->m_lpSize->setText(QString("%1x%2").arg(lpPicture->imageWidth()).arg(lpPicture->imageHeight())); -// ui->m_lpCamera->setText(QString("%1 %2").arg(lpPicture->cameraMake()).arg(lpPicture->cameraModel())); - ui->m_lpCamera->setText(QString("%1").arg(lpPicture->imageOrientation())); + ui->m_lpCamera->setText(QString("%1 %2").arg(lpPicture->cameraMake()).arg(lpPicture->cameraModel())); }