Files
thehub/hub-qt/coincontroldialog.h
T

148 lines
3.8 KiB
C++
Raw Permalink Normal View History

2017-11-09 19:34:51 +01:00
/*
* This file is part of the Flowee project
* Copyright (C) 2011-2015 The Bitcoin Core developers
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
2018-01-16 10:47:52 +00:00
#ifndef FLOWEE_QT_COINCONTROLDIALOG_H
#define FLOWEE_QT_COINCONTROLDIALOG_H
2013-08-12 17:03:03 +02:00
2014-04-22 15:46:19 -07:00
#include "amount.h"
2013-08-12 17:03:03 +02:00
#include <QAbstractButton>
#include <QAction>
#include <QDialog>
#include <QList>
#include <QMenu>
#include <QPoint>
#include <QString>
#include <QTreeWidgetItem>
2015-07-28 15:20:14 +02:00
class PlatformStyle;
2014-09-05 13:18:35 +02:00
class WalletModel;
class CCoinControl;
class CTxMemPool;
2013-08-12 17:03:03 +02:00
namespace Ui {
class CoinControlDialog;
}
#define ASYMP_UTF8 "\xE2\x89\x88"
2013-08-12 17:03:03 +02:00
class CoinControlDialog : public QDialog
{
Q_OBJECT
public:
2015-07-28 15:20:14 +02:00
explicit CoinControlDialog(const PlatformStyle *platformStyle, QWidget *parent = 0);
2013-08-12 17:03:03 +02:00
~CoinControlDialog();
void setModel(WalletModel *model);
// static because also called from sendcoinsdialog
static void updateLabels(WalletModel*, QDialog*);
2014-11-02 00:14:47 +01:00
static QString getPriorityLabel(double dPriority, double mempoolEstimatePriority);
2013-08-12 17:03:03 +02:00
2021-01-20 19:21:53 +01:00
static QList<int64_t> payAmounts;
2013-08-12 17:03:03 +02:00
static CCoinControl *coinControl;
2014-07-23 14:34:36 +02:00
static bool fSubtractFeeFromAmount;
2013-08-12 17:03:03 +02:00
private:
Ui::CoinControlDialog *ui;
WalletModel *model;
int sortColumn;
Qt::SortOrder sortOrder;
QMenu *contextMenu;
QTreeWidgetItem *contextMenuItem;
QAction *copyTransactionHashAction;
QAction *lockAction;
QAction *unlockAction;
2015-07-28 15:20:14 +02:00
const PlatformStyle *platformStyle;
2013-08-12 17:03:03 +02:00
QString strPad(QString, int, QString);
void sortView(int, Qt::SortOrder);
void updateView();
enum
{
COLUMN_CHECKBOX,
COLUMN_AMOUNT,
COLUMN_LABEL,
COLUMN_ADDRESS,
COLUMN_DATE,
COLUMN_CONFIRMATIONS,
COLUMN_PRIORITY,
COLUMN_TXHASH,
COLUMN_VOUT_INDEX,
COLUMN_AMOUNT_INT64,
2014-03-03 04:16:42 +01:00
COLUMN_PRIORITY_INT64,
COLUMN_DATE_INT64
2013-08-12 17:03:03 +02:00
};
2014-03-03 04:16:42 +01:00
// some columns have a hidden column containing the value used for sorting
int getMappedColumn(int column, bool fVisibleColumn = true)
{
if (fVisibleColumn)
{
if (column == COLUMN_AMOUNT_INT64)
return COLUMN_AMOUNT;
else if (column == COLUMN_PRIORITY_INT64)
return COLUMN_PRIORITY;
else if (column == COLUMN_DATE_INT64)
return COLUMN_DATE;
}
else
{
if (column == COLUMN_AMOUNT)
return COLUMN_AMOUNT_INT64;
else if (column == COLUMN_PRIORITY)
return COLUMN_PRIORITY_INT64;
else if (column == COLUMN_DATE)
return COLUMN_DATE_INT64;
}
return column;
}
2015-07-14 13:59:05 +02:00
private Q_SLOTS:
2013-08-12 17:03:03 +02:00
void showMenu(const QPoint &);
void copyAmount();
void copyLabel();
void copyAddress();
void copyTransactionHash();
void lockCoin();
void unlockCoin();
void clipboardQuantity();
void clipboardAmount();
void clipboardFee();
void clipboardAfterFee();
void clipboardBytes();
void clipboardPriority();
void clipboardLowOutput();
void clipboardChange();
void radioTreeMode(bool);
void radioListMode(bool);
void viewItemChanged(QTreeWidgetItem*, int);
void headerSectionClicked(int);
void buttonBoxClicked(QAbstractButton*);
void buttonSelectAllClicked();
void updateLabelLocked();
};
2018-01-16 10:47:52 +00:00
#endif