diff options
| author | 2023-04-30 18:30:36 -0400 | |
|---|---|---|
| committer | 2023-04-30 18:30:36 -0400 | |
| commit | 3565aad630864ecdbe53fdaa501ea708555b3c7c (patch) | |
| tree | c743e4ad0bad39ebdb2f514c7cc52d34a257ebbe /SQLiteStudio3/guiSQLiteStudio/completer/completerwindow.h | |
| parent | 1fdc150116cad39aae5c5da407c3312b47a59e3a (diff) | |
New upstream version 3.4.4+dfsg.upstream/3.4.4+dfsg
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); |
