Messagelib
9 #include "kwindowpositioner.h"
11 #include "messagecomposer_debug.h"
15 KWindowPositioner::KWindowPositioner(
QWidget *master,
QWidget *slave, Mode mode)
23 void KWindowPositioner::reposition()
27 relativePos =
QPoint(mMaster->width(), 0);
28 }
else if (mMode == Bottom) {
29 relativePos =
QPoint(mMaster->width() - mSlave->frameGeometry().width(), mMaster->height());
31 qCCritical(MESSAGECOMPOSER_LOG) <<
"KWindowPositioner: Illegal mode";
33 QPoint pos = mMaster->mapToGlobal(relativePos);
36 const QRect desktopRect(mMaster->screen()->availableGeometry());
37 if ((pos.
x() + mSlave->frameGeometry().width()) > desktopRect.width()) {
38 pos.
setX(desktopRect.width() - mSlave->frameGeometry().width());
40 if ((pos.
y() + mSlave->frameGeometry().height()) > desktopRect.height()) {
41 pos.
setY(desktopRect.height() - mSlave->frameGeometry().height() - mMaster->height());
43 qCDebug(MESSAGECOMPOSER_LOG) << mMaster->pos() << mMaster->mapToGlobal(mMaster->pos()) << pos.
y() << (mMaster->pos().y() - pos.
y())
44 << mSlave->frameGeometry().height();
45 if (mMode == Bottom && mMaster->mapToGlobal(mMaster->pos()).y() > pos.
y() && (mMaster->pos().y() - pos.
y()) < mSlave->frameGeometry().height()) {
46 pos.
setY(mMaster->mapToGlobal(
QPoint(0, -mSlave->frameGeometry().height())).y());
48 if (pos.
x() < desktopRect.left()) {
49 pos.
setX(desktopRect.left());
51 if (pos.
y() < desktopRect.top()) {
52 pos.
setY(desktopRect.top());
Simple interface that both EncryptJob and SignEncryptJob implement so the composer can extract some e...
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Fri Mar 24 2023 04:08:31 by
doxygen 1.8.17 written
by
Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.