From ad7844e15e71b7e03603dd2f7066030fb2b6525a Mon Sep 17 00:00:00 2001 From: inso <insomniak.fr@gmaiL.com> Date: Sun, 15 Jan 2017 20:56:31 +0100 Subject: [PATCH] Fix crash on right click in txhistory --- src/sakia/gui/navigation/txhistory/model.py | 3 +-- src/sakia/gui/navigation/txhistory/table_model.py | 11 ++++++----- src/sakia/gui/widgets/context_menu.py | 4 ++-- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/sakia/gui/navigation/txhistory/model.py b/src/sakia/gui/navigation/txhistory/model.py index f856c806..3909f743 100644 --- a/src/sakia/gui/navigation/txhistory/model.py +++ b/src/sakia/gui/navigation/txhistory/model.py @@ -68,8 +68,7 @@ class TxHistoryModel(QObject): pubkey = self.table_model.sourceModel().data(pubkey_index, Qt.DisplayRole) identity = self.identities_service.get_identity(pubkey) - - transfer = self.table_model.sourceModel().transfers()[source_index.row()] + transfer = self._model.transfers_data[source_index.row()][self._model.columns_types.index('raw_data')] return True, identity, transfer return False, None, None diff --git a/src/sakia/gui/navigation/txhistory/table_model.py b/src/sakia/gui/navigation/txhistory/table_model.py index 6c68f8c6..61009dc4 100644 --- a/src/sakia/gui/navigation/txhistory/table_model.py +++ b/src/sakia/gui/navigation/txhistory/table_model.py @@ -49,7 +49,7 @@ class TxFilterProxyModel(QSortFilterProxyModel): return in_period(date) def columnCount(self, parent): - return self.sourceModel().columnCount(None) - 5 + return self.sourceModel().columnCount(None) - 6 def setSourceModel(self, source_model): self.app = source_model.app @@ -186,7 +186,8 @@ class HistoryTableModel(QAbstractTableModel): 'txid', 'pubkey', 'block_number', - 'txhash' + 'txhash', + 'raw_data' ) self.column_headers = ( @@ -259,7 +260,7 @@ class HistoryTableModel(QAbstractTableModel): return (date_ts, sender, amount, transfer.comment, transfer.state, txid, - transfer.issuer, block_number, transfer.sha_hash) + transfer.issuer, block_number, transfer.sha_hash, transfer) def data_sent(self, transfer): """ @@ -279,7 +280,7 @@ class HistoryTableModel(QAbstractTableModel): date_ts = transfer.timestamp txid = transfer.txid return (date_ts, receiver, amount, transfer.comment, transfer.state, txid, - transfer.receiver, block_number, transfer.sha_hash) + transfer.receiver, block_number, transfer.sha_hash, transfer) def data_dividend(self, dividend): """ @@ -298,7 +299,7 @@ class HistoryTableModel(QAbstractTableModel): date_ts = dividend.timestamp return (date_ts, receiver, amount, "", HistoryTableModel.DIVIDEND, 0, - receiver, block_number, "") + dividend.pubkey, block_number, "", dividend) def init_transfers(self): self.beginResetModel() diff --git a/src/sakia/gui/widgets/context_menu.py b/src/sakia/gui/widgets/context_menu.py index 9a869bcf..90d8fffc 100644 --- a/src/sakia/gui/widgets/context_menu.py +++ b/src/sakia/gui/widgets/context_menu.py @@ -3,8 +3,7 @@ import logging from PyQt5.QtCore import QObject, pyqtSignal from PyQt5.QtWidgets import QMenu, QAction, QApplication, QMessageBox -from duniterpy.documents import Block -from sakia.data.entities import Identity, Transaction +from sakia.data.entities import Identity, Transaction, Dividend from sakia.data.processors import BlockchainProcessor, TransactionsProcessor from sakia.decorators import asyncify from sakia.gui.dialogs.certification.controller import CertificationController @@ -105,6 +104,7 @@ class ContextMenu(QObject): build_actions = { Identity: ContextMenu._add_identity_actions, Transaction: ContextMenu._add_transfers_actions, + Dividend: lambda m, d: None, dict: lambda m, d: None, type(None): lambda m, d: None } -- GitLab