diff --git a/CHANGELOG.md b/CHANGELOG.md index d335d8274f6..152f4b232f2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ ## Unversioned - Bugfix: Fixed links without a protocol not being clickable. (#5345) +- Bugfix: Fixed Ctrl+U and "Toggle visibility of tabs" not having the same effect. (#5353) ## 2.5.0 diff --git a/src/widgets/Notebook.cpp b/src/widgets/Notebook.cpp index 7fdff5495cf..7354480fa88 100644 --- a/src/widgets/Notebook.cpp +++ b/src/widgets/Notebook.cpp @@ -52,8 +52,8 @@ Notebook::Notebook(QWidget *parent) [this](bool value) { this->setLockNotebookLayout(value); }); - this->showTabsAction_ = new QAction("Toggle visibility of tabs"); - QObject::connect(this->showTabsAction_, &QAction::triggered, [this]() { + this->toggleTabsAction_ = new QAction("Toggle visibility of tabs"); + QObject::connect(this->toggleTabsAction_, &QAction::triggered, [this]() { this->setShowTabs(!this->getShowTabs()); }); this->updateTabVisibilityMenuAction(); @@ -597,6 +597,11 @@ void Notebook::refresh() this->updateTabVisibility(); } +QAction *Notebook::toggleTabsAction() +{ + return this->toggleTabsAction_; +} + void Notebook::updateTabVisibility() { for (auto &item : this->items_) @@ -631,7 +636,7 @@ void Notebook::updateTabVisibilityMenuAction() HotkeyCategory::Window, "setTabVisibility", {{"on"}}); } } - this->showTabsAction_->setShortcut(toggleSeq); + this->toggleTabsAction_->setShortcut(toggleSeq); } bool Notebook::getShowAddButton() const @@ -1204,7 +1209,7 @@ void Notebook::setLockNotebookLayout(bool value) void Notebook::addNotebookActionsToMenu(QMenu *menu) { - menu->addAction(this->showTabsAction_); + menu->addAction(this->toggleTabsAction_); menu->addAction(this->lockNotebookLayoutAction_); @@ -1397,6 +1402,11 @@ void SplitNotebook::toggleOfflineTabs() } } +QAction *SplitNotebook::toggleOfflineTabsAction() +{ + return this->toggleOfflineTabsAction_; +} + void SplitNotebook::addNotebookActionsToMenu(QMenu *menu) { Notebook::addNotebookActionsToMenu(menu); diff --git a/src/widgets/Notebook.hpp b/src/widgets/Notebook.hpp index ac0162c4283..c05f0f45d65 100644 --- a/src/widgets/Notebook.hpp +++ b/src/widgets/Notebook.hpp @@ -123,6 +123,8 @@ class Notebook : public BaseWidget // Update layout and tab visibility void refresh(); + QAction *toggleTabsAction(); + protected: void scaleChangedEvent(float scale_) override; void resizeEvent(QResizeEvent *) override; @@ -195,7 +197,7 @@ class Notebook : public BaseWidget bool lockNotebookLayout_ = false; NotebookTabLocation tabLocation_ = NotebookTabLocation::Top; QAction *lockNotebookLayoutAction_; - QAction *showTabsAction_; + QAction *toggleTabsAction_; QAction *toggleTopMostAction_; // This filter, if set, is used to figure out the visibility of @@ -218,6 +220,8 @@ class SplitNotebook : public Notebook void addNotebookActionsToMenu(QMenu *menu) override; void toggleOfflineTabs(); + QAction *toggleOfflineTabsAction(); + protected: void showEvent(QShowEvent *event) override; diff --git a/src/widgets/Window.cpp b/src/widgets/Window.cpp index a9b0995ddfb..e4732609ea2 100644 --- a/src/widgets/Window.cpp +++ b/src/widgets/Window.cpp @@ -636,20 +636,14 @@ void Window::addShortcuts() if (arg == "off") { this->notebook_->setShowTabs(false); - getSettings()->tabVisibility.setValue( - NotebookTabVisibility::AllTabs); } else if (arg == "on") { this->notebook_->setShowTabs(true); - getSettings()->tabVisibility.setValue( - NotebookTabVisibility::AllTabs); } else if (arg == "toggle") { - this->notebook_->setShowTabs(!this->notebook_->getShowTabs()); - getSettings()->tabVisibility.setValue( - NotebookTabVisibility::AllTabs); + this->notebook_->toggleTabsAction()->trigger(); } else if (arg == "liveOnly") { @@ -659,7 +653,7 @@ void Window::addShortcuts() } else if (arg == "toggleLiveOnly") { - this->notebook_->toggleOfflineTabs(); + this->notebook_->toggleOfflineTabsAction()->trigger(); } else {