|
Krita Source Code Documentation
|
#include <KisScreenMigrationTracker.h>
Inheritance diagram for KisScreenMigrationTracker:Signals | |
| void | sigScreenChanged (QScreen *screen) |
| void | sigScreenOrResolutionChanged (QScreen *screen) |
Public Member Functions | |
| QScreen * | currentScreen () const |
| QScreen * | currentScreenSafe () const |
| KisScreenMigrationTracker (QWidget *trackedWidget, QObject *parent=nullptr) | |
Public Member Functions inherited from KisRootSurfaceTrackerBase | |
| KisRootSurfaceTrackerBase (QWidget *watched, QObject *parent=nullptr) | |
| QWidget * | trackedWidget () const |
| ~KisRootSurfaceTrackerBase () | |
Protected Member Functions | |
| void | connectToNativeWindow (QWindow *window) override |
| void | disconnectFromNativeWindow () override |
Protected Member Functions inherited from KisRootSurfaceTrackerBase | |
| void | initialize () |
Private Slots | |
| void | slotResolutionCompressorTriggered () |
| void | slotScreenChanged (QScreen *screen) |
| void | slotScreenLogicalResolutionChanged (qreal value) |
| void | slotScreenResolutionChanged (qreal value) |
Private Member Functions | |
| void | connectScreenSignals (QScreen *screen) |
Private Attributes | |
| QPointer< QWindow > | m_connectedTopLevelWindow |
| KisSignalCompressor * | m_resolutionChangeCompressor |
| KisSignalAutoConnectionsStore | m_screenConnections |
| QMetaObject::Connection | m_topLevelWindowConnection |
A simple class that tracks the current screen assigned to the widget. When the widget migrates to a different screen, a signal is emitted.
If KisScreenMigrationTracker is created before the actual window for the widget is created, then it subscribes to widget's QEvent::Show event and waits until the widget is displayed.
Definition at line 31 of file KisScreenMigrationTracker.h.
| KisScreenMigrationTracker::KisScreenMigrationTracker | ( | QWidget * | trackedWidget, |
| QObject * | parent = nullptr ) |
Definition at line 19 of file KisScreenMigrationTracker.cpp.
References KisRootSurfaceTrackerBase::initialize(), KIS_SAFE_ASSERT_RECOVER_RETURN, m_resolutionChangeCompressor, slotResolutionCompressorTriggered(), KisSignalCompressor::timeout(), and KisRootSurfaceTrackerBase::trackedWidget().
|
private |
Definition at line 42 of file KisScreenMigrationTracker.cpp.
References KisSignalAutoConnectionsStore::addConnection(), KisSignalAutoConnectionsStore::clear(), m_screenConnections, slotScreenLogicalResolutionChanged(), and slotScreenResolutionChanged().
|
overrideprotectedvirtual |
Implements KisRootSurfaceTrackerBase.
Definition at line 51 of file KisScreenMigrationTracker.cpp.
References connectScreenSignals(), KIS_SAFE_ASSERT_RECOVER_RETURN, m_connectedTopLevelWindow, m_topLevelWindowConnection, sigScreenChanged(), sigScreenOrResolutionChanged(), and slotScreenChanged().
| QScreen * KisScreenMigrationTracker::currentScreen | ( | ) | const |
Return the screen currently assigned to the tracked widget. If the widget has no native window associated, then the function asserts.
Definition at line 31 of file KisScreenMigrationTracker.cpp.
References KIS_SAFE_ASSERT_RECOVER_RETURN_VALUE, and m_connectedTopLevelWindow.
| QScreen * KisScreenMigrationTracker::currentScreenSafe | ( | ) | const |
Return the screen currently assigned to the tracked widget or the default screen if the widget has no native window association (usually it means that the widget hasn't yet been added into the window hierarchy).
Definition at line 37 of file KisScreenMigrationTracker.cpp.
References m_connectedTopLevelWindow.
|
overrideprotectedvirtual |
Implements KisRootSurfaceTrackerBase.
Definition at line 65 of file KisScreenMigrationTracker.cpp.
References KisSignalAutoConnectionsStore::clear(), m_connectedTopLevelWindow, m_screenConnections, and m_topLevelWindowConnection.
|
signal |
Emitted when the widget migrates to a different screen
|
signal |
Emitted when the widget migrates to a different screen or screen resolution changes. This signal is useful for adjusting the display scale factor.
|
privateslot |
Definition at line 92 of file KisScreenMigrationTracker.cpp.
References KIS_SAFE_ASSERT_RECOVER_NOOP, m_connectedTopLevelWindow, sigScreenOrResolutionChanged(), and KisRootSurfaceTrackerBase::trackedWidget().
|
privateslot |
Definition at line 72 of file KisScreenMigrationTracker.cpp.
References connectScreenSignals(), sigScreenChanged(), and sigScreenOrResolutionChanged().
|
privateslot |
Definition at line 86 of file KisScreenMigrationTracker.cpp.
References m_resolutionChangeCompressor, KisSignalCompressor::start(), and value().
|
privateslot |
Definition at line 80 of file KisScreenMigrationTracker.cpp.
References m_resolutionChangeCompressor, KisSignalCompressor::start(), and value().
|
private |
Definition at line 78 of file KisScreenMigrationTracker.h.
|
private |
Definition at line 82 of file KisScreenMigrationTracker.h.
|
private |
Definition at line 81 of file KisScreenMigrationTracker.h.
|
private |
Definition at line 79 of file KisScreenMigrationTracker.h.