aboutsummaryrefslogtreecommitdiff
path: root/src/qt
diff options
context:
space:
mode:
authorJonas Schnelli <dev@jonasschnelli.ch>2019-10-10 09:03:31 +0200
committerJonas Schnelli <dev@jonasschnelli.ch>2019-10-10 09:03:44 +0200
commit5cb1d938a1c929b861243fa25747355f40bf3399 (patch)
tree648d38cbc8b28ea7ee4fcb0c4c0c033a48765ac7 /src/qt
parentb265ffe32371fb74b2c153dee5f75ffb09a7124f (diff)
parent091747b46ecf06244ce2650028f1833b2e7c5062 (diff)
downloadbitcoin-5cb1d938a1c929b861243fa25747355f40bf3399.tar.xz
Merge #15756: gui: Add shortcuts for tab tools
091747b46ecf06244ce2650028f1833b2e7c5062 gui: Add shortcuts for tab tools (João Barbosa) Pull request description: This makes accessing the RPC console very fast/easy. It also improves accessibility. <img width="234" alt="Screenshot 2019-10-02 at 01 30 53" src="https://user-images.githubusercontent.com/3534524/66009867-50104300-e4b4-11e9-90b5-6b8dc961a8a1.png"> ACKs for top commit: jonasschnelli: Tested ACK 091747b46ecf06244ce2650028f1833b2e7c5062 - this is an improvment. Further solutions to solve the interference between the console and the shortcuts (if possible) can be done upstream (Qt) or with another PR. Tree-SHA512: 6b8bc07e8a3a75e53c05f0fdb73458d75ef025f950569e885e655de53fdac8b91dcabfb1c6e643b1d23065420fa2701847c00cc1718bc188778640aefb5bcbd8
Diffstat (limited to 'src/qt')
-rw-r--r--src/qt/bitcoingui.cpp1
-rw-r--r--src/qt/rpcconsole.cpp10
-rw-r--r--src/qt/rpcconsole.h1
3 files changed, 12 insertions, 0 deletions
diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp
index 948b64ba02..2878a8eb14 100644
--- a/src/qt/bitcoingui.cpp
+++ b/src/qt/bitcoingui.cpp
@@ -493,6 +493,7 @@ void BitcoinGUI::createMenuBar()
window_menu->addSeparator();
for (RPCConsole::TabTypes tab_type : rpcConsole->tabs()) {
QAction* tab_action = window_menu->addAction(rpcConsole->tabTitle(tab_type));
+ tab_action->setShortcut(rpcConsole->tabShortcut(tab_type));
connect(tab_action, &QAction::triggered, [this, tab_type] {
rpcConsole->setTabFocus(tab_type);
showDebugWindow();
diff --git a/src/qt/rpcconsole.cpp b/src/qt/rpcconsole.cpp
index eccc34e12f..4f6629bfe1 100644
--- a/src/qt/rpcconsole.cpp
+++ b/src/qt/rpcconsole.cpp
@@ -1276,6 +1276,16 @@ QString RPCConsole::tabTitle(TabTypes tab_type) const
return ui->tabWidget->tabText(tab_type);
}
+QKeySequence RPCConsole::tabShortcut(TabTypes tab_type) const
+{
+ switch (tab_type) {
+ case TAB_INFO: return QKeySequence(Qt::CTRL + Qt::Key_I);
+ case TAB_CONSOLE: return QKeySequence(Qt::CTRL + Qt::Key_T);
+ case TAB_GRAPH: return QKeySequence(Qt::CTRL + Qt::Key_N);
+ case TAB_PEERS: return QKeySequence(Qt::CTRL + Qt::Key_P);
+ }
+}
+
void RPCConsole::updateAlerts(const QString& warnings)
{
this->ui->label_alerts->setVisible(!warnings.isEmpty());
diff --git a/src/qt/rpcconsole.h b/src/qt/rpcconsole.h
index 3f7a74ba03..6b0f07baf1 100644
--- a/src/qt/rpcconsole.h
+++ b/src/qt/rpcconsole.h
@@ -68,6 +68,7 @@ public:
std::vector<TabTypes> tabs() const { return {TAB_INFO, TAB_CONSOLE, TAB_GRAPH, TAB_PEERS}; }
QString tabTitle(TabTypes tab_type) const;
+ QKeySequence tabShortcut(TabTypes tab_type) const;
protected:
virtual bool eventFilter(QObject* obj, QEvent *event);