summaryrefslogtreecommitdiffstats
path: root/filepropertiesdialog.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'filepropertiesdialog.cpp')
-rw-r--r--filepropertiesdialog.cpp35
1 files changed, 34 insertions, 1 deletions
diff --git a/filepropertiesdialog.cpp b/filepropertiesdialog.cpp
index f130b0b..468da04 100644
--- a/filepropertiesdialog.cpp
+++ b/filepropertiesdialog.cpp
@@ -15,6 +15,8 @@
#include <QTabWidget>
#include <QStackedWidget>
#include <QImage>
+#include <QSqlDatabase>
+#include <QSqlQuery>
#include "filepropertiesdialog.h"
#include "smtreemodel.h"
@@ -49,6 +51,7 @@ FilePropertiesDialog::FilePropertiesDialog(const QString &file, QWidget *parent,
mTab->addTab(streamWidget, tr("Streams"));
mStack->addWidget(mTab);
+ QTabWidget *mPicsTab = new QTabWidget;
QWidget *picWidget = new QWidget;
mPicView = new SmTreeView;
mPicModel = new SmTreeModel(QStringList() << tr("Key") << tr("Value"), this);
@@ -56,7 +59,16 @@ FilePropertiesDialog::FilePropertiesDialog(const QString &file, QWidget *parent,
QHBoxLayout *picLayout = new QHBoxLayout;
picLayout->addWidget(mPicView);
picWidget->setLayout(picLayout);
- mStack->addWidget(picWidget);
+ mPicsTab->addTab(picWidget, tr("Picture data"));
+
+ QWidget *archivedTab = new QWidget;
+ mArchivedAs = new QLabel;
+ QHBoxLayout *archivedL = new QHBoxLayout;
+ archivedL->addWidget(mArchivedAs);
+ archivedTab->setLayout(archivedL);
+ mPicsTab->addTab(archivedTab, tr("Archive"));
+
+ mStack->addWidget(mPicsTab);
mainLayout->addWidget(mStack);
mOk = new QPushButton(tr("Ok"));
@@ -133,6 +145,27 @@ void FilePropertiesDialog::pictureData(){
appendItem(QList<QVariant>() << tr("qt format") << img.format(), rootItem);
appendItem(QList<QVariant>() << tr("byte count") << img.byteCount(), rootItem);
mPicModel->setRoot(rootItem);
+ QString md5sum = Helper::md5Sum(mFile);
+ QSqlDatabase db = QSqlDatabase::database("treedb");
+ db.open();
+ QSqlQuery p(db);
+ p.prepare("SELECT tdescription_name FROM pics, pics_mappings, mapping_parents, mapping_description WHERE pics.cmd5sum = :md5 AND pics.ipicsid = pics_mappings.ipics_id AND pics_mappings.imappings_parents_id = mapping_parents.imapping_parents_id AND mapping_parents.idescription_id = mapping_description.idescription_id ORDER BY tdescription_name");
+ p.bindValue(":md5", md5sum);
+ p.exec();
+ QStringList archived;
+ while(p.next()){
+ archived << p.value(0).toString();
+ }
+ if(archived.empty()){
+ mArchivedAs->setText(tr("<center>File not found in Archive</center>"));
+ }else{
+ QString text = QString(tr("<p>Archived as:</p><ul>"));
+ foreach(QString a, archived){
+ text.append(QString(tr("<li>%1</li>")).arg(a));
+ }
+ text.append("</ul>");
+ mArchivedAs->setText(text);
+ }
}
void FilePropertiesDialog::appendItem(const QList<QVariant> &data, SmTreeItem *parent){