From 0374291a3451c464fb27e53077da42ad21c27cd6 Mon Sep 17 00:00:00 2001 From: isanae <14251494+isanae@users.noreply.github.com> Date: Fri, 16 Aug 2019 09:00:31 -0400 Subject: StatusBar now inherits from QStatusBar to handle hide/show events merged settings into saveVisibility() and restoreVisibility() call MainWindow::storeSettings() earlier so widget visibility is still valid --- src/statusbar.h | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'src/statusbar.h') diff --git a/src/statusbar.h b/src/statusbar.h index 2baf12ee..442b9acf 100644 --- a/src/statusbar.h +++ b/src/statusbar.h @@ -29,10 +29,12 @@ private: }; -class StatusBar +class StatusBar : public QStatusBar { public: - StatusBar(QStatusBar* bar, Ui::MainWindow* ui); + StatusBar(QWidget* parent=nullptr); + + void setup(Ui::MainWindow* ui); void setProgress(int percent); void setNotifications(bool hasNotifications); @@ -40,12 +42,18 @@ public: void setUpdateAvailable(bool b); void checkSettings(const Settings& settings); +protected: + void showEvent(QShowEvent* e); + void hideEvent(QHideEvent* e); + private: - QStatusBar* m_bar; + Ui::MainWindow* ui; QProgressBar* m_progress; StatusBarAction* m_notifications; StatusBarAction* m_update; QLabel* m_api; + + void visibilityChanged(bool visible); }; #endif // MO_STATUSBAR_H -- cgit v1.3.1 From c4d96ed8cfee5c66089f9bdf7c0ce8567aaf46fe Mon Sep 17 00:00:00 2001 From: isanae <14251494+isanae@users.noreply.github.com> Date: Sat, 5 Oct 2019 08:30:58 -0400 Subject: check the api setting on startup to hide it if needed --- src/mainwindow.cpp | 2 +- src/statusbar.cpp | 4 +++- src/statusbar.h | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) (limited to 'src/statusbar.h') diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 8ab28d22..0a82fcaf 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -226,7 +226,7 @@ MainWindow::MainWindow(Settings &settings QWebEngineProfile::defaultProfile()->setPersistentStoragePath(settings.paths().cache()); ui->setupUi(this); - ui->statusBar->setup(ui); + ui->statusBar->setup(ui, settings); { auto* ni = NexusInterface::instance(&m_PluginContainer); diff --git a/src/statusbar.cpp b/src/statusbar.cpp index 3734aa87..c2c54862 100644 --- a/src/statusbar.cpp +++ b/src/statusbar.cpp @@ -9,7 +9,7 @@ StatusBar::StatusBar(QWidget* parent) : { } -void StatusBar::setup(Ui::MainWindow* mainWindowUI) +void StatusBar::setup(Ui::MainWindow* mainWindowUI, const Settings& settings) { ui = mainWindowUI; m_notifications = new StatusBarAction(ui->actionNotifications); @@ -51,6 +51,8 @@ void StatusBar::setup(Ui::MainWindow* mainWindowUI) clearMessage(); setProgress(-1); setAPI({}, {}); + + checkSettings(settings); } void StatusBar::setProgress(int percent) diff --git a/src/statusbar.h b/src/statusbar.h index 442b9acf..3da45d41 100644 --- a/src/statusbar.h +++ b/src/statusbar.h @@ -34,7 +34,7 @@ class StatusBar : public QStatusBar public: StatusBar(QWidget* parent=nullptr); - void setup(Ui::MainWindow* ui); + void setup(Ui::MainWindow* ui, const Settings& settings); void setProgress(int percent); void setNotifications(bool hasNotifications); -- cgit v1.3.1