From ae0613aade77a752d5d84b1669e476c02491fbad Mon Sep 17 00:00:00 2001
From: inso <insomniak.fr@gmaiL.com>
Date: Wed, 11 Jan 2017 20:45:03 +0100
Subject: [PATCH] Sakia is only able to use one currency/database

---
 src/sakia/gui/dialogs/connection_cfg/controller.py | 3 ++-
 src/sakia/gui/dialogs/connection_cfg/model.py      | 7 ++++++-
 src/sakia/gui/dialogs/connection_cfg/view.py       | 3 ++-
 src/sakia/gui/navigation/informations/view.py      | 3 ---
 4 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/src/sakia/gui/dialogs/connection_cfg/controller.py b/src/sakia/gui/dialogs/connection_cfg/controller.py
index d5d8f73f..3bc124a0 100644
--- a/src/sakia/gui/dialogs/connection_cfg/controller.py
+++ b/src/sakia/gui/dialogs/connection_cfg/controller.py
@@ -130,7 +130,8 @@ class ConnectionConfigController(QObject):
                     self.password_asker = PasswordAskerDialog(self.model.connection)
                 except (DisconnectedError, ClientError, MalformedDocumentError, ValueError, TimeoutError) as e:
                     self._logger.debug(str(e))
-                    self.view.display_info(self.tr("Could not connect. Check hostname, ip address or port : </br>str(e)"))
+                    self.view.display_info(self.tr("Could not connect. Check hostname, ip address or port : <br/>"
+                                                   + str(e)))
                     self.step_node = asyncio.Future()
                     self.view.button_connect.setEnabled(True)
                     self.view.button_register.setEnabled(True)
diff --git a/src/sakia/gui/dialogs/connection_cfg/model.py b/src/sakia/gui/dialogs/connection_cfg/model.py
index 919b4972..ef1001a8 100644
--- a/src/sakia/gui/dialogs/connection_cfg/model.py
+++ b/src/sakia/gui/dialogs/connection_cfg/model.py
@@ -30,8 +30,13 @@ class ConnectionConfigModel(QObject):
         self.identities_processor = identities_processor
 
     async def create_connection(self, server, port, secured):
-        self.node_connector = await NodeConnector.from_address(None, secured, server, port,
+        node_connector = await NodeConnector.from_address(None, secured, server, port,
                                                                user_parameters=self.app.parameters)
+        currencies = self.app.db.connections_repo.get_currencies()
+        if len(currencies) > 0 and node_connector.node.currency != currencies[0]:
+            raise ValueError("""This node is running for {0} network.<br/>
+Current database is storing {1} network.""".format(node_connector.node.currency, currencies[0]))
+        self.node_connector = node_connector
         self.connection = Connection(self.node_connector.node.currency, "", "")
         self.node_connector.node.state = Node.ONLINE
 
diff --git a/src/sakia/gui/dialogs/connection_cfg/view.py b/src/sakia/gui/dialogs/connection_cfg/view.py
index a686d01f..45824214 100644
--- a/src/sakia/gui/dialogs/connection_cfg/view.py
+++ b/src/sakia/gui/dialogs/connection_cfg/view.py
@@ -1,5 +1,5 @@
 from PyQt5.QtWidgets import QDialog
-from PyQt5.QtCore import pyqtSignal
+from PyQt5.QtCore import pyqtSignal, Qt
 from .connection_cfg_uic import Ui_ConnectionConfigurationDialog
 from duniterpy.key import SigningKey, ScryptParams
 from math import ceil, log
@@ -36,6 +36,7 @@ class ConnectionConfigView(QDialog, Ui_ConnectionConfigurationDialog):
         self.spin_p.setMaximum(128)
         self.spin_p.setValue(self.scrypt_params.p)
         self.spin_p.valueChanged.connect(self.handle_p_change)
+        self.label_info.setTextFormat(Qt.RichText)
 
     def handle_combo_change(self, index):
         strengths = [
diff --git a/src/sakia/gui/navigation/informations/view.py b/src/sakia/gui/navigation/informations/view.py
index 3355d2dc..cc8bae79 100644
--- a/src/sakia/gui/navigation/informations/view.py
+++ b/src/sakia/gui/navigation/informations/view.py
@@ -200,7 +200,6 @@ class InformationsView(QWidget, Ui_InformationsWidget):
             <tr><td align="right"><b>{:}</b></td><td>{:}</td></tr>
             <tr><td align="right"><b>{:}</b></td><td>{:}</td></tr>
             <tr><td align="right"><b>{:}</b></td><td>{:}</td></tr>
-            <tr><td align="right"><b>{:}</b></td><td>{:}</td></tr>
             <tr><td align="right"><b>{:2.0%}</b></td><td>{:}</td></tr>
             </table>
             """).format(
@@ -218,8 +217,6 @@ class InformationsView(QWidget, Ui_InformationsWidget):
                         self.tr('The average time in seconds for writing 1 block (wished time)'),
                         params.dt_diff_eval,
                         self.tr('The number of blocks required to evaluate again PoWMin value'),
-                        params.blocks_rot,
-                        self.tr('The number of previous blocks to check for personalized difficulty'),
                         params.percent_rot,
                         self.tr('The percent of previous issuers to reach for personalized difficulty')
                 )
-- 
GitLab