forked from qt-creator/qt-creator
Polish the settings dialog.
Add a title label to the pages. Use QGroupBoxes throughout. Extend SavedAction to work with checkable QGroupBoxes. Polish UI files, use common layout for VCS plugins. Performance: Apply only visited settings pages. Add search keywords. Task-number: QTCREATOR-26
This commit is contained in:
@@ -75,7 +75,8 @@ QWidget *DocSettingsPage::createPage(QWidget *parent)
|
||||
m_ui.docsListWidget->addItems(m_helpEngine->registeredDocumentations());
|
||||
m_registeredDocs = false;
|
||||
m_removeDocs.clear();
|
||||
|
||||
if (m_searchKeywords.isEmpty())
|
||||
m_searchKeywords = m_ui.groupBox->title();
|
||||
return w;
|
||||
}
|
||||
|
||||
@@ -126,6 +127,11 @@ void DocSettingsPage::apply()
|
||||
emit dialogAccepted();
|
||||
}
|
||||
|
||||
bool DocSettingsPage::matches(const QString &s) const
|
||||
{
|
||||
return m_searchKeywords.contains(s, Qt::CaseInsensitive);
|
||||
}
|
||||
|
||||
bool DocSettingsPage::applyChanges()
|
||||
{
|
||||
QStringList::const_iterator it = m_removeDocs.constBegin();
|
||||
|
||||
@@ -56,6 +56,7 @@ public:
|
||||
QWidget *createPage(QWidget *parent);
|
||||
void apply();
|
||||
void finish() { }
|
||||
virtual bool matches(const QString &s) const;
|
||||
|
||||
bool applyChanges();
|
||||
|
||||
@@ -72,6 +73,7 @@ private:
|
||||
bool m_registeredDocs;
|
||||
QStringList m_removeDocs;
|
||||
Ui::DocSettingsPage m_ui;
|
||||
QString m_searchKeywords;
|
||||
};
|
||||
|
||||
} // namespace Help
|
||||
|
||||
@@ -78,6 +78,9 @@ QWidget *FilterSettingsPage::createPage(QWidget *parent)
|
||||
SLOT(removeFilter()));
|
||||
updateFilterPage();
|
||||
|
||||
if (m_searchKeywords.isEmpty())
|
||||
m_searchKeywords = m_ui.filterGroupBox->title() + QLatin1Char(' ') + m_ui.attributesGroupBox->title();
|
||||
|
||||
return m_currentPage;
|
||||
}
|
||||
|
||||
@@ -220,3 +223,10 @@ bool FilterSettingsPage::applyChanges()
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
bool FilterSettingsPage::matches(const QString &s) const
|
||||
{
|
||||
return m_searchKeywords.contains(s, Qt::CaseInsensitive);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -55,6 +55,7 @@ public:
|
||||
QWidget *createPage(QWidget *parent);
|
||||
void apply();
|
||||
void finish() { }
|
||||
virtual bool matches(const QString &s) const;
|
||||
|
||||
bool applyChanges();
|
||||
|
||||
@@ -72,6 +73,7 @@ private:
|
||||
QMap<QString, QStringList> m_filterMap;
|
||||
QStringList m_removedFilters;
|
||||
QWidget *m_currentPage;
|
||||
QString m_searchKeywords;
|
||||
};
|
||||
|
||||
} // namespace Help
|
||||
|
||||
@@ -12,9 +12,9 @@
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
||||
<layout class="QHBoxLayout" name="mainHorizontalLayout">
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox">
|
||||
<widget class="QGroupBox" name="filterGroupBox">
|
||||
<property name="title">
|
||||
<string>Filters</string>
|
||||
</property>
|
||||
@@ -26,7 +26,7 @@
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox_2">
|
||||
<widget class="QGroupBox" name="attributesGroupBox">
|
||||
<property name="title">
|
||||
<string>Attributes</string>
|
||||
</property>
|
||||
@@ -55,7 +55,7 @@
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<layout class="QHBoxLayout" name="buttonHorizontalLayout">
|
||||
<item>
|
||||
<widget class="QPushButton" name="filterAddButton">
|
||||
<property name="text">
|
||||
@@ -71,7 +71,7 @@
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer">
|
||||
<spacer name="buttonHorizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
|
||||
@@ -127,6 +127,12 @@ QWidget *GeneralSettingsPage::createPage(QWidget *parent)
|
||||
connect(m_ui.importButton, SIGNAL(clicked()), this, SLOT(importBookmarks()));
|
||||
connect(m_ui.exportButton, SIGNAL(clicked()), this, SLOT(exportBookmarks()));
|
||||
|
||||
if (m_searchKeywords.isEmpty()) {
|
||||
QTextStream(&m_searchKeywords) << ' ' << m_ui.contextHelpLabel->text()
|
||||
<< ' ' << m_ui.startPageLabel->text() << ' ' << m_ui.homePageLabel->text()
|
||||
<< ' ' << m_ui.bookmarkGroupBox->title();
|
||||
m_searchKeywords.remove(QLatin1Char('&'));
|
||||
}
|
||||
return m_currentPage;
|
||||
}
|
||||
|
||||
@@ -324,3 +330,8 @@ int GeneralSettingsPage::closestPointSizeIndex(int desiredPointSize) const
|
||||
}
|
||||
return closestIndex;
|
||||
}
|
||||
|
||||
bool GeneralSettingsPage::matches(const QString &s) const
|
||||
{
|
||||
return m_searchKeywords.contains(s, Qt::CaseInsensitive);
|
||||
}
|
||||
|
||||
@@ -63,6 +63,7 @@ public:
|
||||
QWidget *createPage(QWidget *parent);
|
||||
void apply();
|
||||
void finish();
|
||||
virtual bool matches(const QString &s) const;
|
||||
|
||||
signals:
|
||||
void fontChanged();
|
||||
@@ -90,6 +91,7 @@ private:
|
||||
QFontDatabase fontDatabase;
|
||||
|
||||
Ui::GeneralSettingsPage m_ui;
|
||||
QString m_searchKeywords;
|
||||
};
|
||||
|
||||
} // Internal
|
||||
|
||||
@@ -2,26 +2,18 @@
|
||||
<ui version="4.0">
|
||||
<class>GeneralSettingsPage</class>
|
||||
<widget class="QWidget" name="GeneralSettingsPage">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>593</width>
|
||||
<height>371</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Form</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox">
|
||||
<widget class="QGroupBox" name="fontGroupBox">
|
||||
<property name="title">
|
||||
<string>Font</string>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
||||
<item>
|
||||
<widget class="QLabel" name="label_5">
|
||||
<widget class="QLabel" name="familyLabel">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
@@ -53,7 +45,7 @@
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_7">
|
||||
<widget class="QLabel" name="styleLabel">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
@@ -92,7 +84,7 @@
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_6">
|
||||
<widget class="QLabel" name="sizeLabel">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
@@ -131,7 +123,7 @@
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox_2">
|
||||
<widget class="QGroupBox" name="startupGroupBox">
|
||||
<property name="enabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
@@ -140,9 +132,9 @@
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<layout class="QFormLayout" name="startupFormLayout">
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label_3">
|
||||
<widget class="QLabel" name="contextHelpLabel">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
@@ -179,21 +171,8 @@
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="2">
|
||||
<spacer name="horizontalSpacer_3">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_2">
|
||||
<widget class="QLabel" name="startPageLabel">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
@@ -230,18 +209,14 @@
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_4">
|
||||
<item>
|
||||
<widget class="QLabel" name="label">
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="homePageLabel">
|
||||
<property name="text">
|
||||
<string>Home Page:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QLineEdit" name="homePageLineEdit"/>
|
||||
</item>
|
||||
</layout>
|
||||
@@ -288,13 +263,13 @@
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox_3">
|
||||
<widget class="QGroupBox" name="bookmarkGroupBox">
|
||||
<property name="title">
|
||||
<string>Help Bookmarks</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||
<layout class="QHBoxLayout" name="bookmarkHorizontalLayout">
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_4">
|
||||
<property name="orientation">
|
||||
@@ -363,9 +338,6 @@
|
||||
</disabled>
|
||||
</palette>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
@@ -376,10 +348,13 @@
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::MinimumExpanding</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>126</height>
|
||||
<width>0</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
|
||||
Reference in New Issue
Block a user