Mercurial > retraceit
view src/folderselectdialog.h @ 83:11aaa9214cfb
Add back to folder selection button
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Thu, 18 Jun 2015 18:55:00 +0200 |
parents | 098a10fc2e83 |
children | 90c297a2a3dd |
line wrap: on
line source
#ifndef FOLDERSELECTDIALOG_H #define FOLDERSELECTDIALOG_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. */ #include <QWidget> #include <QDialog> #include <QItemSelection> #include "filterwidget.h" class QTableView; class QSortFilterProxyModel; class FilterWidget; class QStandardItemModel; class QLabel; class QPushButton; class QLineEdit; /** * @class FolderSelectDialog * @brief Dialog for Folder configurable folder selection. */ class FolderSelectDialog : public QDialog { Q_OBJECT public: /** @brief initialize a folder select dialog with a start folder and * for a specific folder name pattern. * * If the parameter pathLabel is not empty it includes a path selection * area. * */ FolderSelectDialog(const QString& startFolder, const QString& folderPattern, const QString& pathLabel = QString(), QWidget * parent = 0, Qt::WindowFlags f = 0); void setFolder(const QString& folder); protected: void setupGUI(); protected slots: /** @brief The user wants to accept the selection */ void wantToAccept(); /** @brief Open the folder selection dialog for the output folder */ void changeFolderClicked(); /** @brief try to load the folder line into the model */ void goClicked(); /** @brief enable or disable the go button depending on the path. */ void pathLineChanged(); /** @brief enable or disable the ok button depending on the selection. */ void selectionChanged (const QItemSelection& selected, const QItemSelection& deselected); Q_SIGNALS: /** @brief emited before the dialog is closed when a folder is selected */ void folderSelected(const QString& folder); private: QTableView *mView; FilterWidget *mFilterWidget; QSortFilterProxyModel *mSortModel; QString mCurFolder, mFolderPattern; QString mPathLabelString; QStandardItemModel *mModel; QLabel *mPathLabel; QLineEdit *mPathLineEdit; QPushButton *mGoButton, *mOkButton; bool mShowPathSelection; }; #endif // FOLDERSELECTDIALOG_H