Gui: Do not show overlay panels in Start
This commit is contained in:
committed by
Chris Hennes
parent
5b174a048e
commit
082b5edf29
@@ -516,6 +516,8 @@ bool GraphvizView::onHasMsg(const char* pMsg) const
|
||||
return true;
|
||||
else if (strcmp("PrintPdf",pMsg) == 0)
|
||||
return true;
|
||||
else if (strcmp("AllowsOverlayOnHover", pMsg) == 0)
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@@ -370,6 +370,9 @@ bool ImageView::onHasMsg(const char* pMsg) const
|
||||
if (strcmp("PrintPdf", pMsg) == 0) {
|
||||
return true;
|
||||
}
|
||||
else if (strcmp("AllowsOverlayOnHover", pMsg) == 0) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -169,8 +169,13 @@ OverlayProxyWidget::HitTest OverlayProxyWidget::hitTest(const QPoint &globalPt,
|
||||
drawLine = true;
|
||||
update();
|
||||
}
|
||||
|
||||
auto view = getMainWindow()->activeWindow();
|
||||
auto overlayOnHoverAllowed = view && view->onHasMsg("AllowsOverlayOnHover");
|
||||
|
||||
if(owner->getState() != OverlayTabWidget::State::Hidden
|
||||
&& hit == HitTest::HitOuter
|
||||
&& overlayOnHoverAllowed
|
||||
&& OverlayParams::getDockOverlayActivateOnHover()) {
|
||||
if (owner->isVisible() && owner->tabBar()->isVisible()) {
|
||||
QSize size = owner->tabBar()->size();
|
||||
@@ -494,8 +499,10 @@ void OverlayTabWidget::setAnimation(qreal t)
|
||||
|
||||
void OverlayTabWidget::startShow()
|
||||
{
|
||||
if (isVisible() || _state > State::Normal)
|
||||
if (isVisible() || _state > State::Normal) {
|
||||
return;
|
||||
}
|
||||
|
||||
int duration = OverlayParams::getDockOverlayAnimationDuration();
|
||||
bool setmode = _state != State::Showing;
|
||||
if (duration) {
|
||||
@@ -1129,25 +1136,36 @@ void OverlayTabWidget::setState(State state)
|
||||
|
||||
bool OverlayTabWidget::checkAutoHide() const
|
||||
{
|
||||
if(autoMode == AutoMode::AutoHide)
|
||||
if (autoMode == AutoMode::AutoHide) {
|
||||
return true;
|
||||
|
||||
if(OverlayParams::getDockOverlayAutoView()) {
|
||||
auto view = getMainWindow()->activeWindow();
|
||||
if (!view) return true;
|
||||
if(!view->onHasMsg("CanPan")
|
||||
&& view->parentWidget()
|
||||
&& view->parentWidget()->isMaximized())
|
||||
return true;
|
||||
}
|
||||
|
||||
if(autoMode == AutoMode::EditShow) {
|
||||
if (OverlayParams::getDockOverlayAutoView()) {
|
||||
auto view = getMainWindow()->activeWindow();
|
||||
|
||||
if (!view) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (!view->onHasMsg("AllowsOverlayOnHover")) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (!view->onHasMsg("CanPan")
|
||||
&& view->parentWidget()
|
||||
&& view->parentWidget()->isMaximized()) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
if (autoMode == AutoMode::EditShow) {
|
||||
return !Application::Instance->editDocument()
|
||||
&& (!Control().taskPanel() || Control().taskPanel()->isEmpty(false));
|
||||
}
|
||||
|
||||
if(autoMode == AutoMode::EditHide && Application::Instance->editDocument())
|
||||
if (autoMode == AutoMode::EditHide && Application::Instance->editDocument()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
@@ -1548,7 +1566,7 @@ void OverlayTabWidget::setRect(QRect rect)
|
||||
break;
|
||||
}
|
||||
|
||||
if(hGrp && rect.size() != rectOverlay.size()) {
|
||||
if (hGrp && rect.size() != rectOverlay.size()) {
|
||||
Base::StateLocker lock(_saving);
|
||||
hGrp->SetInt("Width", rect.width());
|
||||
hGrp->SetInt("Height", rect.height());
|
||||
@@ -1557,7 +1575,7 @@ void OverlayTabWidget::setRect(QRect rect)
|
||||
|
||||
QPoint offset = getMainWindow()->getMdiArea()->pos();
|
||||
|
||||
if(getAutoHideRect(rect) || _state == State::Hint || _state == State::Hidden) {
|
||||
if (getAutoHideRect(rect) || _state == State::Hint || _state == State::Hidden) {
|
||||
QRect rectHint = rect;
|
||||
if (_state != State::Hint && _state != State::Hidden)
|
||||
startHide();
|
||||
@@ -1597,10 +1615,11 @@ void OverlayTabWidget::setRect(QRect rect)
|
||||
} else {
|
||||
setGeometry(rectOverlay.translated(offset));
|
||||
|
||||
for(int i=0, count=splitter->count(); i<count; ++i)
|
||||
for (int i = 0, count = splitter->count(); i < count; ++i) {
|
||||
splitter->widget(i)->show();
|
||||
}
|
||||
|
||||
if(!isVisible() && count()) {
|
||||
if (!isVisible() && count()) {
|
||||
proxyWidget->hide();
|
||||
startShow();
|
||||
}
|
||||
|
||||
@@ -235,6 +235,9 @@ bool AbstractSplitView::onHasMsg(const char* pMsg) const
|
||||
else if (strcmp("ViewAxo",pMsg) == 0) {
|
||||
return true;
|
||||
}
|
||||
else if (strcmp("AllowsOverlayOnHover", pMsg) == 0) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@@ -524,6 +524,9 @@ bool View3DInventor::onHasMsg(const char* pMsg) const
|
||||
if (strcmp("ZoomOut", pMsg) == 0) {
|
||||
return true;
|
||||
}
|
||||
if (strcmp("AllowsOverlayOnHover", pMsg) == 0) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -461,6 +461,9 @@ bool DrawingView::onHasMsg(const char* pMsg) const
|
||||
else if (strcmp("PrintPdf", pMsg) == 0) {
|
||||
return true;
|
||||
}
|
||||
else if (strcmp("AllowsOverlayOnHover", pMsg) == 0) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@@ -244,6 +244,9 @@ bool SheetView::onHasMsg(const char* pMsg) const
|
||||
if (strcmp(pMsg, "PrintPdf") == 0) {
|
||||
return true;
|
||||
}
|
||||
else if (strcmp("AllowsOverlayOnHover", pMsg) == 0) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -392,6 +392,15 @@ void StartView::newArchFile() const
|
||||
postStart(PostStartBehavior::doNotSwitchWorkbench);
|
||||
}
|
||||
|
||||
bool StartView::onHasMsg(const char* pMsg) const
|
||||
{
|
||||
if (strcmp("AllowsOverlayOnHover", pMsg) == 0) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return MDIView::onHasMsg(pMsg);
|
||||
}
|
||||
|
||||
void StartView::postStart(PostStartBehavior behavior) const
|
||||
{
|
||||
auto hGrp = App::GetApplication().GetParameterGroupByPath(
|
||||
|
||||
@@ -70,6 +70,8 @@ public:
|
||||
void newDraftFile() const;
|
||||
void newArchFile() const;
|
||||
|
||||
bool onHasMsg(const char* pMsg) const override;
|
||||
|
||||
public:
|
||||
enum class PostStartBehavior
|
||||
{
|
||||
|
||||
@@ -232,6 +232,9 @@ bool MDIViewPage::onHasMsg(const char* pMsg) const
|
||||
if (strcmp("ViewFit", pMsg) == 0) {
|
||||
return true;
|
||||
}
|
||||
else if (strcmp("AllowsOverlayOnHover", pMsg) == 0) {
|
||||
return true;
|
||||
}
|
||||
else if (strcmp("CanPan",pMsg) == 0) {
|
||||
return true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user