forked from qt-creator/qt-creator
Add hint to text editor settings pointing to coding style
The tab and indentation settings in Text Editor > Behavior are only used for non-code files. Add a hint with links to the respective coding style settings. Change-Id: I1d7c1154269c4914d511ef6ef3308a2b1f933d52 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com> Reviewed-by: David Schulz <david.schulz@digia.com>
This commit is contained in:
@@ -44,6 +44,11 @@
|
|||||||
#include <coreplugin/editormanager/editormanager.h>
|
#include <coreplugin/editormanager/editormanager.h>
|
||||||
#include <utils/hostosinfo.h>
|
#include <utils/hostosinfo.h>
|
||||||
|
|
||||||
|
// for opening the respective coding style preferences
|
||||||
|
#include <cpptools/cpptoolsconstants.h>
|
||||||
|
#include <qmljseditor/qmljseditorconstants.h>
|
||||||
|
#include <qmljstools/qmljstoolsconstants.h>
|
||||||
|
|
||||||
#include <QSettings>
|
#include <QSettings>
|
||||||
#include <QTextCodec>
|
#include <QTextCodec>
|
||||||
|
|
||||||
@@ -122,6 +127,11 @@ QWidget *BehaviorSettingsPage::createPage(QWidget *parent)
|
|||||||
d->m_pageCodeStyle->setCurrentDelegate(d->m_codeStyle->currentDelegate());
|
d->m_pageCodeStyle->setCurrentDelegate(d->m_codeStyle->currentDelegate());
|
||||||
d->m_page->behaviorWidget->setCodeStyle(d->m_pageCodeStyle);
|
d->m_page->behaviorWidget->setCodeStyle(d->m_pageCodeStyle);
|
||||||
|
|
||||||
|
TabSettingsWidget *tabSettingsWidget = d->m_page->behaviorWidget->tabSettingsWidget();
|
||||||
|
tabSettingsWidget->setCodingStyleWarningVisible(true);
|
||||||
|
connect(tabSettingsWidget, SIGNAL(codingStyleLinkClicked(TextEditor::TabSettingsWidget::CodingStyleLink)),
|
||||||
|
this, SLOT(openCodingStylePreferences(TextEditor::TabSettingsWidget::CodingStyleLink)));
|
||||||
|
|
||||||
settingsToUI();
|
settingsToUI();
|
||||||
|
|
||||||
if (d->m_searchKeywords.isEmpty())
|
if (d->m_searchKeywords.isEmpty())
|
||||||
@@ -258,3 +268,18 @@ bool BehaviorSettingsPage::matches(const QString &s) const
|
|||||||
{
|
{
|
||||||
return d->m_searchKeywords.contains(s, Qt::CaseInsensitive);
|
return d->m_searchKeywords.contains(s, Qt::CaseInsensitive);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void BehaviorSettingsPage::openCodingStylePreferences(TabSettingsWidget::CodingStyleLink link)
|
||||||
|
{
|
||||||
|
switch (link) {
|
||||||
|
case TextEditor::TabSettingsWidget::CppLink:
|
||||||
|
Core::ICore::showOptionsDialog(CppTools::Constants::CPP_SETTINGS_CATEGORY,
|
||||||
|
CppTools::Constants::CPP_CODE_STYLE_SETTINGS_ID);
|
||||||
|
break;
|
||||||
|
case TextEditor::TabSettingsWidget::QtQuickLink:
|
||||||
|
Core::ICore::showOptionsDialog(QmlJSEditor::Constants::SETTINGS_CATEGORY_QML,
|
||||||
|
QmlJSTools::Constants::QML_JS_CODE_STYLE_SETTINGS_ID);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@@ -33,6 +33,7 @@
|
|||||||
#include "texteditor_global.h"
|
#include "texteditor_global.h"
|
||||||
|
|
||||||
#include "texteditoroptionspage.h"
|
#include "texteditoroptionspage.h"
|
||||||
|
#include "tabsettingswidget.h"
|
||||||
|
|
||||||
namespace TextEditor {
|
namespace TextEditor {
|
||||||
|
|
||||||
@@ -79,6 +80,9 @@ signals:
|
|||||||
void behaviorSettingsChanged(const TextEditor::BehaviorSettings &);
|
void behaviorSettingsChanged(const TextEditor::BehaviorSettings &);
|
||||||
void extraEncodingSettingsChanged(const TextEditor::ExtraEncodingSettings &);
|
void extraEncodingSettingsChanged(const TextEditor::ExtraEncodingSettings &);
|
||||||
|
|
||||||
|
private slots:
|
||||||
|
void openCodingStylePreferences(TextEditor::TabSettingsWidget::CodingStyleLink link);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void settingsFromUI(TypingSettings *typingSettings,
|
void settingsFromUI(TypingSettings *typingSettings,
|
||||||
StorageSettings *storageSettings,
|
StorageSettings *storageSettings,
|
||||||
|
@@ -30,6 +30,8 @@
|
|||||||
#include "behaviorsettingswidget.h"
|
#include "behaviorsettingswidget.h"
|
||||||
#include "ui_behaviorsettingswidget.h"
|
#include "ui_behaviorsettingswidget.h"
|
||||||
|
|
||||||
|
#include "tabsettingswidget.h"
|
||||||
|
|
||||||
#include <texteditor/typingsettings.h>
|
#include <texteditor/typingsettings.h>
|
||||||
#include <texteditor/storagesettings.h>
|
#include <texteditor/storagesettings.h>
|
||||||
#include <texteditor/behaviorsettings.h>
|
#include <texteditor/behaviorsettings.h>
|
||||||
@@ -243,6 +245,11 @@ QString BehaviorSettingsWidget::collectUiKeywords() const
|
|||||||
return keywords;
|
return keywords;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TabSettingsWidget *BehaviorSettingsWidget::tabSettingsWidget() const
|
||||||
|
{
|
||||||
|
return d->m_ui.tabPreferencesWidget->tabSettingsWidget();
|
||||||
|
}
|
||||||
|
|
||||||
void BehaviorSettingsWidget::slotTypingSettingsChanged()
|
void BehaviorSettingsWidget::slotTypingSettingsChanged()
|
||||||
{
|
{
|
||||||
TypingSettings settings;
|
TypingSettings settings;
|
||||||
|
@@ -41,6 +41,7 @@ QT_END_NAMESPACE
|
|||||||
namespace TextEditor {
|
namespace TextEditor {
|
||||||
|
|
||||||
class ICodeStylePreferences;
|
class ICodeStylePreferences;
|
||||||
|
class TabSettingsWidget;
|
||||||
class TypingSettings;
|
class TypingSettings;
|
||||||
class StorageSettings;
|
class StorageSettings;
|
||||||
class BehaviorSettings;
|
class BehaviorSettings;
|
||||||
@@ -77,6 +78,8 @@ public:
|
|||||||
|
|
||||||
QString collectUiKeywords() const;
|
QString collectUiKeywords() const;
|
||||||
|
|
||||||
|
TabSettingsWidget *tabSettingsWidget() const;
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void typingSettingsChanged(const TextEditor::TypingSettings &settings);
|
void typingSettingsChanged(const TextEditor::TypingSettings &settings);
|
||||||
void storageSettingsChanged(const TextEditor::StorageSettings &settings);
|
void storageSettingsChanged(const TextEditor::StorageSettings &settings);
|
||||||
|
@@ -101,7 +101,12 @@ QString SimpleCodeStylePreferencesWidget::searchKeywords() const
|
|||||||
|
|
||||||
void SimpleCodeStylePreferencesWidget::setFlat(bool on)
|
void SimpleCodeStylePreferencesWidget::setFlat(bool on)
|
||||||
{
|
{
|
||||||
m_tabSettingsWidget->setFlat(on);
|
m_tabSettingsWidget->setFlat(on);
|
||||||
|
}
|
||||||
|
|
||||||
|
TabSettingsWidget *SimpleCodeStylePreferencesWidget::tabSettingsWidget() const
|
||||||
|
{
|
||||||
|
return m_tabSettingsWidget;
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace TextEditor
|
} // namespace TextEditor
|
||||||
|
@@ -55,6 +55,7 @@ public:
|
|||||||
QString searchKeywords() const;
|
QString searchKeywords() const;
|
||||||
|
|
||||||
void setFlat(bool on);
|
void setFlat(bool on);
|
||||||
|
TabSettingsWidget *tabSettingsWidget() const;
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void slotCurrentPreferencesChanged(TextEditor::ICodeStylePreferences *preferences);
|
void slotCurrentPreferencesChanged(TextEditor::ICodeStylePreferences *preferences);
|
||||||
|
@@ -40,7 +40,10 @@ TabSettingsWidget::TabSettingsWidget(QWidget *parent) :
|
|||||||
ui(new Internal::Ui::TabSettingsWidget)
|
ui(new Internal::Ui::TabSettingsWidget)
|
||||||
{
|
{
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
|
ui->codingStyleWarning->setVisible(false);
|
||||||
|
|
||||||
|
connect(ui->codingStyleWarning, SIGNAL(linkActivated(QString)),
|
||||||
|
this, SLOT(codingStyleLinkActivated(QString)));
|
||||||
connect(ui->tabPolicy, SIGNAL(currentIndexChanged(int)),
|
connect(ui->tabPolicy, SIGNAL(currentIndexChanged(int)),
|
||||||
this, SLOT(slotSettingsChanged()));
|
this, SLOT(slotSettingsChanged()));
|
||||||
connect(ui->tabSize, SIGNAL(valueChanged(int)),
|
connect(ui->tabSize, SIGNAL(valueChanged(int)),
|
||||||
@@ -83,6 +86,14 @@ void TabSettingsWidget::slotSettingsChanged()
|
|||||||
emit settingsChanged(tabSettings());
|
emit settingsChanged(tabSettings());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void TabSettingsWidget::codingStyleLinkActivated(const QString &linkString)
|
||||||
|
{
|
||||||
|
if (linkString == QLatin1String("C++"))
|
||||||
|
emit codingStyleLinkClicked(CppLink);
|
||||||
|
else if (linkString == QLatin1String("QtQuick"))
|
||||||
|
emit codingStyleLinkClicked(QtQuickLink);
|
||||||
|
}
|
||||||
|
|
||||||
void TabSettingsWidget::setFlat(bool on)
|
void TabSettingsWidget::setFlat(bool on)
|
||||||
{
|
{
|
||||||
ui->tabsAndIndentationGroupBox->setFlat(on);
|
ui->tabsAndIndentationGroupBox->setFlat(on);
|
||||||
@@ -105,6 +116,11 @@ QString TabSettingsWidget::searchKeywords() const
|
|||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void TabSettingsWidget::setCodingStyleWarningVisible(bool visible)
|
||||||
|
{
|
||||||
|
ui->codingStyleWarning->setVisible(visible);
|
||||||
|
}
|
||||||
|
|
||||||
void TabSettingsWidget::changeEvent(QEvent *e)
|
void TabSettingsWidget::changeEvent(QEvent *e)
|
||||||
{
|
{
|
||||||
QWidget::changeEvent(e);
|
QWidget::changeEvent(e);
|
||||||
|
@@ -45,6 +45,11 @@ class TEXTEDITOR_EXPORT TabSettingsWidget : public QWidget
|
|||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
enum CodingStyleLink {
|
||||||
|
CppLink,
|
||||||
|
QtQuickLink
|
||||||
|
};
|
||||||
|
|
||||||
explicit TabSettingsWidget(QWidget *parent = 0);
|
explicit TabSettingsWidget(QWidget *parent = 0);
|
||||||
~TabSettingsWidget();
|
~TabSettingsWidget();
|
||||||
|
|
||||||
@@ -52,18 +57,21 @@ public:
|
|||||||
|
|
||||||
void setFlat(bool on);
|
void setFlat(bool on);
|
||||||
QString searchKeywords() const;
|
QString searchKeywords() const;
|
||||||
|
void setCodingStyleWarningVisible(bool visible);
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void setTabSettings(const TextEditor::TabSettings& s);
|
void setTabSettings(const TextEditor::TabSettings& s);
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void settingsChanged(const TextEditor::TabSettings &);
|
void settingsChanged(const TextEditor::TabSettings &);
|
||||||
|
void codingStyleLinkClicked(TextEditor::TabSettingsWidget::CodingStyleLink link);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void changeEvent(QEvent *e);
|
void changeEvent(QEvent *e);
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void slotSettingsChanged();
|
void slotSettingsChanged();
|
||||||
|
void codingStyleLinkActivated(const QString &linkString);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Internal::Ui::TabSettingsWidget *ui;
|
Internal::Ui::TabSettingsWidget *ui;
|
||||||
|
@@ -6,8 +6,8 @@
|
|||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>314</width>
|
<width>335</width>
|
||||||
<height>219</height>
|
<height>224</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="windowTitle">
|
<property name="windowTitle">
|
||||||
@@ -23,14 +23,7 @@
|
|||||||
<string>Tabs And Indentation</string>
|
<string>Tabs And Indentation</string>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QGridLayout" name="gridLayout">
|
<layout class="QGridLayout" name="gridLayout">
|
||||||
<item row="0" column="0" colspan="2">
|
<item row="2" column="0">
|
||||||
<widget class="QLabel" name="tabPolicyLabel">
|
|
||||||
<property name="text">
|
|
||||||
<string>Tab policy:</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="0">
|
|
||||||
<spacer name="horizontalSpacer">
|
<spacer name="horizontalSpacer">
|
||||||
<property name="orientation">
|
<property name="orientation">
|
||||||
<enum>Qt::Horizontal</enum>
|
<enum>Qt::Horizontal</enum>
|
||||||
@@ -46,7 +39,7 @@
|
|||||||
</property>
|
</property>
|
||||||
</spacer>
|
</spacer>
|
||||||
</item>
|
</item>
|
||||||
<item row="1" column="1">
|
<item row="2" column="1">
|
||||||
<widget class="QComboBox" name="tabPolicy">
|
<widget class="QComboBox" name="tabPolicy">
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
|
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
|
||||||
@@ -71,7 +64,7 @@
|
|||||||
</item>
|
</item>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="2" column="0" colspan="2">
|
<item row="3" column="0" colspan="2">
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||||
<item>
|
<item>
|
||||||
<widget class="QLabel" name="tabSizeLabel">
|
<widget class="QLabel" name="tabSizeLabel">
|
||||||
@@ -152,14 +145,7 @@
|
|||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
<item row="3" column="0" colspan="2">
|
<item row="5" column="1">
|
||||||
<widget class="QLabel" name="continuationAlignBehaviorLabel">
|
|
||||||
<property name="text">
|
|
||||||
<string>Align continuation lines:</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="4" column="1">
|
|
||||||
<widget class="QComboBox" name="continuationAlignBehavior">
|
<widget class="QComboBox" name="continuationAlignBehavior">
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
|
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
|
||||||
@@ -211,6 +197,33 @@ Influences the indentation of continuation lines.
|
|||||||
</item>
|
</item>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="1" column="0" colspan="2">
|
||||||
|
<widget class="QLabel" name="tabPolicyLabel">
|
||||||
|
<property name="text">
|
||||||
|
<string>Tab policy:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="4" column="0" colspan="2">
|
||||||
|
<widget class="QLabel" name="continuationAlignBehaviorLabel">
|
||||||
|
<property name="text">
|
||||||
|
<string>Align continuation lines:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="0" colspan="2">
|
||||||
|
<widget class="QLabel" name="codingStyleWarning">
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>The text editor indentation setting is used for non-code files only. See the C++ and Qt Quick coding style settings to configure indentation for code files.</string>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string><i>Code indentation is configured in <a href="C++">C++</a> and <a href="QtQuick">Qt Quick</a> settings.</i></string>
|
||||||
|
</property>
|
||||||
|
<property name="wordWrap">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
Reference in New Issue
Block a user