def run(self):
        self.app = QtGui.QApplication([])

        font = self.app.font()
        font.setPointSize(12)
        self.app.setFont(font)

        self.app.connect(
            self.app,
            QtCore.SIGNAL('_new_transaction_received(PyQt_PyObject)'),
            self._new_transaction_received)
        self.app.connect(
            self.app, QtCore.SIGNAL('_exchange_rate_updated(PyQt_PyObject)'),
            self._exchange_rate_updated)

        self.merchant_gui = MerchantGUI(self, self.currency)
        self.merchant_gui.show()
        self.customer_display = CustomerDisplay('data/customer_display.html',
                                                self.singleScreenMode)
        if not self.singleScreenMode:
            self.customer_display.show()
        self.app.exec_()