Skip to content

Commit

Permalink
Merge #18036: gui: Break trivial circular dependencies
Browse files Browse the repository at this point in the history
3aee10b gui: Drop ShutdownWindow dependency to BitcoinGUI (João Barbosa)
61eb058 gui: Drop BanTableModel dependency to ClientModel (João Barbosa)

Pull request description:

  `ShutdownWindow::showShutdownWindow` just needs a widget to center the shutdown window and to borrow its title.

ACKs for top commit:
  hebasto:
    ACK 3aee10b, since previous review only suggested change `QWidget` --> `QMainWindow`
  jonasschnelli:
    utACK 3aee10b

Tree-SHA512: e15cb6ee274730bd071d3d97b540c5059e5c655248d69a37c3fd00f2aacc6cfcb36b9a65755718027e15482ec8e5e85534c1dc13d0ddb4e0680df03fbf6571f2
  • Loading branch information
jonasschnelli committed Feb 1, 2020
2 parents d104aa0 + 3aee10b commit cadb9d3
Show file tree
Hide file tree
Showing 5 changed files with 15 additions and 19 deletions.
10 changes: 5 additions & 5 deletions src/qt/bantablemodel.cpp
Expand Up @@ -6,12 +6,13 @@

#include <interfaces/node.h>
#include <net_types.h> // For banmap_t
#include <qt/clientmodel.h>

#include <utility>

#include <QDebug>
#include <QDateTime>
#include <QList>
#include <QModelIndex>
#include <QVariant>

bool BannedNodeLessThan::operator()(const CCombinedBan& left, const CCombinedBan& right) const
{
Expand Down Expand Up @@ -78,10 +79,9 @@ class BanTablePriv
}
};

BanTableModel::BanTableModel(interfaces::Node& node, ClientModel *parent) :
BanTableModel::BanTableModel(interfaces::Node& node, QObject* parent) :
QAbstractTableModel(parent),
m_node(node),
clientModel(parent)
m_node(node)
{
columns << tr("IP/Netmask") << tr("Banned Until");
priv.reset(new BanTablePriv());
Expand Down
4 changes: 1 addition & 3 deletions src/qt/bantablemodel.h
Expand Up @@ -12,7 +12,6 @@
#include <QAbstractTableModel>
#include <QStringList>

class ClientModel;
class BanTablePriv;

namespace interfaces {
Expand Down Expand Up @@ -45,7 +44,7 @@ class BanTableModel : public QAbstractTableModel
Q_OBJECT

public:
explicit BanTableModel(interfaces::Node& node, ClientModel *parent = nullptr);
explicit BanTableModel(interfaces::Node& node, QObject* parent);
~BanTableModel();
void startAutoRefresh();
void stopAutoRefresh();
Expand All @@ -72,7 +71,6 @@ public Q_SLOTS:

private:
interfaces::Node& m_node;
ClientModel *clientModel;
QStringList columns;
std::unique_ptr<BanTablePriv> priv;
};
Expand Down
10 changes: 4 additions & 6 deletions src/qt/utilitydialog.cpp
Expand Up @@ -10,8 +10,6 @@

#include <qt/forms/ui_helpmessagedialog.h>

#include <qt/bitcoingui.h>

#include <clientversion.h>
#include <init.h>
#include <util/system.h>
Expand All @@ -21,9 +19,10 @@

#include <QCloseEvent>
#include <QLabel>
#include <QMainWindow>
#include <QRegExp>
#include <QTextTable>
#include <QTextCursor>
#include <QTextTable>
#include <QVBoxLayout>

/** "Help message" or "About" dialog box */
Expand Down Expand Up @@ -144,10 +143,9 @@ ShutdownWindow::ShutdownWindow(QWidget *parent, Qt::WindowFlags f):
setLayout(layout);
}

QWidget *ShutdownWindow::showShutdownWindow(BitcoinGUI *window)
QWidget* ShutdownWindow::showShutdownWindow(QMainWindow* window)
{
if (!window)
return nullptr;
assert(window != nullptr);

// Show a simple window indicating shutdown status
QWidget *shutdownWindow = new ShutdownWindow();
Expand Down
8 changes: 5 additions & 3 deletions src/qt/utilitydialog.h
Expand Up @@ -6,9 +6,11 @@
#define BITCOIN_QT_UTILITYDIALOG_H

#include <QDialog>
#include <QObject>
#include <QWidget>

class BitcoinGUI;
QT_BEGIN_NAMESPACE
class QMainWindow;
QT_END_NAMESPACE

namespace interfaces {
class Node;
Expand Down Expand Up @@ -46,7 +48,7 @@ class ShutdownWindow : public QWidget

public:
explicit ShutdownWindow(QWidget *parent=nullptr, Qt::WindowFlags f=Qt::Widget);
static QWidget *showShutdownWindow(BitcoinGUI *window);
static QWidget* showShutdownWindow(QMainWindow* window);

protected:
void closeEvent(QCloseEvent *event);
Expand Down
2 changes: 0 additions & 2 deletions test/lint/lint-circular-dependencies.sh
Expand Up @@ -13,8 +13,6 @@ EXPECTED_CIRCULAR_DEPENDENCIES=(
"index/txindex -> validation -> index/txindex"
"policy/fees -> txmempool -> policy/fees"
"qt/addresstablemodel -> qt/walletmodel -> qt/addresstablemodel"
"qt/bantablemodel -> qt/clientmodel -> qt/bantablemodel"
"qt/bitcoingui -> qt/utilitydialog -> qt/bitcoingui"
"qt/bitcoingui -> qt/walletframe -> qt/bitcoingui"
"qt/bitcoingui -> qt/walletview -> qt/bitcoingui"
"qt/clientmodel -> qt/peertablemodel -> qt/clientmodel"
Expand Down

0 comments on commit cadb9d3

Please sign in to comment.