Mercurial > retraceit
view src/metadataview.h @ 96:a9e72af2e6fa 1.2
(Auto) Update translations
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Mon, 29 Jun 2015 15:40:19 +0200 |
parents | b8c7644a9d49 |
children |
line wrap: on
line source
#ifndef METADATAVIEW_H #define METADATAVIEW_H /* Copyright (C) 2015 by ETH Zürich * Software engineering by Intevation GmbH * * This file is Free Software under the GNU GPL (v>=2) * and comes with ABSOLUTELY NO WARRANTY! * See LICENSE.txt for details. */ /** * @file metadataview.h * @brief Table view of the meta data information */ #include <QWidget> #include <QItemSelection> #include <QDateTime> class QTableView; class QSortFilterProxyModel; class QxtCsvModel; class IncludeEmptySortModel; class FilterWidget; /** * @class MetaDataView * @brief Table view of the meta data data information. */ class MetaDataView: public QWidget { Q_OBJECT public: MetaDataView(QWidget * parent = 0, Qt::WindowFlags f = 0); protected: void setupGUI(); public: /** * @brief parse a metadata file and set up the model accordingly. * * @returns a localized error message in case of parsing errors. Or * an empty string on success. */ QString parseMetaData(const QString& fileName); Q_SIGNALS: /** @brief emited when the selection changed. */ void selectionChanged(const QString& pictureFile, int current, int max, const QString& timestamp, int number); protected slots: /** @brief internal slot to handle table view selection changes */ void viewSelectionChanged(const QItemSelection& selected, const QItemSelection& deselected); /** @brief the data has been changed. Could be filter. */ void dataChanged(); /** @brief load the configured header tooltips */ void setupHeaderTooltips(); /** @brief hides the columns that are set in the config hide section */ void hideCols(); public slots: /** @brief selects the next row and emits a selection changed signal */ void selectNextRow(); /** @brief selects the previous row and emits a selection changed signal */ void selectPrevRow(); /** @brief select a specific row. */ void selectRow(int row); /** @brief select the first row. */ void selectFirstRow(); /** @brief applies the default sort order from configuration */ void applyDefaultSort(); /** @brief resizes the columns to headers content */ void resizeColsToHeaders(); private: QxtCsvModel *mCSVModel; IncludeEmptySortModel *mSortModel; QTableView *mView; int mDateColIdx; FilterWidget *mFilterWidget; }; #endif // METADATAVIEW_H