20 #include <QDialogButtonBox>
22 #include <QListWidget>
23 #include <QMessageBox>
25 #include <QStackedWidget>
31 : QDialog( parent, fl )
32 , mOptsKey( settingsKey )
35 , mSettings( settings )
43 mSettings->setValue( QString(
"/Windows/%1/geometry" ).arg(
mOptsKey ), saveGeometry() );
70 if ( title.isEmpty() )
79 layout()->setContentsMargins( 0, 0, 0, 0 );
84 QFrame* optionsFrame = findChild<QFrame*>(
"mOptionsFrame" );
86 mOptSplitter = findChild<QSplitter*>(
"mOptionsSplitter" );
88 QFrame* buttonBoxFrame = findChild<QFrame*>(
"mButtonBoxFrame" );
90 if ( !
mOptListWidget || !mOptStackedWidget || !mOptSplitter || !optionsFrame )
99 mOptListWidget->setIconSize( QSize( size + iconBuffer, size + iconBuffer ) );
102 optionsFrame->layout()->setContentsMargins( 0, 3, 3, 3 );
103 QVBoxLayout* layout =
static_cast<QVBoxLayout*
>( optionsFrame->layout() );
105 if ( buttonBoxFrame )
107 buttonBoxFrame->layout()->setContentsMargins( 0, 0, 0, 0 );
108 layout->insertWidget( layout->count() + 1, buttonBoxFrame );
118 disconnect( mOptButtonBox, SIGNAL( accepted() ),
this, SLOT( accept() ) );
119 connect( mOptButtonBox, SIGNAL( accepted() ),
this, SLOT( accept() ) );
120 disconnect( mOptButtonBox, SIGNAL( rejected() ),
this, SLOT( reject() ) );
121 connect( mOptButtonBox, SIGNAL( rejected() ),
this, SLOT( reject() ) );
151 if ( !title.isEmpty() )
160 restoreGeometry(
mSettings->value( QString(
"/Windows/%1/geometry" ).arg(
mOptsKey ) ).toByteArray() );
164 mSettings->value( QString(
"/Windows/%1/splitState" ).arg(
mOptsKey ) ).isNull() ? 150 : 16777215 );
166 int curIndx =
mSettings->value( QString(
"/Windows/%1/tab" ).arg(
mOptsKey ), 0 ).toInt();
205 QDialog::showEvent( e );
213 QDialog::paintEvent( e );
221 setWindowTitle( QString(
"%1 | %2" ).arg(
mDialogTitle ).arg( curitem->text() ) );
240 int snapToIconWidth = iconWidth + 32;
243 mIconOnly = ( splitSizes.at( 0 ) <= snapToIconWidth );
246 int newWidth =
mOptListWidget->verticalScrollBar()->isVisible() ? iconWidth + 22 : iconWidth + 9;
254 splitSizes[1] = splitSizes.at( 1 ) - ( splitSizes.at( 0 ) - newWidth );
255 splitSizes[0] = newWidth;
282 QMessageBox::warning( 0,
tr(
"Missing objects" ),
283 tr(
"Base options dialog could not be initialized.\n\n"
284 "Missing some of the .ui template objects:\n" )
285 +
" mOptionsListWidget,\n mOptionsStackedWidget,\n mOptionsSplitter",
void warnAboutMissingObjects()
void setSettings(QSettings *settings)
void restoreOptionsBaseUi(QString title=QString())
Restore the base ui.
void paintEvent(QPaintEvent *e)
void optionsStackedWidget_WidgetRemoved(int indx)
QgsOptionsDialogBase(QString settingsKey, QWidget *parent=0, Qt::WindowFlags fl=0, QSettings *settings=0)
Constructor.
void showEvent(QShowEvent *e)
QDialogButtonBox * mOptButtonBox
void initOptionsBase(bool restoreUi=true, QString title=QString())
Set up the base ui connections for vertical tabs.
QListWidget * mOptListWidget
void updateOptionsListVerticalTabs()
void optionsStackedWidget_CurrentChanged(int indx)
virtual void updateWindowTitle()
QStackedWidget * mOptStackedWidget
QPointer< QSettings > mSettings