diff --git a/res/ui/homescreen.ui b/res/ui/homescreen.ui index 8f981fb9cff47bc887fb1fc8d994b2499337e22a..f326a247071175967a5e8908579dd6ec4ee79212 100644 --- a/res/ui/homescreen.ui +++ b/res/ui/homescreen.ui @@ -39,25 +39,17 @@ <enum>QLayout::SetMaximumSize</enum> </property> <item> - <widget class="QPushButton" name="pushButton_3"> - <property name="text"> - <string/> - </property> - <property name="icon"> - <iconset> - <normaloff>../icons/iconmonstr-home-icon.svg</normaloff>../icons/iconmonstr-home-icon.svg</iconset> + <widget class="QLabel" name="label_connected"> + <property name="styleSheet"> + <string notr="true"> font-size:12pt; font-weight:600;</string> </property> - </widget> - </item> - <item> - <widget class="QLabel" name="label_4"> <property name="text"> - <string><html><head/><body><p><span style=" font-size:12pt; font-weight:600;">Connected as</span></p></body></html></string> + <string>Connected as</string> </property> </widget> </item> <item> - <widget class="QPushButton" name="pushButton"> + <widget class="QPushButton" name="button_add_community"> <property name="text"> <string>Add a community</string> </property> @@ -74,7 +66,7 @@ </widget> </item> <item> - <widget class="QPushButton" name="pushButton_2"> + <widget class="QPushButton" name="button_disconnect"> <property name="text"> <string>Disconnect</string> </property> @@ -122,30 +114,14 @@ </property> <layout class="QHBoxLayout" name="horizontalLayout_2"> <item> - <spacer name="horizontalSpacer_4"> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeType"> - <enum>QSizePolicy::Minimum</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - <item> - <widget class="QLabel" name="label_6"> + <widget class="QLabel" name="label_disconnected"> <property name="text"> <string><html><head/><body><p><span style=" font-size:12pt; font-weight:600;">Not Connected</span></p></body></html></string> </property> </widget> </item> <item> - <widget class="QToolButton" name="toolButton"> + <widget class="QToolButton" name="toolbutton_connect"> <property name="text"> <string>Connect</string> </property> @@ -168,7 +144,7 @@ </widget> </item> <item> - <widget class="QToolButton" name="button_new_2"> + <widget class="QToolButton" name="toolbutton_new_account"> <property name="text"> <string>New account</string> </property> diff --git a/src/cutecoin/core/app.py b/src/cutecoin/core/app.py index 625f4a893823bdd8eea9398eae2c552919107ad3..5ad77ced20ad7475e7ae18c69d3bedb6b9bf794d 100644 --- a/src/cutecoin/core/app.py +++ b/src/cutecoin/core/app.py @@ -178,7 +178,8 @@ class Application(QObject): self.stop_current_account() self.current_account = account - self.current_account.start_coroutines() + if self.current_account is not None: + self.current_account.start_coroutines() def stop_current_account(self): """ diff --git a/src/cutecoin/gui/homescreen.py b/src/cutecoin/gui/homescreen.py index 864e7f199857ed773e8a02781d899df2e54cd247..0d00fed7cce928ee4e1fbb01486bc241128d8dbb 100644 --- a/src/cutecoin/gui/homescreen.py +++ b/src/cutecoin/gui/homescreen.py @@ -4,7 +4,7 @@ Created on 31 janv. 2015 @author: vit """ -from PyQt5.QtWidgets import QWidget, QFrame, QGridLayout, QLayout +from PyQt5.QtWidgets import QWidget, QFrame, QGridLayout, QAction from PyQt5.QtCore import QEvent, Qt, pyqtSlot, pyqtSignal from ..gen_resources.homescreen_uic import Ui_HomescreenWidget from .community_tile import CommunityTile @@ -58,7 +58,14 @@ class HomeScreenWidget(QWidget, Ui_HomescreenWidget): self.layout().addWidget(self.frame_communities) def refresh(self): - self.frame_communities.refresh(self.app) + if self.app.current_account: + self.frame_connected.show() + self.label_connected.setText(self.tr("Connected as {0}".format(self.app.current_account.name))) + self.frame_disconnected.hide() + self.frame_communities.refresh(self.app) + else: + self.frame_disconnected.show() + self.frame_connected.hide() def changeEvent(self, event): """ diff --git a/src/cutecoin/gui/identities_tab.py b/src/cutecoin/gui/identities_tab.py index a5e5e41298baac07140ee665d44fb4606e523b02..991c2aac6748aec46491d520e2aa1eb4af3682ad 100644 --- a/src/cutecoin/gui/identities_tab.py +++ b/src/cutecoin/gui/identities_tab.py @@ -61,9 +61,12 @@ class IdentitiesTabWidget(QWidget, Ui_IdentitiesTab): def change_account(self, account): self.account = account - self.account.membership_broadcasted.connect(self.handle_membership_broadcasted) - self.account.revoke_broadcasted.connect(self.handle_revoke_broadcasted) - self.account.selfcert_broadcasted.connect(self.handle_selfcert_broadcasted) + if self.account is not None: + self.account.membership_broadcasted.connect(self.handle_membership_broadcasted) + self.account.revoke_broadcasted.connect(self.handle_revoke_broadcasted) + self.account.selfcert_broadcasted.connect(self.handle_selfcert_broadcasted) + else: + self.community = None def change_community(self, community): self.community = community diff --git a/src/cutecoin/gui/mainwindow.py b/src/cutecoin/gui/mainwindow.py index d53e4e391c6425b86ffac7ca71d8c0ff0a59e922..6c9e0187bebf779843a6060310823996e95a28e1 100644 --- a/src/cutecoin/gui/mainwindow.py +++ b/src/cutecoin/gui/mainwindow.py @@ -67,6 +67,9 @@ class MainWindow(QMainWindow, Ui_MainWindow): self.homescreen = HomeScreenWidget(self.app) self.homescreen.frame_communities.community_tile_clicked.connect(self.change_community) + self.homescreen.toolbutton_new_account.addAction(self.action_add_account) + self.homescreen.toolbutton_new_account.addAction(self.action_import) + self.homescreen.button_disconnect.clicked.connect(lambda :self.action_change_account("")) self.centralWidget().layout().addWidget(self.homescreen) self.community_view = CommunityWidget(self.app, self.status_label) @@ -238,14 +241,11 @@ class MainWindow(QMainWindow, Ui_MainWindow): def refresh_accounts(self): self.menu_change_account.clear() - signal_mapper = QSignalMapper(self) - for account_name in sorted(self.app.accounts.keys()): action = QAction(account_name, self) + action.triggered.connect(lambda checked, account_name=account_name: self.action_change_account(account_name)) self.menu_change_account.addAction(action) - signal_mapper.setMapping(action, account_name) - action.triggered.connect(signal_mapper.map) - signal_mapper.mapped[str].connect(self.action_change_account) + self.homescreen.toolbutton_connect.addAction(action) def refresh_contacts(self): self.menu_contacts_list.clear() diff --git a/src/cutecoin/gui/wallets_tab.py b/src/cutecoin/gui/wallets_tab.py index 425e1c22228c17b0856cd7a9e2e25e4a17ec2260..a87f080ceb56c6cf7f249ac47856a36a56c00d58 100644 --- a/src/cutecoin/gui/wallets_tab.py +++ b/src/cutecoin/gui/wallets_tab.py @@ -39,11 +39,9 @@ class WalletsTabWidget(QWidget, Ui_WalletsTab): def change_account(self, account): self.account = account - self.account.inner_data_changed.connect(self.refresh_informations_frame) def change_community(self, community): self.community = community - self.community.inner_data_changed.connect(self.refresh_informations_frame) def refresh(self): if self.community: