Tree connected

This commit is contained in:
Dmitri Bogomolov 2019-02-20 19:09:45 +02:00
parent 946db51f51
commit 45d3dbc0ec
Signed by untrusted user: g1itch
GPG Key ID: 720A756F18DEED13
2 changed files with 28 additions and 10 deletions

View File

@ -735,6 +735,16 @@ class MainWindow(Window):
tableWidget.horizontalHeaderItem(3).setText(_translate("MainWindow", "Sent", None)) tableWidget.horizontalHeaderItem(3).setText(_translate("MainWindow", "Sent", None))
tableWidget.setUpdatesEnabled(True) tableWidget.setUpdatesEnabled(True)
def switchMessagelist(
self, view, account,
folder='inbox', search_option=None, search_line=None
):
model = view.model()
update = {'folder': folder}
if account:
update['toaddress'] = account
model.updateFilter(update)
# Load messages from database file # Load messages from database file
def loadMessagelist(self, tableWidget, account, folder="inbox", where="", what="", unreadOnly = False): def loadMessagelist(self, tableWidget, account, folder="inbox", where="", what="", unreadOnly = False):
if folder == 'sent': if folder == 'sent':
@ -2883,7 +2893,7 @@ class MainWindow(Window):
return self.treeWidgetYourIdentities return self.treeWidgetYourIdentities
def getCurrentMessagelist(self): def getCurrentMessagelist(self):
currentIndex = self.tabWidget.currentIndex(); currentIndex = self.tabWidget.currentIndex()
messagelistList = ( messagelistList = (
self.tableWidgetInboxSubscriptions, self.tableWidgetInboxSubscriptions,
self.tableWidgetInboxChans, self.tableWidgetInboxChans,
@ -3369,14 +3379,18 @@ class MainWindow(Window):
messageTextedit = self.getCurrentMessageTextedit() messageTextedit = self.getCurrentMessageTextedit()
if messageTextedit: if messageTextedit:
messageTextedit.setPlainText(QtCore.QString("")) messageTextedit.setPlainText(QtCore.QString(""))
messagelist = self.getCurrentMessagelist() messagelist = self.getCurrentMessagelist() or self.messagelistInbox
if messagelist: # ??
account = self.getCurrentAccount() account = self.getCurrentAccount()
folder = self.getCurrentFolder() folder = self.getCurrentFolder()
treeWidget = self.getCurrentTreeWidget() treeWidget = self.getCurrentTreeWidget()
# refresh count indicator if isinstance(messagelist, QtGui.QTableView):
self.propagateUnreadCount(account.address if hasattr(account, 'address') else None, folder, treeWidget, 0) self.switchMessagelist(
self.loadMessagelist(messagelist, account, folder, searchOption, searchLine) messagelist, account, folder, searchOption, searchLine)
return
# refresh count indicator
self.propagateUnreadCount(account.address if hasattr(account, 'address') else None, folder, treeWidget, 0)
self.loadMessagelist(messagelist, account, folder, searchOption, searchLine)
def treeWidgetItemChanged(self, item, column): def treeWidgetItemChanged(self, item, column):
# only for manual edits. automatic edits (setText) are ignored # only for manual edits. automatic edits (setText) are ignored

View File

@ -78,7 +78,7 @@ class AccountFormatter(object):
class InboxTableModel(QtCore.QAbstractTableModel): class InboxTableModel(QtCore.QAbstractTableModel):
table = 'inbox' table = 'inbox'
fields = ( fields = (
'msgid', 'toaddress', 'fromaddress', 'subject', 'received', 'read') 'msgid', 'folder', 'toaddress', 'fromaddress', 'subject', 'received', 'read')
header = ( header = (
{'field': 'fromaddress', {'field': 'fromaddress',
'label': _translate("MainWindow", "From"), 'label': _translate("MainWindow", "From"),
@ -158,6 +158,10 @@ class InboxTableModel(QtCore.QAbstractTableModel):
'SELECT message FROM inbox WHERE msgid = ?', msgid 'SELECT message FROM inbox WHERE msgid = ?', msgid
)[0][0] )[0][0]
def updateFilter(self, *args, **kwargs):
self.filter.update(*args, **kwargs)
self.emit(QtCore.SIGNAL("layoutChanged()"))
class InboxMessagelist(QtGui.QTableView): class InboxMessagelist(QtGui.QTableView):
def __init__(self, parent=None): def __init__(self, parent=None):