Moved all connections where receiver is MainWindow and sender

is defined in ui-file from class definition to ui-file.
This commit is contained in:
Dmitri Bogomolov 2018-11-09 17:54:56 +02:00
parent d72dbbfd70
commit fbbd95109f
Signed by untrusted user: g1itch
GPG Key ID: 720A756F18DEED13
3 changed files with 2342 additions and 999 deletions

View File

@ -3,7 +3,6 @@ PyQt based UI for bitmessage, the main module
""" """
import hashlib import hashlib
import locale
import os import os
import random import random
import string import string
@ -46,11 +45,9 @@ from account import (
import dialogs import dialogs
from network.stats import pendingDownload, pendingUpload from network.stats import pendingDownload, pendingUpload
from uisignaler import UISignaler from uisignaler import UISignaler
import paths
from proofofwork import getPowType from proofofwork import getPowType
import queues import queues
import shutdown import shutdown
from statusbar import BMStatusBar
import sound import sound
# This is needed for tray icon # This is needed for tray icon
import bitmessage_icons_rc # noqa:F401 pylint: disable=unused-import import bitmessage_icons_rc # noqa:F401 pylint: disable=unused-import
@ -93,192 +90,8 @@ class MainWindow(Window):
REPLY_TYPE_CHAN = 1 REPLY_TYPE_CHAN = 1
REPLY_TYPE_UPD = 2 REPLY_TYPE_UPD = 2
def change_translation(self, newlocale=None): def init_identities_popup_menu(self):
"""Change translation language for the application"""
if newlocale is None:
newlocale = l10n.getTranslationLanguage()
try:
if not self.qmytranslator.isEmpty():
QtGui.QApplication.removeTranslator(self.qmytranslator)
except:
pass
try:
if not self.qsystranslator.isEmpty():
QtGui.QApplication.removeTranslator(self.qsystranslator)
except:
pass
self.qmytranslator = QtCore.QTranslator()
translationpath = os.path.join(
paths.codePath(), 'translations', 'bitmessage_' + newlocale)
self.qmytranslator.load(translationpath)
QtGui.QApplication.installTranslator(self.qmytranslator)
self.qsystranslator = QtCore.QTranslator()
if paths.frozen:
translationpath = os.path.join(
paths.codePath(), 'translations', 'qt_' + newlocale)
else:
translationpath = os.path.join(
str(QtCore.QLibraryInfo.location(
QtCore.QLibraryInfo.TranslationsPath)), 'qt_' + newlocale)
self.qsystranslator.load(translationpath)
QtGui.QApplication.installTranslator(self.qsystranslator)
lang = locale.normalize(l10n.getTranslationLanguage())
langs = [
lang.split(".")[0] + "." + l10n.encoding,
lang.split(".")[0] + "." + 'UTF-8',
lang
]
if 'win32' in sys.platform or 'win64' in sys.platform:
langs = [l10n.getWindowsLocale(lang)]
for lang in langs:
try:
l10n.setlocale(locale.LC_ALL, lang)
if 'win32' not in sys.platform and 'win64' not in sys.platform:
l10n.encoding = locale.nl_langinfo(locale.CODESET)
else:
l10n.encoding = locale.getlocale()[1]
logger.info("Successfully set locale to %s", lang)
break
except:
logger.error("Failed to set locale to %s", lang, exc_info=True)
def init_file_menu(self):
QtCore.QObject.connect(self.actionExit, QtCore.SIGNAL(
"triggered()"), self.quit)
QtCore.QObject.connect(self.actionNetworkSwitch, QtCore.SIGNAL(
"triggered()"), self.network_switch)
QtCore.QObject.connect(self.actionManageKeys, QtCore.SIGNAL(
"triggered()"), self.click_actionManageKeys)
QtCore.QObject.connect(self.actionDeleteAllTrashedMessages,
QtCore.SIGNAL(
"triggered()"),
self.click_actionDeleteAllTrashedMessages)
QtCore.QObject.connect(self.actionRegenerateDeterministicAddresses,
QtCore.SIGNAL(
"triggered()"),
self.click_actionRegenerateDeterministicAddresses)
QtCore.QObject.connect(self.pushButtonAddChan, QtCore.SIGNAL(
"clicked()"),
self.click_actionJoinChan) # also used for creating chans.
QtCore.QObject.connect(self.pushButtonNewAddress, QtCore.SIGNAL(
"clicked()"), self.click_NewAddressDialog)
QtCore.QObject.connect(self.pushButtonAddAddressBook, QtCore.SIGNAL(
"clicked()"), self.click_pushButtonAddAddressBook)
QtCore.QObject.connect(self.pushButtonAddSubscription, QtCore.SIGNAL(
"clicked()"), self.click_pushButtonAddSubscription)
QtCore.QObject.connect(self.pushButtonTTL, QtCore.SIGNAL(
"clicked()"), self.click_pushButtonTTL)
QtCore.QObject.connect(self.pushButtonClear, QtCore.SIGNAL(
"clicked()"), self.click_pushButtonClear)
QtCore.QObject.connect(self.pushButtonSend, QtCore.SIGNAL(
"clicked()"), self.click_pushButtonSend)
QtCore.QObject.connect(self.pushButtonFetchNamecoinID, QtCore.SIGNAL(
"clicked()"), self.click_pushButtonFetchNamecoinID)
QtCore.QObject.connect(self.actionSettings, QtCore.SIGNAL(
"triggered()"), self.click_actionSettings)
QtCore.QObject.connect(self.actionAbout, QtCore.SIGNAL(
"triggered()"), self.click_actionAbout)
QtCore.QObject.connect(self.actionSupport, QtCore.SIGNAL(
"triggered()"), self.click_actionSupport)
QtCore.QObject.connect(self.actionHelp, QtCore.SIGNAL(
"triggered()"), self.click_actionHelp)
def init_inbox_popup_menu(self, connectSignal=True):
# Popup menu for the Inbox tab
self.inboxContextMenuToolbar = QtGui.QToolBar()
# Actions
self.actionReply = self.inboxContextMenuToolbar.addAction(_translate(
"MainWindow", "Reply to sender"), self.on_action_InboxReply)
self.actionReplyChan = self.inboxContextMenuToolbar.addAction(_translate(
"MainWindow", "Reply to channel"), self.on_action_InboxReplyChan)
self.actionAddSenderToAddressBook = self.inboxContextMenuToolbar.addAction(
_translate(
"MainWindow", "Add sender to your Address Book"),
self.on_action_InboxAddSenderToAddressBook)
self.actionAddSenderToBlackList = self.inboxContextMenuToolbar.addAction(
_translate(
"MainWindow", "Add sender to your Blacklist"),
self.on_action_InboxAddSenderToBlackList)
self.actionTrashInboxMessage = self.inboxContextMenuToolbar.addAction(
_translate("MainWindow", "Move to Trash"),
self.on_action_InboxTrash)
self.actionUndeleteTrashedMessage = self.inboxContextMenuToolbar.addAction(
_translate("MainWindow", "Undelete"),
self.on_action_TrashUndelete)
self.actionForceHtml = self.inboxContextMenuToolbar.addAction(
_translate(
"MainWindow", "View HTML code as formatted text"),
self.on_action_InboxMessageForceHtml)
self.actionSaveMessageAs = self.inboxContextMenuToolbar.addAction(
_translate(
"MainWindow", "Save message as..."),
self.on_action_InboxSaveMessageAs)
self.actionMarkUnread = self.inboxContextMenuToolbar.addAction(
_translate(
"MainWindow", "Mark Unread"), self.on_action_InboxMarkUnread)
# contextmenu messagelists
self.tableWidgetInbox.setContextMenuPolicy(
QtCore.Qt.CustomContextMenu)
if connectSignal:
self.connect(self.tableWidgetInbox, QtCore.SIGNAL(
'customContextMenuRequested(const QPoint&)'),
self.on_context_menuInbox)
self.tableWidgetInboxSubscriptions.setContextMenuPolicy(
QtCore.Qt.CustomContextMenu)
if connectSignal:
self.connect(self.tableWidgetInboxSubscriptions, QtCore.SIGNAL(
'customContextMenuRequested(const QPoint&)'),
self.on_context_menuInbox)
self.tableWidgetInboxChans.setContextMenuPolicy(
QtCore.Qt.CustomContextMenu)
if connectSignal:
self.connect(self.tableWidgetInboxChans, QtCore.SIGNAL(
'customContextMenuRequested(const QPoint&)'),
self.on_context_menuInbox)
def init_identities_popup_menu(self, connectSignal=True):
# Popup menu for the Your Identities tab # Popup menu for the Your Identities tab
self.addressContextMenuToolbarYourIdentities = QtGui.QToolBar()
# Actions
self.actionNewYourIdentities = self.addressContextMenuToolbarYourIdentities.addAction(_translate(
"MainWindow", "New"), self.on_action_YourIdentitiesNew)
self.actionEnableYourIdentities = self.addressContextMenuToolbarYourIdentities.addAction(
_translate(
"MainWindow", "Enable"), self.on_action_Enable)
self.actionDisableYourIdentities = self.addressContextMenuToolbarYourIdentities.addAction(
_translate(
"MainWindow", "Disable"), self.on_action_Disable)
self.actionSetAvatarYourIdentities = self.addressContextMenuToolbarYourIdentities.addAction(
_translate(
"MainWindow", "Set avatar..."),
self.on_action_TreeWidgetSetAvatar)
self.actionClipboardYourIdentities = self.addressContextMenuToolbarYourIdentities.addAction(
_translate(
"MainWindow", "Copy address to clipboard"),
self.on_action_Clipboard)
self.actionSpecialAddressBehaviorYourIdentities = self.addressContextMenuToolbarYourIdentities.addAction(
_translate(
"MainWindow", "Special address behavior..."),
self.on_action_SpecialAddressBehaviorDialog)
self.actionEmailGateway = self.addressContextMenuToolbarYourIdentities.addAction(
_translate(
"MainWindow", "Email gateway"),
self.on_action_EmailGatewayDialog)
self.actionMarkAllRead = self.addressContextMenuToolbarYourIdentities.addAction(
_translate(
"MainWindow", "Mark all messages as read"),
self.on_action_MarkAllRead)
self.treeWidgetYourIdentities.setContextMenuPolicy(
QtCore.Qt.CustomContextMenu)
if connectSignal:
self.connect(self.treeWidgetYourIdentities, QtCore.SIGNAL(
'customContextMenuRequested(const QPoint&)'),
self.on_context_menuYourIdentities)
# load all gui.menu plugins with prefix 'address' # load all gui.menu plugins with prefix 'address'
self.menu_plugins = {'address': []} self.menu_plugins = {'address': []}
@ -294,127 +107,6 @@ class MainWindow(Window):
title, handler title, handler
)) ))
def init_chan_popup_menu(self, connectSignal=True):
# Actions
self.actionNew = self.addressContextMenuToolbar.addAction(_translate(
"MainWindow", "New"), self.on_action_YourIdentitiesNew)
self.actionDelete = self.addressContextMenuToolbar.addAction(
_translate("MainWindow", "Delete"),
self.on_action_YourIdentitiesDelete)
self.actionEnable = self.addressContextMenuToolbar.addAction(
_translate(
"MainWindow", "Enable"), self.on_action_Enable)
self.actionDisable = self.addressContextMenuToolbar.addAction(
_translate(
"MainWindow", "Disable"), self.on_action_Disable)
self.actionSetAvatar = self.addressContextMenuToolbar.addAction(
_translate(
"MainWindow", "Set avatar..."),
self.on_action_TreeWidgetSetAvatar)
self.actionClipboard = self.addressContextMenuToolbar.addAction(
_translate(
"MainWindow", "Copy address to clipboard"),
self.on_action_Clipboard)
self.actionSend = self.addressContextMenuToolbar.addAction(
_translate("MainWindow", "Send message to this chan"),
self.on_action_Send)
self.actionSpecialAddressBehavior = self.addressContextMenuToolbar.addAction(
_translate(
"MainWindow", "Special address behavior..."),
self.on_action_SpecialAddressBehaviorDialog)
self.treeWidgetChans.setContextMenuPolicy(
QtCore.Qt.CustomContextMenu)
if connectSignal:
self.connect(self.treeWidgetChans, QtCore.SIGNAL(
'customContextMenuRequested(const QPoint&)'),
self.on_context_menuChan)
def init_addressbook_popup_menu(self, connectSignal=True):
# Popup menu for the Address Book page
self.addressBookContextMenuToolbar = QtGui.QToolBar()
# Actions
self.actionAddressBookSend = self.addressBookContextMenuToolbar.addAction(
_translate(
"MainWindow", "Send message to this address"),
self.on_action_AddressBookSend)
self.actionAddressBookClipboard = self.addressBookContextMenuToolbar.addAction(
_translate(
"MainWindow", "Copy address to clipboard"),
self.on_action_AddressBookClipboard)
self.actionAddressBookSubscribe = self.addressBookContextMenuToolbar.addAction(
_translate(
"MainWindow", "Subscribe to this address"),
self.on_action_AddressBookSubscribe)
self.actionAddressBookSetAvatar = self.addressBookContextMenuToolbar.addAction(
_translate(
"MainWindow", "Set avatar..."),
self.on_action_AddressBookSetAvatar)
self.actionAddressBookSetSound = \
self.addressBookContextMenuToolbar.addAction(
_translate("MainWindow", "Set notification sound..."),
self.on_action_AddressBookSetSound)
self.actionAddressBookNew = self.addressBookContextMenuToolbar.addAction(
_translate(
"MainWindow", "Add New Address"), self.on_action_AddressBookNew)
self.actionAddressBookDelete = self.addressBookContextMenuToolbar.addAction(
_translate(
"MainWindow", "Delete"), self.on_action_AddressBookDelete)
self.tableWidgetAddressBook.setContextMenuPolicy(
QtCore.Qt.CustomContextMenu)
if connectSignal:
self.connect(self.tableWidgetAddressBook, QtCore.SIGNAL(
'customContextMenuRequested(const QPoint&)'),
self.on_context_menuAddressBook)
def init_subscriptions_popup_menu(self, connectSignal=True):
# Actions
self.actionsubscriptionsNew = self.subscriptionsContextMenuToolbar.addAction(
_translate("MainWindow", "New"), self.on_action_SubscriptionsNew)
self.actionsubscriptionsDelete = self.subscriptionsContextMenuToolbar.addAction(
_translate("MainWindow", "Delete"),
self.on_action_SubscriptionsDelete)
self.actionsubscriptionsClipboard = self.subscriptionsContextMenuToolbar.addAction(
_translate("MainWindow", "Copy address to clipboard"),
self.on_action_SubscriptionsClipboard)
self.actionsubscriptionsEnable = self.subscriptionsContextMenuToolbar.addAction(
_translate("MainWindow", "Enable"),
self.on_action_SubscriptionsEnable)
self.actionsubscriptionsDisable = self.subscriptionsContextMenuToolbar.addAction(
_translate("MainWindow", "Disable"),
self.on_action_SubscriptionsDisable)
self.actionsubscriptionsSetAvatar = self.subscriptionsContextMenuToolbar.addAction(
_translate("MainWindow", "Set avatar..."),
self.on_action_TreeWidgetSetAvatar)
self.actionsubscriptionsSend = self.addressContextMenuToolbar.addAction(
_translate("MainWindow", "Send message to this address"),
self.on_action_Send)
self.treeWidgetSubscriptions.setContextMenuPolicy(
QtCore.Qt.CustomContextMenu)
if connectSignal:
self.connect(self.treeWidgetSubscriptions, QtCore.SIGNAL(
'customContextMenuRequested(const QPoint&)'),
self.on_context_menuSubscriptions)
def init_sent_popup_menu(self, connectSignal=True):
# Actions
self.actionTrashSentMessage = self.sentContextMenuToolbar.addAction(
_translate(
"MainWindow", "Move to Trash"), self.on_action_SentTrash)
self.actionSentClipboard = self.sentContextMenuToolbar.addAction(
_translate(
"MainWindow", "Copy destination address to clipboard"),
self.on_action_SentClipboard)
self.actionForceSend = self.sentContextMenuToolbar.addAction(
_translate(
"MainWindow", "Force send"), self.on_action_ForceSend)
self.actionSentReply = self.sentContextMenuToolbar.addAction(
_translate("MainWindow", "Send update"),
self.on_action_SentReply)
# self.popMenuSent = QtGui.QMenu( self )
# self.popMenuSent.addAction( self.actionSentClipboard )
# self.popMenuSent.addAction( self.actionTrashSentMessage )
def rerenderTabTreeSubscriptions(self): def rerenderTabTreeSubscriptions(self):
treeWidget = self.treeWidgetSubscriptions treeWidget = self.treeWidgetSubscriptions
folders = Ui_FolderWidget.folderWeight.keys() folders = Ui_FolderWidget.folderWeight.keys()
@ -649,13 +341,7 @@ class MainWindow(Window):
# so that quit won't loop # so that quit won't loop
self.wait = self.quitAccepted = False self.wait = self.quitAccepted = False
self.init_file_menu()
self.init_inbox_popup_menu()
self.init_identities_popup_menu() self.init_identities_popup_menu()
self.init_addressbook_popup_menu()
self.init_subscriptions_popup_menu()
self.init_chan_popup_menu()
self.init_sent_popup_menu()
# Initialize the user's list of addresses on the 'Chan' tab. # Initialize the user's list of addresses on the 'Chan' tab.
self.rerenderTabTreeChans() self.rerenderTabTreeChans()
@ -677,77 +363,11 @@ class MainWindow(Window):
# Initialize the Subscriptions # Initialize the Subscriptions
self.rerenderSubscriptions() self.rerenderSubscriptions()
# Initialize the inbox search
QtCore.QObject.connect(self.inboxSearchLineEdit, QtCore.SIGNAL(
"returnPressed()"), self.inboxSearchLineEditReturnPressed)
QtCore.QObject.connect(self.inboxSearchLineEditSubscriptions, QtCore.SIGNAL(
"returnPressed()"), self.inboxSearchLineEditReturnPressed)
QtCore.QObject.connect(self.inboxSearchLineEditChans, QtCore.SIGNAL(
"returnPressed()"), self.inboxSearchLineEditReturnPressed)
QtCore.QObject.connect(self.inboxSearchLineEdit, QtCore.SIGNAL(
"textChanged(QString)"), self.inboxSearchLineEditUpdated)
QtCore.QObject.connect(self.inboxSearchLineEditSubscriptions, QtCore.SIGNAL(
"textChanged(QString)"), self.inboxSearchLineEditUpdated)
QtCore.QObject.connect(self.inboxSearchLineEditChans, QtCore.SIGNAL(
"textChanged(QString)"), self.inboxSearchLineEditUpdated)
# Initialize addressbook
QtCore.QObject.connect(self.tableWidgetAddressBook, QtCore.SIGNAL(
"itemChanged(QTableWidgetItem *)"), self.tableWidgetAddressBookItemChanged)
# This is necessary for the completer to work if multiple recipients
QtCore.QObject.connect(self.lineEditTo, QtCore.SIGNAL(
"cursorPositionChanged(int, int)"), self.lineEditTo.completer().onCursorPositionChanged)
# show messages from message list
QtCore.QObject.connect(self.tableWidgetInbox, QtCore.SIGNAL(
"itemSelectionChanged ()"), self.tableWidgetInboxItemClicked)
QtCore.QObject.connect(self.tableWidgetInboxSubscriptions, QtCore.SIGNAL(
"itemSelectionChanged ()"), self.tableWidgetInboxItemClicked)
QtCore.QObject.connect(self.tableWidgetInboxChans, QtCore.SIGNAL(
"itemSelectionChanged ()"), self.tableWidgetInboxItemClicked)
# tree address lists
QtCore.QObject.connect(self.treeWidgetYourIdentities, QtCore.SIGNAL(
"itemSelectionChanged ()"), self.treeWidgetItemClicked)
QtCore.QObject.connect(self.treeWidgetYourIdentities, QtCore.SIGNAL(
"itemChanged (QTreeWidgetItem *, int)"), self.treeWidgetItemChanged)
QtCore.QObject.connect(self.treeWidgetSubscriptions, QtCore.SIGNAL(
"itemSelectionChanged ()"), self.treeWidgetItemClicked)
QtCore.QObject.connect(self.treeWidgetSubscriptions, QtCore.SIGNAL(
"itemChanged (QTreeWidgetItem *, int)"), self.treeWidgetItemChanged)
QtCore.QObject.connect(self.treeWidgetChans, QtCore.SIGNAL(
"itemSelectionChanged ()"), self.treeWidgetItemClicked)
QtCore.QObject.connect(self.treeWidgetChans, QtCore.SIGNAL(
"itemChanged (QTreeWidgetItem *, int)"), self.treeWidgetItemChanged)
QtCore.QObject.connect(
self.tabWidget, QtCore.SIGNAL("currentChanged(int)"),
self.tabWidgetCurrentChanged
)
# Put the colored icon on the status bar # Put the colored icon on the status bar
# self.pushButtonStatusIcon.setIcon(QIcon(":/newPrefix/images/yellowicon.png"))
self.setStatusBar(BMStatusBar())
self.statusbar = self.statusBar()
self.pushButtonStatusIcon = QtGui.QPushButton(self)
self.pushButtonStatusIcon.setText('')
self.pushButtonStatusIcon.setIcon(
QtGui.QIcon(':/newPrefix/images/redicon.png'))
self.pushButtonStatusIcon.setFlat(True)
self.statusbar.insertPermanentWidget(0, self.pushButtonStatusIcon) self.statusbar.insertPermanentWidget(0, self.pushButtonStatusIcon)
QtCore.QObject.connect(self.pushButtonStatusIcon, QtCore.SIGNAL(
"clicked()"), self.click_pushButtonStatusIcon)
self.unreadCount = 0 self.unreadCount = 0
# Set the icon sizes for the identicons
identicon_size = 3*7
self.tableWidgetInbox.setIconSize(QtCore.QSize(identicon_size, identicon_size))
self.treeWidgetChans.setIconSize(QtCore.QSize(identicon_size, identicon_size))
self.treeWidgetYourIdentities.setIconSize(QtCore.QSize(identicon_size, identicon_size))
self.treeWidgetSubscriptions.setIconSize(QtCore.QSize(identicon_size, identicon_size))
self.tableWidgetAddressBook.setIconSize(QtCore.QSize(identicon_size, identicon_size))
self.UISignalThread = UISignaler.get() self.UISignalThread = UISignaler.get()
QtCore.QObject.connect(self.UISignalThread, QtCore.SIGNAL( QtCore.QObject.connect(self.UISignalThread, QtCore.SIGNAL(
"writeNewAddressToTable(PyQt_PyObject,PyQt_PyObject,PyQt_PyObject)"), self.writeNewAddressToTable) "writeNewAddressToTable(PyQt_PyObject,PyQt_PyObject,PyQt_PyObject)"), self.writeNewAddressToTable)
@ -813,9 +433,6 @@ class MainWindow(Window):
TTL = 28*24*60*60 TTL = 28*24*60*60
self.horizontalSliderTTL.setSliderPosition((TTL - 3600) ** (1/3.199)) self.horizontalSliderTTL.setSliderPosition((TTL - 3600) ** (1/3.199))
self.updateHumanFriendlyTTLDescription(TTL) self.updateHumanFriendlyTTLDescription(TTL)
QtCore.QObject.connect(self.horizontalSliderTTL, QtCore.SIGNAL(
"valueChanged(int)"), self.updateTTL)
self.initSettings() self.initSettings()
self.resetNamecoinConnection() self.resetNamecoinConnection()

View File

@ -21,8 +21,8 @@
<enum>QTabWidget::Rounded</enum> <enum>QTabWidget::Rounded</enum>
</property> </property>
<widget class="QWidget" name="centralwidget"> <widget class="QWidget" name="centralwidget">
<layout class="QVBoxLayout"> <layout class="QVBoxLayout">
<item> <item>
<widget class="QTabWidget" name="tabWidget"> <widget class="QTabWidget" name="tabWidget">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding"> <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
@ -71,81 +71,93 @@
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
<widget class="QWidget" name="inboxIdentitiesWidget"> <widget class="QWidget" name="inboxIdentitiesWidget">
<layout class="QVBoxLayout"> <layout class="QVBoxLayout">
<item> <item>
<widget class="STreeWidget" name="treeWidgetYourIdentities"> <widget class="STreeWidget" name="treeWidgetYourIdentities">
<column> <property name="baseSize">
<property name="text"> <size>
<string>Identities</string> <width>200</width>
</property> <height>0</height>
<property name="icon"> </size>
<iconset> </property>
<selectedoff>:/newPrefix/images/identities.png</selectedoff> <property name="contextMenuPolicy">
</iconset> <enum>Qt::CustomContextMenu</enum>
</property> </property>
</column> <column>
</widget> <property name="text">
</item> <string>Identities</string>
<item> </property>
<widget class="QPushButton" name="pushButtonNewAddress"> <property name="icon">
<property name="maximumSize"> <iconset>
<size> <selectedoff>:/newPrefix/images/identities.png</selectedoff>
<width>200</width> </iconset>
<height>16777215</height> </property>
</size> </column>
</property> </widget>
<property name="text"> </item>
<string>New Indentitiy</string> <item>
</property> <widget class="QPushButton" name="pushButtonNewAddress">
</widget> <property name="maximumSize">
</item> <size>
</layout> <width>200</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>New Indentitiy</string>
</property>
</widget>
</item>
</layout>
</widget> </widget>
<widget class="SSplitter" name="inboxMessagecontrolSplitter"> <widget class="SSplitter" name="inboxMessagecontrolSplitter">
<property name="orientation"> <property name="orientation">
<enum>Qt::Vertical</enum> <enum>Qt::Vertical</enum>
</property> </property>
<widget class="QWidget" name="searchWidget"> <widget class="QWidget" name="searchWidget">
<layout class="QHBoxLayout" name="searchLayout"> <layout class="QHBoxLayout" name="searchLayout">
<item>
<widget class="QLineEdit" name="inboxSearchLineEdit">
<property name="placeholderText">
<string>Search</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="inboxSearchOption">
<item> <item>
<property name="text"> <widget class="QLineEdit" name="inboxSearchLineEdit">
<string>All</string> <property name="placeholderText">
</property> <string>Search</string>
</property>
</widget>
</item> </item>
<item> <item>
<property name="text"> <widget class="QComboBox" name="inboxSearchOption">
<string>To</string> <item>
</property> <property name="text">
<string>All</string>
</property>
</item>
<item>
<property name="text">
<string>To</string>
</property>
</item>
<item>
<property name="text">
<string>From</string>
</property>
</item>
<item>
<property name="text">
<string>Subject</string>
</property>
</item>
<item>
<property name="text">
<string>Message</string>
</property>
</item>
</widget>
</item> </item>
<item> </layout>
<property name="text">
<string>From</string>
</property>
</item>
<item>
<property name="text">
<string>Subject</string>
</property>
</item>
<item>
<property name="text">
<string>Message</string>
</property>
</item>
</widget>
</item>
</layout>
</widget> </widget>
<widget class="STableWidget" name="tableWidgetInbox"> <widget class="STableWidget" name="tableWidgetInbox">
<property name="contextMenuPolicy">
<enum>Qt::CustomContextMenu</enum>
</property>
<property name="editTriggers"> <property name="editTriggers">
<set>QAbstractItemView::NoEditTriggers</set> <set>QAbstractItemView::NoEditTriggers</set>
</property> </property>
@ -236,13 +248,16 @@
<layout class="QVBoxLayout" name="sendLayout"> <layout class="QVBoxLayout" name="sendLayout">
<item> <item>
<widget class="SSplitter" name="sendHorizontalSplitter"> <widget class="SSplitter" name="sendHorizontalSplitter">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
<widget class="QWidget" name="sendIdentitiesWidget"> <widget class="QWidget" name="sendIdentitiesWidget">
<layout class="QVBoxLayout"> <layout class="QVBoxLayout">
<item> <item>
<widget class="STableWidget" name="tableWidgetAddressBook"> <widget class="STableWidget" name="tableWidgetAddressBook">
<property name="contextMenuPolicy">
<enum>Qt::CustomContextMenu</enum>
</property>
<property name="alternatingRowColors"> <property name="alternatingRowColors">
<bool>true</bool> <bool>true</bool>
</property> </property>
@ -286,8 +301,8 @@
</property> </property>
</column> </column>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QPushButton" name="pushButtonAddAddressBook"> <widget class="QPushButton" name="pushButtonAddAddressBook">
<property name="maximumSize"> <property name="maximumSize">
<size> <size>
@ -299,8 +314,8 @@
<string>Add Contact</string> <string>Add Contact</string>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QPushButton" name="pushButtonFetchNamecoinID"> <widget class="QPushButton" name="pushButtonFetchNamecoinID">
<property name="maximumSize"> <property name="maximumSize">
<size> <size>
@ -317,282 +332,281 @@
<string>Fetch Namecoin ID</string> <string>Fetch Namecoin ID</string>
</property> </property>
</widget> </widget>
</item> </item>
</layout> </layout>
</widget>
<widget class="SSplitter" name="sendMessagecontrolSplitter">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<widget class="QTabWidget" name="tabWidgetSend">
<property name="currentIndex">
<number>0</number>
</property>
<widget class="QWidget" name="sendDirect">
<attribute name="title">
<string>Send ordinary Message</string>
</attribute>
<layout class="QGridLayout" name="gridLayout_8">
<item row="0" column="0">
<layout class="QVBoxLayout" name="verticalLayout_5">
<item>
<layout class="QGridLayout" name="gridLayout_2">
<item row="2" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>Subject:</string>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
<string>From:</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLineEdit" name="lineEditSubject">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>To:</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QComboBox" name="comboBoxSendFrom">
<property name="minimumSize">
<size>
<width>300</width>
<height>0</height>
</size>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="lineEditTo"/>
</item>
</layout>
</item>
<item>
<widget class="MessageCompose" name="textEditMessage">
<property name="html">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2';&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
<widget class="QWidget" name="sendBroadcast">
<attribute name="title">
<string>Send Message to your Subscribers</string>
</attribute>
<layout class="QGridLayout" name="gridLayout_9">
<item row="0" column="0">
<layout class="QVBoxLayout" name="verticalLayout_6">
<item>
<layout class="QGridLayout" name="gridLayout_5">
<item row="0" column="0">
<widget class="QLabel" name="label_8">
<property name="text">
<string>From:</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="lineEditSubjectBroadcast">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_7">
<property name="text">
<string>Subject:</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QComboBox" name="comboBoxSendFromBroadcast">
<property name="minimumSize">
<size>
<width>300</width>
<height>0</height>
</size>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="MessageCompose" name="textEditMessageBroadcast">
<property name="html">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2';&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</widget> </widget>
<widget class="SSplitter" name="sendMessagecontrolSplitter"> <widget class="QWidget" name="sendControlsContainer">
<property name="orientation"> <layout class="QHBoxLayout" name="sendControlsLayout">
<enum>Qt::Vertical</enum> <item>
</property> <widget class="QPushButton" name="pushButtonTTL">
<widget class="QTabWidget" name="tabWidgetSend"> <property name="sizePolicy">
<property name="currentIndex"> <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<number>0</number> <horstretch>0</horstretch>
</property> <verstretch>0</verstretch>
<widget class="QWidget" name="sendDirect"> </sizepolicy>
<attribute name="title"> </property>
<string>Send ordinary Message</string> <property name="maximumSize">
</attribute> <size>
<layout class="QGridLayout" name="gridLayout_8"> <width>32</width>
<item row="0" column="0"> <height>16777215</height>
<layout class="QVBoxLayout" name="verticalLayout_5"> </size>
<item> </property>
<layout class="QGridLayout" name="gridLayout_2"> <property name="palette">
<item row="2" column="0"> <palette>
<widget class="QLabel" name="label_3"> <active>
<property name="text"> <colorrole role="ButtonText">
<string>Subject:</string> <brush brushstyle="SolidPattern">
</property> <color alpha="255">
</widget> <red>0</red>
</item> <green>0</green>
<item row="0" column="0"> <blue>255</blue>
<widget class="QLabel" name="label_2"> </color>
<property name="text"> </brush>
<string>From:</string> </colorrole>
</property> </active>
</widget> <inactive>
</item> <colorrole role="ButtonText">
<item row="2" column="1"> <brush brushstyle="SolidPattern">
<widget class="QLineEdit" name="lineEditSubject"> <color alpha="255">
<property name="text"> <red>0</red>
<string/> <green>0</green>
</property> <blue>255</blue>
</widget> </color>
</item> </brush>
<item row="1" column="0"> </colorrole>
<widget class="QLabel" name="label"> </inactive>
<property name="text"> <disabled>
<string>To:</string> <colorrole role="ButtonText">
</property> <brush brushstyle="SolidPattern">
</widget> <color alpha="255">
</item> <red>120</red>
<item row="0" column="1"> <green>120</green>
<widget class="QComboBox" name="comboBoxSendFrom"> <blue>120</blue>
<property name="minimumSize"> </color>
<size> </brush>
<width>300</width> </colorrole>
<height>0</height> </disabled>
</size> </palette>
</property> </property>
</widget> <property name="font">
</item> <font>
<item row="1" column="1"> <underline>true</underline>
<widget class="QLineEdit" name="lineEditTo"/> </font>
</item> </property>
</layout> <property name="text">
</item> <string>TTL:</string>
<item> </property>
<widget class="MessageCompose" name="textEditMessage"> <property name="flat">
<property name="html"> <bool>true</bool>
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; </property>
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2';&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget> </widget>
<widget class="QWidget" name="sendBroadcast"> </item>
<attribute name="title"> <item>
<string>Send Message to your Subscribers</string> <widget class="QSlider" name="horizontalSliderTTL">
</attribute> <property name="minimumSize">
<layout class="QGridLayout" name="gridLayout_9"> <size>
<item row="0" column="0"> <width>35</width>
<layout class="QVBoxLayout" name="verticalLayout_6"> <height>0</height>
<item> </size>
<layout class="QGridLayout" name="gridLayout_5"> </property>
<item row="0" column="0"> <property name="maximumSize">
<widget class="QLabel" name="label_8"> <size>
<property name="text"> <width>70</width>
<string>From:</string> <height>16777215</height>
</property> </size>
</widget> </property>
</item> <property name="orientation">
<item row="1" column="1"> <enum>Qt::Horizontal</enum>
<widget class="QLineEdit" name="lineEditSubjectBroadcast"> </property>
<property name="text"> <property name="invertedAppearance">
<string/> <bool>false</bool>
</property> </property>
</widget> <property name="invertedControls">
</item> <bool>false</bool>
<item row="1" column="0"> </property>
<widget class="QLabel" name="label_7">
<property name="text">
<string>Subject:</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QComboBox" name="comboBoxSendFromBroadcast">
<property name="minimumSize">
<size>
<width>300</width>
<height>0</height>
</size>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="MessageCompose" name="textEditMessageBroadcast">
<property name="html">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2';&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget> </widget>
</widget> </item>
<item>
<widget class="QWidget" name="sendControlsContainer"> <widget class="QLabel" name="labelHumanFriendlyTTLDescription">
<layout class="QHBoxLayout" name="sendControlsLayout"> <property name="sizePolicy">
<item> <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
<widget class="QPushButton" name="pushButtonTTL"> <horstretch>0</horstretch>
<property name="sizePolicy"> <verstretch>0</verstretch>
<sizepolicy hsizetype="Fixed" vsizetype="Fixed"> </sizepolicy>
<horstretch>0</horstretch> </property>
<verstretch>0</verstretch> <property name="minimumSize">
</sizepolicy> <size>
</property> <width>45</width>
<property name="maximumSize"> <height>0</height>
<size> </size>
<width>32</width> </property>
<height>16777215</height> <property name="maximumSize">
</size> <size>
</property> <width>45</width>
<property name="palette"> <height>16777215</height>
<palette> </size>
<active> </property>
<colorrole role="ButtonText"> <property name="text">
<brush brushstyle="SolidPattern"> <string>X days</string>
<color alpha="255"> </property>
<red>0</red> </widget>
<green>0</green> </item>
<blue>255</blue> <item alignment="Qt::AlignRight">
</color> <widget class="QPushButton" name="pushButtonClear">
</brush> <property name="text">
</colorrole> <string>Clear</string>
</active> </property>
<inactive> </widget>
<colorrole role="ButtonText"> </item>
<brush brushstyle="SolidPattern"> <item alignment="Qt::AlignRight">
<color alpha="255"> <widget class="QPushButton" name="pushButtonSend">
<red>0</red> <property name="maximumSize">
<green>0</green> <size>
<blue>255</blue> <width>16777215</width>
</color> <height>16777215</height>
</brush> </size>
</colorrole> </property>
</inactive> <property name="text">
<disabled> <string>Send</string>
<colorrole role="ButtonText"> </property>
<brush brushstyle="SolidPattern"> </widget>
<color alpha="255"> </item>
<red>120</red>
<green>120</green>
<blue>120</blue>
</color>
</brush>
</colorrole>
</disabled>
</palette>
</property>
<property name="font">
<font>
<underline>true</underline>
</font>
</property>
<property name="text">
<string>TTL:</string>
</property>
<property name="flat">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QSlider" name="horizontalSliderTTL">
<property name="minimumSize">
<size>
<width>35</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>70</width>
<height>16777215</height>
</size>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="invertedAppearance">
<bool>false</bool>
</property>
<property name="invertedControls">
<bool>false</bool>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="labelHumanFriendlyTTLDescription">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>45</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>45</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>X days</string>
</property>
</widget>
</item>
<item alignment="Qt::AlignRight">
<widget class="QPushButton" name="pushButtonClear">
<property name="text">
<string>Clear</string>
</property>
</widget>
</item>
<item alignment="Qt::AlignRight">
<widget class="QPushButton" name="pushButtonSend">
<property name="maximumSize">
<size>
<width>16777215</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>Send</string>
</property>
</widget>
</item>
</layout> </layout>
</widget>
</widget> </widget>
</widget>
</widget> </widget>
</item> </item>
</layout> </layout>
@ -611,10 +625,13 @@ p, li { white-space: pre-wrap; }
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
<widget class="QWidget" name="subscriptionsIdentitiesWidget"> <widget class="QWidget" name="subscriptionsIdentitiesWidget">
<layout class="QVBoxLayout"> <layout class="QVBoxLayout">
<item> <item>
<widget class="STreeWidget" name="treeWidgetSubscriptions"> <widget class="STreeWidget" name="treeWidgetSubscriptions">
<property name="contextMenuPolicy">
<enum>Qt::CustomContextMenu</enum>
</property>
<property name="alternatingRowColors"> <property name="alternatingRowColors">
<bool>true</bool> <bool>true</bool>
</property> </property>
@ -635,8 +652,8 @@ p, li { white-space: pre-wrap; }
</property> </property>
</column> </column>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QPushButton" name="pushButtonAddSubscription"> <widget class="QPushButton" name="pushButtonAddSubscription">
<property name="maximumSize"> <property name="maximumSize">
<size> <size>
@ -648,129 +665,132 @@ p, li { white-space: pre-wrap; }
<string>Add new Subscription</string> <string>Add new Subscription</string>
</property> </property>
</widget> </widget>
</item> </item>
</layout> </layout>
</widget>
<widget class="SSplitter" name="subscriptionsMessagecontrolSplitter">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<widget class="QWidget" name="searchWidget">
<layout class="QHBoxLayout" name="searchLayout">
<item>
<widget class="QLineEdit" name="inboxSearchLineEditSubscriptions">
<property name="placeholderText">
<string>Search</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="inboxSearchOptionSubscriptions">
<item>
<property name="text">
<string>All</string>
</property>
</item>
<item>
<property name="text">
<string>To</string>
</property>
</item>
<item>
<property name="text">
<string>From</string>
</property>
</item>
<item>
<property name="text">
<string>Subject</string>
</property>
</item>
<item>
<property name="text">
<string>Message</string>
</property>
</item>
</widget>
</item>
</layout>
</widget> </widget>
<widget class="SSplitter" name="subscriptionsMessagecontrolSplitter"> <widget class="STableWidget" name="tableWidgetInboxSubscriptions">
<property name="orientation"> <property name="contextMenuPolicy">
<enum>Qt::Vertical</enum> <enum>Qt::CustomContextMenu</enum>
</property>
<property name="editTriggers">
<set>QAbstractItemView::NoEditTriggers</set>
</property>
<property name="alternatingRowColors">
<bool>true</bool>
</property>
<property name="selectionMode">
<enum>QAbstractItemView::ExtendedSelection</enum>
</property>
<property name="selectionBehavior">
<enum>QAbstractItemView::SelectRows</enum>
</property>
<property name="sortingEnabled">
<bool>true</bool>
</property>
<property name="wordWrap">
<bool>false</bool>
</property>
<attribute name="horizontalHeaderCascadingSectionResizes">
<bool>true</bool>
</attribute>
<attribute name="horizontalHeaderDefaultSectionSize">
<number>200</number>
</attribute>
<attribute name="horizontalHeaderHighlightSections">
<bool>false</bool>
</attribute>
<attribute name="horizontalHeaderMinimumSectionSize">
<number>27</number>
</attribute>
<attribute name="horizontalHeaderShowSortIndicator" stdset="0">
<bool>false</bool>
</attribute>
<attribute name="horizontalHeaderStretchLastSection">
<bool>true</bool>
</attribute>
<attribute name="verticalHeaderVisible">
<bool>false</bool>
</attribute>
<attribute name="verticalHeaderDefaultSectionSize">
<number>26</number>
</attribute>
<column>
<property name="text">
<string>To</string>
</property> </property>
<widget class="QWidget" name="searchWidget"> </column>
<layout class="QHBoxLayout" name="searchLayout"> <column>
<item> <property name="text">
<widget class="QLineEdit" name="inboxSearchLineEditSubscriptions"> <string>From</string>
<property name="placeholderText"> </property>
<string>Search</string> </column>
</property> <column>
</widget> <property name="text">
</item> <string>Subject</string>
<item> </property>
<widget class="QComboBox" name="inboxSearchOptionSubscriptions"> </column>
<item> <column>
<property name="text"> <property name="text">
<string>All</string> <string>Received</string>
</property> </property>
</item> </column>
<item>
<property name="text">
<string>To</string>
</property>
</item>
<item>
<property name="text">
<string>From</string>
</property>
</item>
<item>
<property name="text">
<string>Subject</string>
</property>
</item>
<item>
<property name="text">
<string>Message</string>
</property>
</item>
</widget>
</item>
</layout>
</widget>
<widget class="STableWidget" name="tableWidgetInboxSubscriptions">
<property name="editTriggers">
<set>QAbstractItemView::NoEditTriggers</set>
</property>
<property name="alternatingRowColors">
<bool>true</bool>
</property>
<property name="selectionMode">
<enum>QAbstractItemView::ExtendedSelection</enum>
</property>
<property name="selectionBehavior">
<enum>QAbstractItemView::SelectRows</enum>
</property>
<property name="sortingEnabled">
<bool>true</bool>
</property>
<property name="wordWrap">
<bool>false</bool>
</property>
<attribute name="horizontalHeaderCascadingSectionResizes">
<bool>true</bool>
</attribute>
<attribute name="horizontalHeaderDefaultSectionSize">
<number>200</number>
</attribute>
<attribute name="horizontalHeaderHighlightSections">
<bool>false</bool>
</attribute>
<attribute name="horizontalHeaderMinimumSectionSize">
<number>27</number>
</attribute>
<attribute name="horizontalHeaderShowSortIndicator" stdset="0">
<bool>false</bool>
</attribute>
<attribute name="horizontalHeaderStretchLastSection">
<bool>true</bool>
</attribute>
<attribute name="verticalHeaderVisible">
<bool>false</bool>
</attribute>
<attribute name="verticalHeaderDefaultSectionSize">
<number>26</number>
</attribute>
<column>
<property name="text">
<string>To</string>
</property>
</column>
<column>
<property name="text">
<string>From</string>
</property>
</column>
<column>
<property name="text">
<string>Subject</string>
</property>
</column>
<column>
<property name="text">
<string>Received</string>
</property>
</column>
</widget>
<widget class="MessageView" name="textEditInboxMessageSubscriptions">
<property name="baseSize">
<size>
<width>0</width>
<height>500</height>
</size>
</property>
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</widget> </widget>
<widget class="MessageView" name="textEditInboxMessageSubscriptions">
<property name="baseSize">
<size>
<width>0</width>
<height>500</height>
</size>
</property>
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</widget>
</widget> </widget>
</item> </item>
</layout> </layout>
@ -785,14 +805,17 @@ p, li { white-space: pre-wrap; }
</attribute> </attribute>
<layout class="QVBoxLayout" name="chansLayout"> <layout class="QVBoxLayout" name="chansLayout">
<item> <item>
<widget class="SSplitter" name="chansHorizontalSplitter"> <widget class="SSplitter" name="chansHorizontalSplitter">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
<widget class="QWidget" name="chansIdentitiesWidget"> <widget class="QWidget" name="chansIdentitiesWidget">
<layout class="QVBoxLayout"> <layout class="QVBoxLayout">
<item> <item>
<widget class="QTreeWidget" name="treeWidgetChans"> <widget class="QTreeWidget" name="treeWidgetChans">
<property name="contextMenuPolicy">
<enum>Qt::CustomContextMenu</enum>
</property>
<property name="frameShadow"> <property name="frameShadow">
<enum>QFrame::Sunken</enum> <enum>QFrame::Sunken</enum>
</property> </property>
@ -819,8 +842,8 @@ p, li { white-space: pre-wrap; }
</property> </property>
</column> </column>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QPushButton" name="pushButtonAddChan"> <widget class="QPushButton" name="pushButtonAddChan">
<property name="maximumSize"> <property name="maximumSize">
<size> <size>
@ -832,129 +855,132 @@ p, li { white-space: pre-wrap; }
<string>Add Chan</string> <string>Add Chan</string>
</property> </property>
</widget> </widget>
</item> </item>
</layout> </layout>
</widget> </widget>
<widget class="SSplitter" name="chansMessagecontrolSplitter"> <widget class="SSplitter" name="chansMessagecontrolSplitter">
<property name="orientation"> <property name="orientation">
<enum>Qt::Vertical</enum> <enum>Qt::Vertical</enum>
</property> </property>
<widget class="QWidget" name="searchWidget"> <widget class="QWidget" name="searchWidget">
<layout class="QHBoxLayout" name="searchLayout"> <layout class="QHBoxLayout" name="searchLayout">
<item> <item>
<widget class="QLineEdit" name="inboxSearchLineEditChans"> <widget class="QLineEdit" name="inboxSearchLineEditChans">
<property name="placeholderText"> <property name="placeholderText">
<string>Search</string> <string>Search</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="inboxSearchOptionChans">
<item>
<property name="text">
<string>All</string>
</property> </property>
</widget> </item>
</item> <item>
<item> <property name="text">
<widget class="QComboBox" name="inboxSearchOptionChans"> <string>To</string>
<item> </property>
<property name="text"> </item>
<string>All</string> <item>
</property> <property name="text">
</item> <string>From</string>
<item> </property>
<property name="text"> </item>
<string>To</string> <item>
</property> <property name="text">
</item> <string>Subject</string>
<item> </property>
<property name="text"> </item>
<string>From</string> <item>
</property> <property name="text">
</item> <string>Message</string>
<item> </property>
<property name="text"> </item>
<string>Subject</string> </widget>
</property> </item>
</item> </layout>
<item>
<property name="text">
<string>Message</string>
</property>
</item>
</widget>
</item>
</layout>
</widget>
<widget class="STableWidget" name="tableWidgetInboxChans">
<property name="editTriggers">
<set>QAbstractItemView::NoEditTriggers</set>
</property>
<property name="alternatingRowColors">
<bool>true</bool>
</property>
<property name="selectionMode">
<enum>QAbstractItemView::ExtendedSelection</enum>
</property>
<property name="selectionBehavior">
<enum>QAbstractItemView::SelectRows</enum>
</property>
<property name="sortingEnabled">
<bool>true</bool>
</property>
<property name="wordWrap">
<bool>false</bool>
</property>
<attribute name="horizontalHeaderCascadingSectionResizes">
<bool>true</bool>
</attribute>
<attribute name="horizontalHeaderDefaultSectionSize">
<number>200</number>
</attribute>
<attribute name="horizontalHeaderHighlightSections">
<bool>false</bool>
</attribute>
<attribute name="horizontalHeaderMinimumSectionSize">
<number>27</number>
</attribute>
<attribute name="horizontalHeaderShowSortIndicator" stdset="0">
<bool>false</bool>
</attribute>
<attribute name="horizontalHeaderStretchLastSection">
<bool>true</bool>
</attribute>
<attribute name="verticalHeaderVisible">
<bool>false</bool>
</attribute>
<attribute name="verticalHeaderDefaultSectionSize">
<number>26</number>
</attribute>
<column>
<property name="text">
<string>To</string>
</property>
</column>
<column>
<property name="text">
<string>From</string>
</property>
</column>
<column>
<property name="text">
<string>Subject</string>
</property>
</column>
<column>
<property name="text">
<string>Received</string>
</property>
</column>
</widget>
<widget class="MessageView" name="textEditInboxMessageChans">
<property name="baseSize">
<size>
<width>0</width>
<height>500</height>
</size>
</property>
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</widget> </widget>
<widget class="STableWidget" name="tableWidgetInboxChans">
<property name="contextMenuPolicy">
<enum>Qt::CustomContextMenu</enum>
</property>
<property name="editTriggers">
<set>QAbstractItemView::NoEditTriggers</set>
</property>
<property name="alternatingRowColors">
<bool>true</bool>
</property>
<property name="selectionMode">
<enum>QAbstractItemView::ExtendedSelection</enum>
</property>
<property name="selectionBehavior">
<enum>QAbstractItemView::SelectRows</enum>
</property>
<property name="sortingEnabled">
<bool>true</bool>
</property>
<property name="wordWrap">
<bool>false</bool>
</property>
<attribute name="horizontalHeaderCascadingSectionResizes">
<bool>true</bool>
</attribute>
<attribute name="horizontalHeaderDefaultSectionSize">
<number>200</number>
</attribute>
<attribute name="horizontalHeaderHighlightSections">
<bool>false</bool>
</attribute>
<attribute name="horizontalHeaderMinimumSectionSize">
<number>27</number>
</attribute>
<attribute name="horizontalHeaderShowSortIndicator" stdset="0">
<bool>false</bool>
</attribute>
<attribute name="horizontalHeaderStretchLastSection">
<bool>true</bool>
</attribute>
<attribute name="verticalHeaderVisible">
<bool>false</bool>
</attribute>
<attribute name="verticalHeaderDefaultSectionSize">
<number>26</number>
</attribute>
<column>
<property name="text">
<string>To</string>
</property>
</column>
<column>
<property name="text">
<string>From</string>
</property>
</column>
<column>
<property name="text">
<string>Subject</string>
</property>
</column>
<column>
<property name="text">
<string>Received</string>
</property>
</column>
</widget>
<widget class="MessageView" name="textEditInboxMessageChans">
<property name="baseSize">
<size>
<width>0</width>
<height>500</height>
</size>
</property>
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</widget>
</widget> </widget>
</item> </item>
</layout> </layout>
@ -979,6 +1005,47 @@ p, li { white-space: pre-wrap; }
</widget> </widget>
</widget> </widget>
</item> </item>
<item>
<widget class="QPushButton" name="pushButtonStatusIcon">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>50</width>
<height>50</height>
</size>
</property>
<property name="cursor">
<cursorShape>ArrowCursor</cursorShape>
</property>
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
<property name="layoutDirection">
<enum>Qt::LeftToRight</enum>
</property>
<property name="text">
<string notr="true"/>
</property>
<property name="icon">
<iconset resource="bitmessage_icons.qrc">
<normaloff>:/newPrefix/images/redicon.png</normaloff>:/newPrefix/images/redicon.png</iconset>
</property>
<property name="iconSize">
<size>
<width>21</width>
<height>23</height>
</size>
</property>
<property name="flat">
<bool>true</bool>
</property>
</widget>
</item>
</layout> </layout>
</widget> </widget>
<widget class="QMenuBar" name="menubar"> <widget class="QMenuBar" name="menubar">
@ -1018,14 +1085,320 @@ p, li { white-space: pre-wrap; }
<addaction name="menuSettings"/> <addaction name="menuSettings"/>
<addaction name="menuHelp"/> <addaction name="menuHelp"/>
</widget> </widget>
<widget class="QStatusBar" name="statusbar"> <widget class="BMStatusBar" name="statusbar">
<property name="maximumSize"> <property name="maximumSize">
<size> <size>
<width>16777215</width> <width>16777215</width>
<height>22</height> <height>25</height>
</size> </size>
</property> </property>
</widget> </widget>
<widget class="QToolBar" name="inboxContextMenuToolbar">
<attribute name="toolBarArea">
<enum>TopToolBarArea</enum>
</attribute>
<attribute name="toolBarBreak">
<bool>false</bool>
</attribute>
<action name="actionReply">
<property name="text">
<string>Reply to sender</string>
</property>
</action>
<action name="actionReplyChan">
<property name="text">
<string>Reply to channel</string>
</property>
</action>
<action name="actionAddSenderToAddressBook">
<property name="text">
<string>Add sender to your Address Book</string>
</property>
</action>
<action name="actionAddSenderToBlackList">
<property name="text">
<string>Add sender to your Blacklist</string>
</property>
</action>
<action name="actionTrashInboxMessage">
<property name="text">
<string>Move to Trash</string>
</property>
</action>
<action name="actionUndeleteTrashedMessage">
<property name="text">
<string>Undelete</string>
</property>
</action>
<action name="actionForceHtml">
<property name="text">
<string>View HTML code as formatted text</string>
</property>
</action>
<action name="actionSaveMessageAs">
<property name="text">
<string>Save message as...</string>
</property>
</action>
<action name="actionMarkUnread">
<property name="text">
<string>Mark Unread</string>
</property>
</action>
<addaction name="actionReply"/>
<addaction name="actionReplyChan"/>
<addaction name="actionAddSenderToAddressBook"/>
<addaction name="actionAddSenderToBlackList"/>
<addaction name="actionTrashInboxMessage"/>
<addaction name="actionUndeleteTrashedMessage"/>
<addaction name="actionForceHtml"/>
<addaction name="actionSaveMessageAs"/>
<addaction name="actionMarkUnread"/>
</widget>
<widget class="QToolBar" name="addressContextMenuToolbarYourIdentities">
<attribute name="toolBarArea">
<enum>TopToolBarArea</enum>
</attribute>
<attribute name="toolBarBreak">
<bool>false</bool>
</attribute>
<action name="actionNewYourIdentities">
<property name="text">
<string>New</string>
</property>
</action>
<action name="actionEnableYourIdentities">
<property name="text">
<string>Enable</string>
</property>
</action>
<action name="actionDisableYourIdentities">
<property name="text">
<string>Disable</string>
</property>
</action>
<action name="actionSetAvatarYourIdentities">
<property name="text">
<string>Set avatar...</string>
</property>
</action>
<action name="actionClipboardYourIdentities">
<property name="text">
<string>Copy address to clipboard</string>
</property>
</action>
<action name="actionSpecialAddressBehaviorYourIdentities">
<property name="text">
<string>Special address behavior...</string>
</property>
</action>
<action name="actionEmailGateway">
<property name="text">
<string>Email gateway</string>
</property>
</action>
<action name="actionMarkAllRead">
<property name="text">
<string>Mark all messages as read</string>
</property>
</action>
<addaction name="actionNewYourIdentities"/>
<addaction name="actionEnableYourIdentities"/>
<addaction name="actionDisableYourIdentities"/>
<addaction name="actionSetAvatarYourIdentities"/>
<addaction name="actionClipboardYourIdentities"/>
<addaction name="actionSpecialAddressBehaviorYourIdentities"/>
<addaction name="actionEmailGateway"/>
<addaction name="actionMarkAllRead"/>
</widget>
<widget class="QToolBar" name="addressContextMenuToolbar">
<attribute name="toolBarArea">
<enum>TopToolBarArea</enum>
</attribute>
<attribute name="toolBarBreak">
<bool>false</bool>
</attribute>
<action name="actionNew">
<property name="text">
<string>New</string>
</property>
</action>
<action name="actionDelete">
<property name="text">
<string>Delete</string>
</property>
</action>
<action name="actionEnable">
<property name="text">
<string>Enable</string>
</property>
</action>
<action name="actionDisable">
<property name="text">
<string>Disable</string>
</property>
</action>
<action name="actionSetAvatar">
<property name="text">
<string>Set avatar...</string>
</property>
</action>
<action name="actionClipboard">
<property name="text">
<string>Copy address to clipboard</string>
</property>
</action>
<action name="actionSend">
<property name="text">
<string>Send message to this chan</string>
</property>
</action>
<action name="actionSpecialAddressBehavior">
<property name="text">
<string>Special address behavior...</string>
</property>
</action>
<addaction name="actionNew"/>
<addaction name="actionDelete"/>
<addaction name="actionEnable"/>
<addaction name="actionDisable"/>
<addaction name="actionSetAvatar"/>
<addaction name="actionClipboard"/>
<addaction name="actionSend"/>
<addaction name="actionSpecialAddressBehavior"/>
</widget>
<widget class="QToolBar" name="addressBookContextMenuToolbar">
<attribute name="toolBarArea">
<enum>TopToolBarArea</enum>
</attribute>
<attribute name="toolBarBreak">
<bool>false</bool>
</attribute>
<action name="actionAddressBookSend">
<property name="text">
<string>Send message to this address</string>
</property>
</action>
<action name="actionAddressBookClipboard">
<property name="text">
<string>Copy address to clipboard</string>
</property>
</action>
<action name="actionAddressBookSubscribe">
<property name="text">
<string>Subscribe to this address</string>
</property>
</action>
<action name="actionAddressBookSetAvatar">
<property name="text">
<string>Set avatar...</string>
</property>
</action>
<action name="actionAddressBookSetSound">
<property name="text">
<string>Set notification sound...</string>
</property>
</action>
<action name="actionAddressBookNew">
<property name="text">
<string>Add New Address</string>
</property>
</action>
<action name="actionAddressBookDelete">
<property name="text">
<string>Delete</string>
</property>
</action>
<addaction name="actionAddressBookSend"/>
<addaction name="actionAddressBookClipboard"/>
<addaction name="actionAddressBookSubscribe"/>
<addaction name="actionAddressBookSetAvatar"/>
<addaction name="actionAddressBookSetSound"/>
<addaction name="actionAddressBookNew"/>
<addaction name="actionAddressBookDelete"/>
</widget>
<widget class="QToolBar" name="subscriptionsContextMenuToolbar">
<attribute name="toolBarArea">
<enum>TopToolBarArea</enum>
</attribute>
<attribute name="toolBarBreak">
<bool>false</bool>
</attribute>
<action name="actionsubscriptionsNew">
<property name="text">
<string>New</string>
</property>
</action>
<action name="actionsubscriptionsDelete">
<property name="text">
<string>Delete</string>
</property>
</action>
<action name="actionsubscriptionsClipboard">
<property name="text">
<string>Copy address to clipboard</string>
</property>
</action>
<action name="actionsubscriptionsEnable">
<property name="text">
<string>Enable</string>
</property>
</action>
<action name="actionsubscriptionsDisable">
<property name="text">
<string>Disable</string>
</property>
</action>
<action name="actionsubscriptionsSetAvatar">
<property name="text">
<string>Set avatar...</string>
</property>
</action>
<action name="actionsubscriptionsSend">
<property name="text">
<string>Send message to this address</string>
</property>
</action>
<addaction name="actionsubscriptionsNew"/>
<addaction name="actionsubscriptionsDelete"/>
<addaction name="actionsubscriptionsClipboard"/>
<addaction name="actionsubscriptionsEnable"/>
<addaction name="actionsubscriptionsDisable"/>
<addaction name="actionsubscriptionsSetAvatar"/>
<addaction name="actionsubscriptionsSend"/>
</widget>
<widget class="QToolBar" name="sentContextMenuToolbar">
<attribute name="toolBarArea">
<enum>TopToolBarArea</enum>
</attribute>
<attribute name="toolBarBreak">
<bool>false</bool>
</attribute>
<action name="actionTrashSentMessage">
<property name="text">
<string>Move to Trash</string>
</property>
</action>
<action name="actionSentClipboard">
<property name="text">
<string>Copy destination address to clipboard</string>
</property>
</action>
<action name="actionForceSend">
<property name="text">
<string>Force send</string>
</property>
</action>
<action name="actionSentReply">
<property name="text">
<string>Send update</string>
</property>
</action>
<addaction name="actionTrashSentMessage"/>
<addaction name="actionSentClipboard"/>
<addaction name="actionForceSend"/>
<addaction name="actionSentReply"/>
</widget>
<action name="actionImport_keys"> <action name="actionImport_keys">
<property name="text"> <property name="text">
<string>Import keys</string> <string>Import keys</string>
@ -1127,6 +1500,11 @@ p, li { white-space: pre-wrap; }
</action> </action>
</widget> </widget>
<customwidgets> <customwidgets>
<customwidget>
<class>BMStatusBar</class>
<extends>QStatusBar</extends>
<header>bitmessageqt.statusbar</header>
</customwidget>
<customwidget> <customwidget>
<class>Blacklist</class> <class>Blacklist</class>
<extends>QWidget</extends> <extends>QWidget</extends>
@ -1163,11 +1541,6 @@ p, li { white-space: pre-wrap; }
<extends>QTextEdit</extends> <extends>QTextEdit</extends>
<header>bitmessageqt.messagecompose</header> <header>bitmessageqt.messagecompose</header>
</customwidget> </customwidget>
<customwidget>
<class>MessagelistControl</class>
<extends>SSplitter</extends>
<header>bitmessageqt.messagelist</header>
</customwidget>
</customwidgets> </customwidgets>
<tabstops> <tabstops>
<tabstop>tableWidgetInbox</tabstop> <tabstop>tableWidgetInbox</tabstop>
@ -1182,5 +1555,1342 @@ p, li { white-space: pre-wrap; }
<resources> <resources>
<include location="bitmessage_icons.qrc"/> <include location="bitmessage_icons.qrc"/>
</resources> </resources>
<connections/> <connections>
<connection>
<sender>actionExit</sender>
<signal>triggered()</signal>
<receiver>MainWindow</receiver>
<slot>quit()</slot>
<hints>
<hint type="sourcelabel">
<x>-1</x>
<y>-1</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>actionNetworkSwitch</sender>
<signal>triggered()</signal>
<receiver>MainWindow</receiver>
<slot>network_switch</slot>
<hints>
<hint type="sourcelabel">
<x>-1</x>
<y>-1</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>actionRegenerateDeterministicAddresses</sender>
<signal>triggered()</signal>
<receiver>MainWindow</receiver>
<slot>click_actionRegenerateDeterministicAddresses</slot>
<hints>
<hint type="sourcelabel">
<x>-1</x>
<y>-1</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>actionDeleteAllTrashedMessages</sender>
<signal>triggered()</signal>
<receiver>MainWindow</receiver>
<slot>click_actionDeleteAllTrashedMessages</slot>
<hints>
<hint type="sourcelabel">
<x>-1</x>
<y>-1</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>actionManageKeys</sender>
<signal>triggered()</signal>
<receiver>MainWindow</receiver>
<slot>click_actionManageKeys</slot>
<hints>
<hint type="sourcelabel">
<x>-1</x>
<y>-1</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>actionSettings</sender>
<signal>triggered()</signal>
<receiver>MainWindow</receiver>
<slot>click_actionSettings</slot>
<hints>
<hint type="sourcelabel">
<x>-1</x>
<y>-1</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>actionAbout</sender>
<signal>triggered()</signal>
<receiver>MainWindow</receiver>
<slot>click_actionAbout</slot>
<hints>
<hint type="sourcelabel">
<x>-1</x>
<y>-1</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>actionSupport</sender>
<signal>triggered()</signal>
<receiver>MainWindow</receiver>
<slot>click_actionSupport</slot>
<hints>
<hint type="sourcelabel">
<x>-1</x>
<y>-1</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>actionHelp</sender>
<signal>triggered()</signal>
<receiver>MainWindow</receiver>
<slot>click_actionHelp</slot>
<hints>
<hint type="sourcelabel">
<x>-1</x>
<y>-1</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>pushButtonNewAddress</sender>
<signal>clicked()</signal>
<receiver>MainWindow</receiver>
<slot>click_NewAddressDialog</slot>
<hints>
<hint type="sourcelabel">
<x>20</x>
<y>20</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>pushButtonAddAddressBook</sender>
<signal>clicked()</signal>
<receiver>MainWindow</receiver>
<slot>click_pushButtonAddAddressBook</slot>
<hints>
<hint type="sourcelabel">
<x>20</x>
<y>20</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>pushButtonFetchNamecoinID</sender>
<signal>clicked()</signal>
<receiver>MainWindow</receiver>
<slot>click_pushButtonFetchNamecoinID</slot>
<hints>
<hint type="sourcelabel">
<x>20</x>
<y>20</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>pushButtonAddSubscription</sender>
<signal>clicked()</signal>
<receiver>MainWindow</receiver>
<slot>click_pushButtonAddSubscription</slot>
<hints>
<hint type="sourcelabel">
<x>20</x>
<y>20</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>pushButtonAddChan</sender>
<signal>clicked()</signal>
<receiver>MainWindow</receiver>
<slot>click_actionJoinChan</slot>
<hints>
<hint type="sourcelabel">
<x>20</x>
<y>20</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>pushButtonTTL</sender>
<signal>clicked()</signal>
<receiver>MainWindow</receiver>
<slot>click_pushButtonTTL</slot>
<hints>
<hint type="sourcelabel">
<x>20</x>
<y>20</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>pushButtonClear</sender>
<signal>clicked()</signal>
<receiver>MainWindow</receiver>
<slot>click_pushButtonClear</slot>
<hints>
<hint type="sourcelabel">
<x>20</x>
<y>20</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>pushButtonSend</sender>
<signal>clicked()</signal>
<receiver>MainWindow</receiver>
<slot>click_pushButtonSend</slot>
<hints>
<hint type="sourcelabel">
<x>20</x>
<y>20</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>pushButtonStatusIcon</sender>
<signal>clicked()</signal>
<receiver>MainWindow</receiver>
<slot>click_pushButtonStatusIcon</slot>
<hints>
<hint type="sourcelabel">
<x>20</x>
<y>20</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>tableWidgetInbox</sender>
<signal>customContextMenuRequested(QPoint)</signal>
<receiver>MainWindow</receiver>
<slot>on_context_menuInbox()</slot>
<hints>
<hint type="sourcelabel">
<x>656</x>
<y>366</y>
</hint>
<hint type="destinationlabel">
<x>442</x>
<y>289</y>
</hint>
</hints>
</connection>
<connection>
<sender>tableWidgetInboxSubscriptions</sender>
<signal>customContextMenuRequested(QPoint)</signal>
<receiver>MainWindow</receiver>
<slot>on_context_menuInbox()</slot>
<hints>
<hint type="sourcelabel">
<x>20</x>
<y>20</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>tableWidgetInboxChans</sender>
<signal>customContextMenuRequested(QPoint)</signal>
<receiver>MainWindow</receiver>
<slot>on_context_menuInbox()</slot>
<hints>
<hint type="sourcelabel">
<x>20</x>
<y>20</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>treeWidgetYourIdentities</sender>
<signal>customContextMenuRequested(QPoint)</signal>
<receiver>MainWindow</receiver>
<slot>on_context_menuYourIdentities()</slot>
<hints>
<hint type="sourcelabel">
<x>20</x>
<y>20</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>tableWidgetAddressBook</sender>
<signal>customContextMenuRequested(QPoint)</signal>
<receiver>MainWindow</receiver>
<slot>on_context_menuAddressBook()</slot>
<hints>
<hint type="sourcelabel">
<x>20</x>
<y>20</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>treeWidgetSubscriptions</sender>
<signal>customContextMenuRequested(QPoint)</signal>
<receiver>MainWindow</receiver>
<slot>on_context_menuSubscriptions()</slot>
<hints>
<hint type="sourcelabel">
<x>20</x>
<y>20</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>treeWidgetChans</sender>
<signal>customContextMenuRequested(QPoint)</signal>
<receiver>MainWindow</receiver>
<slot>on_context_menuChan()</slot>
<hints>
<hint type="sourcelabel">
<x>20</x>
<y>20</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>actionReply</sender>
<signal>triggered()</signal>
<receiver>MainWindow</receiver>
<slot>on_action_InboxReply</slot>
<hints>
<hint type="sourcelabel">
<x>-1</x>
<y>-1</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>actionReplyChan</sender>
<signal>triggered()</signal>
<receiver>MainWindow</receiver>
<slot>on_action_InboxReplyChan</slot>
<hints>
<hint type="sourcelabel">
<x>-1</x>
<y>-1</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>actionAddSenderToAddressBook</sender>
<signal>triggered()</signal>
<receiver>MainWindow</receiver>
<slot>on_action_InboxAddSenderToAddressBook</slot>
<hints>
<hint type="sourcelabel">
<x>-1</x>
<y>-1</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>actionAddSenderToBlackList</sender>
<signal>triggered()</signal>
<receiver>MainWindow</receiver>
<slot>on_action_InboxAddSenderToBlackList</slot>
<hints>
<hint type="sourcelabel">
<x>-1</x>
<y>-1</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>actionTrashInboxMessage</sender>
<signal>triggered()</signal>
<receiver>MainWindow</receiver>
<slot>on_action_InboxTrash</slot>
<hints>
<hint type="sourcelabel">
<x>-1</x>
<y>-1</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>actionUndeleteTrashedMessage</sender>
<signal>triggered()</signal>
<receiver>MainWindow</receiver>
<slot>on_action_TrashUndelete</slot>
<hints>
<hint type="sourcelabel">
<x>-1</x>
<y>-1</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>actionForceHtml</sender>
<signal>triggered()</signal>
<receiver>MainWindow</receiver>
<slot>on_action_InboxMessageForceHtml</slot>
<hints>
<hint type="sourcelabel">
<x>-1</x>
<y>-1</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>actionSaveMessageAs</sender>
<signal>triggered()</signal>
<receiver>MainWindow</receiver>
<slot>on_action_InboxSaveMessageAs</slot>
<hints>
<hint type="sourcelabel">
<x>-1</x>
<y>-1</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>actionMarkUnread</sender>
<signal>triggered()</signal>
<receiver>MainWindow</receiver>
<slot>on_action_InboxMarkUnread</slot>
<hints>
<hint type="sourcelabel">
<x>-1</x>
<y>-1</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>actionNew</sender>
<signal>triggered()</signal>
<receiver>MainWindow</receiver>
<slot>on_action_YourIdentitiesNew</slot>
<hints>
<hint type="sourcelabel">
<x>-1</x>
<y>-1</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>actionDelete</sender>
<signal>triggered()</signal>
<receiver>MainWindow</receiver>
<slot>on_action_YourIdentitiesDelete</slot>
<hints>
<hint type="sourcelabel">
<x>-1</x>
<y>-1</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>actionEnable</sender>
<signal>triggered()</signal>
<receiver>MainWindow</receiver>
<slot>on_action_Enable</slot>
<hints>
<hint type="sourcelabel">
<x>-1</x>
<y>-1</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>actionDisable</sender>
<signal>triggered()</signal>
<receiver>MainWindow</receiver>
<slot>on_action_Disable</slot>
<hints>
<hint type="sourcelabel">
<x>-1</x>
<y>-1</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>actionSetAvatar</sender>
<signal>triggered()</signal>
<receiver>MainWindow</receiver>
<slot>on_action_TreeWidgetSetAvatar</slot>
<hints>
<hint type="sourcelabel">
<x>-1</x>
<y>-1</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>actionClipboard</sender>
<signal>triggered()</signal>
<receiver>MainWindow</receiver>
<slot>on_action_Clipboard</slot>
<hints>
<hint type="sourcelabel">
<x>-1</x>
<y>-1</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>actionSend</sender>
<signal>triggered()</signal>
<receiver>MainWindow</receiver>
<slot>on_action_Send</slot>
</connection>
<connection>
<sender>actionSpecialAddressBehavior</sender>
<signal>triggered()</signal>
<receiver>MainWindow</receiver>
<slot>on_action_SpecialAddressBehaviorDialog</slot>
<hints>
<hint type="sourcelabel">
<x>-1</x>
<y>-1</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>actionNewYourIdentities</sender>
<signal>triggered()</signal>
<receiver>MainWindow</receiver>
<slot>on_action_YourIdentitiesNew</slot>
<hints>
<hint type="sourcelabel">
<x>-1</x>
<y>-1</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>actionEnableYourIdentities</sender>
<signal>triggered()</signal>
<receiver>MainWindow</receiver>
<slot>on_action_Enable</slot>
<hints>
<hint type="sourcelabel">
<x>-1</x>
<y>-1</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>actionDisableYourIdentities</sender>
<signal>triggered()</signal>
<receiver>MainWindow</receiver>
<slot>on_action_Disable</slot>
<hints>
<hint type="sourcelabel">
<x>-1</x>
<y>-1</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>actionSetAvatarYourIdentities</sender>
<signal>triggered()</signal>
<receiver>MainWindow</receiver>
<slot>on_action_TreeWidgetSetAvatar</slot>
<hints>
<hint type="sourcelabel">
<x>-1</x>
<y>-1</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>actionClipboardYourIdentities</sender>
<signal>triggered()</signal>
<receiver>MainWindow</receiver>
<slot>on_action_Clipboard</slot>
<hints>
<hint type="sourcelabel">
<x>-1</x>
<y>-1</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>actionSpecialAddressBehaviorYourIdentities</sender>
<signal>triggered()</signal>
<receiver>MainWindow</receiver>
<slot>on_action_SpecialAddressBehaviorDialog</slot>
<hints>
<hint type="sourcelabel">
<x>-1</x>
<y>-1</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>actionEmailGateway</sender>
<signal>triggered()</signal>
<receiver>MainWindow</receiver>
<slot>on_action_EmailGatewayDialog</slot>
<hints>
<hint type="sourcelabel">
<x>-1</x>
<y>-1</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>actionMarkAllRead</sender>
<signal>triggered()</signal>
<receiver>MainWindow</receiver>
<slot>on_action_MarkAllRead</slot>
<hints>
<hint type="sourcelabel">
<x>-1</x>
<y>-1</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>actionAddressBookSend</sender>
<signal>triggered()</signal>
<receiver>MainWindow</receiver>
<slot>on_action_AddressBookSend</slot>
<hints>
<hint type="sourcelabel">
<x>-1</x>
<y>-1</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>actionAddressBookClipboard</sender>
<signal>triggered()</signal>
<receiver>MainWindow</receiver>
<slot>on_action_AddressBookClipboard</slot>
<hints>
<hint type="sourcelabel">
<x>-1</x>
<y>-1</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>actionAddressBookSubscribe</sender>
<signal>triggered()</signal>
<receiver>MainWindow</receiver>
<slot>on_action_AddressBookSubscribe</slot>
<hints>
<hint type="sourcelabel">
<x>-1</x>
<y>-1</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>actionAddressBookSetAvatar</sender>
<signal>triggered()</signal>
<receiver>MainWindow</receiver>
<slot>on_action_AddressBookSetAvatar</slot>
<hints>
<hint type="sourcelabel">
<x>-1</x>
<y>-1</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>actionAddressBookSetSound</sender>
<signal>triggered()</signal>
<receiver>MainWindow</receiver>
<slot>on_action_AddressBookSetSound</slot>
<hints>
<hint type="sourcelabel">
<x>-1</x>
<y>-1</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>actionAddressBookNew</sender>
<signal>triggered()</signal>
<receiver>MainWindow</receiver>
<slot>on_action_AddressBookNew</slot>
<hints>
<hint type="sourcelabel">
<x>-1</x>
<y>-1</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>actionAddressBookDelete</sender>
<signal>triggered()</signal>
<receiver>MainWindow</receiver>
<slot>on_action_AddressBookDelete</slot>
<hints>
<hint type="sourcelabel">
<x>-1</x>
<y>-1</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>actionsubscriptionsNew</sender>
<signal>triggered()</signal>
<receiver>MainWindow</receiver>
<slot>on_action_SubscriptionsNew</slot>
<hints>
<hint type="sourcelabel">
<x>-1</x>
<y>-1</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>actionsubscriptionsDelete</sender>
<signal>triggered()</signal>
<receiver>MainWindow</receiver>
<slot>on_action_SubscriptionsDelete</slot>
<hints>
<hint type="sourcelabel">
<x>-1</x>
<y>-1</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>actionsubscriptionsClipboard</sender>
<signal>triggered()</signal>
<receiver>MainWindow</receiver>
<slot>on_action_SubscriptionsClipboard</slot>
<hints>
<hint type="sourcelabel">
<x>-1</x>
<y>-1</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>actionsubscriptionsEnable</sender>
<signal>triggered()</signal>
<receiver>MainWindow</receiver>
<slot>on_action_SubscriptionsEnable</slot>
<hints>
<hint type="sourcelabel">
<x>-1</x>
<y>-1</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>actionsubscriptionsDisable</sender>
<signal>triggered()</signal>
<receiver>MainWindow</receiver>
<slot>on_action_SubscriptionsDisable</slot>
<hints>
<hint type="sourcelabel">
<x>-1</x>
<y>-1</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>actionsubscriptionsSetAvatar</sender>
<signal>triggered()</signal>
<receiver>MainWindow</receiver>
<slot>on_action_TreeWidgetSetAvatar</slot>
<hints>
<hint type="sourcelabel">
<x>-1</x>
<y>-1</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>actionsubscriptionsSend</sender>
<signal>triggered()</signal>
<receiver>MainWindow</receiver>
<slot>on_action_Send</slot>
</connection>
<connection>
<sender>actionTrashSentMessage</sender>
<signal>triggered()</signal>
<receiver>MainWindow</receiver>
<slot>on_action_SentTrash</slot>
<hints>
<hint type="sourcelabel">
<x>-1</x>
<y>-1</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>actionSentClipboard</sender>
<signal>triggered()</signal>
<receiver>MainWindow</receiver>
<slot>on_action_SentClipboard</slot>
<hints>
<hint type="sourcelabel">
<x>-1</x>
<y>-1</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>actionForceSend</sender>
<signal>triggered()</signal>
<receiver>MainWindow</receiver>
<slot>on_action_ForceSend</slot>
<hints>
<hint type="sourcelabel">
<x>-1</x>
<y>-1</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>actionSentReply</sender>
<signal>triggered()</signal>
<receiver>MainWindow</receiver>
<slot>on_action_SentReply</slot>
</connection>
<connection>
<sender>inboxSearchLineEdit</sender>
<signal>returnPressed()</signal>
<receiver>MainWindow</receiver>
<slot>inboxSearchLineEditReturnPressed</slot>
<hints>
<hint type="sourcelabel">
<x>20</x>
<y>20</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>inboxSearchLineEditSubscriptions</sender>
<signal>returnPressed()</signal>
<receiver>MainWindow</receiver>
<slot>inboxSearchLineEditReturnPressed</slot>
<hints>
<hint type="sourcelabel">
<x>20</x>
<y>20</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>inboxSearchLineEditChans</sender>
<signal>returnPressed()</signal>
<receiver>MainWindow</receiver>
<slot>inboxSearchLineEditReturnPressed</slot>
<hints>
<hint type="sourcelabel">
<x>20</x>
<y>20</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>inboxSearchLineEdit</sender>
<signal>textChanged(QString)</signal>
<receiver>MainWindow</receiver>
<slot>inboxSearchLineEditUpdated</slot>
<hints>
<hint type="sourcelabel">
<x>20</x>
<y>20</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>inboxSearchLineEditSubscriptions</sender>
<signal>textChanged(QString)</signal>
<receiver>MainWindow</receiver>
<slot>inboxSearchLineEditUpdated</slot>
<hints>
<hint type="sourcelabel">
<x>20</x>
<y>20</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>inboxSearchLineEditChans</sender>
<signal>textChanged(QString)</signal>
<receiver>MainWindow</receiver>
<slot>inboxSearchLineEditUpdated</slot>
<hints>
<hint type="sourcelabel">
<x>20</x>
<y>20</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>tableWidgetAddressBook</sender>
<signal>itemChanged(QTableWidgetItem*)</signal>
<receiver>MainWindow</receiver>
<slot>tableWidgetAddressBookItemChanged</slot>
<hints>
<hint type="sourcelabel">
<x>67</x>
<y>107</y>
</hint>
<hint type="destinationlabel">
<x>442</x>
<y>289</y>
</hint>
</hints>
</connection>
<connection>
<sender>tableWidgetInbox</sender>
<signal>itemSelectionChanged()</signal>
<receiver>MainWindow</receiver>
<slot>tableWidgetInboxItemClicked</slot>
<hints>
<hint type="sourcelabel">
<x>20</x>
<y>20</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>tableWidgetInboxSubscriptions</sender>
<signal>itemSelectionChanged()</signal>
<receiver>MainWindow</receiver>
<slot>tableWidgetInboxItemClicked</slot>
<hints>
<hint type="sourcelabel">
<x>20</x>
<y>20</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>tableWidgetInboxChans</sender>
<signal>itemSelectionChanged()</signal>
<receiver>MainWindow</receiver>
<slot>tableWidgetInboxItemClicked</slot>
<hints>
<hint type="sourcelabel">
<x>20</x>
<y>20</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>treeWidgetYourIdentities</sender>
<signal>itemSelectionChanged()</signal>
<receiver>MainWindow</receiver>
<slot>treeWidgetItemClicked</slot>
<hints>
<hint type="sourcelabel">
<x>20</x>
<y>20</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>treeWidgetSubscriptions</sender>
<signal>itemSelectionChanged()</signal>
<receiver>MainWindow</receiver>
<slot>treeWidgetItemClicked</slot>
<hints>
<hint type="sourcelabel">
<x>20</x>
<y>20</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>treeWidgetChans</sender>
<signal>itemSelectionChanged()</signal>
<receiver>MainWindow</receiver>
<slot>treeWidgetItemClicked</slot>
<hints>
<hint type="sourcelabel">
<x>20</x>
<y>20</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>treeWidgetYourIdentities</sender>
<signal>itemChanged(QTreeWidgetItem*,int)</signal>
<receiver>MainWindow</receiver>
<slot>treeWidgetItemChanged</slot>
<hints>
<hint type="sourcelabel">
<x>20</x>
<y>20</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>treeWidgetSubscriptions</sender>
<signal>itemChanged(QTreeWidgetItem*,int)</signal>
<receiver>MainWindow</receiver>
<slot>treeWidgetItemChanged</slot>
<hints>
<hint type="sourcelabel">
<x>20</x>
<y>20</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>treeWidgetChans</sender>
<signal>itemChanged(QTreeWidgetItem*,int)</signal>
<receiver>MainWindow</receiver>
<slot>treeWidgetItemChanged</slot>
<hints>
<hint type="sourcelabel">
<x>20</x>
<y>20</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>tabWidget</sender>
<signal>currentChanged(int)</signal>
<receiver>MainWindow</receiver>
<slot>tabWidgetCurrentChanged</slot>
<hints>
<hint type="sourcelabel">
<x>20</x>
<y>20</y>
</hint>
<hint type="destinationlabel">
<x>20</x>
<y>20</y>
</hint>
</hints>
</connection>
<connection>
<sender>horizontalSliderTTL</sender>
<signal>valueChanged(int)</signal>
<receiver>MainWindow</receiver>
<slot>updateTTL</slot>
</connection>
</connections>
</ui> </ui>

View File

@ -15,13 +15,29 @@ class Window(settingsmixin.SMainWindow, RetranslateMixin):
super(Window, self).__init__(parent) super(Window, self).__init__(parent)
widgets.load('bitmessageui.ui', self) widgets.load('bitmessageui.ui', self)
self.addressBookCompleter = AddressBookCompleter() self.blackwhitelist.rerenderBlackWhiteList()
self.addressBookCompleter.setCompletionMode(
addressBookCompleter = AddressBookCompleter()
addressBookCompleter.setCompletionMode(
QtGui.QCompleter.PopupCompletion) QtGui.QCompleter.PopupCompletion)
self.addressBookCompleter.setCaseSensitivity(QtCore.Qt.CaseInsensitive) addressBookCompleter.setCaseSensitivity(QtCore.Qt.CaseInsensitive)
self.addressBookCompleterModel = QtGui.QStringListModel() addressBookCompleterModel = QtGui.QStringListModel()
self.addressBookCompleter.setModel(self.addressBookCompleterModel) addressBookCompleter.setModel(addressBookCompleterModel)
self.lineEditTo.setCompleter(self.addressBookCompleter) self.lineEditTo.setCompleter(addressBookCompleter)
self.lineEditTo.cursorPositionChanged.connect(
addressBookCompleter.onCursorPositionChanged)
# Hide all menu action containers
for toolbar in (
self.inboxContextMenuToolbar,
self.addressContextMenuToolbarYourIdentities,
self.addressContextMenuToolbar,
self.addressBookContextMenuToolbar,
self.subscriptionsContextMenuToolbar,
self.sentContextMenuToolbar
):
toolbar.setVisible(False)
# splitters # splitters
for splitter in ( for splitter in (