Related to #3157 and #3160 (same changes for addressbookpage and walletview).
Goal: Harmonize user experience for export of addresses, transactions and backup of the wallet!

- allow to use message() in transactionview by connecting to the
message() signal in WalletView
- use message() for displaying success or failure of export
- rework the strings to be more detailed / informative
- additional small cleanups
181 | @@ -182,6 +182,9 @@ void TransactionView::setModel(WalletModel *model) 182 | transactionView->horizontalHeader()->setSectionResizeMode(TransactionTableModel::ToAddress, QHeaderView::Stretch); 183 | #endif 184 | transactionView->horizontalHeader()->resizeSection(TransactionTableModel::Amount, 100); 185 | + 186 | + // Receive and forward messages (WalletModel is used for passing through message()) 187 | + connect(this, SIGNAL(message(QString,QString,unsigned int)), model, SIGNAL(message(QString,QString,unsigned int)));
As I mentioned before, don't use the model as a conduit to pass messages through. I must say it's inventive, but it hides what is really happening. If you want a message signal on TransactionView (which is a good idea), make the WalletView subscribe to it.
Yeah I know I have to do this, before this can be merged :). It's far more work/tricky for the AddressBookPage, as this is used in very different files (other related pull).
AddressBookPage is only used as a standalone dialog, not as part of the main GUI, so it also makes less sense there.
Updated:
Automatic sanity-testing: PASSED, see http://jenkins.bluematt.me/pull-tester/9eb4ab66bf581a75e82713640de669b93a84d9f7 for binaries and test log. This test script verifies pulls every time they are updated. It, however, dies sometimes and fails to test properly. If you are waiting on a test, please check timestamps to verify that the test.log is moving at http://jenkins.bluematt.me/pull-tester/current/ Contact BlueMatt on freenode if something looks broken.