Core: Overlay: Improve AutoTask mode (#26768)

This commit is contained in:
PaddleStroke
2026-01-22 20:24:29 +01:00
committed by GitHub
parent bb5b35e98b
commit 45b621b454
3 changed files with 11 additions and 0 deletions

View File

@@ -409,6 +409,7 @@ public:
Application::Instance->signalResetEdit.connect([this](const ViewProviderDocumentObject&) {
refresh();
});
Application::Instance->signalActivateWorkbench.connect([this](const char*) { refresh(); });
_actOverlay.setData(QStringLiteral("OBTN Overlay"));
_actFloat.setData(QStringLiteral("OBTN Float"));

View File

@@ -1249,6 +1249,10 @@ bool OverlayTabWidget::checkAutoHide() const
&& (!Control().taskPanel() || Control().taskPanel()->isEmpty(false));
}
if (autoMode == AutoMode::TaskShow) {
return (!Control().taskPanel() || Control().taskPanel()->isEmpty());
}
if (autoMode == AutoMode::EditHide && Application::Instance->editDocument()) {
return true;
}

View File

@@ -40,6 +40,7 @@
#include <Gui/Document.h>
#include <Gui/MainWindow.h>
#include <Gui/ViewProviderDocumentObject.h>
#include <Gui/OverlayManager.h>
#include "TaskView.h"
#include "TaskDialog.h"
@@ -672,6 +673,8 @@ void TaskView::showDialog(TaskDialog* dlg)
triggerMinimumSizeHint();
Q_EMIT taskUpdate();
OverlayManager::instance()->refresh();
}
void TaskView::removeDialog()
@@ -713,6 +716,9 @@ void TaskView::removeDialog()
tryRestoreWidth();
triggerMinimumSizeHint();
clearFocus();
OverlayManager::instance()->refresh();
}
void TaskView::setShowTaskWatcher(bool show)
{