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

Created wallets table

parent 8c8b8d76
No related branches found
No related tags found
No related merge requests found
...@@ -89,6 +89,15 @@ QGroupBox::title { ...@@ -89,6 +89,15 @@ QGroupBox::title {
<verstretch>0</verstretch> <verstretch>0</verstretch>
</sizepolicy> </sizepolicy>
</property> </property>
<property name="sortingEnabled">
<bool>true</bool>
</property>
<attribute name="horizontalHeaderStretchLastSection">
<bool>true</bool>
</attribute>
<attribute name="verticalHeaderVisible">
<bool>false</bool>
</attribute>
</widget> </widget>
</item> </item>
</layout> </layout>
......
...@@ -20,8 +20,6 @@ from .transfer import TransferMoneyDialog ...@@ -20,8 +20,6 @@ from .transfer import TransferMoneyDialog
from .wallets_tab import WalletsTabWidget from .wallets_tab import WalletsTabWidget
from ..models.txhistory import HistoryTableModel, TxFilterProxyModel from ..models.txhistory import HistoryTableModel, TxFilterProxyModel
from .informations_tab import InformationsTabWidget from .informations_tab import InformationsTabWidget
from ..models.wallets import WalletsListModel
from ..models.wallet import WalletListModel
from ..tools.exceptions import NoPeerAvailable, MembershipNotFoundError from ..tools.exceptions import NoPeerAvailable, MembershipNotFoundError
from ..core.wallet import Wallet from ..core.wallet import Wallet
from ..core.person import Person from ..core.person import Person
......
...@@ -8,6 +8,7 @@ import logging ...@@ -8,6 +8,7 @@ import logging
from PyQt5.QtWidgets import QWidget from PyQt5.QtWidgets import QWidget
from PyQt5.QtCore import QDateTime from PyQt5.QtCore import QDateTime
from ..core.person import Person from ..core.person import Person
from ..models.wallets import WalletsTableModel
from ..tools.exceptions import MembershipNotFoundError from ..tools.exceptions import MembershipNotFoundError
from ..gen_resources.wallets_tab_uic import Ui_WalletsTab from ..gen_resources.wallets_tab_uic import Ui_WalletsTab
...@@ -84,6 +85,9 @@ class WalletsTabWidget(QWidget, Ui_WalletsTab): ...@@ -84,6 +85,9 @@ class WalletsTabWidget(QWidget, Ui_WalletsTab):
) )
) )
wallets_model = WalletsTableModel(self.account, self.community)
self.table_wallets.setModel(wallets_model)
def get_referential_value(self, value): def get_referential_value(self, value):
return self.account.units_to_ref(value, self.community) return self.account.units_to_ref(value, self.community)
......
...@@ -4,11 +4,11 @@ Created on 8 févr. 2014 ...@@ -4,11 +4,11 @@ Created on 8 févr. 2014
@author: inso @author: inso
''' '''
from PyQt5.QtCore import QAbstractListModel, Qt from PyQt5.QtCore import QAbstractTableModel, Qt
import logging import logging
class WalletsListModel(QAbstractListModel): class WalletsTableModel(QAbstractTableModel):
''' '''
A Qt list model to display wallets and edit their names A Qt list model to display wallets and edit their names
...@@ -18,33 +18,45 @@ class WalletsListModel(QAbstractListModel): ...@@ -18,33 +18,45 @@ class WalletsListModel(QAbstractListModel):
''' '''
Constructor Constructor
''' '''
super(WalletsListModel, self).__init__(parent) super().__init__(parent)
self.account = account self.account = account
self.wallets = account.wallets
self.community = community self.community = community
self.columns_types = ('name', 'pubkey', 'amount')
@property
def wallets(self):
return self.account.wallets
def rowCount(self, parent): def rowCount(self, parent):
return len(self.wallets) return len(self.wallets)
def columnCount(self, parent):
return len(self.columns_types)
def headerData(self, section, orientation, role):
if role == Qt.DisplayRole:
return self.columns_types[section]
def wallet_data(self, row):
name = self.wallets[row].name
amount = self.wallets[row].value(self.community)
pubkey = self.wallets[row].pubkey
return (name, pubkey, amount)
def data(self, index, role): def data(self, index, role):
row = index.row() row = index.row()
w = self.wallets[row] col = index.column()
if role == Qt.DisplayRole: if role == Qt.DisplayRole:
amount = w.value(self.community) return self.wallet_data(row)[col]
ref_amount = self.account.units_to_ref(amount, self.community)
ref_name = self.account.ref_name(self.community.currency) # def setData(self, index, value, role):
return """{0} # if role == Qt.EditRole:
{1:.2f} {2}""".format(w.name, ref_amount, ref_name) # row = index.row()
elif role == Qt.EditRole: # self.wallets[row].name = value
return self.wallets[row].name # self.dataChanged.emit(index, index)
# return True
def setData(self, index, value, role): # return False
if role == Qt.EditRole:
row = index.row()
self.wallets[row].name = value
self.dataChanged.emit(index, index)
return True
return False
def flags(self, index): def flags(self, index):
return Qt.ItemIsSelectable | Qt.ItemIsEnabled | Qt.ItemIsEditable return Qt.ItemIsSelectable | Qt.ItemIsEnabled | Qt.ItemIsEditable
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment