58 lines
1.8 KiB
C++
58 lines
1.8 KiB
C++
|
// Copyright (c) 2011-2015 The Cryptonote developers
|
||
|
// Distributed under the MIT/X11 software license, see the accompanying
|
||
|
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||
|
|
||
|
#include <QApplication>
|
||
|
#include <QClipboard>
|
||
|
|
||
|
#include "CurrencyAdapter.h"
|
||
|
#include "AddressBookModel.h"
|
||
|
#include "AddressBookFrame.h"
|
||
|
#include "MainWindow.h"
|
||
|
#include "NewAddressDialog.h"
|
||
|
#include "WalletEvents.h"
|
||
|
|
||
|
#include "ui_addressbookframe.h"
|
||
|
|
||
|
namespace WalletGui {
|
||
|
|
||
|
AddressBookFrame::AddressBookFrame(QWidget* _parent) : QFrame(_parent), m_ui(new Ui::AddressBookFrame) {
|
||
|
m_ui->setupUi(this);
|
||
|
m_ui->m_addressBookView->setModel(&AddressBookModel::instance());
|
||
|
|
||
|
connect(m_ui->m_addressBookView->selectionModel(), &QItemSelectionModel::currentChanged, this, &AddressBookFrame::currentAddressChanged);
|
||
|
}
|
||
|
|
||
|
AddressBookFrame::~AddressBookFrame() {
|
||
|
}
|
||
|
|
||
|
void AddressBookFrame::addClicked() {
|
||
|
NewAddressDialog dlg(&MainWindow::instance());
|
||
|
if (dlg.exec() == QDialog::Accepted) {
|
||
|
QString label = dlg.getLabel();
|
||
|
QString address = dlg.getAddress();
|
||
|
if (!CurrencyAdapter::instance().validateAddress(address)) {
|
||
|
QCoreApplication::postEvent(&MainWindow::instance(), new ShowMessageEvent(tr("Invalid address"), QtCriticalMsg));
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
AddressBookModel::instance().addAddress(label, address);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
void AddressBookFrame::copyClicked() {
|
||
|
QApplication::clipboard()->setText(m_ui->m_addressBookView->currentIndex().data(AddressBookModel::ROLE_ADDRESS).toString());
|
||
|
}
|
||
|
|
||
|
void AddressBookFrame::deleteClicked() {
|
||
|
int row = m_ui->m_addressBookView->currentIndex().row();
|
||
|
AddressBookModel::instance().removeAddress(row);
|
||
|
}
|
||
|
|
||
|
void AddressBookFrame::currentAddressChanged(const QModelIndex& _index) {
|
||
|
m_ui->m_copyAddressButton->setEnabled(_index.isValid());
|
||
|
m_ui->m_deleteAddressButton->setEnabled(_index.isValid());
|
||
|
}
|
||
|
|
||
|
}
|