From 820985dd68e935af353eeabd13b6b34fc7a6e694 Mon Sep 17 00:00:00 2001 From: Amir Taaki Date: Wed, 27 Jun 2012 22:15:52 +0200 Subject: [PATCH] GUI mockup for lite mode. --- data/background.png | Bin 0 -> 28057 bytes data/icons/accounts.png | Bin 0 -> 921 bytes data/icons/confirmed.png | Bin 0 -> 1267 bytes data/icons/expand.png | Bin 0 -> 657 bytes data/icons/interact.png | Bin 0 -> 968 bytes data/icons/unconfirmed.png | Bin 0 -> 1286 bytes data/style.css | 35 ++++++++++ gui_new.py | 136 +++++++++++++++++++++++++++++++++++++ 8 files changed, 171 insertions(+) create mode 100644 data/background.png create mode 100644 data/icons/accounts.png create mode 100644 data/icons/confirmed.png create mode 100644 data/icons/expand.png create mode 100644 data/icons/interact.png create mode 100644 data/icons/unconfirmed.png create mode 100644 data/style.css create mode 100644 gui_new.py diff --git a/data/background.png b/data/background.png new file mode 100644 index 0000000000000000000000000000000000000000..d106c09627b146ea464bbe955ac6d11a4e394152 GIT binary patch literal 28057 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 JDiOng{{dmy*_QwS literal 0 HcmV?d00001 diff --git a/data/icons/accounts.png b/data/icons/accounts.png new file mode 100644 index 0000000000000000000000000000000000000000..b932d91946715587e19ad57e1c4d760bd77d3fad GIT binary patch literal 921 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 literal 0 HcmV?d00001 diff --git a/data/style.css b/data/style.css new file mode 100644 index 000000000..2014c09d3 --- /dev/null +++ b/data/style.css @@ -0,0 +1,35 @@ +QDialog +{ + background-image: url(data/background.png); +} + +#address_input[readOnly=true], #amount_input[readOnly=true] +{ + font: italic; + color: gray; +} +#address_input[readOnly=false], #amount_input[readOnly=false] +{ + font: normal; + color: black; +} + +#valid_address::indicator +{ + width: 24px; + height: 24px; +} +#valid_address::indicator:checked +{ + image: url(data/icons/confirmed.png); +} +#valid_address::indicator:unchecked +{ + image: url(data/icons/unconfirmed.png); +} + +#balance_label +{ + color: white; +} + diff --git a/gui_new.py b/gui_new.py new file mode 100644 index 000000000..56c98148c --- /dev/null +++ b/gui_new.py @@ -0,0 +1,136 @@ +from PyQt4.QtCore import * +from PyQt4.QtGui import * +import sys + +_ = lambda trtext: trtext + +def IconButton(filename, parent=None): + pixmap = QPixmap(filename) + icon = QIcon(pixmap) + return QPushButton(icon, "", parent) + +class MiniWindow(QDialog): + def __init__(self): + super(MiniWindow, self).__init__() + + accounts_button = IconButton("data/icons/accounts.png") + accounts_button.setObjectName("accounts_button") + + accounts_selector = QMenu() + accounts_selector.addAction("Normal (80.00 BTC)") + accounts_selector.addAction("Drugs (7.50 BTC)") + accounts_selector.addAction("Reddit Girls (3.50 BTC)") + accounts_button.setMenu(accounts_selector) + + interact_button = IconButton("data/icons/interact.png") + interact_button.setObjectName("interact_button") + + app_menu = QMenu() + app_menu.addAction("Blaa") + file_menu = QMenu("File", app_menu) + file_menu.addAction("Foo") + file_menu.addAction("Bar") + app_menu.addMenu(file_menu) + app_menu.addAction("Other") + interact_button.setMenu(app_menu) + + expand_button = IconButton("data/icons/expand.png") + expand_button.setObjectName("expand_button") + + balance_label = BalanceLabel("80.00", "60.00", "EUR") + balance_label.setObjectName("balance_label") + + copy_button = QPushButton(_("&Copy Address")) + copy_button.setObjectName("copy_button") + copy_button.setDefault(True) + + # Use QCompleter + address_input = TextedLineEdit(_("Enter a Bitcoin address...")) + address_input.setObjectName("address_input") + valid_address = QCheckBox() + valid_address.setObjectName("valid_address") + valid_address.setEnabled(False) + #valid_address.setChecked(True) + + address_layout = QHBoxLayout() + address_layout.addWidget(address_input) + address_layout.addWidget(valid_address) + + amount_input = TextedLineEdit(_("... and amount")) + amount_input.setObjectName("amount_input") + + amount_layout = QHBoxLayout() + amount_layout.addWidget(amount_input) + amount_layout.addStretch() + + send_button = QPushButton(_("&Send")) + send_button.setObjectName("send_button") + + main_layout = QGridLayout(self) + main_layout.addWidget(accounts_button, 0, 0) + main_layout.addWidget(interact_button, 1, 0) + main_layout.addWidget(expand_button, 2, 0) + + main_layout.addWidget(balance_label, 0, 1) + main_layout.addWidget(copy_button, 0, 2) + + main_layout.addLayout(address_layout, 1, 1, 1, -1) + + main_layout.addLayout(amount_layout, 2, 1) + main_layout.addWidget(send_button, 2, 2) + + self.setWindowTitle("Electrum - Normal (80.00 BTC)") + self.setWindowFlags(Qt.Window|Qt.MSWindowsFixedSizeDialogHint) + self.layout().setSizeConstraint(QLayout.SetFixedSize) + self.setObjectName("main_window") + self.show() + + def closeEvent(self, event): + super(MiniWindow, self).closeEvent(event) + qApp.quit() + +class BalanceLabel(QLabel): + def __init__(self, btc_balance, + quote_balance, quote_currency, parent=None): + label_text = "%s BTC (%s %s)"%(btc_balance, quote_balance, quote_currency) + super(QLabel, self).__init__(label_text, parent) + +class TextedLineEdit(QLineEdit): + def __init__(self, inactive_text, parent=None): + super(QLineEdit, self).__init__(parent) + self.inactive_text = inactive_text + self.become_inactive() + + def mousePressEvent(self, event): + if self.isReadOnly(): + self.become_active() + return super(QLineEdit, self).mousePressEvent(event) + + def focusOutEvent(self, event): + if self.text() == "": + self.become_inactive() + return super(QLineEdit, self).focusOutEvent(event) + + def become_inactive(self): + self.setText(self.inactive_text) + self.setReadOnly(True) + self.recompute_style() + + def become_active(self): + self.setText("") + self.setReadOnly(False) + self.recompute_style() + + def recompute_style(self): + qApp.style().unpolish(self) + qApp.style().polish(self) + # also possible but more expensive: + #qApp.setStyleSheet(qApp.styleSheet()) + +if __name__ == "__main__": + app = QApplication(sys.argv) + with open("data/style.css") as style_file: + app.setStyleSheet(style_file.read()) + mini = MiniWindow() + sys.exit(app.exec_()) +