#include "themisindexfileviewer.h" #include "ui_themisindexfileviewer.h" #include ThemisIndexFileViewer::ThemisIndexFileViewer(QWidget *parent) : QWidget(parent), ui(new Ui::ThemisIndexFileViewer) { ui->setupUi(this); this->indexFile = new ThemisIndexFile(); connect(this->ui->loadFileQpb,SIGNAL(clicked()),this,SLOT(loadFile())); connect(this->ui->FilteerInput,SIGNAL(textChanged(QString)),this,SLOT(filterCol(QString))); } ThemisIndexFileViewer::~ThemisIndexFileViewer() { delete this->indexFile; delete ui; } void ThemisIndexFileViewer::filterCol(const QString &pattern) { Qt::MatchFlags flag = Qt::MatchContains | Qt::MatchStartsWith | Qt::MatchEndsWith | Qt::MatchRegExp | Qt::MatchWildcard | Qt::MatchWrap |Qt::MatchRecursive; if(this->ui->FilterCaseSensitive->isChecked()) flag |= Qt::MatchCaseSensitive; if(pattern.isEmpty()) { for(int i=0;iui->IndexView->rowCount();i++) this->ui->IndexView->setRowHidden(i,false); } else { for(int i=0;iui->IndexView->rowCount();i++) this->ui->IndexView->setRowHidden(i,true); QList items = this->ui->IndexView->findItems(pattern,flag); for(int i=0;iui->IndexView->setRowHidden(items.at(i)->row(),false); } } void ThemisIndexFileViewer::loadFile() { QList lines=this->indexFile->loadFile(QFileDialog::getOpenFileName()); this->ui->IndexView->clear(); this->ui->IndexView->setRowCount(lines.count()); this->ui->IndexView->setHorizontalHeaderLabels(QStringList()<<"Dataset ID"<<"File specification name"<<"Product ID"<<"Volume ID"<<"Product Creation Time"<<"Taget name"<<"Start time"<<"Stop time"); for(int i=0;isetFlags(newItem->flags() ^ Qt::ItemIsEditable); this->ui->IndexView->setItem(i, j, newItem); } } } void ThemisIndexFileViewer::changeEvent(QEvent *e) { QWidget::changeEvent(e); switch (e->type()) { case QEvent::LanguageChange: ui->retranslateUi(this); break; default: break; } }