Changeset View
Changeset View
Standalone View
Standalone View
src/plasmaquick/dialog.cpp
Show First 20 Lines • Show All 261 Lines • ▼ Show 20 Line(s) | 261 | if (q->isVisible()) { | |||
---|---|---|---|---|---|
262 | DialogShadows::self()->addWindow(q, frameSvgItem->enabledBorders()); | 262 | DialogShadows::self()->addWindow(q, frameSvgItem->enabledBorders()); | ||
263 | } | 263 | } | ||
264 | } | 264 | } | ||
265 | updateInputShape(); | 265 | updateInputShape(); | ||
266 | } | 266 | } | ||
267 | 267 | | |||
268 | void DialogPrivate::updateVisibility(bool visible) | 268 | void DialogPrivate::updateVisibility(bool visible) | ||
269 | { | 269 | { | ||
270 | if (mainItem) { | | |||
271 | mainItem->setVisible(visible); | | |||
272 | } | | |||
273 | if (visible) { | 270 | if (visible) { | ||
274 | if (visualParent && visualParent->window()) { | 271 | if (visualParent && visualParent->window()) { | ||
275 | q->setTransientParent(visualParent->window()); | 272 | q->setTransientParent(visualParent->window()); | ||
276 | } | 273 | } | ||
277 | 274 | | |||
278 | if (q->location() == Plasma::Types::FullScreen) { | 275 | if (q->location() == Plasma::Types::FullScreen) { | ||
279 | frameSvgItem->setEnabledBorders(Plasma::FrameSvg::NoBorder); | 276 | frameSvgItem->setEnabledBorders(Plasma::FrameSvg::NoBorder); | ||
280 | 277 | | |||
▲ Show 20 Lines • Show All 496 Lines • ▼ Show 20 Line(s) | |||||
777 | 774 | | |||
778 | void Dialog::setMainItem(QQuickItem *mainItem) | 775 | void Dialog::setMainItem(QQuickItem *mainItem) | ||
779 | { | 776 | { | ||
780 | if (d->mainItem != mainItem) { | 777 | if (d->mainItem != mainItem) { | ||
781 | d->hintsCommitTimer.stop(); | 778 | d->hintsCommitTimer.stop(); | ||
782 | 779 | | |||
783 | if (d->mainItem) { | 780 | if (d->mainItem) { | ||
784 | disconnect(d->mainItem, nullptr, this, nullptr); | 781 | disconnect(d->mainItem, nullptr, this, nullptr); | ||
785 | d->mainItem->setVisible(false); | | |||
786 | d->mainItem->setParentItem(nullptr); | 782 | d->mainItem->setParentItem(nullptr); | ||
787 | } | 783 | } | ||
788 | 784 | | |||
789 | if (d->mainItemLayout) { | 785 | if (d->mainItemLayout) { | ||
790 | disconnect(d->mainItemLayout, nullptr, this, nullptr); | 786 | disconnect(d->mainItemLayout, nullptr, this, nullptr); | ||
791 | } | 787 | } | ||
792 | 788 | | |||
793 | d->mainItem = mainItem; | 789 | d->mainItem = mainItem; | ||
794 | 790 | | |||
795 | if (mainItem) { | 791 | if (mainItem) { | ||
796 | d->mainItem->setVisible(isVisible()); | | |||
797 | mainItem->setParentItem(contentItem()); | 792 | mainItem->setParentItem(contentItem()); | ||
798 | 793 | | |||
799 | connect(mainItem, SIGNAL(widthChanged()), this, SLOT(slotMainItemSizeChanged())); | 794 | connect(mainItem, SIGNAL(widthChanged()), this, SLOT(slotMainItemSizeChanged())); | ||
800 | connect(mainItem, SIGNAL(heightChanged()), this, SLOT(slotMainItemSizeChanged())); | 795 | connect(mainItem, SIGNAL(heightChanged()), this, SLOT(slotMainItemSizeChanged())); | ||
801 | d->slotMainItemSizeChanged(); | 796 | d->slotMainItemSizeChanged(); | ||
802 | 797 | | |||
803 | //Extract the representation's Layout, if any | 798 | //Extract the representation's Layout, if any | ||
804 | QObject *layout = nullptr; | 799 | QObject *layout = nullptr; | ||
▲ Show 20 Lines • Show All 550 Lines • ▼ Show 20 Line(s) | 1349 | { | |||
1355 | //only update real visibility when we have finished component completion | 1350 | //only update real visibility when we have finished component completion | ||
1356 | //and all flags have been set | 1351 | //and all flags have been set | ||
1357 | 1352 | | |||
1358 | d->visible = visible; | 1353 | d->visible = visible; | ||
1359 | if (d->componentComplete) { | 1354 | if (d->componentComplete) { | ||
1360 | if (visible && d->visualParent) { | 1355 | if (visible && d->visualParent) { | ||
1361 | setPosition(popupPosition(d->visualParent, size())); | 1356 | setPosition(popupPosition(d->visualParent, size())); | ||
1362 | } | 1357 | } | ||
1363 | //setting the main item visible before the show event arrives | | |||
1364 | //makes positioning work better | | |||
1365 | if (visible && d->mainItem) { | | |||
1366 | d->mainItem->setVisible(true); | | |||
1367 | } | | |||
1368 | 1358 | | |||
1369 | // Bug 381242: Qt remembers minimize state and re-applies it when showing | 1359 | // Bug 381242: Qt remembers minimize state and re-applies it when showing | ||
1370 | setWindowStates(windowStates() & ~Qt::WindowMinimized); | 1360 | setWindowStates(windowStates() & ~Qt::WindowMinimized); | ||
1371 | QQuickWindow::setVisible(visible); | 1361 | QQuickWindow::setVisible(visible); | ||
1372 | //signal will be emitted and proxied from the QQuickWindow code | 1362 | //signal will be emitted and proxied from the QQuickWindow code | ||
1373 | } else { | 1363 | } else { | ||
1374 | emit visibleChangedProxy(); | 1364 | emit visibleChangedProxy(); | ||
1375 | } | 1365 | } | ||
Show All 29 Lines |