diff --git a/src/plugins/coreplugin/dialogs/settingsdialog.cpp b/src/plugins/coreplugin/dialogs/settingsdialog.cpp index b4a8c2b8ea6e70a3992dba085d401f859cde9d7d..e2865bf183021486d1cb0833ea88aae8f2640b25 100644 --- a/src/plugins/coreplugin/dialogs/settingsdialog.cpp +++ b/src/plugins/coreplugin/dialogs/settingsdialog.cpp @@ -47,6 +47,8 @@ SettingsDialog::SettingsDialog(QWidget *parent, const QString &initialCategory, setupUi(this); buttonBox->button(QDialogButtonBox::Ok)->setDefault(true); + connect(buttonBox->button(QDialogButtonBox::Apply), SIGNAL(clicked()), this, SLOT(apply())); + splitter->setCollapsible(1, false); pageTree->header()->setVisible(false); @@ -135,3 +137,9 @@ void SettingsDialog::reject() page->finished(false); done(QDialog::Rejected); } + +void SettingsDialog::apply() +{ + foreach (IOptionsPage *page, m_pages) + page->finished(true); +} diff --git a/src/plugins/coreplugin/dialogs/settingsdialog.h b/src/plugins/coreplugin/dialogs/settingsdialog.h index c277c8526717b221aeb81b417dc3b1ae7e337370..6dd8a2a37da81f6dcb75878934179b37854f910a 100644 --- a/src/plugins/coreplugin/dialogs/settingsdialog.h +++ b/src/plugins/coreplugin/dialogs/settingsdialog.h @@ -57,6 +57,7 @@ private slots: void pageSelected(QTreeWidgetItem *cat); void accept(); void reject(); + void apply(); private: QList<Core::IOptionsPage*> m_pages; diff --git a/src/plugins/coreplugin/dialogs/settingsdialog.ui b/src/plugins/coreplugin/dialogs/settingsdialog.ui index 9d2475536c0e64dbe39cb593d2036fe9674aed3e..aad114f848cb3606311d0615c01b8469190a2d8e 100644 --- a/src/plugins/coreplugin/dialogs/settingsdialog.ui +++ b/src/plugins/coreplugin/dialogs/settingsdialog.ui @@ -1,7 +1,8 @@ -<ui version="4.0" > +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> <class>SettingsDialog</class> - <widget class="QDialog" name="SettingsDialog" > - <property name="geometry" > + <widget class="QDialog" name="SettingsDialog"> + <property name="geometry"> <rect> <x>0</x> <y>0</y> @@ -9,50 +10,48 @@ <height>476</height> </rect> </property> - <property name="windowTitle" > + <property name="windowTitle"> <string>Options</string> </property> - <layout class="QVBoxLayout" > - <property name="margin" > - <number>9</number> - </property> - <property name="spacing" > + <layout class="QVBoxLayout"> + <property name="spacing"> <number>6</number> </property> + <property name="margin"> + <number>9</number> + </property> <item> - <widget class="QSplitter" name="splitter" > - <property name="orientation" > + <widget class="QSplitter" name="splitter"> + <property name="orientation"> <enum>Qt::Horizontal</enum> </property> - <widget class="QTreeWidget" name="pageTree" > - <property name="sizePolicy" > - <sizepolicy> - <hsizetype>7</hsizetype> - <vsizetype>7</vsizetype> + <widget class="QTreeWidget" name="pageTree"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Expanding" vsizetype="Expanding"> <horstretch>0</horstretch> <verstretch>0</verstretch> </sizepolicy> </property> - <property name="columnCount" > + <property name="columnCount"> <number>1</number> </property> <column> - <property name="text" > + <property name="text"> <string>0</string> </property> </column> </widget> - <widget class="QWidget" name="layoutWidget" > - <layout class="QVBoxLayout" > - <property name="margin" > - <number>0</number> - </property> - <property name="spacing" > + <widget class="QWidget" name="layoutWidget"> + <layout class="QVBoxLayout"> + <property name="spacing"> <number>6</number> </property> + <property name="margin"> + <number>0</number> + </property> <item> - <widget class="QStackedWidget" name="stackedPages" > - <property name="minimumSize" > + <widget class="QStackedWidget" name="stackedPages"> + <property name="minimumSize"> <size> <width>350</width> <height>250</height> @@ -61,8 +60,8 @@ </widget> </item> <item> - <widget class="Line" name="line" > - <property name="orientation" > + <widget class="Line" name="line"> + <property name="orientation"> <enum>Qt::Horizontal</enum> </property> </widget> @@ -72,12 +71,12 @@ </widget> </item> <item> - <widget class="QDialogButtonBox" name="buttonBox" > - <property name="orientation" > + <widget class="QDialogButtonBox" name="buttonBox"> + <property name="orientation"> <enum>Qt::Horizontal</enum> </property> - <property name="standardButtons" > - <set>QDialogButtonBox::Cancel|QDialogButtonBox::NoButton|QDialogButtonBox::Ok</set> + <property name="standardButtons"> + <set>QDialogButtonBox::Apply|QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set> </property> </widget> </item> @@ -91,11 +90,11 @@ <receiver>SettingsDialog</receiver> <slot>accept()</slot> <hints> - <hint type="sourcelabel" > + <hint type="sourcelabel"> <x>297</x> <y>361</y> </hint> - <hint type="destinationlabel" > + <hint type="destinationlabel"> <x>297</x> <y>193</y> </hint> @@ -107,11 +106,11 @@ <receiver>SettingsDialog</receiver> <slot>reject()</slot> <hints> - <hint type="sourcelabel" > + <hint type="sourcelabel"> <x>297</x> <y>361</y> </hint> - <hint type="destinationlabel" > + <hint type="destinationlabel"> <x>297</x> <y>193</y> </hint>