diff options
| author | Alexander Golubev <fatzer2@gmail.com> | 2026-03-23 11:18:23 +0300 |
|---|---|---|
| committer | Alexander Golubev <fatzer2@gmail.com> | 2026-03-23 13:14:34 +0300 |
| commit | 94620219ffaf0be7e15d73750137b0d45ed24685 (patch) | |
| tree | c4f33f67389e565ad1c72bccba02b5c200ee7601 /kcontrol/background/bgmonitor.h | |
| parent | 6715f2542ef39e3df7b0050aa483b4e4973ac693 (diff) | |
| download | tdebase-Fat-Zer/fix/kdesktop-multihead.tar.gz tdebase-Fat-Zer/fix/kdesktop-multihead.zip | |
kdesktop: better support for old-school multihead setupsFat-Zer/fix/kdesktop-multihead
This fixes several issues on "old-school multihead" X11 setups (with
several screens per display i.e. when DISPLAY has form ":x.y"
also known as "TDE_MULTIHEAD" or "Zaphode mode"). Also it slightly
enhances functionality for more common xinerama setups. In particular:
* fixed an issue where on primary screen wallpaper is getting rendered
for both secondary and primary on certain kdesktop configurations.
* fixed an issue on walpaper config dialog where previews for two
monitors were displayed overlapped.
* update preview in config dialog in case a monitor gets
connected/disconnected.
* some minor whitespace cleanup.
Diffstat (limited to 'kcontrol/background/bgmonitor.h')
| -rw-r--r-- | kcontrol/background/bgmonitor.h | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/kcontrol/background/bgmonitor.h b/kcontrol/background/bgmonitor.h index 95608261b..848263e2c 100644 --- a/kcontrol/background/bgmonitor.h +++ b/kcontrol/background/bgmonitor.h @@ -25,9 +25,11 @@ #define _BGMONITOR_H_ #include <tqlabel.h> -#include <tqvaluevector.h> #include <tqwidget.h> +#include <vector> +#include <memory> + class BGMonitor; class BGMonitorLabel; class KPixmap; @@ -41,7 +43,7 @@ class BGMonitorArrangement : public TQWidget TQ_OBJECT public: BGMonitorArrangement(TQWidget *parent, const char *name=0L); - + /** * Splits up the pixmap according to monitor geometries and sets each * BGMonitor pixmap accordingly. @@ -50,20 +52,22 @@ public: TQSize combinedPreviewSize() const { return m_combinedPreviewSize; } TQSize maxPreviewSize() const { return m_maxPreviewSize; } unsigned numMonitors() const { return m_pBGMonitor.size(); } - + BGMonitor * monitor( unsigned screen ) const; + +public slots: void updateArrangement(); signals: void imageDropped(const TQString &); - + protected: virtual void resizeEvent( TQResizeEvent * ); TQRect expandToPreview( TQRect r ) const; TQSize expandToPreview( TQSize s ) const; TQPoint expandToPreview( TQPoint p ) const; - - TQValueVector<BGMonitorLabel*> m_pBGMonitor; + + std::vector<std::unique_ptr<BGMonitorLabel>> m_pBGMonitor; TQSize m_combinedPreviewSize; TQSize m_maxPreviewSize; }; @@ -75,13 +79,13 @@ class BGMonitorLabel : public TQLabel { public: BGMonitorLabel(TQWidget *parent, const char *name=0L); - + BGMonitor * monitor() const { return m_pBGMonitor; } void updateMonitorGeometry(); - + void setPreviewPosition( TQRect r ) { m_previewPosition = r; } TQRect previewPosition() const { return m_previewPosition; } - + protected: virtual void resizeEvent( TQResizeEvent * ); BGMonitor * m_pBGMonitor; |
