forked from qt-creator/qt-creator
CppEditor: Make CppEditorOutline independent of CppEditor plugin
Change-Id: I1cafcd8daf93ffc2f672bf7e2ba5d1c8ea5e8652 Reviewed-by: Marco Bubke <marco.bubke@theqtcompany.com>
This commit is contained in:
@@ -34,6 +34,7 @@
|
|||||||
|
|
||||||
#include <cpptools/cppmodelmanager.h>
|
#include <cpptools/cppmodelmanager.h>
|
||||||
#include <cpptools/cpptoolsreuse.h>
|
#include <cpptools/cpptoolsreuse.h>
|
||||||
|
#include <cpptools/cpptoolssettings.h>
|
||||||
#include <texteditor/texteditor.h>
|
#include <texteditor/texteditor.h>
|
||||||
|
|
||||||
#include <cplusplus/OverviewModel.h>
|
#include <cplusplus/OverviewModel.h>
|
||||||
@@ -104,7 +105,7 @@ CppEditorOutline::CppEditorOutline(TextEditor::TextEditorWidget *editorWidget)
|
|||||||
, m_proxyModel(new OverviewProxyModel(m_model, this))
|
, m_proxyModel(new OverviewProxyModel(m_model, this))
|
||||||
{
|
{
|
||||||
// Set up proxy model
|
// Set up proxy model
|
||||||
if (CppEditorPlugin::instance()->sortedOutline())
|
if (CppTools::CppToolsSettings::instance()->sortedEditorDocumentOutline())
|
||||||
m_proxyModel->sort(0, Qt::AscendingOrder);
|
m_proxyModel->sort(0, Qt::AscendingOrder);
|
||||||
else
|
else
|
||||||
m_proxyModel->sort(-1, Qt::AscendingOrder); // don't sort yet, but set column for sortedOutline()
|
m_proxyModel->sort(-1, Qt::AscendingOrder); // don't sort yet, but set column for sortedOutline()
|
||||||
@@ -124,8 +125,9 @@ CppEditorOutline::CppEditorOutline(TextEditor::TextEditorWidget *editorWidget)
|
|||||||
m_sortAction = new QAction(tr("Sort Alphabetically"), m_combo);
|
m_sortAction = new QAction(tr("Sort Alphabetically"), m_combo);
|
||||||
m_sortAction->setCheckable(true);
|
m_sortAction->setCheckable(true);
|
||||||
m_sortAction->setChecked(isSorted());
|
m_sortAction->setChecked(isSorted());
|
||||||
connect(m_sortAction, SIGNAL(toggled(bool)),
|
connect(m_sortAction, &QAction::toggled,
|
||||||
CppEditorPlugin::instance(), SLOT(setSortedOutline(bool)));
|
CppTools::CppToolsSettings::instance(),
|
||||||
|
&CppTools::CppToolsSettings::setSortedEditorDocumentOutline);
|
||||||
m_combo->addAction(m_sortAction);
|
m_combo->addAction(m_sortAction);
|
||||||
|
|
||||||
connect(m_combo, SIGNAL(activated(int)), this, SLOT(gotoSymbolInEditor()));
|
connect(m_combo, SIGNAL(activated(int)), this, SLOT(gotoSymbolInEditor()));
|
||||||
|
@@ -123,7 +123,6 @@ public:
|
|||||||
CppEditorPlugin *CppEditorPlugin::m_instance = 0;
|
CppEditorPlugin *CppEditorPlugin::m_instance = 0;
|
||||||
|
|
||||||
CppEditorPlugin::CppEditorPlugin() :
|
CppEditorPlugin::CppEditorPlugin() :
|
||||||
m_sortedOutline(true),
|
|
||||||
m_renameSymbolUnderCursorAction(0),
|
m_renameSymbolUnderCursorAction(0),
|
||||||
m_findUsagesAction(0),
|
m_findUsagesAction(0),
|
||||||
m_reparseExternallyChangedFiles(0),
|
m_reparseExternallyChangedFiles(0),
|
||||||
@@ -144,17 +143,6 @@ CppEditorPlugin *CppEditorPlugin::instance()
|
|||||||
return m_instance;
|
return m_instance;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CppEditorPlugin::setSortedOutline(bool sorted)
|
|
||||||
{
|
|
||||||
m_sortedOutline = sorted;
|
|
||||||
emit outlineSortingChanged(sorted);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool CppEditorPlugin::sortedOutline() const
|
|
||||||
{
|
|
||||||
return m_sortedOutline;
|
|
||||||
}
|
|
||||||
|
|
||||||
CppQuickFixAssistProvider *CppEditorPlugin::quickFixProvider() const
|
CppQuickFixAssistProvider *CppEditorPlugin::quickFixProvider() const
|
||||||
{
|
{
|
||||||
return m_quickFixProvider;
|
return m_quickFixProvider;
|
||||||
@@ -284,27 +272,15 @@ bool CppEditorPlugin::initialize(const QStringList & /*arguments*/, QString *err
|
|||||||
connect(ProgressManager::instance(), SIGNAL(allTasksFinished(Core::Id)),
|
connect(ProgressManager::instance(), SIGNAL(allTasksFinished(Core::Id)),
|
||||||
this, SLOT(onAllTasksFinished(Core::Id)));
|
this, SLOT(onAllTasksFinished(Core::Id)));
|
||||||
|
|
||||||
readSettings();
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CppEditorPlugin::readSettings()
|
|
||||||
{
|
|
||||||
m_sortedOutline = ICore::settings()->value(QLatin1String("CppTools/SortedMethodOverview"), true).toBool();
|
|
||||||
}
|
|
||||||
|
|
||||||
void CppEditorPlugin::writeSettings()
|
|
||||||
{
|
|
||||||
ICore::settings()->setValue(QLatin1String("CppTools/SortedMethodOverview"), m_sortedOutline);
|
|
||||||
}
|
|
||||||
|
|
||||||
void CppEditorPlugin::extensionsInitialized()
|
void CppEditorPlugin::extensionsInitialized()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
ExtensionSystem::IPlugin::ShutdownFlag CppEditorPlugin::aboutToShutdown()
|
ExtensionSystem::IPlugin::ShutdownFlag CppEditorPlugin::aboutToShutdown()
|
||||||
{
|
{
|
||||||
writeSettings();
|
|
||||||
return SynchronousShutdown;
|
return SynchronousShutdown;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -63,8 +63,6 @@ public:
|
|||||||
void extensionsInitialized();
|
void extensionsInitialized();
|
||||||
ShutdownFlag aboutToShutdown();
|
ShutdownFlag aboutToShutdown();
|
||||||
|
|
||||||
bool sortedOutline() const;
|
|
||||||
|
|
||||||
CppQuickFixAssistProvider *quickFixProvider() const;
|
CppQuickFixAssistProvider *quickFixProvider() const;
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
@@ -81,8 +79,6 @@ public slots:
|
|||||||
void renameSymbolUnderCursor();
|
void renameSymbolUnderCursor();
|
||||||
void switchDeclarationDefinition();
|
void switchDeclarationDefinition();
|
||||||
|
|
||||||
void setSortedOutline(bool sorted);
|
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void onTaskStarted(Core::Id type);
|
void onTaskStarted(Core::Id type);
|
||||||
void onAllTasksFinished(Core::Id type);
|
void onAllTasksFinished(Core::Id type);
|
||||||
@@ -227,12 +223,9 @@ private slots:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
Core::IEditor *createEditor(QWidget *parent);
|
Core::IEditor *createEditor(QWidget *parent);
|
||||||
void writeSettings();
|
|
||||||
void readSettings();
|
|
||||||
|
|
||||||
static CppEditorPlugin *m_instance;
|
static CppEditorPlugin *m_instance;
|
||||||
|
|
||||||
bool m_sortedOutline;
|
|
||||||
QAction *m_renameSymbolUnderCursorAction;
|
QAction *m_renameSymbolUnderCursorAction;
|
||||||
QAction *m_findUsagesAction;
|
QAction *m_findUsagesAction;
|
||||||
QAction *m_reparseExternallyChangedFiles;
|
QAction *m_reparseExternallyChangedFiles;
|
||||||
|
@@ -52,6 +52,7 @@ const char CPP_HEADER_MIMETYPE[] = "text/x-c++hdr";
|
|||||||
const char CPPTOOLS_SETTINGSGROUP[] = "CppTools";
|
const char CPPTOOLS_SETTINGSGROUP[] = "CppTools";
|
||||||
const char LOWERCASE_CPPFILES_KEY[] = "LowerCaseFiles";
|
const char LOWERCASE_CPPFILES_KEY[] = "LowerCaseFiles";
|
||||||
enum { lowerCaseFilesDefault = 1 };
|
enum { lowerCaseFilesDefault = 1 };
|
||||||
|
const char CPPTOOLS_SORT_EDITOR_DOCUMENT_OUTLINE[] = "SortedMethodOverview";
|
||||||
const char CPPTOOLS_MODEL_MANAGER_SUPPORTERS_KEY[] = "ModelManagerSupporters";
|
const char CPPTOOLS_MODEL_MANAGER_SUPPORTERS_KEY[] = "ModelManagerSupporters";
|
||||||
const char CPPTOOLS_MODEL_MANAGER_PCH_USAGE[] = "PCHUsage";
|
const char CPPTOOLS_MODEL_MANAGER_PCH_USAGE[] = "PCHUsage";
|
||||||
|
|
||||||
|
@@ -49,6 +49,7 @@
|
|||||||
|
|
||||||
static const char idKey[] = "CppGlobal";
|
static const char idKey[] = "CppGlobal";
|
||||||
|
|
||||||
|
using namespace Core;
|
||||||
using namespace CppTools;
|
using namespace CppTools;
|
||||||
using namespace CppTools::Internal;
|
using namespace CppTools::Internal;
|
||||||
using namespace TextEditor;
|
using namespace TextEditor;
|
||||||
@@ -262,3 +263,21 @@ void CppToolsSettings::setCommentsSettings(const CommentsSettings &commentsSetti
|
|||||||
d->m_commentsSettings.toSettings(QLatin1String(Constants::CPPTOOLS_SETTINGSGROUP),
|
d->m_commentsSettings.toSettings(QLatin1String(Constants::CPPTOOLS_SETTINGSGROUP),
|
||||||
Core::ICore::settings());
|
Core::ICore::settings());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static QString sortEditorDocumentOutlineKey()
|
||||||
|
{
|
||||||
|
return QLatin1String(CppTools::Constants::CPPTOOLS_SETTINGSGROUP)
|
||||||
|
+ QLatin1Char('/')
|
||||||
|
+ QLatin1String(CppTools::Constants::CPPTOOLS_SORT_EDITOR_DOCUMENT_OUTLINE);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool CppToolsSettings::sortedEditorDocumentOutline() const
|
||||||
|
{
|
||||||
|
return ICore::settings()->value(sortEditorDocumentOutlineKey(), true).toBool();
|
||||||
|
}
|
||||||
|
|
||||||
|
void CppToolsSettings::setSortedEditorDocumentOutline(bool sorted)
|
||||||
|
{
|
||||||
|
ICore::settings()->setValue(sortEditorDocumentOutlineKey(), sorted);
|
||||||
|
emit editorDocumentOutlineSortingChanged(sorted);
|
||||||
|
}
|
||||||
|
@@ -63,6 +63,12 @@ public:
|
|||||||
const CommentsSettings &commentsSettings() const;
|
const CommentsSettings &commentsSettings() const;
|
||||||
void setCommentsSettings(const CommentsSettings &commentsSettings);
|
void setCommentsSettings(const CommentsSettings &commentsSettings);
|
||||||
|
|
||||||
|
bool sortedEditorDocumentOutline() const;
|
||||||
|
void setSortedEditorDocumentOutline(bool sorted);
|
||||||
|
|
||||||
|
signals:
|
||||||
|
void editorDocumentOutlineSortingChanged(bool isSorted);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Internal::CppToolsSettingsPrivate *d;
|
Internal::CppToolsSettingsPrivate *d;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user