void ContextPaneWidgetImage::onTopMarginsChanged() { if (previewDialog()->previewLabel()->topMarging()) propertyChanged(QLatin1String("border.top"), previewDialog()->previewLabel()->topMarging()); else emit removeProperty(QLatin1String("border.top")); }
void ContactAvatarWidget::openAvatarPreview() { auto layout = new QHBoxLayout(); auto spacerLeft = new QSpacerItem(Utils::scale_value(12), 1, QSizePolicy::Expanding); layout->addSpacerItem(spacerLeft); auto croppedAvatar = infoForSetAvatar_.croppedImage; auto previewAvatarWidget = new AvatarPreview(croppedAvatar, nullptr); previewAvatarWidget->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Minimum); layout->addWidget(previewAvatarWidget); auto spacerRight = new QSpacerItem(Utils::scale_value(12), 1, QSizePolicy::Expanding); layout->addSpacerItem(spacerRight); auto avatarPreviewHost = new QWidget(); avatarPreviewHost->setLayout(layout); Ui::GeneralDialog previewDialog(avatarPreviewHost, Utils::InterConnector::instance().getMainWindow()); previewDialog.addHead(); previewDialog.addLabel(QT_TRANSLATE_NOOP("avatar_upload", "Preview")); previewDialog.addButtonsPair(QT_TRANSLATE_NOOP("popup_window", "BACK"), QT_TRANSLATE_NOOP("popup_window", "SAVE"), true); QObject::connect(&previewDialog, &GeneralDialog::leftButtonClicked, this, &ContactAvatarWidget::cropAvatar, Qt::QueuedConnection); if (previewDialog.showInPosition(-1, -1)) { SetVisibleSpinner(true); postSetAvatarToCore(croppedAvatar); } }
// --------------------------------------------------------------------------- // // --------------------------------------------------------------------------- // void MenuStatesTest::HsPreviewHSWidgetState_buildPreviewDialog() { #ifdef Q_OS_SYMBIAN #ifdef UT_MEMORY_CHECK __UHEAP_MARK; #endif//UT_MEMORY_CHECK #endif//Q_OS_SYMBIAN { HsPreviewHSWidgetState previewWidgetState; CaEntry entry; entry.setText("entry text"); QScopedPointer<HbDialog> previewDialog( previewWidgetState.buildPreviewDialog(entry)); QVERIFY(previewDialog != NULL); QVERIFY(previewDialog->actions()[0]->parent() == previewDialog.data()); QVERIFY(previewDialog->actions()[1]->parent() == previewDialog.data()); QVERIFY(previewDialog->testAttribute(Qt::WA_DeleteOnClose)); HbLabel *const headingLabel(qobject_cast<HbLabel*>( previewDialog->headingWidget())); QCOMPARE(headingLabel->plainText(), entry.text()); } #ifdef Q_OS_SYMBIAN #ifdef UT_MEMORY_CHECK __UHEAP_MARKEND; #endif//UT_MEMORY_CHECK #endif//Q_OS_SYMBIAN }
void PrintDialog::previewClicked(void) { QPrintPreviewDialog previewDialog(&qprinter, this, Qt::Window | Qt::CustomizeWindowHint | Qt::WindowCloseButtonHint | Qt::WindowTitleHint); connect(&previewDialog, SIGNAL(paintRequested(QPrinter *)), this, SLOT(onPaintRequested(QPrinter *))); previewDialog.exec(); }
void ContextPaneWidgetImage::showEvent(QShowEvent* event) { if (previewWasVisible) previewDialog()->show(); QWidget::showEvent(event); }
void ContextPaneWidgetImage::hideEvent(QHideEvent * event) { previewWasVisible = previewDialog()->isVisible(); previewDialog()->hide(); QWidget::hideEvent(event); }
void ContextPaneWidgetImage::setPixmap(const QString &fileName) { QPixmap pix(76,76); pix.fill(Qt::black); if (m_borderImage) { QString localFileName(fileName); if (QFile(fileName).exists()) { if (fileName.endsWith(QLatin1String("sci"))) { QString pixmapFileName; int left = 0; int right = 0; int top = 0; int bottom = 0; Qt::TileRule horizontalTileRule; Qt::TileRule verticalTileRule; if (parseSciFile(fileName, pixmapFileName, left, right, top, bottom, horizontalTileRule, verticalTileRule)) { localFileName = QFileInfo(fileName).absoluteDir().absolutePath() + '/' + pixmapFileName; previewDialog()->previewLabel()->setMargins(left, top, right, bottom); } else { // sci file not parsed correctly uiBorderImage->sizeLabel->setText(""); return; } } QPixmap source(localFileName); if (source.isNull()) source = pix; previewDialog()->setPixmap(source, previewDialog()->zoom()); uiBorderImage->sizeLabel->setText(QString::number(source.width()) + 'x' + QString::number(source.height())); QPainter p(&pix); Qt::TileRule horizontalTileMode = Qt::StretchTile; Qt::TileRule verticalTileMode = Qt::StretchTile; if (uiBorderImage->horizontalTileRadioButton->isChecked()) horizontalTileMode =Qt::RepeatTile; if (uiBorderImage->horizontalTileRadioButtonNoCrop->isChecked()) horizontalTileMode =Qt::RoundTile; if (uiBorderImage->verticalTileRadioButton->isChecked()) verticalTileMode =Qt::RepeatTile; if (uiBorderImage->verticalTileRadioButtonNoCrop->isChecked()) verticalTileMode =Qt::RoundTile; QTileRules rules(horizontalTileMode, verticalTileMode); QMargins margins(previewDialog()->previewLabel()->leftMarging() ,previewDialog()->previewLabel()->topMarging() ,previewDialog()->previewLabel()->rightMarging(), previewDialog()->previewLabel()->bottomMarging()); qDrawBorderPixmap(&p, QRect(0, 0, 76, 76), margins, source, source.rect(), margins, rules); //p.drawPixmap(0,0,76,76, source); } else { uiBorderImage->sizeLabel->setText(""); } uiBorderImage->label->setPixmap(pix); } else { if (QFile(fileName).exists()) { QPixmap source(fileName); previewDialog()->setPixmap(source, 1); ui->sizeLabel->setText(QString::number(source.width()) + 'x' + QString::number(source.height())); QPainter p(&pix); if (ui->stretchRadioButton->isChecked()) { p.drawPixmap(0,0,76,76, source); } else if (ui->tileRadioButton->isChecked()) { QPixmap small = source.scaled(38,38); p.drawTiledPixmap(0,0,76,76, small); } else if (ui->horizontalStretchRadioButton->isChecked()) { QPixmap small = source.scaled(38,38); QPixmap half = pix.scaled(38, 76); QPainter p2(&half); p2.drawTiledPixmap(0,0,38,76, small); p.drawPixmap(0,0,76,76, half); } else if (ui->verticalStretchRadioButton->isChecked()) { QPixmap small = source.scaled(38,38); QPixmap half = pix.scaled(76, 38); QPainter p2(&half); p2.drawTiledPixmap(0,0,76,38, small); p.drawPixmap(0,0,76,76, half); } else if (ui->preserveAspectFitRadioButton->isChecked()) { QPixmap preserved = source.scaledToWidth(76); int offset = (76 - preserved.height()) / 2; p.drawPixmap(0, offset, 76, preserved.height(), source); } else if (ui->cropAspectFitRadioButton->isChecked()) { QPixmap cropped = source.scaledToHeight(76); int offset = (76 - cropped.width()) / 2; p.drawPixmap(offset, 0, cropped.width(), 76, source); } } else { ui->sizeLabel->setText(""); } ui->label->setPixmap(pix); } }
void ContextPaneWidgetImage::onPixmapDoubleClicked() { previewDialog()->setParent(parentWidget()->parentWidget()); previewDialog()->setMaximumSize(previewDialog()->parentWidget()->size() - QSize(150, 100)); if (m_borderImage) previewDialog()->setZoom(4); previewDialog()->setIsBorderImage(m_borderImage); QPoint p = parentWidget()->pos(); p = p + QPoint(-2, -2); previewDialog()->show(); previewDialog()->update(); previewDialog()->move(p); //previewDialog()->adjustSize(); if ((previewDialog()->pos().x() + previewDialog()->width()) > previewDialog()->parentWidget()->width()) previewDialog()->move(previewDialog()->parentWidget()->width() - (previewDialog()->width()) - 40, p.y()); if ((previewDialog()->pos().y() + previewDialog()->height()) > previewDialog()->parentWidget()->height()) previewDialog()->move(previewDialog()->pos().x(), previewDialog()->parentWidget()->height() - (previewDialog()->height()) - 40); if (previewDialog()->pos().x() < 0) previewDialog()->move(0, previewDialog()->pos().y()); if (previewDialog()->pos().y() < 0) previewDialog()->move(previewDialog()->pos().x(), 0); previewDialog()->raise(); }
void ContextPaneWidgetImage::setProperties(QmlJS::PropertyReader *propertyReader) { if (m_borderImage) { int leftBorder = 0; int rightBorder = 0; int topBorder = 0; int bottomBorder = 0; if (propertyReader->hasProperty(QLatin1String("border.left"))) leftBorder =propertyReader->readProperty(QLatin1String("border.left")).toInt(); if (propertyReader->hasProperty(QLatin1String("border.right"))) rightBorder =propertyReader->readProperty(QLatin1String("border.right")).toInt(); if (propertyReader->hasProperty(QLatin1String("border.top"))) topBorder =propertyReader->readProperty(QLatin1String("border.top")).toInt(); if (propertyReader->hasProperty(QLatin1String("border.bottom"))) bottomBorder =propertyReader->readProperty(QLatin1String("border.bottom")).toInt(); previewDialog()->previewLabel()->setMargins(leftBorder, topBorder, rightBorder, bottomBorder); if (propertyReader->hasProperty(QLatin1String("horizontalTileMode"))) { QString fillMode = propertyReader->readProperty(QLatin1String("horizontalTileMode")).toString(); if (fillMode.contains("BorderImage.")) fillMode.remove("BorderImage."); uiBorderImage->horizontalStretchRadioButton->setChecked(true); if (fillMode == "Stretch") uiBorderImage->horizontalStretchRadioButton->setChecked(true); if (fillMode == "Repeat") uiBorderImage->horizontalTileRadioButton->setChecked(true); if (fillMode == "Round") uiBorderImage->horizontalTileRadioButtonNoCrop->setChecked(true); } else { //uiBorderImage uiBorderImage->horizontalStretchRadioButton->setChecked(true); } if (propertyReader->hasProperty(QLatin1String("verticalTileMode"))) { QString fillMode = propertyReader->readProperty(QLatin1String("verticalTileMode")).toString(); if (fillMode.contains("BorderImage.")) fillMode.remove("BorderImage."); uiBorderImage->verticalStretchRadioButton->setChecked(true); if (fillMode == "Stretch") uiBorderImage->verticalStretchRadioButton->setChecked(true); if (fillMode == "Repeat") uiBorderImage->verticalTileRadioButton->setChecked(true); if (fillMode == "Round") uiBorderImage->verticalTileRadioButtonNoCrop->setChecked(true); } else { //uiBorderImage uiBorderImage->verticalStretchRadioButton->setChecked(true); } } else { if (propertyReader->hasProperty(QLatin1String("fillMode"))) { QString fillMode = propertyReader->readProperty(QLatin1String("fillMode")).toString(); if (fillMode.contains("Image.")) fillMode.remove("Image."); ui->stretchRadioButton->setChecked(true); if (fillMode == "Image.Tile" || fillMode == "Tile") ui->tileRadioButton->setChecked(true); if (fillMode == "Image.TileVertically" || fillMode == "TileVertically") ui->horizontalStretchRadioButton->setChecked(true); if (fillMode == "Image.TileHorizontally" || fillMode == "TileHorizontally") ui->verticalStretchRadioButton->setChecked(true); if (fillMode == "Image.PreserveAspectFit" || fillMode == "PreserveAspectFit") ui->preserveAspectFitRadioButton->setChecked(true); if (fillMode == "Image.PreserveAspectCrop" || fillMode == "PreserveAspectCrop") ui->cropAspectFitRadioButton->setChecked(true); } else { ui->stretchRadioButton->setChecked(true); } } if (propertyReader->hasProperty(QLatin1String("source"))) { QString source = propertyReader->readProperty(QLatin1String("source")).toString(); m_fileWidget->setFileName(source); if (QFile::exists(m_path + '/' + source)) setPixmap(m_path + '/' + source); else setPixmap(source); } else { m_sizeLabel->setText(""); m_fileWidget->setFileName(QUrl()); setPixmap(""); } }
void PrintDialog::previewClicked(void) { QPrintPreviewDialog previewDialog(&printer, this); connect(&previewDialog, SIGNAL(paintRequested(QPrinter *)), this, SLOT(onPaintRequested(QPrinter *))); previewDialog.exec(); }