mirror of
https://github.com/Retropex/bitcoin.git
synced 2025-05-12 19:20:42 +02:00
GUI/OptionsDialog: Make Spam filtering tab scrollable at smaller screen sizes
This commit is contained in:
parent
7e53e5dc5b
commit
78aeaaceaf
@ -45,6 +45,8 @@
|
|||||||
#include <QLocale>
|
#include <QLocale>
|
||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
#include <QRadioButton>
|
#include <QRadioButton>
|
||||||
|
#include <QScrollArea>
|
||||||
|
#include <QScrollBar>
|
||||||
#include <QSpacerItem>
|
#include <QSpacerItem>
|
||||||
#include <QString>
|
#include <QString>
|
||||||
#include <QStringList>
|
#include <QStringList>
|
||||||
@ -53,6 +55,36 @@
|
|||||||
#include <QVBoxLayout>
|
#include <QVBoxLayout>
|
||||||
#include <QWidget>
|
#include <QWidget>
|
||||||
|
|
||||||
|
ModScrollArea::ModScrollArea()
|
||||||
|
{
|
||||||
|
setWidgetResizable(true);
|
||||||
|
setFrameShape(QFrame::NoFrame);
|
||||||
|
setObjectName(QStringLiteral("scroll"));
|
||||||
|
setStyleSheet("QScrollArea#scroll, QScrollArea#scroll > QWidget > QWidget { background: transparent; } QScrollArea#scroll > QWidget > QScrollBar { background: palette(base); }");
|
||||||
|
}
|
||||||
|
|
||||||
|
ModScrollArea *ModScrollArea::fromWidget(QWidget * const parent, QWidget * const o)
|
||||||
|
{
|
||||||
|
auto * const scroll = new ModScrollArea;
|
||||||
|
scroll->setWidget(o);
|
||||||
|
return scroll;
|
||||||
|
}
|
||||||
|
|
||||||
|
QSize ModScrollArea::minimumSizeHint() const
|
||||||
|
{
|
||||||
|
auto w = widget()->minimumSizeHint().width();
|
||||||
|
w += verticalScrollBar()->sizeHint().width();
|
||||||
|
const auto h = fontMetrics().height() * 2;
|
||||||
|
return QSize(w, h);
|
||||||
|
}
|
||||||
|
|
||||||
|
QSize ModScrollArea::sizeHint() const
|
||||||
|
{
|
||||||
|
QSize sz = widget()->sizeHint();
|
||||||
|
sz.rwidth() += verticalScrollBar()->sizeHint().width();
|
||||||
|
return sz;
|
||||||
|
}
|
||||||
|
|
||||||
void OptionsDialog::FixTabOrder(QWidget * const o)
|
void OptionsDialog::FixTabOrder(QWidget * const o)
|
||||||
{
|
{
|
||||||
BitcoinAmountField * const af = qobject_cast<BitcoinAmountField *>(o);
|
BitcoinAmountField * const af = qobject_cast<BitcoinAmountField *>(o);
|
||||||
@ -290,7 +322,7 @@ OptionsDialog::OptionsDialog(QWidget* parent, bool enableWallet)
|
|||||||
|
|
||||||
QWidget * const tabFilters = new QWidget();
|
QWidget * const tabFilters = new QWidget();
|
||||||
auto& groupBox_Spamfiltering = tabFilters;
|
auto& groupBox_Spamfiltering = tabFilters;
|
||||||
ui->tabWidget->insertTab(ui->tabWidget->indexOf(ui->tabWindow), tabFilters, tr("Spam &filtering"));
|
ui->tabWidget->insertTab(ui->tabWidget->indexOf(ui->tabWindow), ModScrollArea::fromWidget(this, groupBox_Spamfiltering), tr("Spam &filtering"));
|
||||||
QVBoxLayout * const verticalLayout_Spamfiltering = new QVBoxLayout(groupBox_Spamfiltering);
|
QVBoxLayout * const verticalLayout_Spamfiltering = new QVBoxLayout(groupBox_Spamfiltering);
|
||||||
|
|
||||||
rejectunknownscripts = new QCheckBox(groupBox_Spamfiltering);
|
rejectunknownscripts = new QCheckBox(groupBox_Spamfiltering);
|
||||||
@ -461,7 +493,7 @@ OptionsDialog::OptionsDialog(QWidget* parent, bool enableWallet)
|
|||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
verticalLayout_Spamfiltering->addItem(new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding));
|
verticalLayout_Spamfiltering->addStretch(1);
|
||||||
|
|
||||||
/* Mining tab */
|
/* Mining tab */
|
||||||
|
|
||||||
@ -587,6 +619,8 @@ OptionsDialog::OptionsDialog(QWidget* parent, bool enableWallet)
|
|||||||
ui->qrFont_preview->setVisible(false);
|
ui->qrFont_preview->setVisible(false);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
adjustSize();
|
||||||
|
|
||||||
GUIUtil::handleCloseWindowShortcut(this);
|
GUIUtil::handleCloseWindowShortcut(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6,6 +6,7 @@
|
|||||||
#define BITCOIN_QT_OPTIONSDIALOG_H
|
#define BITCOIN_QT_OPTIONSDIALOG_H
|
||||||
|
|
||||||
#include <QDialog>
|
#include <QDialog>
|
||||||
|
#include <QScrollArea>
|
||||||
#include <QValidator>
|
#include <QValidator>
|
||||||
|
|
||||||
class BitcoinAmountField;
|
class BitcoinAmountField;
|
||||||
@ -26,6 +27,19 @@ class QValueComboBox;
|
|||||||
class QWidget;
|
class QWidget;
|
||||||
QT_END_NAMESPACE
|
QT_END_NAMESPACE
|
||||||
|
|
||||||
|
/** QScrollArea, but returning reasonable size hints.
|
||||||
|
*/
|
||||||
|
class ModScrollArea : public QScrollArea {
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
ModScrollArea();
|
||||||
|
static ModScrollArea *fromWidget(QWidget *parent, QWidget *o);
|
||||||
|
|
||||||
|
QSize minimumSizeHint() const override;
|
||||||
|
QSize sizeHint() const override;
|
||||||
|
};
|
||||||
|
|
||||||
namespace Ui {
|
namespace Ui {
|
||||||
class OptionsDialog;
|
class OptionsDialog;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user