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
{