@@ -504,6 +504,7 @@ void DockManagerPrivate::updateDockWidgetFocus(CDockWidget* DockWidget)
504
504
updateDockWidgetFocusStyle (FocusedDockWidget, false );
505
505
}
506
506
507
+ CDockWidget* old = FocusedDockWidget;
507
508
if (DockWidget != FocusedDockWidget)
508
509
{
509
510
std::cout << " !!!!!!!!!!!! focusedDockWidgetChanged " << (FocusedDockWidget ? FocusedDockWidget->objectName ().toStdString () : " -" )
@@ -554,6 +555,11 @@ void DockManagerPrivate::updateDockWidgetFocus(CDockWidget* DockWidget)
554
555
updateFloatingWidgetFocusStyle (FloatingWidget, true );
555
556
}
556
557
#endif
558
+
559
+ if (old != DockWidget)
560
+ {
561
+ emit _this->focusedDockWidgetChanged (old, DockWidget);
562
+ }
557
563
}
558
564
559
565
@@ -720,6 +726,10 @@ bool CDockManager::restoreState(const QByteArray &state, int version)
720
726
show ();
721
727
}
722
728
729
+ if (d->FocusedDockWidget )
730
+ {
731
+ updateDockWidgetFocusStyle (d->FocusedDockWidget , false );
732
+ }
723
733
return Result;
724
734
}
725
735
@@ -1019,6 +1029,10 @@ CIconProvider& CDockManager::iconProvider()
1019
1029
// ===========================================================================
1020
1030
void CDockManager::onApplicationFocusChanged (QWidget* focusedOld, QWidget* focusedNow)
1021
1031
{
1032
+ if (isRestoringState ())
1033
+ {
1034
+ return ;
1035
+ }
1022
1036
std::cout << " CDockManager::onFocusChanged" << std::endl;
1023
1037
Q_UNUSED (focusedOld)
1024
1038
if (!focusedNow)
@@ -1060,6 +1074,11 @@ void CDockManager::onApplicationFocusChanged(QWidget* focusedOld, QWidget* focus
1060
1074
// ===========================================================================
1061
1075
void CDockManager::onFocusedDockAreaViewToggled (bool Open)
1062
1076
{
1077
+ if (isRestoringState ())
1078
+ {
1079
+ return ;
1080
+ }
1081
+
1063
1082
CDockAreaWidget* DockArea = qobject_cast<CDockAreaWidget*>(sender ());
1064
1083
if (!DockArea || Open)
1065
1084
{
@@ -1079,6 +1098,10 @@ void CDockManager::onFocusedDockAreaViewToggled(bool Open)
1079
1098
// ===========================================================================
1080
1099
void CDockManager::notifyWidgetOrAreaRelocation (QWidget* DroppedWidget)
1081
1100
{
1101
+ if (isRestoringState ())
1102
+ {
1103
+ return ;
1104
+ }
1082
1105
std::cout << " \n\n CDockManager::notifyWidgetDrop" << std::endl;
1083
1106
CDockWidget* DockWidget = qobject_cast<CDockWidget*>(DroppedWidget);
1084
1107
if (DockWidget)
@@ -1104,7 +1127,7 @@ void CDockManager::notifyWidgetOrAreaRelocation(QWidget* DroppedWidget)
1104
1127
void CDockManager::notifyFloatingWidgetDrop (CFloatingDockContainer* FloatingWidget)
1105
1128
{
1106
1129
std::cout << " \n\n CDockManager::notifyFloatingWidgetDrop" << std::endl;
1107
- if (!FloatingWidget)
1130
+ if (!FloatingWidget || isRestoringState () )
1108
1131
{
1109
1132
return ;
1110
1133
}
0 commit comments