Skip to content

Commit 7db2a11

Browse files
authored
feat: Add some shortcuts (#676)
* refact: modify the default shortcut storage structure * feat: add some shortcut
1 parent 51a1b18 commit 7db2a11

4 files changed

Lines changed: 616 additions & 302 deletions

File tree

src/settings/include/shortcuts.h

Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,10 @@ class QShortcut;
3131

3232
struct ShortcutAction {
3333
static constexpr auto CrawlerChangeVisibilityForward = "crawler.change_visibility_type";
34-
static constexpr auto CrawlerChangeVisibilityBackward = "crawler.change_visibility_type_backward";
35-
static constexpr auto CrawlerChangeVisibilityToMarksAndMatches = "crawler.change_visibility_to_marks_and_matches";
34+
static constexpr auto CrawlerChangeVisibilityBackward
35+
= "crawler.change_visibility_type_backward";
36+
static constexpr auto CrawlerChangeVisibilityToMarksAndMatches
37+
= "crawler.change_visibility_to_marks_and_matches";
3638
static constexpr auto CrawlerChangeVisibilityToMarks = "crawler.change_visibility_to_marks";
3739
static constexpr auto CrawlerChangeVisibilityToMatches = "crawler.change_visibility_to_matches";
3840
static constexpr auto CrawlerIncreseTopViewSize = "crawler.increase_top_view_size";
@@ -52,6 +54,10 @@ struct ShortcutAction {
5254
static constexpr auto MainWindowCloseFile = "mainwindow.close_file";
5355
static constexpr auto MainWindowCloseAll = "mainwindow.close_all";
5456
static constexpr auto MainWindowQuit = "mainwindow.quit";
57+
static constexpr auto MainWindowFullScreen = "mainwindow.fullscreen";
58+
static constexpr auto MainWindowMax = "mainwindow.max_window";
59+
static constexpr auto MainWindowMin = "mainwindow.min_window";
60+
static constexpr auto MainWindowPreference = "mainwindow.preference";
5561
static constexpr auto MainWindowCopy = "mainwindow.copy_selection";
5662
static constexpr auto MainWindowSelectAll = "mainwindow.select_all";
5763
static constexpr auto MainWindowOpenQf = "mainwindow.open_qf";
@@ -110,21 +116,28 @@ struct ShortcutAction {
110116
static constexpr auto LogViewAddNextColorLabel = "logview.add_next_color_label";
111117

112118
static constexpr auto LogViewSendSelectionToScratchpad = "logview.send_selection_to_scratchpad";
113-
static constexpr auto LogViewReplaceScratchpadWithSelection = "logview.replace_scratchpad_with_selection";
119+
static constexpr auto LogViewReplaceScratchpadWithSelection
120+
= "logview.replace_scratchpad_with_selection";
114121

115122
static constexpr auto LogViewAddToSearch = "logview.add_to_search";
116123
static constexpr auto LogViewExcludeFromSearch = "logview.exclude_from_search";
117124
static constexpr auto LogViewReplaceSearch = "logview.replace_search";
118125
static constexpr auto LogViewSelectLinesUp = "logview.select_lines_up";
119126
static constexpr auto LogViewSelectLinesDown = "logview.select_lines_down";
120-
121-
static const std::map<std::string, QStringList>& defaultShortcuts();
122127

123-
static QStringList defaultShortcuts( const std::string& action );
128+
private:
129+
struct ShortcutDesc {
130+
QString name;
131+
QStringList keySequence;
132+
};
124133

125-
static QString actionName( const std::string& action );
134+
public:
135+
using Shortcut = ShortcutDesc;
136+
using ShortcutList = std::map<std::string, Shortcut>; // <action, shortcut>
137+
using ConfiguredShortcuts = std::map<std::string, QStringList>; // <action,keySequence>
138+
139+
static const ShortcutList& defaultShortcutList();
126140

127-
using ConfiguredShortcuts = std::map<std::string, QStringList>;
128141
static void registerShortcut( const ConfiguredShortcuts& configuredShortcuts,
129142
std::map<QString, QShortcut*>& shortcutsStorage,
130143
QWidget* shortcutsParent, Qt::ShortcutContext context,
@@ -137,6 +150,9 @@ struct ShortcutAction {
137150

138151
static QList<QKeySequence> shortcutKeys( const std::string& action,
139152
const ConfiguredShortcuts& configuredShortcuts );
153+
154+
private:
155+
static QStringList defaultShortcutKeys( const std::string& action );
140156
};
141157

142158
#endif

0 commit comments

Comments
 (0)