/*------------------------------------------------------------------------------ -- This file is a part of the QLop Software -- Copyright (C) 2015, Plasma Physics Laboratory - CNRS -- -- This program is free software; you can redistribute it and/or modify -- it under the terms of the GNU General Public License as published by -- the Free Software Foundation; either version 2 of the License, or -- (at your option) any later version. -- -- This program is distributed in the hope that it will be useful, -- but WITHOUT ANY WARRANTY; without even the implied warranty of -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -- GNU General Public License for more details. -- -- You should have received a copy of the GNU General Public License -- along with this program; if not, write to the Free Software -- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -------------------------------------------------------------------------------*/ /*-- Author : Alexis Jeandet -- Mail : alexis.jeandet@member.fsf.org ----------------------------------------------------------------------------*/ #include "cassiniindexfileviewer.h" #include "ui_cassiniindexfileviewer.h" #include CassiniIndexFileViewer::CassiniIndexFileViewer(QWidget *parent) : QWidget(parent), ui(new Ui::CassiniIndexFileViewer) { ui->setupUi(this); this->indexFile = new CassiniIndexFile(); connect(this->ui->loadFileQpb,SIGNAL(clicked()),this,SLOT(loadFile())); connect(this->ui->FilteerInput,SIGNAL(textChanged(QString)),this,SLOT(filterCol(QString))); } CassiniIndexFileViewer::~CassiniIndexFileViewer() { delete this->indexFile; delete ui; } void CassiniIndexFileViewer::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 CassiniIndexFileViewer::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 CassiniIndexFileViewer::changeEvent(QEvent *e) { QWidget::changeEvent(e); switch (e->type()) { case QEvent::LanguageChange: ui->retranslateUi(this); break; default: break; } }