@@ -72,8 +72,20 @@ FullScreenBackground::FullScreenBackground(SessionBaseModel *model, QWidget *par
7272 }
7373 });
7474 connect (m_resetGeometryTimer, &QTimer::timeout, this , [this ] {
75- qCDebug (DDE_SHELL) << " setGeometry : " << m_geometryRect;
76- setGeometry (m_geometryRect);
75+ const auto ¤tGeometry = geometry ();
76+ if (currentGeometry != m_geometryRect) {
77+ qCDebug (DDE_SHELL) << " Current geometry:" << currentGeometry <<" setGeometry:" << m_geometryRect;
78+ setGeometry (m_geometryRect);
79+ }
80+ });
81+
82+ connect (m_model, &SessionBaseModel::shutdownkModeChanged, this , [this ] (bool value){
83+ if (!m_shutdownBlackWidget) {
84+ m_shutdownBlackWidget = new ShutdownBlackWidget (this );
85+ }
86+ qCInfo (DDE_SHELL) << " FullScreenBackground size : " << size ();
87+ m_shutdownBlackWidget->setFixedSize (this ->size ());
88+ m_shutdownBlackWidget->setBlackMode (value);
7789 });
7890
7991 connect (m_model, &SessionBaseModel::shutdownkModeChanged, this , [this ] (bool value){
@@ -735,5 +747,5 @@ void FullScreenBackground::setddeGeometry(const QRect &rect)
735747 setGeometry (rect);
736748 m_geometryRect = rect;
737749 m_resetGeometryTimer->start (200 );
738- QTimer::singleShot (200 * 5 , m_resetGeometryTimer, &QTimer::stop);
750+ QTimer::singleShot (400 * 5 , m_resetGeometryTimer, &QTimer::stop);
739751}
0 commit comments