Merge pull request 'hide on close' (#90) from hide-on-close into master

Reviewed-on: #90
kryfi-block-explorer
dsc 2 years ago
commit 8b215c1e73

@ -184,6 +184,11 @@ AppContext::AppContext(QCommandLineParser *cmdargs) {
// libwallet connects
connect(this->walletManager, &WalletManager::walletOpened, this, &AppContext::onWalletOpened);
// hideOnClose
auto hideOnClose = config()->get(Config::hideOnClose).toBool();
if(hideOnClose)
QApplication::setQuitOnLastWindowClosed(false);
}
void AppContext::initTor() {

@ -108,11 +108,14 @@ MainWindow::MainWindow(AppContext *ctx, QWidget *parent) :
m_trayIcon = new QSystemTrayIcon(QIcon(":/assets/images/appicons/64x64.png"));
m_trayIcon->show();
m_trayActionHome = new QAction("Show", this);
m_trayActionHome->setStatusTip("Show");
m_trayActionCalc = new QAction("Calc", this);
m_trayActionCalc->setStatusTip("Calculator");
m_trayActionSend = new QAction("Send", this);
m_trayActionSend->setStatusTip("Send WOW payment");
m_trayActionSend->setStatusTip("Send a WOW payment");
m_trayActionHistory = new QAction("History", this);
m_trayActionHistory->setStatusTip("View incoming transfers");
@ -120,6 +123,7 @@ MainWindow::MainWindow(AppContext *ctx, QWidget *parent) :
m_trayActionExit = new QAction("Quit", this);
m_trayActionExit->setStatusTip("Exit application");
m_trayMenu.addAction(m_trayActionHome);
m_trayMenu.addAction(m_trayActionSend);
m_trayMenu.addAction(m_trayActionHistory);
m_trayMenu.addAction(m_trayActionCalc);
@ -127,6 +131,7 @@ MainWindow::MainWindow(AppContext *ctx, QWidget *parent) :
m_trayIcon->setContextMenu(&m_trayMenu);
// @TODO: only init tray *after* boot
connect(m_trayActionHome, &QAction::triggered, this, &MainWindow::showHomeWindow);
connect(m_trayActionCalc, &QAction::triggered, this, &MainWindow::showCalcWindow);
connect(m_trayActionSend, &QAction::triggered, this, &MainWindow::showSendTab);
connect(m_trayActionHistory, &QAction::triggered, this, &MainWindow::showHistoryTab);
@ -968,7 +973,6 @@ void MainWindow::menuNewRestoreClicked() {
void MainWindow::menuQuitClicked() {
cleanupBeforeClose();
QCoreApplication::quit();
}
@ -1038,9 +1042,16 @@ void MainWindow::skinChanged(const QString &skinName) {
}
void MainWindow::closeEvent(QCloseEvent *event) {
cleanupBeforeClose();
auto hideOnClose = config()->get(Config::hideOnClose).toBool();
if(hideOnClose && !this->isHidden()) {
this->hide();
event->ignore();
return;
}
cleanupBeforeClose();
QWidget::closeEvent(event);
QApplication::exit();
}
void MainWindow::donateButtonClicked() {
@ -1054,15 +1065,25 @@ void MainWindow::donateButtonClicked() {
void MainWindow::showHistoryTab() {
this->raise();
this->show();
ui->tabWidget->setCurrentIndex(Tabs::HISTORY);
}
void MainWindow::showSendTab() {
this->raise();
this->show();
ui->tabWidget->setCurrentIndex(Tabs::SEND);
}
void MainWindow::showHomeWindow() {
this->raise();
this->show();
ui->tabWidget->setCurrentIndex(Tabs::HOME);
}
void MainWindow::showCalcWindow() {
this->raise();
this->show();
m_windowCalc->show();
}

@ -109,6 +109,7 @@ public slots:
void showViewOnlyDialog();
void donateButtonClicked();
void showCalcWindow();
void showHomeWindow();
void payToMany();
void showWalletCacheDebugDialog();
void showSendTab();
@ -200,6 +201,7 @@ private:
QSystemTrayIcon *m_trayIcon;
QMenu m_trayMenu;
QAction *m_trayActionHome;
QAction *m_trayActionCalc;
QAction *m_trayActionExit;
QAction *m_trayActionSend;

@ -30,6 +30,11 @@ Settings::Settings(QWidget *parent) :
m_ctx->updateBalance();
});
connect(ui->checkBox_hideOnClose, &QCheckBox::toggled, [this](bool toggled){
config()->set(Config::hideOnClose, toggled);
QApplication::setQuitOnLastWindowClosed(toggled);
});
connect(ui->closeButton, &QDialogButtonBox::accepted, this, &Settings::close);
// nodes
@ -40,6 +45,7 @@ Settings::Settings(QWidget *parent) :
// setup checkboxes
ui->checkBox_externalLink->setChecked(config()->get(Config::warnOnExternalLink).toBool());
ui->checkBox_hideBalance->setChecked(config()->get(Config::hideBalance).toBool());
ui->checkBox_hideOnClose->setChecked(config()->get(Config::hideOnClose).toBool());
// setup comboboxes
this->setupSkinCombobox();

@ -198,6 +198,13 @@
</property>
</widget>
</item>
<item row="7" column="0">
<widget class="QCheckBox" name="checkBox_hideOnClose">
<property name="text">
<string>Hide application on close</string>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="tab_node">

@ -46,6 +46,7 @@ static const QHash<Config::ConfigKey, ConfigDirective> configStrings = {
{Config::windowState, {QS("windowState"), {}}},
{Config::firstRun,{QS("firstRun"), false}},
{Config::hideBalance, {QS("hideBalance"), false}},
{Config::hideOnClose, {QS("hideOnClose"), false}},
{Config::hideFiatBalance, {QS("hideFiatBalance"), false}},
{Config::redditFrontend, {QS("redditFrontend"), "old.reddit.com"}},
{Config::showHistorySyncNotice, {QS("showHistorySyncNotice"), true}},

@ -49,6 +49,7 @@ public:
firstRun,
hideBalance,
hideFiatBalance,
hideOnClose,
redditFrontend,
showHistorySyncNotice,
ignoreUpdateWarning,

Loading…
Cancel
Save