work save: code snippet edit
This commit is contained in:
parent
b518304f56
commit
a0ea72071c
|
@ -46,6 +46,7 @@ SOURCES += \
|
||||||
settingsdialog/editorautosavewidget.cpp \
|
settingsdialog/editorautosavewidget.cpp \
|
||||||
settingsdialog/editorcodecompletionwidget.cpp \
|
settingsdialog/editorcodecompletionwidget.cpp \
|
||||||
settingsdialog/editormiscwidget.cpp \
|
settingsdialog/editormiscwidget.cpp \
|
||||||
|
settingsdialog/editorsnippetwidget.cpp \
|
||||||
settingsdialog/editortooltipswidget.cpp \
|
settingsdialog/editortooltipswidget.cpp \
|
||||||
settingsdialog/formattergeneralwidget.cpp \
|
settingsdialog/formattergeneralwidget.cpp \
|
||||||
settingsdialog/projectcompileparamaterswidget.cpp \
|
settingsdialog/projectcompileparamaterswidget.cpp \
|
||||||
|
@ -146,6 +147,7 @@ HEADERS += \
|
||||||
settingsdialog/editorautosavewidget.h \
|
settingsdialog/editorautosavewidget.h \
|
||||||
settingsdialog/editorcodecompletionwidget.h \
|
settingsdialog/editorcodecompletionwidget.h \
|
||||||
settingsdialog/editormiscwidget.h \
|
settingsdialog/editormiscwidget.h \
|
||||||
|
settingsdialog/editorsnippetwidget.h \
|
||||||
settingsdialog/editortooltipswidget.h \
|
settingsdialog/editortooltipswidget.h \
|
||||||
settingsdialog/formattergeneralwidget.h \
|
settingsdialog/formattergeneralwidget.h \
|
||||||
settingsdialog/projectcompileparamaterswidget.h \
|
settingsdialog/projectcompileparamaterswidget.h \
|
||||||
|
@ -219,6 +221,7 @@ FORMS += \
|
||||||
settingsdialog/editorautosavewidget.ui \
|
settingsdialog/editorautosavewidget.ui \
|
||||||
settingsdialog/editorcodecompletionwidget.ui \
|
settingsdialog/editorcodecompletionwidget.ui \
|
||||||
settingsdialog/editormiscwidget.ui \
|
settingsdialog/editormiscwidget.ui \
|
||||||
|
settingsdialog/editorsnippetwidget.ui \
|
||||||
settingsdialog/editortooltipswidget.ui \
|
settingsdialog/editortooltipswidget.ui \
|
||||||
settingsdialog/formattergeneralwidget.ui \
|
settingsdialog/formattergeneralwidget.ui \
|
||||||
settingsdialog/projectcompileparamaterswidget.ui \
|
settingsdialog/projectcompileparamaterswidget.ui \
|
||||||
|
|
|
@ -49,8 +49,19 @@ void CodeSnippetsManager::save()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void CodeSnippetsManager::addSnippet(const QString &caption, const QString &prefix, const QString &code, const QString &description, int menuSection)
|
const QList<PCodeSnippet> &CodeSnippetsManager::snippets() const
|
||||||
{
|
{
|
||||||
|
return mSnippets;
|
||||||
|
}
|
||||||
|
|
||||||
|
void CodeSnippetsManager::setSnippets(const QList<PCodeSnippet> &newSnippets)
|
||||||
|
{
|
||||||
|
mSnippets = newSnippets;
|
||||||
|
}
|
||||||
|
|
||||||
|
void CodeSnippetsModel::addSnippet(const QString &caption, const QString &prefix, const QString &code, const QString &description, int menuSection)
|
||||||
|
{
|
||||||
|
beginInsertRows(QModelIndex(),mSnippets.count(),mSnippets.count());
|
||||||
PCodeSnippet snippet = std::make_shared<CodeSnippet>();
|
PCodeSnippet snippet = std::make_shared<CodeSnippet>();
|
||||||
snippet->caption = caption;
|
snippet->caption = caption;
|
||||||
snippet->prefix = prefix;
|
snippet->prefix = prefix;
|
||||||
|
@ -58,22 +69,22 @@ void CodeSnippetsManager::addSnippet(const QString &caption, const QString &pref
|
||||||
snippet->desc = description;
|
snippet->desc = description;
|
||||||
snippet->section = menuSection;
|
snippet->section = menuSection;
|
||||||
mSnippets.append(snippet);
|
mSnippets.append(snippet);
|
||||||
|
endInsertRows();
|
||||||
}
|
}
|
||||||
|
|
||||||
void CodeSnippetsManager::remove(int index)
|
void CodeSnippetsModel::remove(int index)
|
||||||
{
|
{
|
||||||
Q_ASSERT(index>=0 && index<mSnippets.count());
|
Q_ASSERT(index>=0 && index<mSnippets.count());
|
||||||
|
beginRemoveRows(QModelIndex(),index,index);
|
||||||
mSnippets.removeAt(index);
|
mSnippets.removeAt(index);
|
||||||
|
endRemoveRows();
|
||||||
}
|
}
|
||||||
|
|
||||||
void CodeSnippetsManager::clear()
|
void CodeSnippetsModel::clear()
|
||||||
{
|
{
|
||||||
|
beginRemoveRows(QModelIndex(),0,mSnippets.count()-1);
|
||||||
mSnippets.clear();
|
mSnippets.clear();
|
||||||
}
|
endRemoveRows();
|
||||||
|
|
||||||
const QList<PCodeSnippet> &CodeSnippetsManager::snippets() const
|
|
||||||
{
|
|
||||||
return mSnippets;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int CodeSnippetsModel::rowCount(const QModelIndex &parent) const
|
int CodeSnippetsModel::rowCount(const QModelIndex &parent) const
|
||||||
|
@ -86,9 +97,52 @@ int CodeSnippetsModel::columnCount(const QModelIndex &parent) const
|
||||||
return 4;
|
return 4;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QVariant CodeSnippetsModel::data(const QModelIndex &index, int role) const
|
||||||
|
{
|
||||||
|
if (!index.isValid()) {
|
||||||
|
return QVariant();
|
||||||
|
}
|
||||||
|
if (role==Qt::DisplayRole) {
|
||||||
|
int row = index.row();
|
||||||
|
PCodeSnippet snippet = mSnippets[row];
|
||||||
|
switch(index.column()) {
|
||||||
|
case 0:
|
||||||
|
return snippet->caption;
|
||||||
|
case 1:
|
||||||
|
return snippet->prefix;
|
||||||
|
case 2:
|
||||||
|
return snippet->desc;
|
||||||
|
case 3:
|
||||||
|
return snippet->section;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return QVariant();
|
||||||
|
}
|
||||||
|
|
||||||
bool CodeSnippetsModel::setData(const QModelIndex &index, const QVariant &value, int role)
|
bool CodeSnippetsModel::setData(const QModelIndex &index, const QVariant &value, int role)
|
||||||
{
|
{
|
||||||
|
if (!index.isValid()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (role==Qt::EditRole) {
|
||||||
|
int row = index.row();
|
||||||
|
PCodeSnippet snippet = mSnippets[row];
|
||||||
|
switch(index.column()) {
|
||||||
|
case 0:
|
||||||
|
snippet->caption = value.toString();
|
||||||
|
return true;
|
||||||
|
case 1:
|
||||||
|
snippet->prefix = value.toString();
|
||||||
|
return true;
|
||||||
|
case 2:
|
||||||
|
snippet->desc = value.toString();
|
||||||
|
return true;
|
||||||
|
case 3:
|
||||||
|
snippet->section = value.toInt();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
QVariant CodeSnippetsModel::headerData(int section, Qt::Orientation orientation, int role) const
|
QVariant CodeSnippetsModel::headerData(int section, Qt::Orientation orientation, int role) const
|
||||||
|
@ -107,3 +161,20 @@ QVariant CodeSnippetsModel::headerData(int section, Qt::Orientation orientation,
|
||||||
}
|
}
|
||||||
return QVariant();
|
return QVariant();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Qt::ItemFlags CodeSnippetsModel::flags(const QModelIndex &) const
|
||||||
|
{
|
||||||
|
return Qt::ItemIsEditable | Qt::ItemIsEnabled | Qt::ItemIsSelectable;
|
||||||
|
}
|
||||||
|
|
||||||
|
const QList<PCodeSnippet> &CodeSnippetsModel::snippets() const
|
||||||
|
{
|
||||||
|
return mSnippets;
|
||||||
|
}
|
||||||
|
|
||||||
|
void CodeSnippetsModel::updateSnippets(const QList<PCodeSnippet> &snippets)
|
||||||
|
{
|
||||||
|
beginResetModel();
|
||||||
|
mSnippets = snippets;
|
||||||
|
endResetModel();
|
||||||
|
}
|
||||||
|
|
|
@ -3,6 +3,34 @@
|
||||||
|
|
||||||
#include <QObject>
|
#include <QObject>
|
||||||
#include "parser/parserutils.h"
|
#include "parser/parserutils.h"
|
||||||
|
#include <QAbstractListModel>
|
||||||
|
|
||||||
|
class CodeSnippetsModel: public QAbstractListModel {
|
||||||
|
Q_OBJECT
|
||||||
|
public:
|
||||||
|
void addSnippet(
|
||||||
|
const QString& caption,
|
||||||
|
const QString& prefix,
|
||||||
|
const QString& code,
|
||||||
|
const QString& description,
|
||||||
|
int menuSection);
|
||||||
|
void remove(int index);
|
||||||
|
void clear();
|
||||||
|
|
||||||
|
// QAbstractItemModel interface
|
||||||
|
public:
|
||||||
|
int rowCount(const QModelIndex &parent) const override;
|
||||||
|
int columnCount(const QModelIndex &parent) const override;
|
||||||
|
QVariant data(const QModelIndex &index, int role) const override;
|
||||||
|
bool setData(const QModelIndex &index, const QVariant &value, int role) override;
|
||||||
|
QVariant headerData(int section, Qt::Orientation orientation, int role) const override;
|
||||||
|
Qt::ItemFlags flags(const QModelIndex &index) const override;
|
||||||
|
const QList<PCodeSnippet> &snippets() const;
|
||||||
|
void updateSnippets(const QList<PCodeSnippet>& snippets);
|
||||||
|
|
||||||
|
private:
|
||||||
|
QList<PCodeSnippet> mSnippets;
|
||||||
|
};
|
||||||
|
|
||||||
class CodeSnippetsManager : public QObject
|
class CodeSnippetsManager : public QObject
|
||||||
{
|
{
|
||||||
|
@ -12,21 +40,16 @@ public:
|
||||||
|
|
||||||
void load();
|
void load();
|
||||||
void save();
|
void save();
|
||||||
void addSnippet(
|
|
||||||
const QString& caption,
|
|
||||||
const QString& prefix,
|
|
||||||
const QString& code,
|
|
||||||
const QString& description,
|
|
||||||
int menuSection);
|
|
||||||
void remove(int index);
|
|
||||||
void clear();
|
|
||||||
const QList<PCodeSnippet> &snippets() const;
|
const QList<PCodeSnippet> &snippets() const;
|
||||||
|
|
||||||
|
void setSnippets(const QList<PCodeSnippet> &newSnippets);
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QList<PCodeSnippet> mSnippets;
|
QList<PCodeSnippet> mSnippets;
|
||||||
|
|
||||||
private:
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
using PCodeSnippetManager = std::shared_ptr<CodeSnippetsManager>;
|
||||||
|
|
||||||
#endif // CODESNIPPETSMANAGER_H
|
#endif // CODESNIPPETSMANAGER_H
|
||||||
|
|
|
@ -125,6 +125,8 @@ MainWindow::MainWindow(QWidget *parent)
|
||||||
|
|
||||||
mSymbolUsageManager = std::make_shared<SymbolUsageManager>();
|
mSymbolUsageManager = std::make_shared<SymbolUsageManager>();
|
||||||
mSymbolUsageManager->load();
|
mSymbolUsageManager->load();
|
||||||
|
mCodeSnippetManager = std::make_shared<CodeSnippetsManager>();
|
||||||
|
mCodeSnippetManager->load();
|
||||||
mSearchResultTreeModel = std::make_shared<SearchResultTreeModel>(&mSearchResultModel);
|
mSearchResultTreeModel = std::make_shared<SearchResultTreeModel>(&mSearchResultModel);
|
||||||
mSearchResultListModel = std::make_shared<SearchResultListModel>(&mSearchResultModel);
|
mSearchResultListModel = std::make_shared<SearchResultListModel>(&mSearchResultModel);
|
||||||
mSearchViewDelegate = std::make_shared<SearchResultTreeViewDelegate>(mSearchResultTreeModel);
|
mSearchViewDelegate = std::make_shared<SearchResultTreeViewDelegate>(mSearchResultTreeModel);
|
||||||
|
@ -3748,6 +3750,11 @@ void MainWindow::on_classBrowser_doubleClicked(const QModelIndex &index)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
PCodeSnippetManager &MainWindow::codeSnippetManager()
|
||||||
|
{
|
||||||
|
return mCodeSnippetManager;
|
||||||
|
}
|
||||||
|
|
||||||
PSymbolUsageManager &MainWindow::symbolUsageManager()
|
PSymbolUsageManager &MainWindow::symbolUsageManager()
|
||||||
{
|
{
|
||||||
return mSymbolUsageManager;
|
return mSymbolUsageManager;
|
||||||
|
|
|
@ -12,6 +12,7 @@
|
||||||
#include "widgets/functiontooltipwidget.h"
|
#include "widgets/functiontooltipwidget.h"
|
||||||
#include "caretlist.h"
|
#include "caretlist.h"
|
||||||
#include "symbolusagemanager.h"
|
#include "symbolusagemanager.h"
|
||||||
|
#include "codesnippetsmanager.h"
|
||||||
|
|
||||||
QT_BEGIN_NAMESPACE
|
QT_BEGIN_NAMESPACE
|
||||||
namespace Ui { class MainWindow; }
|
namespace Ui { class MainWindow; }
|
||||||
|
@ -116,6 +117,8 @@ public:
|
||||||
|
|
||||||
PSymbolUsageManager &symbolUsageManager();
|
PSymbolUsageManager &symbolUsageManager();
|
||||||
|
|
||||||
|
PCodeSnippetManager &codeSnippetManager();
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void onCompileLog(const QString& msg);
|
void onCompileLog(const QString& msg);
|
||||||
void onCompileIssue(PCompileIssue issue);
|
void onCompileIssue(PCompileIssue issue);
|
||||||
|
@ -383,6 +386,7 @@ private:
|
||||||
ClassBrowserModel mClassBrowserModel;
|
ClassBrowserModel mClassBrowserModel;
|
||||||
std::shared_ptr<QHash<StatementKind, QColor>> mStatementColors;
|
std::shared_ptr<QHash<StatementKind, QColor>> mStatementColors;
|
||||||
PSymbolUsageManager mSymbolUsageManager;
|
PSymbolUsageManager mSymbolUsageManager;
|
||||||
|
PCodeSnippetManager mCodeSnippetManager;
|
||||||
|
|
||||||
bool mCheckSyntaxInBack;
|
bool mCheckSyntaxInBack;
|
||||||
bool mOpenClosingBottomPanel;
|
bool mOpenClosingBottomPanel;
|
||||||
|
|
|
@ -13,7 +13,7 @@ struct CodeSnippet {
|
||||||
int section; //Section in the menu
|
int section; //Section in the menu
|
||||||
};
|
};
|
||||||
|
|
||||||
using PCodeIns = std::shared_ptr<CodeSnippet>;
|
using PCodeSnippet = std::shared_ptr<CodeSnippet>;
|
||||||
|
|
||||||
// preprocess/ macro define
|
// preprocess/ macro define
|
||||||
struct Define {
|
struct Define {
|
||||||
|
|
|
@ -0,0 +1,70 @@
|
||||||
|
#include "editorsnippetwidget.h"
|
||||||
|
#include "ui_editorsnippetwidget.h"
|
||||||
|
#include "../mainwindow.h"
|
||||||
|
#include "../codesnippetsmanager.h"
|
||||||
|
|
||||||
|
EditorSnippetWidget::EditorSnippetWidget(const QString& name, const QString& group,
|
||||||
|
QWidget *parent) :
|
||||||
|
SettingsWidget(name,group,parent),
|
||||||
|
ui(new Ui::EditorSnippetWidget)
|
||||||
|
{
|
||||||
|
mUpdatingCode = false;
|
||||||
|
ui->setupUi(this);
|
||||||
|
ui->tblSnippets->setModel(&mModel);
|
||||||
|
connect(ui->editCode, &Editor::changed,
|
||||||
|
[this] {
|
||||||
|
if (mUpdatingCode)
|
||||||
|
return;
|
||||||
|
QModelIndex index = ui->tblSnippets->currentIndex();
|
||||||
|
if (!index.isValid())
|
||||||
|
return;
|
||||||
|
PCodeSnippet snippet = mModel.snippets()[index.row()];
|
||||||
|
snippet->code = ui->editCode->lines()->text();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
EditorSnippetWidget::~EditorSnippetWidget()
|
||||||
|
{
|
||||||
|
delete ui;
|
||||||
|
}
|
||||||
|
|
||||||
|
void EditorSnippetWidget::doLoad()
|
||||||
|
{
|
||||||
|
mModel.updateSnippets(pMainWindow->codeSnippetManager()->snippets());
|
||||||
|
}
|
||||||
|
|
||||||
|
void EditorSnippetWidget::doSave()
|
||||||
|
{
|
||||||
|
pMainWindow->codeSnippetManager()->setSnippets(mModel.snippets());
|
||||||
|
pMainWindow->codeSnippetManager()->save();
|
||||||
|
}
|
||||||
|
|
||||||
|
void EditorSnippetWidget::on_tblSnippets_clicked(const QModelIndex &index)
|
||||||
|
{
|
||||||
|
if (!index.isValid())
|
||||||
|
return;
|
||||||
|
mUpdatingCode = true;
|
||||||
|
PCodeSnippet snippet = mModel.snippets()[index.row()];
|
||||||
|
ui->editCode->lines()->setText(snippet->code);
|
||||||
|
mUpdatingCode = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void EditorSnippetWidget::on_btnAdd_triggered(QAction *arg1)
|
||||||
|
{
|
||||||
|
mModel.addSnippet(QString("Code %1").arg(getNewFileNumber()),
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
-1);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void EditorSnippetWidget::on_btnRemove_triggered(QAction *arg1)
|
||||||
|
{
|
||||||
|
QModelIndex index = ui->tblSnippets->currentIndex();
|
||||||
|
if (!index.isValid())
|
||||||
|
return;
|
||||||
|
mModel.remove(index.row());
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,35 @@
|
||||||
|
#ifndef EDITORSNIPPETWIDGET_H
|
||||||
|
#define EDITORSNIPPETWIDGET_H
|
||||||
|
|
||||||
|
#include <QWidget>
|
||||||
|
#include "settingswidget.h"
|
||||||
|
#include "../codesnippetsmanager.h"
|
||||||
|
|
||||||
|
namespace Ui {
|
||||||
|
class EditorSnippetWidget;
|
||||||
|
}
|
||||||
|
|
||||||
|
class EditorSnippetWidget : public SettingsWidget
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
explicit EditorSnippetWidget(const QString& name, const QString& group, QWidget *parent = nullptr);
|
||||||
|
~EditorSnippetWidget();
|
||||||
|
|
||||||
|
private:
|
||||||
|
Ui::EditorSnippetWidget *ui;
|
||||||
|
CodeSnippetsModel mModel;
|
||||||
|
private:
|
||||||
|
bool mUpdatingCode;
|
||||||
|
// SettingsWidget interface
|
||||||
|
protected:
|
||||||
|
void doLoad() override;
|
||||||
|
void doSave() override;
|
||||||
|
private slots:
|
||||||
|
void on_tblSnippets_clicked(const QModelIndex &index);
|
||||||
|
void on_btnAdd_triggered(QAction *arg1);
|
||||||
|
void on_btnRemove_triggered(QAction *arg1);
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // EDITORSNIPPETWIDGET_H
|
|
@ -0,0 +1,94 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>EditorSnippetWidget</class>
|
||||||
|
<widget class="QWidget" name="EditorSnippetWidget">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>932</width>
|
||||||
|
<height>574</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string>Form</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QSplitter" name="splitter">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Vertical</enum>
|
||||||
|
</property>
|
||||||
|
<widget class="QWidget" name="widget" native="true">
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||||
|
<item>
|
||||||
|
<widget class="QTableView" name="tblSnippets"/>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QWidget" name="widget_2" native="true">
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QToolButton" name="btnAdd">
|
||||||
|
<property name="text">
|
||||||
|
<string>Add</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../icons.qrc">
|
||||||
|
<normaloff>:/icons/images/newlook24/002-add.png</normaloff>:/icons/images/newlook24/002-add.png</iconset>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QToolButton" name="btnRemove">
|
||||||
|
<property name="text">
|
||||||
|
<string>Remove</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../icons.qrc">
|
||||||
|
<normaloff>:/icons/images/newlook24/008-close.png</normaloff>:/icons/images/newlook24/008-close.png</iconset>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<spacer name="verticalSpacer">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Vertical</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>159</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<widget class="Editor" name="editCode">
|
||||||
|
<property name="frameShape">
|
||||||
|
<enum>QFrame::StyledPanel</enum>
|
||||||
|
</property>
|
||||||
|
<property name="frameShadow">
|
||||||
|
<enum>QFrame::Raised</enum>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<customwidgets>
|
||||||
|
<customwidget>
|
||||||
|
<class>Editor</class>
|
||||||
|
<extends>QFrame</extends>
|
||||||
|
<header location="global">editor.h</header>
|
||||||
|
<container>1</container>
|
||||||
|
</customwidget>
|
||||||
|
</customwidgets>
|
||||||
|
<resources>
|
||||||
|
<include location="../icons.qrc"/>
|
||||||
|
</resources>
|
||||||
|
<connections/>
|
||||||
|
</ui>
|
|
@ -12,6 +12,7 @@
|
||||||
#include "editorsymbolcompletionwidget.h"
|
#include "editorsymbolcompletionwidget.h"
|
||||||
#include "editortooltipswidget.h"
|
#include "editortooltipswidget.h"
|
||||||
#include "editorautosavewidget.h"
|
#include "editorautosavewidget.h"
|
||||||
|
#include "editorsnippetwidget.h"
|
||||||
#include "editormiscwidget.h"
|
#include "editormiscwidget.h"
|
||||||
#include "environmentappearencewidget.h"
|
#include "environmentappearencewidget.h"
|
||||||
#include "executorgeneralwidget.h"
|
#include "executorgeneralwidget.h"
|
||||||
|
@ -126,6 +127,10 @@ PSettingsDialog SettingsDialog::optionDialog()
|
||||||
widget->init();
|
widget->init();
|
||||||
dialog->addWidget(widget);
|
dialog->addWidget(widget);
|
||||||
|
|
||||||
|
widget = new EditorSnippetWidget(tr("Snippet"),tr("Editor"));
|
||||||
|
widget->init();
|
||||||
|
dialog->addWidget(widget);
|
||||||
|
|
||||||
widget = new EditorSyntaxCheckWidget(tr("Auto Syntax Checking"),tr("Editor"));
|
widget = new EditorSyntaxCheckWidget(tr("Auto Syntax Checking"),tr("Editor"));
|
||||||
widget->init();
|
widget->init();
|
||||||
dialog->addWidget(widget);
|
dialog->addWidget(widget);
|
||||||
|
|
|
@ -471,7 +471,7 @@ void CodeCompletionPopup::getCompletionFor(const QString &fileName, const QStrin
|
||||||
|
|
||||||
if (mShowCodeIns) {
|
if (mShowCodeIns) {
|
||||||
//add custom code templates
|
//add custom code templates
|
||||||
foreach (const PCodeIns& codeIn,mCodeInsList) {
|
foreach (const PCodeSnippet& codeIn,mCodeInsList) {
|
||||||
PStatement statement = std::make_shared<Statement>();
|
PStatement statement = std::make_shared<Statement>();
|
||||||
statement->command = codeIn->prefix;
|
statement->command = codeIn->prefix;
|
||||||
statement->kind = StatementKind::skUserCodeIn;
|
statement->kind = StatementKind::skUserCodeIn;
|
||||||
|
|
|
@ -77,7 +77,7 @@ private:
|
||||||
private:
|
private:
|
||||||
CodeCompletionListView * mListView;
|
CodeCompletionListView * mListView;
|
||||||
CodeCompletionListModel* mModel;
|
CodeCompletionListModel* mModel;
|
||||||
QList<PCodeIns> mCodeInsList; //(Code template list)
|
QList<PCodeSnippet> mCodeInsList; //(Code template list)
|
||||||
//QList<PStatement> mCodeInsStatements; //temporary (user code template) statements created when show code suggestion
|
//QList<PStatement> mCodeInsStatements; //temporary (user code template) statements created when show code suggestion
|
||||||
StatementList mFullCompletionStatementList;
|
StatementList mFullCompletionStatementList;
|
||||||
StatementList mCompletionStatementList;
|
StatementList mCompletionStatementList;
|
||||||
|
|
Loading…
Reference in New Issue