17#ifndef QGSOPTIONSDIALOGBASE_H
18#define QGSOPTIONSDIALOGBASE_H
28#include <QSortFilterProxyModel>
29#include <QStyledItemDelegate>
31class QDialogButtonBox;
37class QStyleOptionViewItem;
41class QStandardItemModel;
48class GUI_EXPORT QgsOptionsProxyModel :
public QSortFilterProxyModel
52 QgsOptionsProxyModel( QObject *parent );
54 void setPageHidden(
int page,
bool hidden );
55 QModelIndex pageNumberToSourceIndex(
int page )
const;
56 int sourceIndexToPageNumber(
const QModelIndex &index )
const;
57 bool filterAcceptsRow(
int source_row,
const QModelIndex &source_parent )
const override;
60 QMap<int, bool> mHiddenPages;
107 void initOptionsBase(
bool restoreUi =
true,
const QString &title = QString() );
143 void setCurrentPage(
const QString &page );
161 void addPage(
const QString &title,
const QString &tooltip,
const QIcon &icon, QWidget *widget
SIP_TRANSFER,
const QStringList &path = QStringList(),
const QString &key = QString() );
182 void insertPage(
const QString &title,
const QString &tooltip,
const QIcon &icon, QWidget *widget
SIP_TRANSFER,
const QString &before,
const QStringList &path = QStringList(),
const QString &key = QString() );
190 void searchText(
const QString &text );
194 virtual void updateOptionsListVerticalTabs();
196 virtual void optionsStackedWidget_CurrentChanged(
int index );
198 virtual void optionsStackedWidget_WidgetRemoved(
int index );
200 void warnAboutMissingObjects();
203 void showEvent( QShowEvent *e )
override;
204 void paintEvent( QPaintEvent *e )
override;
206 virtual void updateWindowTitle();
212 void registerTextSearchWidgets();
219 QStandardItem *createItem(
const QString &name,
const QString &tooltip,
const QString &icon )
SIP_SKIP;
242 void setListToItemAtIndex(
int index );
QLineEdit subclass with built in support for clearing the widget's value and handling custom null val...
QPointer< QgsSettings > mSettings
void resizeAlltabs(int index)
Resizes all tabs when the dialog is resized.
void restoreLastPage()
Refocus the active tab from the last time the dialog was shown.
QList< QPair< QgsOptionsDialogHighlightWidget *, int > > mRegisteredSearchWidgets
QgsOptionsDialogBase(const QString &settingsKey, QWidget *parent=nullptr, Qt::WindowFlags fl=Qt::WindowFlags(), QgsSettings *settings=nullptr)
Constructor.
QgsFilterLineEdit * mSearchLineEdit
void setSettings(QgsSettings *settings)
QDialogButtonBox * mOptButtonBox
QgsOptionsProxyModel * mTreeProxyModel
QStandardItemModel * mOptTreeModel
QListWidget * mOptListWidget
void restoreOptionsBaseUi(const QString &title=QString())
Restore the base ui.
QStackedWidget * mOptStackedWidget
void initOptionsBase(bool restoreUi=true, const QString &title=QString())
Set up the base ui connections for vertical tabs.
bool iconOnly() const
Determine if the options list is in icon only mode.
Stores settings for use within QGIS.