mirror of
https://github.com/githubuser0xFFFF/Qt-Advanced-Docking-System.git
synced 2024-12-25 07:31:33 +08:00
Disabled setFocus in CDockWidget::setActiveTab
This commit is contained in:
parent
adb72737e8
commit
a3e979a8ad
@ -571,6 +571,7 @@ CMainWindow::CMainWindow(QWidget *parent) :
|
|||||||
// dock widget.
|
// dock widget.
|
||||||
// CDockManager::setConfigFlag(CDockManager::HideSingleCentralWidgetTitleBar, true);
|
// CDockManager::setConfigFlag(CDockManager::HideSingleCentralWidgetTitleBar, true);
|
||||||
|
|
||||||
|
//CDockManager::setConfigFlag(CDockManager::AlwaysShowTabs, true);
|
||||||
CDockManager::setConfigFlag(CDockManager::FocusStyling, true);
|
CDockManager::setConfigFlag(CDockManager::FocusStyling, true);
|
||||||
|
|
||||||
// Now create the dock manager and its content
|
// Now create the dock manager and its content
|
||||||
@ -664,7 +665,7 @@ void CMainWindow::onViewVisibilityChanged(bool Visible)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
qDebug() << DockWidget->objectName() << " visibilityChanged(" << Visible << ")";
|
//qDebug() << DockWidget->objectName() << " visibilityChanged(" << Visible << ")";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -267,10 +267,15 @@ bool DockManagerPrivate::restoreStateFromXml(const QByteArray &state, int versi
|
|||||||
}
|
}
|
||||||
|
|
||||||
ADS_PRINT(s.attributes().value("UserVersion"));
|
ADS_PRINT(s.attributes().value("UserVersion"));
|
||||||
v = s.attributes().value("UserVersion").toInt(&ok);
|
// Older files do not support UserVersion so we skip this if the file does
|
||||||
if (!ok || v != version)
|
// not have this attribute
|
||||||
|
if (!s.attributes().value("UserVersion").isEmpty())
|
||||||
{
|
{
|
||||||
return false;
|
v = s.attributes().value("UserVersion").toInt(&ok);
|
||||||
|
if (!ok || v != version)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
s.setFileVersion(v);
|
s.setFileVersion(v);
|
||||||
@ -498,6 +503,12 @@ void DockManagerPrivate::updateDockWidgetFocus(CDockWidget* DockWidget)
|
|||||||
{
|
{
|
||||||
updateDockWidgetFocusStyle(FocusedDockWidget, false);
|
updateDockWidgetFocusStyle(FocusedDockWidget, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (DockWidget != FocusedDockWidget)
|
||||||
|
{
|
||||||
|
std::cout << "!!!!!!!!!!!! focusedDockWidgetChanged " << (FocusedDockWidget ? FocusedDockWidget->objectName().toStdString() : "-")
|
||||||
|
<< " -> " << (DockWidget ? DockWidget->objectName().toStdString() : "-") << std::endl;
|
||||||
|
}
|
||||||
FocusedDockWidget = DockWidget;
|
FocusedDockWidget = DockWidget;
|
||||||
updateDockWidgetFocusStyle(FocusedDockWidget, true);
|
updateDockWidgetFocusStyle(FocusedDockWidget, true);
|
||||||
NewFocusedDockArea = FocusedDockWidget->dockAreaWidget();
|
NewFocusedDockArea = FocusedDockWidget->dockAreaWidget();
|
||||||
@ -567,7 +578,7 @@ CDockManager::CDockManager(QWidget *parent) :
|
|||||||
if (CDockManager::configFlags().testFlag(CDockManager::FocusStyling))
|
if (CDockManager::configFlags().testFlag(CDockManager::FocusStyling))
|
||||||
{
|
{
|
||||||
connect(QApplication::instance(), SIGNAL(focusChanged(QWidget*, QWidget*)),
|
connect(QApplication::instance(), SIGNAL(focusChanged(QWidget*, QWidget*)),
|
||||||
this, SLOT(onFocusChanged(QWidget*, QWidget*)));
|
this, SLOT(onApplicationFocusChanged(QWidget*, QWidget*)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1006,7 +1017,7 @@ CIconProvider& CDockManager::iconProvider()
|
|||||||
|
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
void CDockManager::onFocusChanged(QWidget* focusedOld, QWidget* focusedNow)
|
void CDockManager::onApplicationFocusChanged(QWidget* focusedOld, QWidget* focusedNow)
|
||||||
{
|
{
|
||||||
std::cout << "CDockManager::onFocusChanged" << std::endl;
|
std::cout << "CDockManager::onFocusChanged" << std::endl;
|
||||||
Q_UNUSED(focusedOld)
|
Q_UNUSED(focusedOld)
|
||||||
@ -1033,9 +1044,11 @@ void CDockManager::onFocusChanged(QWidget* focusedOld, QWidget* focusedNow)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
if (!DockWidget || !DockWidget->tabWidget()->isVisible())
|
if (!DockWidget || DockWidget->tabWidget()->isHidden())
|
||||||
{
|
{
|
||||||
return;
|
std::cout << "!DockWidget || !DockWidget->tabWidget()->isVisible() " << (DockWidget ? DockWidget->objectName().toStdString() : "0") << std::endl;
|
||||||
|
std::cout << "DockWidget->tabWidget()->isHidden() " << (DockWidget ? DockWidget->tabWidget()->isHidden() : false) << std::endl;
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -1066,9 +1079,11 @@ void CDockManager::onFocusedDockAreaViewToggled(bool Open)
|
|||||||
//===========================================================================
|
//===========================================================================
|
||||||
void CDockManager::emitWidgetDroppedSignals(QWidget* DroppedWidget)
|
void CDockManager::emitWidgetDroppedSignals(QWidget* DroppedWidget)
|
||||||
{
|
{
|
||||||
|
std::cout << "CDockManager::emitWidgetDroppedSignals" << std::endl;
|
||||||
CDockWidget* DockWidget = qobject_cast<CDockWidget*>(DroppedWidget);
|
CDockWidget* DockWidget = qobject_cast<CDockWidget*>(DroppedWidget);
|
||||||
if (DockWidget)
|
if (DockWidget)
|
||||||
{
|
{
|
||||||
|
std::cout << "CDockManager::setWidgetFocus " << DockWidget->objectName().toStdString() << std::endl;
|
||||||
CDockManager::setWidgetFocus(DockWidget->tabWidget());
|
CDockManager::setWidgetFocus(DockWidget->tabWidget());
|
||||||
emit dockWidgetDropped(DockWidget);
|
emit dockWidgetDropped(DockWidget);
|
||||||
return;
|
return;
|
||||||
|
@ -85,7 +85,7 @@ private:
|
|||||||
friend class CDockAreaTitleBar;
|
friend class CDockAreaTitleBar;
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void onFocusChanged(QWidget *old, QWidget *now);
|
void onApplicationFocusChanged(QWidget *old, QWidget *now);
|
||||||
void onFocusedDockAreaViewToggled(bool Open);
|
void onFocusedDockAreaViewToggled(bool Open);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
@ -472,7 +472,7 @@ void CDockWidgetTab::setActiveTab(bool active)
|
|||||||
bool UpdateFocusStyle = false;
|
bool UpdateFocusStyle = false;
|
||||||
if (active && !hasFocus())
|
if (active && !hasFocus())
|
||||||
{
|
{
|
||||||
setFocus(Qt::OtherFocusReason);
|
//setFocus(Qt::OtherFocusReason);
|
||||||
UpdateFocusStyle = true;
|
UpdateFocusStyle = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user