code_app/app/scanner2/dialog_imageinfo.cpp

79 lines
2.5 KiB
C++
Raw Permalink Normal View History

2022-05-03 10:25:52 +00:00
#include "dialog_imageinfo.h"
#include "ui_dialog_imageinfo.h"
Dialog_ImageInfo::Dialog_ImageInfo(const QStringList& file_keys, const QStringList& file_values,
const QStringList& image_keys, const QStringList& image_values, QWidget *parent) :
QDialog(parent)
, ui(new Ui::Dialog_ImageInfo)
, m_file_keys(file_keys)
, m_file_values(file_values)
, m_image_keys(image_keys)
, m_image_values(image_values)
{
ui->setupUi(this);
this->resize(600,400);
2023-03-08 09:25:40 +00:00
setWindowFlags(Qt::Dialog | Qt::WindowCloseButtonHint);
2022-05-03 10:25:52 +00:00
ui->treeWidget->header()->resizeSections(QHeaderView::ResizeToContents);
ui->treeWidget->setColumnCount(2);
ui->treeWidget->setColumnWidth(0,180);
ui->treeWidget->setAlternatingRowColors(true);
ui->buttonBox->button(QDialogButtonBox::Ok)->setText(tr("ok"));
//set primery directory
QStringList list;
list<<tr("File");
QTreeWidgetItem *class1 = new QTreeWidgetItem(ui->treeWidget,list);
ui->treeWidget->addTopLevelItem(class1);
list.clear();
list<<tr("Image");
QTreeWidgetItem *class2 = new QTreeWidgetItem(ui->treeWidget,list);
ui->treeWidget->addTopLevelItem(class2);
QList<QTreeWidgetItem*> list_class;
//set class1 secondary directory
m_file_values = makeList(m_file_keys, m_file_values);
for(int i=0;i< m_file_keys.size();i++)
{
QStringList list_string;
list_string<< m_file_keys[i]<< m_file_values[i];
QTreeWidgetItem *class1_child = new QTreeWidgetItem(class1, list_string);
list_class.append(class1_child);
}
class1->addChildren(list_class);
//set class2 secondary directory
list_class.clear();
m_image_values = makeList(m_image_keys, m_image_values);
for(int i=0;i< m_image_keys.size();i++)
{
QStringList list_string;
list_string<< m_image_keys[i]<< m_image_values[i];
QTreeWidgetItem *class2_child = new QTreeWidgetItem(class2, list_string);
list_class.append(class2_child);
}
class2->addChildren(list_class);
ui->treeWidget->expandAll();
}
Dialog_ImageInfo::~Dialog_ImageInfo()
{
delete ui;
}
QStringList Dialog_ImageInfo::makeList(const QStringList& keys, QStringList values)
{
if (keys.size() < values.size())
return values.mid(0, keys.size());
else if (keys.size() > values.size())
{
for (int i = 0; i < keys.size() - values.size(); i++)
values.append(tr("None"));
}
return values;
}