Skip to content
Snippets Groups Projects
Commit 981c44ee authored by inso's avatar inso
Browse files

Open node in browser is back

parent 63c19fe6
No related branches found
No related tags found
No related merge requests found
...@@ -24,6 +24,7 @@ class NetworkController(QObject): ...@@ -24,6 +24,7 @@ class NetworkController(QObject):
table_model = self.model.init_network_table_model() table_model = self.model.init_network_table_model()
self.view.set_network_table_model(table_model) self.view.set_network_table_model(table_model)
self.view.manual_refresh_clicked.connect(self.refresh_nodes_manually) self.view.manual_refresh_clicked.connect(self.refresh_nodes_manually)
self.view.table_network.customContextMenuRequested.connect(self.node_context_menu)
@classmethod @classmethod
def create(cls, parent, app, network_service): def create(cls, parent, app, network_service):
...@@ -45,23 +46,9 @@ class NetworkController(QObject): ...@@ -45,23 +46,9 @@ class NetworkController(QObject):
def node_context_menu(self, point): def node_context_menu(self, point):
index = self.view.table_network.indexAt(point) index = self.view.table_network.indexAt(point)
valid, node, is_root = self.model.table_model_data(index) valid, node = self.model.table_model_data(index)
if valid: if self.model.app.parameters.expert_mode:
self.view.show_menu(point, is_root)
menu = QMenu() menu = QMenu()
if is_root:
unset_root = QAction(self.tr("Unset root node"), self)
unset_root.triggered.connect(self.unset_root_node)
unset_root.setData(node)
if len(self.community.network.root_nodes) > 1:
menu.addAction(unset_root)
else:
set_root = QAction(self.tr("Set as root node"), self)
set_root.triggered.connect(self.set_root_node)
set_root.setData(node)
menu.addAction(set_root)
if self.app.preferences['expert_mode']:
open_in_browser = QAction(self.tr("Open in browser"), self) open_in_browser = QAction(self.tr("Open in browser"), self)
open_in_browser.triggered.connect(self.open_node_in_browser) open_in_browser.triggered.connect(self.open_node_in_browser)
open_in_browser.setData(node) open_in_browser.setData(node)
...@@ -83,6 +70,7 @@ class NetworkController(QObject): ...@@ -83,6 +70,7 @@ class NetworkController(QObject):
@pyqtSlot() @pyqtSlot()
def open_node_in_browser(self): def open_node_in_browser(self):
node = self.sender().data() node = self.sender().data()
peering = bma.network.Peering(node.endpoint.conn_handler()) conn_handler = next(node.endpoints[0].conn_handler())
url = QUrl(peering.reverse_url("http", "/peering")) peering_url = bma.API(conn_handler, bma.network.URL_PATH).reverse_url(conn_handler.http_scheme, '/peering')
url = QUrl(peering_url)
QDesktopServices.openUrl(url) QDesktopServices.openUrl(url)
...@@ -43,26 +43,6 @@ class NetworkModel(QObject): ...@@ -43,26 +43,6 @@ class NetworkModel(QObject):
""" """
if index.isValid() and index.row() < self.table_model.rowCount(QModelIndex()): if index.isValid() and index.row() < self.table_model.rowCount(QModelIndex()):
source_index = self.table_model.mapToSource(index) source_index = self.table_model.mapToSource(index)
is_root_col = self.table_model.sourceModel().columns_types.index('is_root') node = self.network_service.nodes()[source_index.row()]
is_root_index = self.table_model.sourceModel().index(source_index.row(), is_root_col) return True, node
is_root = self.table_model.sourceModel().data(is_root_index, Qt.DisplayRole) return False, None
node = self.community.network.nodes()[source_index.row()]
return True, node, is_root
return False, None, None
def add_root_node(self, node):
"""
The node set as root
:param sakia.data.entities.Node node: the node
"""
node.root = True
self.network_service.commit_node(node)
def unset_root_node(self, node):
"""
The node set as root
:param sakia.data.entities.Node node: the node
"""
node.root = False
self.network_service.commit_node(node)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment