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):
table_model = self.model.init_network_table_model()
self.view.set_network_table_model(table_model)
self.view.manual_refresh_clicked.connect(self.refresh_nodes_manually)
self.view.table_network.customContextMenuRequested.connect(self.node_context_menu)
@classmethod
def create(cls, parent, app, network_service):
......@@ -45,23 +46,9 @@ class NetworkController(QObject):
def node_context_menu(self, point):
index = self.view.table_network.indexAt(point)
valid, node, is_root = self.model.table_model_data(index)
if valid:
self.view.show_menu(point, is_root)
valid, node = self.model.table_model_data(index)
if self.model.app.parameters.expert_mode:
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.triggered.connect(self.open_node_in_browser)
open_in_browser.setData(node)
......@@ -83,6 +70,7 @@ class NetworkController(QObject):
@pyqtSlot()
def open_node_in_browser(self):
node = self.sender().data()
peering = bma.network.Peering(node.endpoint.conn_handler())
url = QUrl(peering.reverse_url("http", "/peering"))
conn_handler = next(node.endpoints[0].conn_handler())
peering_url = bma.API(conn_handler, bma.network.URL_PATH).reverse_url(conn_handler.http_scheme, '/peering')
url = QUrl(peering_url)
QDesktopServices.openUrl(url)
......@@ -43,26 +43,6 @@ class NetworkModel(QObject):
"""
if index.isValid() and index.row() < self.table_model.rowCount(QModelIndex()):
source_index = self.table_model.mapToSource(index)
is_root_col = self.table_model.sourceModel().columns_types.index('is_root')
is_root_index = self.table_model.sourceModel().index(source_index.row(), is_root_col)
is_root = self.table_model.sourceModel().data(is_root_index, Qt.DisplayRole)
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)
node = self.network_service.nodes()[source_index.row()]
return True, node
return False, None
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment