mirror of
https://github.com/feather-wallet/feather.git
synced 2024-12-23 03:59:29 +00:00
Home: add tabs for home widgets
This commit is contained in:
parent
855755fea3
commit
a9ec69afd0
8 changed files with 80 additions and 164 deletions
|
@ -190,26 +190,13 @@ MainWindow::MainWindow(AppContext *ctx, QWidget *parent) :
|
|||
ui->tabWidget->setTabVisible(Tabs::XMRIG, false);
|
||||
#endif
|
||||
|
||||
// CCS/Reddit widget
|
||||
m_ccsWidget = new CCSWidget(this);
|
||||
m_redditWidget = new RedditWidget(this);
|
||||
connect(ui->ccsWidget, &CCSWidget::selected, this, &MainWindow::showSendScreen);
|
||||
connect(m_ctx, &AppContext::ccsUpdated, ui->ccsWidget->model(), &CCSModel::updateEntries);
|
||||
connect(m_ctx, &AppContext::redditUpdated, ui->redditWidget->model(), &RedditModel::updatePosts);
|
||||
|
||||
m_ccsWidget->hide();
|
||||
m_redditWidget->hide();
|
||||
|
||||
ui->coolLayout->addWidget(m_ccsWidget);
|
||||
ui->coolLayout->addWidget(m_redditWidget);
|
||||
|
||||
connect(m_ctx, &AppContext::ccsEmpty, [=] {
|
||||
if(m_ccsWidget->isVisible()) {
|
||||
// display Reddit widget instead
|
||||
m_ccsWidget->show();
|
||||
m_redditWidget->show();
|
||||
}
|
||||
connect(ui->tabHomeWidget, &QTabWidget::currentChanged, [](int index){
|
||||
config()->set(Config::homeWidget, TabsHome(index));
|
||||
});
|
||||
connect(m_ctx, &AppContext::ccsUpdated, m_ccsWidget->model(), &CCSModel::updateEntries);
|
||||
connect(m_ctx, &AppContext::redditUpdated, m_redditWidget->model(), &RedditModel::updatePosts);
|
||||
connect(m_ccsWidget, &CCSWidget::selected, this, &MainWindow::showSendScreen);
|
||||
|
||||
connect(m_ctx, &AppContext::donationNag, [=]{
|
||||
auto msg = "Feather is a 100% community-sponsored endeavor. Please consider supporting "
|
||||
|
@ -282,9 +269,6 @@ MainWindow::MainWindow(AppContext *ctx, QWidget *parent) :
|
|||
connect(m_windowSettings, &Settings::preferredFiatCurrencyChanged, m_ctx, &AppContext::onPreferredFiatCurrencyChanged);
|
||||
connect(m_windowSettings, &Settings::preferredFiatCurrencyChanged, ui->sendWidget, QOverload<>::of(&SendWidget::onPreferredFiatCurrencyChanged));
|
||||
|
||||
// CCS/Reddit widget
|
||||
connect(m_windowSettings, &Settings::homeWidgetChanged, this, &MainWindow::homeWidgetChanged);
|
||||
|
||||
// Skin
|
||||
connect(m_windowSettings, &Settings::skinChanged, this, &MainWindow::skinChanged);
|
||||
|
||||
|
@ -538,15 +522,8 @@ void MainWindow::menuToggleTabVisible(const QString &key){
|
|||
}
|
||||
|
||||
void MainWindow::initWidgets() {
|
||||
auto homeWidget = config()->get(Config::homeWidget).toString();
|
||||
if(homeWidget == QString("ccs")) {
|
||||
m_ccsWidget->show();
|
||||
} else if (homeWidget == "reddit") {
|
||||
m_redditWidget->show();
|
||||
} else {
|
||||
config()->set(Config::homeWidget, "ccs");
|
||||
m_ccsWidget->show();
|
||||
}
|
||||
int homeWidget = config()->get(Config::homeWidget).toInt();
|
||||
ui->tabHomeWidget->setCurrentIndex(TabsHome(homeWidget));
|
||||
}
|
||||
|
||||
WalletWizard *MainWindow::createWizard(WalletWizard::Page startPage){
|
||||
|
@ -1047,16 +1024,6 @@ void MainWindow::skinChanged(const QString &skinName) {
|
|||
qDebug() << QString("Skin changed to %1").arg(skinName);
|
||||
}
|
||||
|
||||
void MainWindow::homeWidgetChanged(const QString &widgetName) {
|
||||
if(widgetName == "ccs"){
|
||||
m_ccsWidget->show();
|
||||
m_redditWidget->hide();
|
||||
} else if(widgetName == "reddit") {
|
||||
m_ccsWidget->hide();
|
||||
m_redditWidget->show();
|
||||
}
|
||||
}
|
||||
|
||||
void MainWindow::closeEvent(QCloseEvent *event) {
|
||||
cleanupBeforeClose();
|
||||
|
||||
|
|
|
@ -81,6 +81,11 @@ public:
|
|||
XMRIG
|
||||
};
|
||||
|
||||
enum TabsHome {
|
||||
CCS,
|
||||
REDDIT
|
||||
};
|
||||
|
||||
public slots:
|
||||
void initWidgets();
|
||||
void initMenu();
|
||||
|
@ -102,7 +107,6 @@ public slots:
|
|||
void showSendTab();
|
||||
void showHistoryTab();
|
||||
void showSendScreen(const CCSEntry &entry);
|
||||
void homeWidgetChanged(const QString &widgetName);
|
||||
void skinChanged(const QString &skinName);
|
||||
void menuTorClicked();
|
||||
void onBlockchainSync(int height, int target);
|
||||
|
@ -177,9 +181,6 @@ private:
|
|||
|
||||
bool m_windowSpawned = false;
|
||||
|
||||
CCSWidget *m_ccsWidget = nullptr;
|
||||
RedditWidget *m_redditWidget = nullptr;
|
||||
|
||||
QSystemTrayIcon *m_trayIcon;
|
||||
QMenu m_trayMenu;
|
||||
QAction *m_trayActionCalc;
|
||||
|
|
|
@ -87,31 +87,65 @@
|
|||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="Line" name="homeLine">
|
||||
<widget class="Line" name="line">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="coolLayout">
|
||||
<property name="spacing">
|
||||
<number>9</number>
|
||||
<widget class="QTabWidget" name="tabHomeWidget">
|
||||
<property name="currentIndex">
|
||||
<number>1</number>
|
||||
</property>
|
||||
<property name="documentMode">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<widget class="QWidget" name="tab">
|
||||
<attribute name="title">
|
||||
<string>CCS</string>
|
||||
</attribute>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_6">
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
<widget class="CCSWidget" name="ccsWidget" native="true"/>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QWidget" name="tab_2">
|
||||
<attribute name="title">
|
||||
<string>/r/Monero</string>
|
||||
</attribute>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_7">
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="RedditWidget" name="redditWidget" native="true"/>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
|
@ -734,6 +768,18 @@
|
|||
<header>MorphTokenWidget.h</header>
|
||||
<container>1</container>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>CCSWidget</class>
|
||||
<extends>QWidget</extends>
|
||||
<header>widgets/ccswidget.h</header>
|
||||
<container>1</container>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>RedditWidget</class>
|
||||
<extends>QWidget</extends>
|
||||
<header>widgets/redditwidget.h</header>
|
||||
<container>1</container>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<resources>
|
||||
<include location="assets.qrc"/>
|
||||
|
|
|
@ -38,16 +38,11 @@ Settings::Settings(QWidget *parent) :
|
|||
ui->checkBox_hideBalance->setChecked(config()->get(Config::hideBalance).toBool());
|
||||
|
||||
// setup comboboxes
|
||||
auto settingsHomeWidget = config()->get(Config::homeWidget).toString();
|
||||
if (m_homeWidgets.contains(settingsHomeWidget))
|
||||
ui->comboBox_homeWidget->setCurrentIndex(m_homeWidgets.indexOf(settingsHomeWidget));
|
||||
|
||||
this->setupSkinCombobox();
|
||||
auto settingsSkin = config()->get(Config::skin).toString();
|
||||
if (m_skins.contains(settingsSkin))
|
||||
ui->comboBox_skin->setCurrentIndex(m_skins.indexOf(settingsSkin));
|
||||
|
||||
connect(ui->comboBox_homeWidget, QOverload<int>::of(&QComboBox::currentIndexChanged), this, &Settings::comboBox_homeWidgetChanged);
|
||||
connect(ui->comboBox_skin, QOverload<int>::of(&QComboBox::currentIndexChanged), this, &Settings::comboBox_skinChanged);
|
||||
connect(ui->comboBox_blockExplorer, QOverload<int>::of(&QComboBox::currentIndexChanged), this, &Settings::comboBox_blockExplorerChanged);
|
||||
|
||||
|
@ -83,12 +78,6 @@ void Settings::comboBox_skinChanged(int pos) {
|
|||
emit skinChanged(m_skins.at(pos));
|
||||
}
|
||||
|
||||
void Settings::comboBox_homeWidgetChanged(int pos) {
|
||||
config()->set(Config::homeWidget, m_homeWidgets.at(pos));
|
||||
|
||||
emit homeWidgetChanged(m_homeWidgets.at(pos));
|
||||
}
|
||||
|
||||
void Settings::comboBox_blockExplorerChanged(int pos) {
|
||||
QString blockExplorer = ui->comboBox_blockExplorer->currentText();
|
||||
config()->set(Config::blockExplorer, blockExplorer);
|
||||
|
|
|
@ -26,7 +26,6 @@ public:
|
|||
signals:
|
||||
void closed();
|
||||
void preferredFiatCurrencyChanged(QString currency);
|
||||
void homeWidgetChanged(QString widgetName);
|
||||
void skinChanged(QString skinName);
|
||||
void showHomeCCS(bool);
|
||||
void blockExplorerChanged(QString blockExplorer);
|
||||
|
@ -35,12 +34,10 @@ public slots:
|
|||
void copyToClipboard();
|
||||
void checkboxExternalLinkWarn();
|
||||
void fiatCurrencySelected(int index);
|
||||
void comboBox_homeWidgetChanged(int pos);
|
||||
void comboBox_skinChanged(int pos);
|
||||
void comboBox_blockExplorerChanged(int post);
|
||||
|
||||
private:
|
||||
const QStringList m_homeWidgets{"ccs", "reddit"};
|
||||
QStringList m_skins{"Native", "QDarkStyle", "Breeze/Dark", "Breeze/Light"};
|
||||
|
||||
private:
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>1019</width>
|
||||
<height>358</height>
|
||||
<height>336</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
|
@ -121,44 +121,23 @@
|
|||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_5">
|
||||
<property name="text">
|
||||
<string>Home screen widget:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QComboBox" name="comboBox_homeWidget">
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>CCS proposals</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>/r/monero</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="label_6">
|
||||
<property name="text">
|
||||
<string>Appearance:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<item row="1" column="1">
|
||||
<widget class="QComboBox" name="comboBox_skin"/>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="text">
|
||||
<string>Block explorer:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<item row="2" column="1">
|
||||
<widget class="QComboBox" name="comboBox_blockExplorer">
|
||||
<item>
|
||||
<property name="text">
|
||||
|
@ -182,14 +161,14 @@
|
|||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0">
|
||||
<item row="3" column="0">
|
||||
<widget class="QCheckBox" name="checkBox_externalLink">
|
||||
<property name="text">
|
||||
<string>Warn before opening external link</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="0">
|
||||
<item row="4" column="0">
|
||||
<widget class="QCheckBox" name="checkBox_hideBalance">
|
||||
<property name="text">
|
||||
<string>Hide balance</string>
|
||||
|
|
|
@ -48,39 +48,6 @@
|
|||
</attribute>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<property name="spacing">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QLabel" name="warnLabel">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Powered by ccs.getmonero.org</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources/>
|
||||
|
|
|
@ -51,36 +51,6 @@
|
|||
</attribute>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<item>
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Powered by Reddit</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources/>
|
||||
|
|
Loading…
Reference in a new issue