mirror of
https://git.wownero.com/wowlet/wowlet.git
synced 2024-08-15 01:03:14 +00:00
63 lines
1.4 KiB
C++
63 lines
1.4 KiB
C++
// SPDX-License-Identifier: BSD-3-Clause
|
|
// Copyright (c) 2020-2021, The Monero Project.
|
|
|
|
#ifndef NODEWIDGET_H
|
|
#define NODEWIDGET_H
|
|
|
|
#include <QWidget>
|
|
#include <QTreeView>
|
|
#include <QItemSelection>
|
|
#include "appcontext.h"
|
|
#include "model/NodeModel.h"
|
|
#include "utils/nodes.h"
|
|
|
|
namespace Ui {
|
|
class NodeWidget;
|
|
}
|
|
|
|
class NodeModel;
|
|
class NodeWidget : public QWidget
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
explicit NodeWidget(QWidget *parent = nullptr);
|
|
~NodeWidget();
|
|
void setWSModel(NodeModel *model);
|
|
void setCustomModel(NodeModel *model);
|
|
void setupUI(AppContext *ctx);
|
|
NodeModel* model();
|
|
|
|
public slots:
|
|
void onCustomAddClicked();
|
|
void onShowWSContextMenu(const QPoint &pos);
|
|
void onShowCustomContextMenu(const QPoint &pos);
|
|
|
|
private slots:
|
|
void onContextConnect();
|
|
void onContextCustomNodeRemove();
|
|
void onContextStatusURL();
|
|
void onContextNodeCopy();
|
|
|
|
signals:
|
|
void connectToNode(WowletNode node);
|
|
void nodeSourceChanged(NodeSource nodeSource);
|
|
|
|
private:
|
|
AppContext *m_ctx;
|
|
Ui::NodeWidget *ui;
|
|
NodeModel* m_customModel;
|
|
NodeModel* m_wsModel;
|
|
|
|
QTreeView *m_activeView;
|
|
|
|
QAction *m_contextActionConnect;
|
|
QAction *m_contextActionRemove;
|
|
QAction *m_contextActionOpenStatusURL;
|
|
QAction *m_contextActionCopy;
|
|
|
|
void showContextMenu(const QPoint &pos, const WowletNode &node);
|
|
WowletNode selectedNode();
|
|
};
|
|
|
|
#endif // NODEWIDGET_H
|