15
15
#include " csvmodelwriter.h"
16
16
#include " editaddressdialog.h"
17
17
#include " guiutil.h"
18
+ #include " optionsmodel.h"
18
19
#include " platformstyle.h"
20
+ #include " qrdialog.h"
19
21
20
22
#include < QIcon>
21
23
#include < QMenu>
@@ -42,6 +44,7 @@ AddressBookPage::AddressBookPage(const PlatformStyle *platformStyle, Mode _mode,
42
44
ui->deleteAddress ->setIcon (QIcon (" :/icons/" + theme + " /remove" ));
43
45
ui->exportButton ->setIcon (QIcon (" :/icons/" + theme + " /export" ));
44
46
}
47
+ ui->showAddressQRCode ->setIcon (QIcon ());
45
48
46
49
switch (mode)
47
50
{
@@ -81,6 +84,7 @@ AddressBookPage::AddressBookPage(const PlatformStyle *platformStyle, Mode _mode,
81
84
QAction *copyAddressAction = new QAction (tr (" &Copy Address" ), this );
82
85
QAction *copyLabelAction = new QAction (tr (" Copy &Label" ), this );
83
86
QAction *editAction = new QAction (tr (" &Edit" ), this );
87
+ QAction *showAddressQRCodeAction = new QAction (tr (" &Show address QR code" ), this );
84
88
deleteAction = new QAction (ui->deleteAddress ->text (), this );
85
89
86
90
// Build context menu
@@ -91,12 +95,14 @@ AddressBookPage::AddressBookPage(const PlatformStyle *platformStyle, Mode _mode,
91
95
if (tab == SendingTab)
92
96
contextMenu->addAction (deleteAction);
93
97
contextMenu->addSeparator ();
98
+ contextMenu->addAction (showAddressQRCodeAction);
94
99
95
100
// Connect signals for context menu actions
96
101
connect (copyAddressAction, SIGNAL (triggered ()), this , SLOT (on_copyAddress_clicked ()));
97
102
connect (copyLabelAction, SIGNAL (triggered ()), this , SLOT (onCopyLabelAction ()));
98
103
connect (editAction, SIGNAL (triggered ()), this , SLOT (onEditAction ()));
99
104
connect (deleteAction, SIGNAL (triggered ()), this , SLOT (on_deleteAddress_clicked ()));
105
+ connect (showAddressQRCodeAction, SIGNAL (triggered ()), this , SLOT (on_showAddressQRCode_clicked ()));
100
106
101
107
connect (ui->tableView , SIGNAL (customContextMenuRequested (QPoint)), this , SLOT (contextualMenu (QPoint)));
102
108
@@ -213,6 +219,23 @@ void AddressBookPage::on_deleteAddress_clicked()
213
219
}
214
220
}
215
221
222
+ void AddressBookPage::on_showAddressQRCode_clicked ()
223
+ {
224
+ QList<QModelIndex> entries = GUIUtil::getEntryData (ui->tableView , AddressTableModel::Address);
225
+ if (entries.empty ()) {
226
+ return ;
227
+ }
228
+
229
+ QString strAddress = entries.at (0 ).data (Qt::EditRole).toString ();
230
+ QRDialog* dialog = new QRDialog (this );
231
+ OptionsModel *model = new OptionsModel (NULL , false );
232
+
233
+ dialog->setModel (model);
234
+ dialog->setAttribute (Qt::WA_DeleteOnClose);
235
+ dialog->setInfo (tr (" QR code" ), " dash:" +strAddress, " " , strAddress);
236
+ dialog->show ();
237
+ }
238
+
216
239
void AddressBookPage::selectionChanged ()
217
240
{
218
241
// Set button states based on selected tab and selection
@@ -238,11 +261,13 @@ void AddressBookPage::selectionChanged()
238
261
break ;
239
262
}
240
263
ui->copyAddress ->setEnabled (true );
264
+ ui->showAddressQRCode ->setEnabled (true );
241
265
}
242
266
else
243
267
{
244
268
ui->deleteAddress ->setEnabled (false );
245
269
ui->copyAddress ->setEnabled (false );
270
+ ui->showAddressQRCode ->setEnabled (false );
246
271
}
247
272
}
248
273
0 commit comments