summaryrefslogtreecommitdiffstats
path: root/kcontrol/background/bgmonitor.h
diff options
context:
space:
mode:
authorAlexander Golubev <fatzer2@gmail.com>2026-03-23 11:18:23 +0300
committerAlexander Golubev <fatzer2@gmail.com>2026-03-23 13:14:34 +0300
commit94620219ffaf0be7e15d73750137b0d45ed24685 (patch)
treec4f33f67389e565ad1c72bccba02b5c200ee7601 /kcontrol/background/bgmonitor.h
parent6715f2542ef39e3df7b0050aa483b4e4973ac693 (diff)
downloadtdebase-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.h22
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;