LCOV - code coverage report
Current view: top level - src/qt - addressbookpage.h (source / functions) Hit Total Coverage
Test: total_coverage.info Lines: 0 2 0.0 %
Date: 2020-09-26 01:30:44 Functions: 0 2 0.0 %

          Line data    Source code
       1             : // Copyright (c) 2011-2018 The Bitcoin Core developers
       2             : // Distributed under the MIT software license, see the accompanying
       3             : // file COPYING or http://www.opensource.org/licenses/mit-license.php.
       4             : 
       5             : #ifndef BITCOIN_QT_ADDRESSBOOKPAGE_H
       6             : #define BITCOIN_QT_ADDRESSBOOKPAGE_H
       7             : 
       8             : #include <QDialog>
       9             : 
      10             : class AddressBookSortFilterProxyModel;
      11             : class AddressTableModel;
      12             : class PlatformStyle;
      13             : 
      14             : namespace Ui {
      15             :     class AddressBookPage;
      16             : }
      17             : 
      18             : QT_BEGIN_NAMESPACE
      19             : class QItemSelection;
      20             : class QMenu;
      21             : class QModelIndex;
      22             : QT_END_NAMESPACE
      23             : 
      24             : /** Widget that shows a list of sending or receiving addresses.
      25             :   */
      26             : class AddressBookPage : public QDialog
      27             : {
      28           0 :     Q_OBJECT
      29             : 
      30             : public:
      31             :     enum Tabs {
      32             :         SendingTab = 0,
      33             :         ReceivingTab = 1
      34             :     };
      35             : 
      36             :     enum Mode {
      37             :         ForSelection, /**< Open address book to pick address */
      38             :         ForEditing  /**< Open address book for editing */
      39             :     };
      40             : 
      41             :     explicit AddressBookPage(const PlatformStyle *platformStyle, Mode mode, Tabs tab, QWidget *parent = nullptr);
      42             :     ~AddressBookPage();
      43             : 
      44             :     void setModel(AddressTableModel *model);
      45           0 :     const QString &getReturnValue() const { return returnValue; }
      46             : 
      47             : public Q_SLOTS:
      48             :     void done(int retval) override;
      49             : 
      50             : private:
      51             :     Ui::AddressBookPage *ui;
      52             :     AddressTableModel *model;
      53             :     Mode mode;
      54             :     Tabs tab;
      55             :     QString returnValue;
      56             :     AddressBookSortFilterProxyModel *proxyModel;
      57             :     QMenu *contextMenu;
      58             :     QAction *deleteAction; // to be able to explicitly disable it
      59             :     QString newAddressToSelect;
      60             : 
      61             : private Q_SLOTS:
      62             :     /** Delete currently selected address entry */
      63             :     void on_deleteAddress_clicked();
      64             :     /** Create a new address for receiving coins and / or add a new address book entry */
      65             :     void on_newAddress_clicked();
      66             :     /** Copy address of currently selected address entry to clipboard */
      67             :     void on_copyAddress_clicked();
      68             :     /** Copy label of currently selected address entry to clipboard (no button) */
      69             :     void onCopyLabelAction();
      70             :     /** Edit currently selected address entry (no button) */
      71             :     void onEditAction();
      72             :     /** Export button clicked */
      73             :     void on_exportButton_clicked();
      74             : 
      75             :     /** Set button states based on selected tab and selection */
      76             :     void selectionChanged();
      77             :     /** Spawn contextual menu (right mouse menu) for address book entry */
      78             :     void contextualMenu(const QPoint &point);
      79             :     /** New entry/entries were added to address table */
      80             :     void selectNewAddress(const QModelIndex &parent, int begin, int /*end*/);
      81             : 
      82             : Q_SIGNALS:
      83             :     void sendCoins(QString addr);
      84             : };
      85             : 
      86             : #endif // BITCOIN_QT_ADDRESSBOOKPAGE_H

Generated by: LCOV version 1.15