Esempio n. 1
0
    def __init__(self, parent):
        QtGui.QDialog.__init__(self, parent)
        uic.loadUi(uic.getUiPath('addassetdialog.ui'), self)

        for wname in ['edtMoniker', 'edtColorDesc', 'edtUnit']:
            getattr(self, wname).focusInEvent = \
                lambda e, name=wname: getattr(self, name).setStyleSheet('')
Esempio n. 2
0
    def __init__(self):
        QtGui.QMainWindow.__init__(self)
        uic.loadUi(uic.getUiPath('ngccc.ui'), self)

        self.overviewpage = OverviewPage(self)
        self.stackedWidget.addWidget(self.overviewpage)
        self.sendcoinspage = SendcoinsPage(self)
        self.stackedWidget.addWidget(self.sendcoinspage)
        self.assetspage = AssetsPage(self)
        self.stackedWidget.addWidget(self.assetspage)
        self.receivepage = ReceivePage(self)
        self.stackedWidget.addWidget(self.receivepage)
        self.historypage = HistoryPage(self)
        self.stackedWidget.addWidget(self.historypage)
        self.tradepage = TradePage(self)
        self.stackedWidget.addWidget(self.tradepage)

        self.bindActions()

        self.gotoOverviewPage()

        self.utxo_timer = QtCore.QTimer()
        self.utxo_timer.timeout.connect(self.update_utxo_fetcher)
        self.utxo_timer.start(2500)
        wallet.async_utxo_fetcher.start_thread()

        self._sys_excepthook = sys.excepthook
        sys.excepthook = self.excepthook

        self.connectionStatus = ConnectionStatus("Status: Unknown")
        self.statusBar().addWidget(self.connectionStatus)
Esempio n. 3
0
    def __init__(self):
        QtGui.QMainWindow.__init__(self)
        uic.loadUi(uic.getUiPath('ngccc.ui'), self)

        self.overviewpage = OverviewPage(self)
        self.stackedWidget.addWidget(self.overviewpage)
        self.sendcoinspage = SendcoinsPage(self)
        self.stackedWidget.addWidget(self.sendcoinspage)
        self.assetspage = AssetsPage(self)
        self.stackedWidget.addWidget(self.assetspage)
        self.receivepage = ReceivePage(self)
        self.stackedWidget.addWidget(self.receivepage)
        self.historypage = HistoryPage(self)
        self.stackedWidget.addWidget(self.historypage)
        self.tradepage = TradePage(self)
        self.stackedWidget.addWidget(self.tradepage)

        self.bindActions()

        self.gotoOverviewPage()

        self.utxo_timer = QtCore.QTimer()
        self.utxo_timer.timeout.connect(self.update_utxo_fetcher)
        self.utxo_timer.start(2500)
        wallet.async_utxo_fetcher.start_thread()

        self._sys_excepthook = sys.excepthook
        sys.excepthook = self.excepthook

        self.connectionStatus = ConnectionStatus("Status: Unknown")
        self.statusBar().addWidget(self.connectionStatus)
Esempio n. 4
0
    def __init__(self, parent):
        QtGui.QWidget.__init__(self, parent)
        uic.loadUi(uic.getUiPath('assetspage.ui'), self)

        self.model = AssetTableModel(self)
        self.proxyModel = AssetProxyModel(self)
        self.proxyModel.setSourceModel(self.model)
        self.proxyModel.setDynamicSortFilter(True)
        self.proxyModel.setSortCaseSensitivity(QtCore.Qt.CaseInsensitive)
        self.proxyModel.setFilterCaseSensitivity(QtCore.Qt.CaseInsensitive)

        self.tableView.setModel(self.proxyModel)
        self.tableView.sortByColumn(0, QtCore.Qt.AscendingOrder)
        self.tableView.horizontalHeader().setResizeMode(
            0, QtGui.QHeaderView.Stretch)
        self.tableView.horizontalHeader().setResizeMode(
            1, QtGui.QHeaderView.ResizeToContents)
        self.tableView.horizontalHeader().setResizeMode(
            2, QtGui.QHeaderView.ResizeToContents)

        self.btnAddNewAsset.clicked.connect(self.btnAddNewAssetClicked)
        self.btnAddExistingAsset.clicked.connect(
            self.btnAddExistingAssetClicked)
        self.btnImportAssetFromJSON.clicked.connect(
            self.btnImportAssetFromJSONClicked)
Esempio n. 5
0
    def __init__(self, moniker, parent):
        QtGui.QDialog.__init__(self, parent)
        uic.loadUi(uic.getUiPath('newaddressdialog.ui'), self)

        monikers = wallet.get_all_monikers()
        self.cbMoniker.addItems(monikers)
        if moniker in monikers:
            self.cbMoniker.setCurrentIndex(monikers.index(moniker))
Esempio n. 6
0
    def __init__(self, moniker, parent):
        QtGui.QDialog.__init__(self, parent)
        uic.loadUi(uic.getUiPath('newaddressdialog.ui'), self)

        monikers = wallet.get_all_monikers()
        self.cbMoniker.addItems(monikers)
        if moniker in monikers:
            self.cbMoniker.setCurrentIndex(monikers.index(moniker))
Esempio n. 7
0
    def __init__(self, parent):
        QtGui.QWidget.__init__(self, parent)
        uic.loadUi(uic.getUiPath('sendcoinspage.ui'), self)

        self.btnAddRecipient.clicked.connect(self.btnAddRecipientClicked)
        self.btnClearAll.clicked.connect(self.btnClearAllClicked)
        self.btnSend.clicked.connect(self.btnSendClicked)

        self.btnAddRecipientClicked()
Esempio n. 8
0
    def __init__(self, parent):
        QtGui.QWidget.__init__(self, parent)
        uic.loadUi(uic.getUiPath('sendcoinspage.ui'), self)

        self.btnAddRecipient.clicked.connect(self.btnAddRecipientClicked)
        self.btnClearAll.clicked.connect(self.btnClearAllClicked)
        self.btnSend.clicked.connect(self.btnSendClicked)

        self.btnAddRecipientClicked()
Esempio n. 9
0
    def __init__(self):
        QtGui.QWidget.__init__(self)
        uic.loadUi(uic.getUiPath('sendcoinspage.ui'), self)

        self.btn_send.clicked.connect(self.on_btnSend)
        self.edt_address.returnPressed.connect(self.on_btnSend)
        self.edt_amount.editingFinished.connect(
            lambda: self.on_btnSend() if self.edt_amount.hasFocus() else 0)
        self.cb_monikers.currentIndexChanged.connect(
            self.updateAvailableBalance)
Esempio n. 10
0
    def __init__(self, parent):
        QtGui.QWidget.__init__(self, parent)
        uic.loadUi(uic.getUiPath('tradepage.ui'), self)

        wallet.p2ptrade_init()

        self.timer = QtCore.QTimer()
        self.timer.timeout.connect(self.update_offers)
        self.timer.start(2500)

        self.modelBuy = OffersTableModel(self)
        self.proxyModelBuy = OffersProxyModel(self)
        self.proxyModelBuy.setSourceModel(self.modelBuy)
        self.proxyModelBuy.setDynamicSortFilter(True)
        self.proxyModelBuy.setSortCaseSensitivity(QtCore.Qt.CaseInsensitive)
        self.proxyModelBuy.setFilterCaseSensitivity(QtCore.Qt.CaseInsensitive)

        self.tvBuy.setModel(self.proxyModelBuy)
        self.tvBuy.hideColumn(3)
        self.tvBuy.sortByColumn(0, QtCore.Qt.AscendingOrder)
        self.tvBuy.horizontalHeader().setResizeMode(
            0, QtGui.QHeaderView.Stretch)
        self.tvBuy.horizontalHeader().setResizeMode(
            1, QtGui.QHeaderView.ResizeToContents)

        self.modelSell = OffersTableModel(self)
        self.proxyModelSell = OffersProxyModel(self)
        self.proxyModelSell.setSourceModel(self.modelSell)
        self.proxyModelSell.setDynamicSortFilter(True)
        self.proxyModelSell.setSortCaseSensitivity(QtCore.Qt.CaseInsensitive)
        self.proxyModelSell.setFilterCaseSensitivity(QtCore.Qt.CaseInsensitive)

        self.tvSell.setModel(self.proxyModelSell)
        self.tvSell.hideColumn(3)
        self.tvSell.sortByColumn(0, QtCore.Qt.AscendingOrder)
        self.tvSell.horizontalHeader().setResizeMode(
            0, QtGui.QHeaderView.Stretch)
        self.tvSell.horizontalHeader().setResizeMode(
            1, QtGui.QHeaderView.ResizeToContents)

        self.cbMoniker.currentIndexChanged.connect(self.cbMonikerIndexChanged)

        for wname in ['edtBuyQuantity', 'edtBuyPrice', 'edtSellQuantity', 'edtSellPrice']:
            getattr(self, wname).focusInEvent = \
                lambda e, name=wname: getattr(self, name).setStyleSheet('')

        self.edtBuyQuantity.textChanged.connect(self.lblBuyTotalChange)
        self.edtBuyPrice.textChanged.connect(self.lblBuyTotalChange)
        self.btnBuy.clicked.connect(self.btnBuyClicked)
        self.tvBuy.doubleClicked.connect(self.tvBuyDoubleClicked)

        self.edtSellQuantity.textChanged.connect(self.lblSellTotalChange)
        self.edtSellPrice.textChanged.connect(self.lblSellTotalChange)
        self.btnSell.clicked.connect(self.btnSellClicked)
        self.tvSell.doubleClicked.connect(self.tvSellDoubleClicked)
Esempio n. 11
0
    def __init__(self, page):
        QtGui.QFrame.__init__(self)
        uic.loadUi(uic.getUiPath('sendcoinsentry.ui'), self)
        self.page = page

        self.edtAddress.focusInEvent = lambda *args: self.edtAddress.setStyleSheet('')
        self.edtAmount.focusInEvent = lambda *args: self.edtAmount.setStyleSheet('')
        self.cbMoniker.activated.connect(self.updateAvailableBalance)
        self.btnPaste.clicked.connect(self.btnPasteClicked)
        self.btnDelete.clicked.connect(self.btnDeleteClicked)

        self.update()
Esempio n. 12
0
    def __init__(self, parent):
        QtGui.QWidget.__init__(self, parent)
        uic.loadUi(uic.getUiPath('historypage.ui'), self)
        
        self.model = HistoryTableModel(self)
        self.tableView.setModel(self.model)

        self.tableView.horizontalHeader().setResizeMode(
            0, QtGui.QHeaderView.Stretch)
        for i in range(4):
            self.tableView.horizontalHeader().setResizeMode(
                i + 1, QtGui.QHeaderView.ResizeToContents)
Esempio n. 13
0
    def __init__(self, parent):
        QtGui.QWidget.__init__(self, parent)
        uic.loadUi(uic.getUiPath('historypage.ui'), self)

        self.model = HistoryTableModel(self)
        self.tableView.setModel(self.model)

        self.tableView.horizontalHeader().setResizeMode(
            0, QtGui.QHeaderView.Stretch)
        for i in range(4):
            self.tableView.horizontalHeader().setResizeMode(
                i + 1, QtGui.QHeaderView.ResizeToContents)
Esempio n. 14
0
    def __init__(self):
        QtGui.QMainWindow.__init__(self)
        uic.loadUi(uic.getUiPath('ngccc.ui'), self)

        self.overviewpage = OverviewPage()
        self.stackedWidget.addWidget(self.overviewpage)
        self.sendcoinspage = SendcoinsPage()
        self.stackedWidget.addWidget(self.sendcoinspage)
        self.receivepage = ReceivePage()
        self.stackedWidget.addWidget(self.receivepage)

        self.bindActions()

        self.gotoOverviewPage()
Esempio n. 15
0
    def __init__(self, parent, data=None):
        QtGui.QDialog.__init__(self, parent)
        uic.loadUi(uic.getUiPath('addassetdialog.ui'), self)

        for wname in ['edtMoniker', 'edtColorDesc', 'edtUnit']:
            def clearBackground(event, wname=wname):
                getattr(self, wname).setStyleSheet('')
                QtGui.QLineEdit.focusInEvent(getattr(self, wname), event)
            getattr(self, wname).focusInEvent = clearBackground

        data = data or {}
        self.edtMoniker.setText(data.get('moniker', ''))
        self.edtColorDesc.setText(data.get('color_desc', ''))
        self.edtUnit.setText(data.get('unit', ''))
        self.btnBox.setFocus()
Esempio n. 16
0
    def __init__(self, parent, data=None):
        QtGui.QDialog.__init__(self, parent)
        uic.loadUi(uic.getUiPath('addassetdialog.ui'), self)

        for wname in ['edtMoniker', 'edtColorDesc', 'edtUnit']:
            def clearBackground(event, wname=wname):
                getattr(self, wname).setStyleSheet('')
                QtGui.QLineEdit.focusInEvent(getattr(self, wname), event)
            getattr(self, wname).focusInEvent = clearBackground

        data = data or {}
        self.edtMoniker.setText(data.get('moniker', ''))
        self.edtColorDesc.setText(data.get('color_desc', ''))
        self.edtUnit.setText(data.get('unit', ''))
        self.btnBox.setFocus()
Esempio n. 17
0
    def __init__(self, parent):
        QtGui.QDialog.__init__(self, parent)
        uic.loadUi(uic.getUiPath('issuedialog.ui'), self)

        self.cbScheme.addItem('obc')

        for wname in ['edtMoniker', 'edtUnits', 'edtAtoms']:
            getattr(self, wname).focusInEvent = \
                lambda e, name=wname: getattr(self, name).setStyleSheet('')

        self.edtUnits.textChanged.connect(self.changeTotalBTC)
        self.edtAtoms.textChanged.connect(self.changeTotalBTC)

        self.availableBTC = wallet.get_balance('bitcoin')
        self.lblTotalBTC.setToolTip('Available: %s bitcoin' % \
            wallet.get_asset_definition('bitcoin').format_value(self.availableBTC))
Esempio n. 18
0
    def __init__(self, page):
        QtGui.QFrame.__init__(self)
        uic.loadUi(uic.getUiPath('sendcoinsentry.ui'), self)
        self.page = page

        for wname in ['edtAddress', 'edtAmount']:
            def clearBackground(event, wname=wname):
                widget = getattr(self, wname)
                widget.setStyleSheet('')
                widget.__class__.focusInEvent(widget, event)
            getattr(self, wname).focusInEvent = clearBackground

        self.cbMoniker.activated.connect(self.updateAvailableBalance)
        self.btnPaste.clicked.connect(self.btnPasteClicked)
        self.btnDelete.clicked.connect(self.btnDeleteClicked)

        self.update()
Esempio n. 19
0
    def __init__(self, page):
        QtGui.QFrame.__init__(self)
        uic.loadUi(uic.getUiPath('sendcoinsentry.ui'), self)
        self.page = page

        for wname in ['edtAddress', 'edtAmount']:
            def clearBackground(event, wname=wname):
                widget = getattr(self, wname)
                widget.setStyleSheet('')
                widget.__class__.focusInEvent(widget, event)
            getattr(self, wname).focusInEvent = clearBackground

        self.cbMoniker.activated.connect(self.updateAvailableBalance)
        self.btnPaste.clicked.connect(self.btnPasteClicked)
        self.btnDelete.clicked.connect(self.btnDeleteClicked)

        self.update()
Esempio n. 20
0
    def __init__(self):
        QtGui.QMainWindow.__init__(self)
        uic.loadUi(uic.getUiPath('ngccc.ui'), self)

        self.overviewpage = OverviewPage(self)
        self.stackedWidget.addWidget(self.overviewpage)
        self.sendcoinspage = SendcoinsPage(self)
        self.stackedWidget.addWidget(self.sendcoinspage)
        self.assetspage = AssetsPage(self)
        self.stackedWidget.addWidget(self.assetspage)
        self.receivepage = ReceivePage(self)
        self.stackedWidget.addWidget(self.receivepage)
        self.tradepage = TradePage(self)
        self.stackedWidget.addWidget(self.tradepage)

        self.bindActions()

        self.gotoOverviewPage()
Esempio n. 21
0
    def __init__(self, parent):
        QtGui.QDialog.__init__(self, parent)
        uic.loadUi(uic.getUiPath('issuedialog.ui'), self)

        self.cbScheme.addItem('obc')

        for wname in ['edtMoniker', 'edtUnits', 'edtAtoms']:
            def clearBackground(event, wname=wname):
                getattr(self, wname).setStyleSheet('')
                QtGui.QLineEdit.focusInEvent(getattr(self, wname), event)
            getattr(self, wname).focusInEvent = clearBackground

        self.edtUnits.textChanged.connect(self.changeTotalBTC)
        self.edtAtoms.textChanged.connect(self.changeTotalBTC)

        self.availableBTC = wallet.get_balance('bitcoin')
        self.lblTotalBTC.setToolTip('Available: %s bitcoin' % \
            wallet.get_asset_definition('bitcoin').format_value(self.availableBTC))
Esempio n. 22
0
    def __init__(self, parent):
        QtGui.QWidget.__init__(self, parent)
        uic.loadUi(uic.getUiPath("assetspage.ui"), self)

        self.model = AssetTableModel(self)
        self.proxyModel = AssetProxyModel(self)
        self.proxyModel.setSourceModel(self.model)
        self.proxyModel.setDynamicSortFilter(True)
        self.proxyModel.setSortCaseSensitivity(QtCore.Qt.CaseInsensitive)
        self.proxyModel.setFilterCaseSensitivity(QtCore.Qt.CaseInsensitive)

        self.tableView.setModel(self.proxyModel)
        self.tableView.sortByColumn(0, QtCore.Qt.AscendingOrder)
        self.tableView.horizontalHeader().setResizeMode(0, QtGui.QHeaderView.Stretch)
        self.tableView.horizontalHeader().setResizeMode(1, QtGui.QHeaderView.ResizeToContents)
        self.tableView.horizontalHeader().setResizeMode(2, QtGui.QHeaderView.ResizeToContents)

        self.btnAddNewAsset.clicked.connect(self.btnAddNewAssetClicked)
        self.btnAddExistingAsset.clicked.connect(self.btnAddExistingAssetClicked)
        self.btnImportAssetFromJSON.clicked.connect(self.btnImportAssetFromJSONClicked)
Esempio n. 23
0
    def __init__(self, parent):
        QtGui.QDialog.__init__(self, parent)
        uic.loadUi(uic.getUiPath("issuedialog.ui"), self)

        self.cbScheme.addItem("obc")

        for wname in ["edtMoniker", "edtUnits", "edtAtoms"]:

            def clearBackground(event, wname=wname):
                getattr(self, wname).setStyleSheet("")
                QtGui.QLineEdit.focusInEvent(getattr(self, wname), event)

            getattr(self, wname).focusInEvent = clearBackground

        self.edtUnits.textChanged.connect(self.changeTotalBTC)
        self.edtAtoms.textChanged.connect(self.changeTotalBTC)

        self.availableBTC = wallet.get_balance("bitcoin")
        self.lblTotalBTC.setToolTip(
            "Available: %s bitcoin" % wallet.get_asset_definition("bitcoin").format_value(self.availableBTC)
        )
Esempio n. 24
0
    def __init__(self):
        QtGui.QWidget.__init__(self)
        uic.loadUi(uic.getUiPath('receivepage.ui'), self)

        self.model = AddressTableModel(self)
        self.proxyModel = QtGui.QSortFilterProxyModel(self)
        self.proxyModel.setSourceModel(self.model)
        self.proxyModel.setDynamicSortFilter(True)
        self.proxyModel.setSortCaseSensitivity(QtCore.Qt.CaseInsensitive)
        self.proxyModel.setFilterCaseSensitivity(QtCore.Qt.CaseInsensitive)

        self.tableView.setModel(self.proxyModel)
        self.tableView.sortByColumn(0, QtCore.Qt.AscendingOrder)
        self.tableView.horizontalHeader().setResizeMode(
            0, QtGui.QHeaderView.Stretch)
        self.tableView.horizontalHeader().setResizeMode(
            1, QtGui.QHeaderView.ResizeToContents)

        self.chk_onlyBitcoin.stateChanged.connect(self.on_chkOnlyBitcoin)
        self.btn_copy.clicked.connect(self.on_btnCopy)
        self.tableView.selectionModel().selectionChanged.connect(
            self.on_tableViewSelect)
Esempio n. 25
0
    def __init__(self):
        signal.signal(signal.SIGINT, signal.SIG_DFL)
        self.app = QtGui.QApplication([])

        QtGui.QMainWindow.__init__(self)
        uic.loadUi(uic.getUiPath('ngcccbase.ui'), self)

        self.overviewpage = OverviewPage()
        self.stackedWidget.addWidget(self.overviewpage)
        self.bindOverviewPage()
        self.sendcoinspage = SendcoinsPage()
        self.stackedWidget.addWidget(self.sendcoinspage)
        self.bindSendcoinsPage()

        self.bindActions()
        self.move(QtGui.QApplication.desktop().screen().rect().center()
                  - self.rect().center())
        self.show()

        self.wallet = PersistentWallet()
        self.walletController = WalletController(self.wallet.get_model())
        self.gotoOverviewPage()

        sys.exit(self.app.exec_())
Esempio n. 26
0
    def __init__(self, parent):
        QtGui.QWidget.__init__(self, parent)
        uic.loadUi(uic.getUiPath('receivepage.ui'), self)

        self.model = AddressTableModel(self)
        self.proxyModel = AddressProxyModel(self)
        self.proxyModel.setSourceModel(self.model)
        self.proxyModel.setDynamicSortFilter(True)
        self.proxyModel.setSortCaseSensitivity(QtCore.Qt.CaseInsensitive)
        self.proxyModel.setFilterCaseSensitivity(QtCore.Qt.CaseInsensitive)

        self.tableView.setModel(self.proxyModel)
        self.tableView.sortByColumn(0, QtCore.Qt.AscendingOrder)
        self.tableView.horizontalHeader().setResizeMode(
            0, QtGui.QHeaderView.Stretch)
        self.tableView.horizontalHeader().setResizeMode(
            1, QtGui.QHeaderView.ResizeToContents)

        self.cbMoniker.activated.connect(
            lambda *args: self.setMonikerFilter(self.cbMoniker.currentText()))
        self.btnNew.clicked.connect(self.btnNewClicked)
        self.btnCopy.clicked.connect(self.btnCopyClicked)
        self.tableView.selectionModel().selectionChanged.connect(
            self.tableViewSelectionChanged)
Esempio n. 27
0
    def __init__(self):
        signal.signal(signal.SIGINT, signal.SIG_DFL)
        self.app = QtGui.QApplication([])

        QtGui.QMainWindow.__init__(self)
        uic.loadUi(uic.getUiPath('ngcccbase.ui'), self)

        self.overviewpage = OverviewPage()
        self.stackedWidget.addWidget(self.overviewpage)
        self.bindOverviewPage()
        self.sendcoinspage = SendcoinsPage()
        self.stackedWidget.addWidget(self.sendcoinspage)
        self.bindSendcoinsPage()

        self.bindActions()
        self.move(QtGui.QApplication.desktop().screen().rect().center() -
                  self.rect().center())
        self.show()

        self.wallet = PersistentWallet()
        self.walletController = WalletController(self.wallet.get_model())
        self.gotoOverviewPage()

        sys.exit(self.app.exec_())
Esempio n. 28
0
    def __init__(self, parent):
        QtGui.QWidget.__init__(self, parent)
        uic.loadUi(uic.getUiPath('receivepage.ui'), self)

        self.model = AddressTableModel(self)
        self.proxyModel = AddressProxyModel(self)
        self.proxyModel.setSourceModel(self.model)
        self.proxyModel.setDynamicSortFilter(True)
        self.proxyModel.setSortCaseSensitivity(QtCore.Qt.CaseInsensitive)
        self.proxyModel.setFilterCaseSensitivity(QtCore.Qt.CaseInsensitive)

        self.tableView.setModel(self.proxyModel)
        self.tableView.sortByColumn(0, QtCore.Qt.AscendingOrder)
        self.tableView.horizontalHeader().setResizeMode(
            0, QtGui.QHeaderView.Stretch)
        self.tableView.horizontalHeader().setResizeMode(
            1, QtGui.QHeaderView.ResizeToContents)

        self.cbMoniker.activated.connect(
            lambda *args: self.setMonikerFilter(self.cbMoniker.currentText()))
        self.btnNew.clicked.connect(self.btnNewClicked)
        self.btnCopy.clicked.connect(self.btnCopyClicked)
        self.tableView.selectionModel().selectionChanged.connect(
            self.tableViewSelectionChanged)
Esempio n. 29
0
 def __init__(self):
     QtGui.QWidget.__init__(self)
     uic.loadUi(uic.getUiPath('overviewpage.ui'), self)
Esempio n. 30
0
    def __init__(self, parent):
        QtGui.QWidget.__init__(self, parent)
        uic.loadUi(uic.getUiPath('tradepage.ui'), self)

        wallet.p2ptrade_init()

        self.timer = QtCore.QTimer()
        self.timer.timeout.connect(self.update_agent)
        self.timer.start(2500)

        self.modelBuy = OffersTableModel(self)
        self.proxyModelBuy = OffersProxyModel(self)
        self.proxyModelBuy.setSourceModel(self.modelBuy)
        self.proxyModelBuy.setDynamicSortFilter(True)
        self.proxyModelBuy.setSortCaseSensitivity(QtCore.Qt.CaseInsensitive)
        self.proxyModelBuy.setFilterCaseSensitivity(QtCore.Qt.CaseInsensitive)

        self.tvBuy.setModel(self.proxyModelBuy)
        self.tvBuy.hideColumn(3)
        self.tvBuy.sortByColumn(0, QtCore.Qt.AscendingOrder)
        self.tvBuy.horizontalHeader().setResizeMode(0,
                                                    QtGui.QHeaderView.Stretch)
        self.tvBuy.horizontalHeader().setResizeMode(
            1, QtGui.QHeaderView.ResizeToContents)

        self.modelSell = OffersTableModel(self)
        self.proxyModelSell = OffersProxyModel(self)
        self.proxyModelSell.setSourceModel(self.modelSell)
        self.proxyModelSell.setDynamicSortFilter(True)
        self.proxyModelSell.setSortCaseSensitivity(QtCore.Qt.CaseInsensitive)
        self.proxyModelSell.setFilterCaseSensitivity(QtCore.Qt.CaseInsensitive)

        self.tvSell.setModel(self.proxyModelSell)
        self.tvSell.hideColumn(3)
        self.tvSell.sortByColumn(0, QtCore.Qt.AscendingOrder)
        self.tvSell.horizontalHeader().setResizeMode(0,
                                                     QtGui.QHeaderView.Stretch)
        self.tvSell.horizontalHeader().setResizeMode(
            1, QtGui.QHeaderView.ResizeToContents)

        self.cbMoniker.currentIndexChanged.connect(self.cbMonikerIndexChanged)

        for wname in [
                'edtBuyQuantity', 'edtBuyPrice', 'edtSellQuantity',
                'edtSellPrice'
        ]:

            def clearBackground(event, wname=wname):
                getattr(self, wname).setStyleSheet('')
                QtGui.QLineEdit.focusInEvent(getattr(self, wname), event)

            getattr(self, wname).focusInEvent = clearBackground

        self.edtBuyQuantity.textChanged.connect(self.lblBuyTotalChange)
        self.edtBuyPrice.textChanged.connect(self.lblBuyTotalChange)
        self.btnBuy.clicked.connect(self.btnBuyClicked)
        self.tvBuy.doubleClicked.connect(self.tvBuyDoubleClicked)

        self.edtSellQuantity.textChanged.connect(self.lblSellTotalChange)
        self.edtSellPrice.textChanged.connect(self.lblSellTotalChange)
        self.btnSell.clicked.connect(self.btnSellClicked)
        self.tvSell.doubleClicked.connect(self.tvSellDoubleClicked)

        self.need_update_offers = False

        def set_need_update_offers(data):
            self.need_update_offers = True

        wallet.p2p_agent.set_event_handler('offers_updated',
                                           set_need_update_offers)
Esempio n. 31
0
    def __init__(self):
        QtGui.QWidget.__init__(self)
        uic.loadUi(uic.getUiPath('overviewpage.ui'), self)

        self.cb_monikers.currentIndexChanged.connect(self.updateWallet)
Esempio n. 32
0
    def __init__(self, parent):
        QtGui.QWidget.__init__(self, parent)
        uic.loadUi(uic.getUiPath('tradepage.ui'), self)

        wallet.p2ptrade_init()

        self.timer = QtCore.QTimer()
        self.timer.timeout.connect(self.update_agent)
        self.timer.start(2500)

        self.modelBuy = OffersTableModel(self)
        self.proxyModelBuy = OffersProxyModel(self)
        self.proxyModelBuy.setSourceModel(self.modelBuy)
        self.proxyModelBuy.setDynamicSortFilter(True)
        self.proxyModelBuy.setSortCaseSensitivity(QtCore.Qt.CaseInsensitive)
        self.proxyModelBuy.setFilterCaseSensitivity(QtCore.Qt.CaseInsensitive)

        self.tvBuy.setModel(self.proxyModelBuy)
        self.tvBuy.hideColumn(3)
        self.tvBuy.sortByColumn(0, QtCore.Qt.AscendingOrder)
        self.tvBuy.horizontalHeader().setResizeMode(
            0, QtGui.QHeaderView.Stretch)
        self.tvBuy.horizontalHeader().setResizeMode(
            1, QtGui.QHeaderView.ResizeToContents)

        self.modelSell = OffersTableModel(self)
        self.proxyModelSell = OffersProxyModel(self)
        self.proxyModelSell.setSourceModel(self.modelSell)
        self.proxyModelSell.setDynamicSortFilter(True)
        self.proxyModelSell.setSortCaseSensitivity(QtCore.Qt.CaseInsensitive)
        self.proxyModelSell.setFilterCaseSensitivity(QtCore.Qt.CaseInsensitive)

        self.tvSell.setModel(self.proxyModelSell)
        self.tvSell.hideColumn(3)
        self.tvSell.sortByColumn(0, QtCore.Qt.AscendingOrder)
        self.tvSell.horizontalHeader().setResizeMode(
            0, QtGui.QHeaderView.Stretch)
        self.tvSell.horizontalHeader().setResizeMode(
            1, QtGui.QHeaderView.ResizeToContents)

        self.cbMoniker.currentIndexChanged.connect(self.cbMonikerIndexChanged)

        for wname in ['edtBuyQuantity', 'edtBuyPrice', 'edtSellQuantity', 'edtSellPrice']:
            def clearBackground(event, wname=wname):
                getattr(self, wname).setStyleSheet('')
                QtGui.QLineEdit.focusInEvent(getattr(self, wname), event)
            getattr(self, wname).focusInEvent = clearBackground

        self.edtBuyQuantity.textChanged.connect(self.lblBuyTotalChange)
        self.edtBuyPrice.textChanged.connect(self.lblBuyTotalChange)
        self.btnBuy.clicked.connect(self.btnBuyClicked)
        self.tvBuy.doubleClicked.connect(self.tvBuyDoubleClicked)

        self.edtSellQuantity.textChanged.connect(self.lblSellTotalChange)
        self.edtSellPrice.textChanged.connect(self.lblSellTotalChange)
        self.btnSell.clicked.connect(self.btnSellClicked)
        self.tvSell.doubleClicked.connect(self.tvSellDoubleClicked)

        self.need_update_offers = False
        def set_need_update_offers(data):
            self.need_update_offers = True
        wallet.p2p_agent.set_event_handler('offers_updated', 
                                           set_need_update_offers)

        def information_about_offer(offer, action='Create'):
            A, B = offer.get_data()['A'], offer.get_data()['B']
            bitcoin = wallet.get_asset_definition('bitcoin')
            sell_offer = B['color_spec'] == ''
            asset = wallet.get_asset_definition_by_color_set(
                (A if sell_offer else B)['color_spec'])
            value = (A if sell_offer else B)['value']
            total = (B if sell_offer else A)['value']
            text = '{action} {type} offer {value} {moniker} for {price} btc. (Total: {total} btc)'.format(**{
                'action': action,
                'type': 'sell' if sell_offer else 'buy',
                'value': asset.format_value(value),
                'moniker': asset.get_monikers()[0],
                'price': bitcoin.format_value(total*asset.unit/value),
                'total': bitcoin.format_value(total),
            })
            QtGui.QMessageBox.information(self,
                '{action} offer'.format(action=action), text, QtGui.QMessageBox.Yes)

        wallet.p2p_agent.set_event_handler('register_my_offer',
            lambda offer: information_about_offer(offer, 'Create'))
        wallet.p2p_agent.set_event_handler('cancel_my_offer',
            lambda offer: information_about_offer(offer, 'Cancel'))
Esempio n. 33
0
 def __init__(self):
     QtGui.QWidget.__init__(self)
     uic.loadUi(uic.getUiPath('sendcoins.ui'), self)
Esempio n. 34
0
 def __init__(self):
     QtGui.QWidget.__init__(self)
     uic.loadUi(uic.getUiPath('sendcoins.ui'), self)
Esempio n. 35
0
 def __init__(self):
     QtGui.QWidget.__init__(self)
     uic.loadUi(uic.getUiPath('overviewpage.ui'), self)
Esempio n. 36
0
    def __init__(self, parent):
        QtGui.QWidget.__init__(self, parent)
        uic.loadUi(uic.getUiPath('tradepage.ui'), self)
        self.logger = logging.getLogger('ngcccbase.ui.trade')

        wallet.p2ptrade_init()

        self.timer = QtCore.QTimer()
        self.timer.timeout.connect(self.update_agent)
        self.timer.start(2500)

        self.modelBuy = OffersTableModel(self)
        self.proxyModelBuy = OffersProxyModel(self)
        self.proxyModelBuy.setSourceModel(self.modelBuy)
        self.proxyModelBuy.setDynamicSortFilter(True)
        self.proxyModelBuy.setSortCaseSensitivity(QtCore.Qt.CaseInsensitive)
        self.proxyModelBuy.setFilterCaseSensitivity(QtCore.Qt.CaseInsensitive)

        self.tvBuy.setModel(self.proxyModelBuy)
        self.tvBuy.hideColumn(3)
        self.tvBuy.sortByColumn(0, QtCore.Qt.AscendingOrder)
        self.tvBuy.horizontalHeader().setResizeMode(
            0, QtGui.QHeaderView.Stretch)
        self.tvBuy.horizontalHeader().setResizeMode(
            1, QtGui.QHeaderView.ResizeToContents)

        self.modelSell = OffersTableModel(self)
        self.proxyModelSell = OffersProxyModel(self)
        self.proxyModelSell.setSourceModel(self.modelSell)
        self.proxyModelSell.setDynamicSortFilter(True)
        self.proxyModelSell.setSortCaseSensitivity(QtCore.Qt.CaseInsensitive)
        self.proxyModelSell.setFilterCaseSensitivity(QtCore.Qt.CaseInsensitive)

        self.tvSell.setModel(self.proxyModelSell)
        self.tvSell.hideColumn(3)
        self.tvSell.sortByColumn(0, QtCore.Qt.AscendingOrder)
        self.tvSell.horizontalHeader().setResizeMode(
            0, QtGui.QHeaderView.Stretch)
        self.tvSell.horizontalHeader().setResizeMode(
            1, QtGui.QHeaderView.ResizeToContents)

        self.cbMoniker.currentIndexChanged.connect(self.update_balance)

        for wname in ['edtBuyQuantity', 'edtBuyPrice', 'edtSellQuantity', 'edtSellPrice']:
            def clearBackground(event, wname=wname):
                getattr(self, wname).setStyleSheet('')
                QtGui.QLineEdit.focusInEvent(getattr(self, wname), event)
            getattr(self, wname).focusInEvent = clearBackground

        self.edtBuyQuantity.textChanged.connect(self.lblBuyTotalChange)
        self.edtBuyPrice.textChanged.connect(self.lblBuyTotalChange)
        self.btnBuy.clicked.connect(self.btnBuyClicked)
        self.tvBuy.doubleClicked.connect(self.tvBuyDoubleClicked)

        self.edtSellQuantity.textChanged.connect(self.lblSellTotalChange)
        self.edtSellPrice.textChanged.connect(self.lblSellTotalChange)
        self.btnSell.clicked.connect(self.btnSellClicked)
        self.tvSell.doubleClicked.connect(self.tvSellDoubleClicked)

        self.need_update_offers = False

        def set_need_update_offers(data):
            self.need_update_offers = True
        wallet.p2p_agent.set_event_handler('offers_updated',
                                           set_need_update_offers)

        def information_about_offer(offer, action, buysell_text):
            A, B = offer.get_data()['A'], offer.get_data()['B']
            bitcoin = wallet.get_asset_definition('bitcoin')
            sell_offer = B['color_spec'] == ''
            asset = wallet.get_asset_definition_by_color_set(
                (A if sell_offer else B)['color_spec'])
            value = (A if sell_offer else B)['value']
            total = (B if sell_offer else A)['value']
            if not value:
                return # division by zero
            text = '{action} {type} {value} {moniker} @{price} btc ea. (Total: {total} btc)'.format(**{
                'action': action,
                'type': buysell_text[sell_offer],
                'value': asset.format_value(value),
                'moniker': asset.get_monikers()[0],
                'price': bitcoin.format_value(total*asset.unit/value),
                'total': bitcoin.format_value(total),
            })
            self.add_log_entry(text)

        wallet.p2p_agent.set_event_handler(
            'register_my_offer',
            lambda offer: information_about_offer(offer, 'Created', ("bid", "ask")))
        wallet.p2p_agent.set_event_handler(
            'cancel_my_offer',
            lambda offer: information_about_offer(offer, 'Canceled', ("bid", "ask")))
        wallet.p2p_agent.set_event_handler(
            'make_ep',
            lambda ep: information_about_offer(ep.my_offer, 'In progress',
                                               ('buying', 'selling')))
        wallet.p2p_agent.set_event_handler(
            'accept_ep',
            lambda eps: information_about_offer(eps[1].my_offer, 'In progress',
                                                ('buying', 'selling')))
        def on_trade_complete(ep):
            information_about_offer(ep.my_offer,
                                    'Trade complete:', ('bought', 'sold'))
            self.update_balance()
        wallet.p2p_agent.set_event_handler('trade_complete', on_trade_complete)
Esempio n. 37
0
    def __init__(self, parent):
        QtGui.QWidget.__init__(self, parent)
        uic.loadUi(uic.getUiPath('tradepage.ui'), self)

        wallet.p2ptrade_init()

        self.timer = QtCore.QTimer()
        self.timer.timeout.connect(self.update_agent)
        self.timer.start(2500)

        self.modelBuy = OffersTableModel(self)
        self.proxyModelBuy = OffersProxyModel(self)
        self.proxyModelBuy.setSourceModel(self.modelBuy)
        self.proxyModelBuy.setDynamicSortFilter(True)
        self.proxyModelBuy.setSortCaseSensitivity(QtCore.Qt.CaseInsensitive)
        self.proxyModelBuy.setFilterCaseSensitivity(QtCore.Qt.CaseInsensitive)

        self.tvBuy.setModel(self.proxyModelBuy)
        self.tvBuy.hideColumn(3)
        self.tvBuy.sortByColumn(0, QtCore.Qt.AscendingOrder)
        self.tvBuy.horizontalHeader().setResizeMode(0,
                                                    QtGui.QHeaderView.Stretch)
        self.tvBuy.horizontalHeader().setResizeMode(
            1, QtGui.QHeaderView.ResizeToContents)

        self.modelSell = OffersTableModel(self)
        self.proxyModelSell = OffersProxyModel(self)
        self.proxyModelSell.setSourceModel(self.modelSell)
        self.proxyModelSell.setDynamicSortFilter(True)
        self.proxyModelSell.setSortCaseSensitivity(QtCore.Qt.CaseInsensitive)
        self.proxyModelSell.setFilterCaseSensitivity(QtCore.Qt.CaseInsensitive)

        self.tvSell.setModel(self.proxyModelSell)
        self.tvSell.hideColumn(3)
        self.tvSell.sortByColumn(0, QtCore.Qt.AscendingOrder)
        self.tvSell.horizontalHeader().setResizeMode(0,
                                                     QtGui.QHeaderView.Stretch)
        self.tvSell.horizontalHeader().setResizeMode(
            1, QtGui.QHeaderView.ResizeToContents)

        self.cbMoniker.currentIndexChanged.connect(self.cbMonikerIndexChanged)

        for wname in [
                'edtBuyQuantity', 'edtBuyPrice', 'edtSellQuantity',
                'edtSellPrice'
        ]:

            def clearBackground(event, wname=wname):
                getattr(self, wname).setStyleSheet('')
                QtGui.QLineEdit.focusInEvent(getattr(self, wname), event)

            getattr(self, wname).focusInEvent = clearBackground

        self.edtBuyQuantity.textChanged.connect(self.lblBuyTotalChange)
        self.edtBuyPrice.textChanged.connect(self.lblBuyTotalChange)
        self.btnBuy.clicked.connect(self.btnBuyClicked)
        self.tvBuy.doubleClicked.connect(self.tvBuyDoubleClicked)

        self.edtSellQuantity.textChanged.connect(self.lblSellTotalChange)
        self.edtSellPrice.textChanged.connect(self.lblSellTotalChange)
        self.btnSell.clicked.connect(self.btnSellClicked)
        self.tvSell.doubleClicked.connect(self.tvSellDoubleClicked)

        self.need_update_offers = False

        def set_need_update_offers(data):
            self.need_update_offers = True

        wallet.p2p_agent.set_event_handler('offers_updated',
                                           set_need_update_offers)

        def information_about_offer(offer, action='Create'):
            A, B = offer.get_data()['A'], offer.get_data()['B']
            bitcoin = wallet.get_asset_definition('bitcoin')
            sell_offer = B['color_spec'] == ''
            asset = wallet.get_asset_definition_by_color_set(
                (A if sell_offer else B)['color_spec'])
            value = (A if sell_offer else B)['value']
            total = (B if sell_offer else A)['value']
            text = '{action} {type} offer {value} {moniker} for {price} btc. (Total: {total} btc)'.format(
                **{
                    'action': action,
                    'type': 'sell' if sell_offer else 'buy',
                    'value': asset.format_value(value),
                    'moniker': asset.get_monikers()[0],
                    'price': bitcoin.format_value(total * asset.unit / value),
                    'total': bitcoin.format_value(total),
                })
            QtGui.QMessageBox.information(
                self, '{action} offer'.format(action=action), text,
                QtGui.QMessageBox.Yes)

        wallet.p2p_agent.set_event_handler(
            'register_my_offer',
            lambda offer: information_about_offer(offer, 'Create'))
        wallet.p2p_agent.set_event_handler(
            'cancel_my_offer',
            lambda offer: information_about_offer(offer, 'Cancel'))