Krita Source Code Documentation
Loading...
Searching...
No Matches
KisWindowLayoutResource::Private::WindowGeometry Struct Reference

Public Member Functions

void forceOntoCorrectScreen (QWidget *window, QList< QScreen * > screens)
 
void save (QDomDocument &doc, QDomElement &elem) const
 

Static Public Member Functions

static WindowGeometry fromWindow (const QWidget *window, QList< QScreen * > screens)
 
static WindowGeometry load (const QDomElement &element)
 

Public Attributes

QByteArray data
 
int screen = -1
 
Qt::WindowStates stateFlags = Qt::WindowNoState
 

Detailed Description

Definition at line 28 of file KisWindowLayoutResource.cpp.

Member Function Documentation

◆ forceOntoCorrectScreen()

void KisWindowLayoutResource::Private::WindowGeometry::forceOntoCorrectScreen ( QWidget * window,
QList< QScreen * > screens )
inline

Definition at line 49 of file KisWindowLayoutResource.cpp.

50 {
51 QWindow *windowHandle = window->windowHandle();
52
53 if (screens.indexOf(windowHandle->screen()) != screen) {
54 QScreen *qScreen = screens[screen];
55 windowHandle->setScreen(qScreen);
56 windowHandle->setPosition(qScreen->availableGeometry().topLeft());
57 }
58
59 if (stateFlags) {
60 window->setWindowState(stateFlags);
61 }
62 }

References screen, and stateFlags.

◆ fromWindow()

static WindowGeometry KisWindowLayoutResource::Private::WindowGeometry::fromWindow ( const QWidget * window,
QList< QScreen * > screens )
inlinestatic

Definition at line 33 of file KisWindowLayoutResource.cpp.

34 {
35 WindowGeometry geometry;
36 QWindow *windowHandle = window->windowHandle();
37
38 geometry.data = window->saveGeometry();
39 geometry.stateFlags = windowHandle->windowState();
40
41 int index = screens.indexOf(windowHandle->screen());
42 if (index >= 0) {
43 geometry.screen = index;
44 }
45
46 return geometry;
47 }

References data, screen, and stateFlags.

◆ load()

static WindowGeometry KisWindowLayoutResource::Private::WindowGeometry::load ( const QDomElement & element)
inlinestatic

Definition at line 79 of file KisWindowLayoutResource.cpp.

80 {
81 WindowGeometry geometry;
82 geometry.screen = element.attribute("screen", "-1").toInt();
83
84 if (element.attribute("maximized", "0") != "0") {
85 geometry.stateFlags |= Qt::WindowMaximized;
86 }
87
88 QDomElement dataElement = element.firstChildElement("geometry");
89 geometry.data = QByteArray::fromBase64(dataElement.text().toLatin1());
90
91 return geometry;
92 }

References data, screen, and stateFlags.

◆ save()

void KisWindowLayoutResource::Private::WindowGeometry::save ( QDomDocument & doc,
QDomElement & elem ) const
inline

Definition at line 64 of file KisWindowLayoutResource.cpp.

65 {
66 if (screen >= 0) {
67 elem.setAttribute("screen", screen);
68 }
69
70 if (stateFlags & Qt::WindowMaximized) {
71 elem.setAttribute("maximized", "1");
72 }
73
74 QDomElement geometry = doc.createElement("geometry");
75 geometry.appendChild(doc.createCDATASection(data.toBase64()));
76 elem.appendChild(geometry);
77 }

References data, screen, and stateFlags.

Member Data Documentation

◆ data

QByteArray KisWindowLayoutResource::Private::WindowGeometry::data

Definition at line 31 of file KisWindowLayoutResource.cpp.

◆ screen

int KisWindowLayoutResource::Private::WindowGeometry::screen = -1

Definition at line 29 of file KisWindowLayoutResource.cpp.

◆ stateFlags

Qt::WindowStates KisWindowLayoutResource::Private::WindowGeometry::stateFlags = Qt::WindowNoState

Definition at line 30 of file KisWindowLayoutResource.cpp.


The documentation for this struct was generated from the following file: