aboutsummaryrefslogtreecommitdiff
path: root/src/qt/forms
diff options
context:
space:
mode:
authorPhilip Kaufmann <phil.kaufmann@t-online.de>2012-06-15 09:48:26 +0200
committerPhilip Kaufmann <phil.kaufmann@t-online.de>2012-07-06 11:31:27 +0200
commit47894585aeaa4f5475c50bc4415ed6ced868fbf7 (patch)
treebcde56cf582a8c1b705b7101df076eb8fb34f147 /src/qt/forms
parent6e3a1a374293a8a5adeb2ad464f7205e819585ee (diff)
downloadbitcoin-47894585aeaa4f5475c50bc4415ed6ced868fbf7.tar.xz
GUI: merge sign/verify message into a single window with tabbed UI
- add UI-feedback via QValidatedLineEdit - copy button for generated signature was moved to the signature output field - add an addressbook button to verify message tab - input fields are now evenly ordered for sign and verify tabs - update FIRST_CLASS_MESSAGING support to ensure a good UX - add a button and context menu entry in addressbook for verify message (to be consistent with sign message) - focus is now only set/changed, when clearing input fields or adding an address via addressbook - re-work / update some strings - ensure model gets initialized in the SignVerifyMessageDialog constructor - add checks for a valid model to both addressbook buttons - remove unneeded includes for Qt GUI elements that are listed in ui_signverifymessagedialog.h anyway
Diffstat (limited to 'src/qt/forms')
-rw-r--r--src/qt/forms/addressbookpage.ui22
-rw-r--r--src/qt/forms/messagepage.ui181
-rw-r--r--src/qt/forms/signverifymessagedialog.ui386
-rw-r--r--src/qt/forms/verifymessagedialog.ui140
4 files changed, 404 insertions, 325 deletions
diff --git a/src/qt/forms/addressbookpage.ui b/src/qt/forms/addressbookpage.ui
index bca0a8dcdb..7708e15363 100644
--- a/src/qt/forms/addressbookpage.ui
+++ b/src/qt/forms/addressbookpage.ui
@@ -6,7 +6,7 @@
<rect>
<x>0</x>
<y>0</y>
- <width>627</width>
+ <width>691</width>
<height>347</height>
</rect>
</property>
@@ -17,10 +17,10 @@
<item>
<widget class="QLabel" name="labelExplanation">
<property name="text">
- <string>These are your Bitcoin addresses for receiving payments. You may want to give a different one to each sender so you can keep track of who is paying you.</string>
+ <string>These are your Bitcoin addresses for receiving payments. You may want to give a different one to each sender so you can keep track of who is paying you.</string>
</property>
<property name="textFormat">
- <enum>Qt::AutoText</enum>
+ <enum>Qt::PlainText</enum>
</property>
<property name="wordWrap">
<bool>true</bool>
@@ -99,7 +99,7 @@
<item>
<widget class="QPushButton" name="signMessage">
<property name="toolTip">
- <string>Sign a message to prove you own this address</string>
+ <string>Sign a message to prove you own a Bitcoin address</string>
</property>
<property name="text">
<string>&amp;Sign Message</string>
@@ -111,6 +111,20 @@
</widget>
</item>
<item>
+ <widget class="QPushButton" name="verifyMessage">
+ <property name="toolTip">
+ <string>Verify a message to ensure it was signed with a specified Bitcoin address</string>
+ </property>
+ <property name="text">
+ <string>&amp;Verify Message</string>
+ </property>
+ <property name="icon">
+ <iconset resource="../bitcoin.qrc">
+ <normaloff>:/icons/transaction_0</normaloff>:/icons/transaction_0</iconset>
+ </property>
+ </widget>
+ </item>
+ <item>
<widget class="QPushButton" name="deleteButton">
<property name="toolTip">
<string>Delete the currently selected address from the list. Only sending addresses can be deleted.</string>
diff --git a/src/qt/forms/messagepage.ui b/src/qt/forms/messagepage.ui
deleted file mode 100644
index 0b685aae1d..0000000000
--- a/src/qt/forms/messagepage.ui
+++ /dev/null
@@ -1,181 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>MessagePage</class>
- <widget class="QWidget" name="MessagePage">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>627</width>
- <height>380</height>
- </rect>
- </property>
- <property name="windowTitle">
- <string>Sign Message</string>
- </property>
- <layout class="QVBoxLayout" name="verticalLayout">
- <item>
- <widget class="QLabel" name="labelExplanation">
- <property name="text">
- <string>You can sign messages with your addresses to prove you own them. Be careful not to sign anything vague, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to.</string>
- </property>
- <property name="textFormat">
- <enum>Qt::AutoText</enum>
- </property>
- <property name="wordWrap">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout_3">
- <property name="spacing">
- <number>0</number>
- </property>
- <item>
- <widget class="QValidatedLineEdit" name="signFrom">
- <property name="toolTip">
- <string>The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</string>
- </property>
- <property name="maxLength">
- <number>34</number>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="addressBookButton">
- <property name="toolTip">
- <string>Choose adress from address book</string>
- </property>
- <property name="text">
- <string/>
- </property>
- <property name="icon">
- <iconset resource="../bitcoin.qrc">
- <normaloff>:/icons/address-book</normaloff>:/icons/address-book</iconset>
- </property>
- <property name="shortcut">
- <string>Alt+A</string>
- </property>
- <property name="autoDefault">
- <bool>false</bool>
- </property>
- <property name="flat">
- <bool>false</bool>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="pasteButton">
- <property name="toolTip">
- <string>Paste address from clipboard</string>
- </property>
- <property name="text">
- <string/>
- </property>
- <property name="icon">
- <iconset resource="../bitcoin.qrc">
- <normaloff>:/icons/editpaste</normaloff>:/icons/editpaste</iconset>
- </property>
- <property name="shortcut">
- <string>Alt+P</string>
- </property>
- <property name="autoDefault">
- <bool>false</bool>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item>
- <widget class="QPlainTextEdit" name="message">
- <property name="toolTip">
- <string>Enter the message you want to sign here</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLineEdit" name="signature">
- <property name="font">
- <font>
- <italic>true</italic>
- </font>
- </property>
- <property name="readOnly">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout">
- <item>
- <widget class="QPushButton" name="signMessage">
- <property name="toolTip">
- <string>Sign a message to prove you own this address</string>
- </property>
- <property name="text">
- <string>&amp;Sign Message</string>
- </property>
- <property name="icon">
- <iconset resource="../bitcoin.qrc">
- <normaloff>:/icons/edit</normaloff>:/icons/edit</iconset>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="copyToClipboard">
- <property name="toolTip">
- <string>Copy the current signature to the system clipboard</string>
- </property>
- <property name="text">
- <string>&amp;Copy Signature</string>
- </property>
- <property name="icon">
- <iconset resource="../bitcoin.qrc">
- <normaloff>:/icons/editcopy</normaloff>:/icons/editcopy</iconset>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="clearButton">
- <property name="toolTip">
- <string>Reset all sign message fields</string>
- </property>
- <property name="text">
- <string>Clear &amp;All</string>
- </property>
- <property name="icon">
- <iconset resource="../bitcoin.qrc">
- <normaloff>:/icons/remove</normaloff>:/icons/remove</iconset>
- </property>
- </widget>
- </item>
- <item>
- <spacer name="horizontalSpacer">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </item>
- </layout>
- </widget>
- <customwidgets>
- <customwidget>
- <class>QValidatedLineEdit</class>
- <extends>QLineEdit</extends>
- <header>qvalidatedlineedit.h</header>
- </customwidget>
- </customwidgets>
- <resources>
- <include location="../bitcoin.qrc"/>
- </resources>
- <connections/>
-</ui>
diff --git a/src/qt/forms/signverifymessagedialog.ui b/src/qt/forms/signverifymessagedialog.ui
new file mode 100644
index 0000000000..e22aea8675
--- /dev/null
+++ b/src/qt/forms/signverifymessagedialog.ui
@@ -0,0 +1,386 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>SignVerifyMessageDialog</class>
+ <widget class="QDialog" name="SignVerifyMessageDialog">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>700</width>
+ <height>380</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>Messaging - Sign / Verify a Message</string>
+ </property>
+ <property name="modal">
+ <bool>true</bool>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <item>
+ <widget class="QTabWidget" name="tabWidget">
+ <property name="currentIndex">
+ <number>0</number>
+ </property>
+ <widget class="QWidget" name="tabSignMessage">
+ <attribute name="title">
+ <string>&amp;Sign Message</string>
+ </attribute>
+ <layout class="QVBoxLayout" name="verticalLayout_SM">
+ <item>
+ <widget class="QLabel" name="infoLabel_SM">
+ <property name="text">
+ <string>You can sign messages with your addresses to prove you own them. Be careful not to sign anything vague, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to.</string>
+ </property>
+ <property name="textFormat">
+ <enum>Qt::PlainText</enum>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_1_SM">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QValidatedLineEdit" name="addressIn_SM">
+ <property name="toolTip">
+ <string>The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</string>
+ </property>
+ <property name="maxLength">
+ <number>34</number>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="addressBookButton_SM">
+ <property name="toolTip">
+ <string>Choose an address from the address book</string>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="icon">
+ <iconset resource="../bitcoin.qrc">
+ <normaloff>:/icons/address-book</normaloff>:/icons/address-book</iconset>
+ </property>
+ <property name="shortcut">
+ <string>Alt+A</string>
+ </property>
+ <property name="autoDefault">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="pasteButton_SM">
+ <property name="toolTip">
+ <string>Paste address from clipboard</string>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="icon">
+ <iconset resource="../bitcoin.qrc">
+ <normaloff>:/icons/editpaste</normaloff>:/icons/editpaste</iconset>
+ </property>
+ <property name="shortcut">
+ <string>Alt+P</string>
+ </property>
+ <property name="autoDefault">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="QPlainTextEdit" name="messageIn_SM">
+ <property name="toolTip">
+ <string>Enter the message you want to sign here</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_2_SM">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QLineEdit" name="signatureOut_SM">
+ <property name="font">
+ <font>
+ <italic>true</italic>
+ </font>
+ </property>
+ <property name="readOnly">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="copySignatureButton_SM">
+ <property name="toolTip">
+ <string>Copy the current signature to the system clipboard</string>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="icon">
+ <iconset resource="../bitcoin.qrc">
+ <normaloff>:/icons/editcopy</normaloff>:/icons/editcopy</iconset>
+ </property>
+ <property name="autoDefault">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_3_SM">
+ <item>
+ <widget class="QPushButton" name="signMessageButton_SM">
+ <property name="toolTip">
+ <string>Sign the message to prove you own this Bitcoin address</string>
+ </property>
+ <property name="text">
+ <string>&amp;Sign Message</string>
+ </property>
+ <property name="icon">
+ <iconset resource="../bitcoin.qrc">
+ <normaloff>:/icons/edit</normaloff>:/icons/edit</iconset>
+ </property>
+ <property name="autoDefault">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="clearButton_SM">
+ <property name="toolTip">
+ <string>Reset all sign message fields</string>
+ </property>
+ <property name="text">
+ <string>Clear &amp;All</string>
+ </property>
+ <property name="icon">
+ <iconset resource="../bitcoin.qrc">
+ <normaloff>:/icons/remove</normaloff>:/icons/remove</iconset>
+ </property>
+ <property name="autoDefault">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer_1_SM">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>48</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QLabel" name="statusLabel_SM">
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer_2_SM">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>48</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="tabVerifyMessage">
+ <attribute name="title">
+ <string>&amp;Verify Message</string>
+ </attribute>
+ <layout class="QVBoxLayout" name="verticalLayout_VM">
+ <item>
+ <widget class="QLabel" name="infoLabel_VM">
+ <property name="text">
+ <string>Enter the signing address, message (ensure you copy line breaks, spaces, tabs, etc. exactly) and signature below to verify the message. Be careful not to read more into the signature than what is in the signed message itself, to avoid being tricked by a man-in-the-middle attack.</string>
+ </property>
+ <property name="textFormat">
+ <enum>Qt::PlainText</enum>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_1_VM">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QValidatedLineEdit" name="addressIn_VM">
+ <property name="toolTip">
+ <string>The address the message was signed with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</string>
+ </property>
+ <property name="maxLength">
+ <number>34</number>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="addressBookButton_VM">
+ <property name="toolTip">
+ <string>Choose an address from the address book</string>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="icon">
+ <iconset resource="../bitcoin.qrc">
+ <normaloff>:/icons/address-book</normaloff>:/icons/address-book</iconset>
+ </property>
+ <property name="shortcut">
+ <string>Alt+A</string>
+ </property>
+ <property name="autoDefault">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="QPlainTextEdit" name="messageIn_VM"/>
+ </item>
+ <item>
+ <widget class="QValidatedLineEdit" name="signatureIn_VM"/>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_2_VM">
+ <item>
+ <widget class="QPushButton" name="verifyMessageButton_VM">
+ <property name="toolTip">
+ <string>Verify the message to ensure it was signed with the specified Bitcoin address</string>
+ </property>
+ <property name="text">
+ <string>&amp;Verify Message</string>
+ </property>
+ <property name="icon">
+ <iconset resource="../bitcoin.qrc">
+ <normaloff>:/icons/transaction_0</normaloff>:/icons/transaction_0</iconset>
+ </property>
+ <property name="autoDefault">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="clearButton_VM">
+ <property name="toolTip">
+ <string>Reset all verify message fields</string>
+ </property>
+ <property name="text">
+ <string>Clear &amp;All</string>
+ </property>
+ <property name="icon">
+ <iconset resource="../bitcoin.qrc">
+ <normaloff>:/icons/remove</normaloff>:/icons/remove</iconset>
+ </property>
+ <property name="autoDefault">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer_1_VM">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>48</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QLabel" name="statusLabel_VM">
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer_2_VM">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>48</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <customwidgets>
+ <customwidget>
+ <class>QValidatedLineEdit</class>
+ <extends>QLineEdit</extends>
+ <header>qvalidatedlineedit.h</header>
+ </customwidget>
+ </customwidgets>
+ <resources>
+ <include location="../bitcoin.qrc"/>
+ </resources>
+ <connections/>
+</ui>
diff --git a/src/qt/forms/verifymessagedialog.ui b/src/qt/forms/verifymessagedialog.ui
deleted file mode 100644
index afe98b05ab..0000000000
--- a/src/qt/forms/verifymessagedialog.ui
+++ /dev/null
@@ -1,140 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>VerifyMessageDialog</class>
- <widget class="QDialog" name="VerifyMessageDialog">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>650</width>
- <height>380</height>
- </rect>
- </property>
- <property name="windowTitle">
- <string>Verify Signed Message</string>
- </property>
- <layout class="QVBoxLayout" name="verticalLayout">
- <item>
- <widget class="QLabel" name="label">
- <property name="text">
- <string>Enter the signing address, signature and message below (be careful to correctly copy newlines, spaces, tabs and other invisible characters) to verify the message.</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
- </property>
- <property name="wordWrap">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QValidatedLineEdit" name="lnAddress">
- <property name="text">
- <string/>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QValidatedLineEdit" name="lnSig">
- <property name="text">
- <string/>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPlainTextEdit" name="edMessage"/>
- </item>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout">
- <item>
- <widget class="QPushButton" name="verifyMessage">
- <property name="toolTip">
- <string>Verify a message to ensure it was signed with the specified Bitcoin address</string>
- </property>
- <property name="text">
- <string>&amp;Verify Message</string>
- </property>
- <property name="icon">
- <iconset resource="../bitcoin.qrc">
- <normaloff>:/icons/transaction_0</normaloff>:/icons/transaction_0</iconset>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="clearButton">
- <property name="toolTip">
- <string>Reset all verify message fields</string>
- </property>
- <property name="text">
- <string>Clear &amp;All</string>
- </property>
- <property name="icon">
- <iconset resource="../bitcoin.qrc">
- <normaloff>:/icons/remove</normaloff>:/icons/remove</iconset>
- </property>
- </widget>
- </item>
- <item>
- <spacer name="horizontalSpacer_2">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="QLabel" name="lblStatus">
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>48</height>
- </size>
- </property>
- <property name="font">
- <font>
- <weight>75</weight>
- <bold>true</bold>
- </font>
- </property>
- <property name="text">
- <string/>
- </property>
- <property name="wordWrap">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item>
- <spacer name="horizontalSpacer">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </item>
- </layout>
- </widget>
- <customwidgets>
- <customwidget>
- <class>QValidatedLineEdit</class>
- <extends>QLineEdit</extends>
- <header>qvalidatedlineedit.h</header>
- </customwidget>
- </customwidgets>
- <resources>
- <include location="../bitcoin.qrc"/>
- </resources>
- <connections/>
-</ui>