mirror of
https://invent.kde.org/network/falkon.git
synced 2024-12-20 10:46:35 +01:00
Qt5: X11: Fixed moving windows to virtual desktops
Moving windows to virtual desktops upon restoring session.
This commit is contained in:
parent
bdc9a0417a
commit
02ea92ad28
@ -83,12 +83,12 @@
|
|||||||
|
|
||||||
#if QT_VERSION < 0x050000
|
#if QT_VERSION < 0x050000
|
||||||
#include "qwebkitversion.h"
|
#include "qwebkitversion.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef QZ_WS_X11
|
#ifdef QZ_WS_X11
|
||||||
#include <QX11Info>
|
|
||||||
#include <X11/Xlib.h>
|
#include <X11/Xlib.h>
|
||||||
#include <X11/Xatom.h>
|
#include <X11/Xatom.h>
|
||||||
#endif // QZ_WS_X11
|
#endif
|
||||||
#endif // QT_VERSION
|
|
||||||
|
|
||||||
const QString QupZilla::VERSION = "1.3.5";
|
const QString QupZilla::VERSION = "1.3.5";
|
||||||
const QString QupZilla::BUILDTIME = __DATE__" "__TIME__;
|
const QString QupZilla::BUILDTIME = __DATE__" "__TIME__;
|
||||||
@ -1913,7 +1913,7 @@ bool QupZilla::quitApp()
|
|||||||
|
|
||||||
QByteArray QupZilla::saveState(int version) const
|
QByteArray QupZilla::saveState(int version) const
|
||||||
{
|
{
|
||||||
#if defined(QZ_WS_X11) && QT_VERSION < 0x050000
|
#ifdef QZ_WS_X11
|
||||||
QByteArray data;
|
QByteArray data;
|
||||||
QDataStream stream(&data, QIODevice::WriteOnly);
|
QDataStream stream(&data, QIODevice::WriteOnly);
|
||||||
|
|
||||||
@ -1928,7 +1928,7 @@ QByteArray QupZilla::saveState(int version) const
|
|||||||
|
|
||||||
bool QupZilla::restoreState(const QByteArray &state, int version)
|
bool QupZilla::restoreState(const QByteArray &state, int version)
|
||||||
{
|
{
|
||||||
#if defined(QZ_WS_X11) && QT_VERSION < 0x050000
|
#ifdef QZ_WS_X11
|
||||||
QByteArray windowState;
|
QByteArray windowState;
|
||||||
int desktopId = -1;
|
int desktopId = -1;
|
||||||
|
|
||||||
@ -1944,10 +1944,10 @@ bool QupZilla::restoreState(const QByteArray &state, int version)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(QZ_WS_X11) && QT_VERSION < 0x050000
|
#ifdef QZ_WS_X11
|
||||||
int QupZilla::getCurrentVirtualDesktop() const
|
int QupZilla::getCurrentVirtualDesktop() const
|
||||||
{
|
{
|
||||||
Display* display = QX11Info::display();
|
Display* display = static_cast<Display*>(qz_X11Display(this));
|
||||||
Atom actual_type;
|
Atom actual_type;
|
||||||
int actual_format;
|
int actual_format;
|
||||||
unsigned long nitems;
|
unsigned long nitems;
|
||||||
@ -1980,7 +1980,7 @@ void QupZilla::moveToVirtualDesktop(int desktopId)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Display* display = QX11Info::display();
|
Display* display = static_cast<Display*>(qz_X11Display(this));
|
||||||
|
|
||||||
Atom net_wm_desktop = XInternAtom(display, "_NET_WM_DESKTOP", False);
|
Atom net_wm_desktop = XInternAtom(display, "_NET_WM_DESKTOP", False);
|
||||||
if (net_wm_desktop == None) {
|
if (net_wm_desktop == None) {
|
||||||
@ -1988,7 +1988,8 @@ void QupZilla::moveToVirtualDesktop(int desktopId)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Fixes issue when the property wasn't set on some X servers
|
// Fixes issue when the property wasn't set on some X servers
|
||||||
setVisible(true);
|
// hmmm does it?
|
||||||
|
//setVisible(true);
|
||||||
|
|
||||||
XChangeProperty(display, winId(), net_wm_desktop, XA_CARDINAL,
|
XChangeProperty(display, winId(), net_wm_desktop, XA_CARDINAL,
|
||||||
32, PropModeReplace, (unsigned char*) &desktopId, 1L);
|
32, PropModeReplace, (unsigned char*) &desktopId, 1L);
|
||||||
|
@ -214,7 +214,7 @@ private:
|
|||||||
bool eventFilter(QObject* object, QEvent* event);
|
bool eventFilter(QObject* object, QEvent* event);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(QZ_WS_X11) && QT_VERSION < 0x050000
|
#ifdef QZ_WS_X11
|
||||||
int getCurrentVirtualDesktop() const;
|
int getCurrentVirtualDesktop() const;
|
||||||
void moveToVirtualDesktop(int desktopId);
|
void moveToVirtualDesktop(int desktopId);
|
||||||
#endif
|
#endif
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
isEqual(QT_MAJOR_VERSION, 5) {
|
isEqual(QT_MAJOR_VERSION, 5) {
|
||||||
QT += webkitwidgets network widgets printsupport sql script
|
QT += webkitwidgets network widgets printsupport sql script gui-private
|
||||||
} else {
|
} else {
|
||||||
QT += core gui webkit sql network script
|
QT += core gui webkit sql network script
|
||||||
}
|
}
|
||||||
|
@ -34,6 +34,9 @@
|
|||||||
|
|
||||||
#if QT_VERSION >= 0x050000
|
#if QT_VERSION >= 0x050000
|
||||||
#include <QUrlQuery>
|
#include <QUrlQuery>
|
||||||
|
#include <qpa/qplatformnativeinterface.h>
|
||||||
|
#else
|
||||||
|
#include <QX11Info>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
QByteArray qz_pixmapToByteArray(const QPixmap &pix)
|
QByteArray qz_pixmapToByteArray(const QPixmap &pix)
|
||||||
@ -379,6 +382,17 @@ QString QT_QUPZILLA_EXPORT qz_escape(const QString &string)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void QT_QUPZILLA_EXPORT* qz_X11Display(const QWidget* widget)
|
||||||
|
{
|
||||||
|
Q_UNUSED(widget)
|
||||||
|
|
||||||
|
#if QT_VERSION >= 0x050000
|
||||||
|
return qApp->platformNativeInterface()->nativeResourceForWindow("display", widget->windowHandle());
|
||||||
|
#else
|
||||||
|
return QX11Info::display();
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
QString qz_buildSystem()
|
QString qz_buildSystem()
|
||||||
{
|
{
|
||||||
#ifdef Q_OS_LINUX
|
#ifdef Q_OS_LINUX
|
||||||
|
@ -61,6 +61,10 @@ QString QT_QUPZILLA_EXPORT qz_buildSystem();
|
|||||||
bool QT_QUPZILLA_EXPORT qz_isCertificateValid(const QSslCertificate &cert);
|
bool QT_QUPZILLA_EXPORT qz_isCertificateValid(const QSslCertificate &cert);
|
||||||
QString QT_QUPZILLA_EXPORT qz_escape(const QString &string);
|
QString QT_QUPZILLA_EXPORT qz_escape(const QString &string);
|
||||||
|
|
||||||
|
#ifdef QZ_WS_X11
|
||||||
|
void QT_QUPZILLA_EXPORT* qz_X11Display(const QWidget* widget);
|
||||||
|
#endif
|
||||||
|
|
||||||
template <typename T>
|
template <typename T>
|
||||||
bool qz_listContainsIndex(const QList<T> &list, int index)
|
bool qz_listContainsIndex(const QList<T> &list, int index)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user