void GTUtilsOptionsPanel::resizeToMaximum(GUITestOpStatus &os) { QSplitter *optionsPanelSplitter = GTWidget::findExactWidget<QSplitter *>(os, "OPTIONS_PANEL_SPLITTER"); GT_CHECK(nullptr != optionsPanelSplitter, "Options panel splitter is nullptr"); QSplitterHandle *handle = optionsPanelSplitter->handle(1); GT_CHECK(nullptr != handle, "Options panel splitter handle is nullptr"); const QPoint handleCenter = optionsPanelSplitter->mapToGlobal(handle->geometry().center()); const int delta = 500; GTMouseDriver::dragAndDrop(handleCenter, handleCenter - QPoint(delta, 0)); }
void KKbdAccessExtensions::showIcon() { if (!d->panel) return; QPoint p; // kdDebug() << "KKbdAccessExtensions::showIcon: topLevelWidget = " << d->panel->topLevelWidget()->name() << endl; if (::qt_cast<QSplitter*>( d->panel )) { QSplitter* splitter = dynamic_cast<QSplitter *>(d->panel); int handleNdx = d->handleNdx - 1; QValueList<int> sizes = splitter->sizes(); // kdDebug() << "KKbdAccessExtensions::showIcon: sizes = " << sizes << endl; if (splitter->orientation() == Qt::Horizontal) { d->icon->setShape(Qt::SizeHorCursor); p.setX(sizes[handleNdx] + (splitter->handleWidth() / 2)); p.setY(splitter->height() / 2); } else { d->icon->setShape(Qt::SizeVerCursor); p.setX(splitter->width() / 2); p.setY(sizes[handleNdx] + (splitter->handleWidth() / 2)); } // kdDebug() << "KKbdAccessExtensions::showIcon: p = " << p << endl; p = splitter->mapToGlobal(p); // kdDebug() << "KKbdAccessExtensions::showIcon: mapToGlobal = " << p << endl; } else { QDockWindow* dockWindow = dynamic_cast<QDockWindow *>(d->panel); p = dockWindow->pos(); if (dockWindow->area()) { // kdDebug() << "KKbdAccessExtensions::showIcon: pos = " << p << " of window = " << dockWindow->parentWidget()->name() << endl; p = dockWindow->parentWidget()->mapTo(dockWindow->topLevelWidget(), p); // kdDebug() << "KKbdAccessExtensions::showIcon: mapTo = " << p << " of window = " << dockWindow->topLevelWidget()->name() << endl; // TODO: How to get the handle width? if (d->handleNdx == 1) { d->icon->setShape(Qt::SizeHorCursor); if (dockWindow->area()->orientation() == Qt::Vertical) { if (dockWindow->area()->handlePosition() == QDockArea::Normal) // Handle is to the right of the dock window. p.setX(p.x() + dockWindow->width()); // else Handle is to the left of the dock window. } else // Handle is to the right of the dock window. p.setX(p.x() + dockWindow->width()); p.setY(p.y() + (dockWindow->height() / 2)); } else { d->icon->setShape(Qt::SizeVerCursor); p.setX(p.x() + (dockWindow->width() / 2)); if (dockWindow->area()->orientation() == Qt::Vertical) // Handle is below the dock window. p.setY(p.y() + dockWindow->height()); else { if (dockWindow->area()->handlePosition() == QDockArea::Normal) // Handle is below the dock window. p.setY(p.y() + dockWindow->height()); // else Handle is above the dock window. } } p = dockWindow->topLevelWidget()->mapToGlobal(p); } else { d->icon->setShape(Qt::SizeAllCursor); p = QPoint(dockWindow->width() / 2, dockWindow->height() / 2); p = dockWindow->mapToGlobal(p); // Undocked. Position in center of window. } } // kdDebug() << "KKbdAccessExtensions::showIcon: show(p) = " << p << endl; d->icon->show(p); }