diff --git a/src/qt/forms/debugwindow.ui b/src/qt/forms/debugwindow.ui index 21968010230..9363aceced1 100644 --- a/src/qt/forms/debugwindow.ui +++ b/src/qt/forms/debugwindow.ui @@ -6,8 +6,8 @@ 0 0 - 740 - 430 + 777 + 451 @@ -36,7 +36,7 @@ - 0 + 2 @@ -623,6 +623,186 @@ 0 + + + + + Qt::Horizontal + + + + 985 + 20 + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + 184 + 70 + + + + false + + + background-color:rgba(106,106,106);border-radius:5px; + + + + + + + + + 20 + 5 + + + + + 20 + 5 + + + + false + + + background-color:rgba(255,0,0,255) + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + + + + 57 + 20 + + + + color:white; + + + Sent + + + + + + + + 57 + 20 + + + + color:white; + + + ### MB + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + + + + + 20 + 5 + + + + + 12 + 5 + + + + background-color:rgba(0,255,0,255) + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + + + + 57 + 20 + + + + false + + + color:white; + + + Received + + + + + + + + 57 + 20 + + + + color:white; + + + ### MB + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + + @@ -673,192 +853,6 @@ - - - - - - Totals - - - - - - - - - 0 - 0 - - - - - 10 - 0 - - - - - - - - - 0 - 255 - 0 - - - - - - - - - 0 - 255 - 0 - - - - - - - - - 0 - 255 - 0 - - - - - - - - Qt::Horizontal - - - - - - - Received - - - - - - - - 50 - 0 - - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - - - - - - 0 - 0 - - - - - 10 - 0 - - - - - - - - - 255 - 0 - 0 - - - - - - - - - 255 - 0 - 0 - - - - - - - - - 255 - 0 - 0 - - - - - - - - Qt::Horizontal - - - - - - - Sent - - - - - - - - 50 - 0 - - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - - - Qt::Vertical - - - - 20 - 407 - - - - - - - - - @@ -1030,8 +1024,8 @@ 0 0 - 300 - 426 + 274 + 688 diff --git a/src/qt/rpcconsole.cpp b/src/qt/rpcconsole.cpp index c5e5e69df6a..45e1a51ceeb 100644 --- a/src/qt/rpcconsole.cpp +++ b/src/qt/rpcconsole.cpp @@ -561,6 +561,7 @@ RPCConsole::RPCConsole(interfaces::Node& node, const PlatformStyle *_platformSty connect(ui->fontBiggerButton, &QAbstractButton::clicked, this, &RPCConsole::fontBigger); connect(ui->fontSmallerButton, &QAbstractButton::clicked, this, &RPCConsole::fontSmaller); connect(ui->btnClearTrafficGraph, &QPushButton::clicked, ui->trafficGraph, &TrafficGraphWidget::clear); + connect(ui->trafficGraph, &TrafficGraphWidget::trafficGraphClicked, this, &RPCConsole::onTrafficGraphClicked); // disable the wallet selector by default ui->WalletSelector->setVisible(false); @@ -649,6 +650,19 @@ bool RPCConsole::eventFilter(QObject* obj, QEvent *event) return QWidget::eventFilter(obj, event); } +void RPCConsole::onTrafficGraphClicked() +{ + if (ui->trafficGraph->panelToggle){ + ui->sldGraphRange->hide(); + ui->lblGraphRange->hide(); + ui->btnClearTrafficGraph->hide(); + }else{ + ui->sldGraphRange->show(); + ui->lblGraphRange->show(); + ui->btnClearTrafficGraph->show(); + } +} + void RPCConsole::setClientModel(ClientModel *model, int bestblock_height, int64_t bestblock_date, double verification_progress) { clientModel = model; @@ -1228,6 +1242,15 @@ void RPCConsole::updateDetailWidget() void RPCConsole::resizeEvent(QResizeEvent *event) { QWidget::resizeEvent(event); + if (height()==minimumHeight()){ + ui->sldGraphRange->hide(); + ui->lblGraphRange->hide(); + ui->btnClearTrafficGraph->hide(); + }else{ + ui->sldGraphRange->show(); + ui->lblGraphRange->show(); + ui->btnClearTrafficGraph->show(); + } } void RPCConsole::showEvent(QShowEvent *event) @@ -1366,4 +1389,4 @@ void RPCConsole::updateAlerts(const QString& warnings) { this->ui->label_alerts->setVisible(!warnings.isEmpty()); this->ui->label_alerts->setText(warnings); -} +} \ No newline at end of file diff --git a/src/qt/rpcconsole.h b/src/qt/rpcconsole.h index 528e2bef7d5..eefdfb85b0e 100644 --- a/src/qt/rpcconsole.h +++ b/src/qt/rpcconsole.h @@ -128,6 +128,7 @@ public Q_SLOTS: void unbanSelectedNode(); /** set which tab has the focus (is visible) */ void setTabFocus(enum TabTypes tabType); + void onTrafficGraphClicked(); Q_SIGNALS: // For RPC command executor diff --git a/src/qt/trafficgraphwidget.cpp b/src/qt/trafficgraphwidget.cpp index aebd44d5f7c..d83f8c70c4e 100644 --- a/src/qt/trafficgraphwidget.cpp +++ b/src/qt/trafficgraphwidget.cpp @@ -160,6 +160,15 @@ void TrafficGraphWidget::setGraphRange(std::chrono::minutes new_range) clear(); } +void TrafficGraphWidget::mouseReleaseEvent(QMouseEvent *event) +{ + QWidget::mousePressEvent(event); + panelToggle = !panelToggle; + Q_EMIT trafficGraphClicked(this, event, panelToggle); + LogPrintf("%s panelToggle = %s\n", __func__, panelToggle); + update(); +} + void TrafficGraphWidget::clear() { timer->stop(); diff --git a/src/qt/trafficgraphwidget.h b/src/qt/trafficgraphwidget.h index a40b7345403..e8b097cfc72 100644 --- a/src/qt/trafficgraphwidget.h +++ b/src/qt/trafficgraphwidget.h @@ -25,6 +25,7 @@ class TrafficGraphWidget : public QWidget explicit TrafficGraphWidget(QWidget *parent = nullptr); void setClientModel(ClientModel *model); std::chrono::minutes getGraphRange() const; + bool panelToggle = false; protected: void paintEvent(QPaintEvent *) override; @@ -32,8 +33,12 @@ class TrafficGraphWidget : public QWidget public Q_SLOTS: void updateRates(); void setGraphRange(std::chrono::minutes new_range); + void mouseReleaseEvent(QMouseEvent *event) override; void clear(); +Q_SIGNALS: + void trafficGraphClicked(QWidget*, QMouseEvent *event, bool panelToggle); + private: void paintPath(QPainterPath &path, QQueue &samples);