diff options
Diffstat (limited to 'SQLiteStudio3/guiSQLiteStudio/completer/completerwindow.h')
| -rw-r--r-- | SQLiteStudio3/guiSQLiteStudio/completer/completerwindow.h | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/SQLiteStudio3/guiSQLiteStudio/completer/completerwindow.h b/SQLiteStudio3/guiSQLiteStudio/completer/completerwindow.h index ec7256c..6e1f087 100644 --- a/SQLiteStudio3/guiSQLiteStudio/completer/completerwindow.h +++ b/SQLiteStudio3/guiSQLiteStudio/completer/completerwindow.h @@ -10,27 +10,37 @@ namespace Ui { class CompleterWindow; } - +class QListWidgetItem; +class QSignalMapper; class CompleterModel; class QSizeGrip; class SqlEditor; +class QShortcut; class GUI_API_EXPORT CompleterWindow : public QDialog { Q_OBJECT public: + enum Mode + { + CODE, + SNIPPETS + }; + explicit CompleterWindow(SqlEditor* parent = 0); ~CompleterWindow(); void reset(); void setData(const CompletionHelper::Results& completionResults); void setDb(Db* db); - ExpectedTokenPtr getSelected(); + ExpectedTokenPtr getSelected() const; int getNumberOfCharsToRemove(); void shringFilterBy(int chars); void extendFilterBy(const QString& text); bool immediateResolution(); + Mode getMode() const; + QString getSnippetName() const; protected: void changeEvent(QEvent *e); @@ -42,6 +52,7 @@ class GUI_API_EXPORT CompleterWindow : public QDialog QString getStatusMsg(const QModelIndex& index); void updateFilter(); void init(); + void refreshSnippets(); Ui::CompleterWindow *ui = nullptr; CompleterModel* model = nullptr; @@ -49,11 +60,17 @@ class GUI_API_EXPORT CompleterWindow : public QDialog QString filter; Db* db = nullptr; bool wrappedFilter = false; + QShortcut* modeChangeShortcut = nullptr; + QList<QShortcut*> snippetShortcuts; + QSignalMapper* snippetSignalMapper = nullptr; private slots: void focusOut(); void doubleClicked(const QModelIndex& index); void currentRowChanged(const QModelIndex& current, const QModelIndex& previous); + void modeChangeRequested(); + void snippetHotkeyPressed(int index); + void snippetDoubleClicked(QListWidgetItem* item); signals: void textTyped(const QString& text); |
