Exemple #1
0
int computeMaxZoomHeight(QSize scrollSize, QSize imageSize,
                         int scrollBarDimension) {

  scrollSize.transpose();
  imageSize.transpose();
  return computeMaxZoomWidth(scrollSize, imageSize, scrollBarDimension);
}
void SDeclarativeScreenPrivateResize::privateSetOrientation(int orientation)
{
    if (orientation == SDeclarativeScreen::All
     || orientation == SDeclarativeScreen::LandscapeInverted
     || orientation == SDeclarativeScreen::PortraitInverted)
        return;

    if (m_allowedOrientations != SDeclarativeScreen::Default && !(m_allowedOrientations & orientation))
        return;

    QSize newScreenSize = m_displaySize;

    if(orientation == SDeclarativeScreen::Default)
        orientation = portraitDisplay() ? SDeclarativeScreen::Portrait : SDeclarativeScreen::Landscape;

    if (orientation == SDeclarativeScreen::Portrait && !portraitDisplay())
        newScreenSize.transpose();
    else if (orientation == SDeclarativeScreen::Landscape && portraitDisplay())
        newScreenSize.transpose();

    if (m_view)
        m_view->resize(newScreenSize);
    else
        setScreenSize(newScreenSize);
}
Exemple #3
0
//! [3]
void MainWindow::resizeEvent(QResizeEvent *event)
{
    QSize size = event->size();
    bool isLandscape = size.width() > size.height();

    if (!isLandscape)
        size.transpose();

    landscapeWidget->setFixedSize(size);
    size.transpose();
    portraitWidget->setFixedSize(size);

    landscapeWidget->setVisible(isLandscape);
    portraitWidget->setVisible(!isLandscape);
}
QSize OrientationButton::sizeHint() const
{
    QSize size = QPushButton::sizeHint();
    if (orientation_ == Qt::Vertical)
        size.transpose();
    return size;
}
void RotationToolButton::paintEvent(QPaintEvent*)
{
    QStylePainter painter(this);
    painter.rotate(rot);
    switch (rot)
    {
    case UpsideDown:
        painter.translate(-width(), -height());
        break;

    case Clockwise:
        painter.translate(0, -width());
        break;

    case CounterClockwise:
        painter.translate(-height(), 0);
        break;

    default:
        // nothing to do
        break;
    }

    QStyleOptionToolButton opt;
    initStyleOption(&opt);
    if (rot & Vertical_Mask)
    {
        QSize size = opt.rect.size();
        size.transpose();
        opt.rect.setSize(size);
    }
    painter.drawComplexControl(QStyle::CC_ToolButton, opt);
}
Exemple #6
0
void TileLayer::setCell(int x, int y, const Cell &cell)
{
    Q_ASSERT(contains(x, y));

    if (cell.tile) {
        QSize size = cell.tile->size();

        if (cell.flippedAntiDiagonally)
            size.transpose();

        const QPoint offset = cell.tile->tileset()->tileOffset();

        mMaxTileSize = maxSize(size, mMaxTileSize);
        mOffsetMargins = maxMargins(QMargins(-offset.x(),
                                             -offset.y(),
                                             offset.x(),
                                             offset.y()),
                                    mOffsetMargins);

        if (mMap)
            mMap->adjustDrawMargins(drawMargins());
    }

    mGrid[x + y * mWidth] = cell;
}
QStyleOptionButton OrientationButton::getStyleOption() const
{
    QStyleOptionButton opt;
    opt.initFrom(this);
    if (orientation_ == Qt::Vertical)
    {
        QSize size = opt.rect.size();
        size.transpose();
        opt.rect.setSize(size);
    }
    opt.features = QStyleOptionButton::None;
    if (isFlat())
        opt.features |= QStyleOptionButton::Flat;
    if (menu())
        opt.features |= QStyleOptionButton::HasMenu;
    if (autoDefault() || isDefault())
        opt.features |= QStyleOptionButton::AutoDefaultButton;
    if (isDefault())
        opt.features |= QStyleOptionButton::DefaultButton;
    if (isDown() || (menu() && menu()->isVisible()))
        opt.state |= QStyle::State_Sunken;
    if (isChecked())
        opt.state |= QStyle::State_On;
    if (!isFlat() && !isDown())
        opt.state |= QStyle::State_Raised;
    opt.text = text();
    opt.icon = icon();
    opt.iconSize = iconSize();
    return opt;
}
Exemple #8
0
QStyleOptionButton QxtPushButtonPrivate::getStyleOption() const
{
    QStyleOptionButton option;
    option.initFrom(&qxt_p());
    if (rot & Vertical_Mask)
    {
        QSize size = option.rect.size();
        size.transpose();
        option.rect.setSize(size);
    }
    option.features = QStyleOptionButton::None;
    if (qxt_p().isFlat())
        option.features |= QStyleOptionButton::Flat;
    if (qxt_p().menu())
        option.features |= QStyleOptionButton::HasMenu;
    if (qxt_p().autoDefault() || qxt_p().isDefault())
        option.features |= QStyleOptionButton::AutoDefaultButton;
    if (qxt_p().isDefault())
        option.features |= QStyleOptionButton::DefaultButton;
    if (qxt_p().isDown() || (qxt_p().menu() && qxt_p().menu()->isVisible()))
        option.state |= QStyle::State_Sunken;
    if (qxt_p().isChecked())
        option.state |= QStyle::State_On;
    if (!qxt_p().isFlat() && !qxt_p().isDown())
        option.state |= QStyle::State_Raised;
    if (!isRichText())
    {
        option.text = qxt_p().text();
        option.icon = qxt_p().icon();
        option.iconSize = qxt_p().iconSize();
    }
    return option;
}
Exemple #9
0
/*!
   Calculate the size for a arrow that fits into a rect of a given size

   \param arrowType Arrow type
   \param boundingSize Bounding size
   \return Size of the arrow
*/
QSize QwtArrowButton::arrowSize(Qt::ArrowType arrowType,
    const QSize &boundingSize) const
{
    QSize bs = boundingSize;
    if ( arrowType == Qt::UpArrow || arrowType == Qt::DownArrow )
        bs.transpose();
        
    const int MinLen = 2;
    const QSize sz = bs.expandedTo(
        QSize(MinLen, 2 * MinLen - 1)); // minimum

    int w = sz.width();
    int h = 2 * w - 1;

    if ( h > sz.height() )
    {
        h = sz.height();
        w = (h + 1) / 2;
    }

    QSize arrSize(w, h);
    if ( arrowType == Qt::UpArrow || arrowType == Qt::DownArrow )
        arrSize.transpose();

    return arrSize;
}
Exemple #10
0
/*!
    \reimp
 */
void QxtLabel::paintEvent(QPaintEvent* event)
{
    QFrame::paintEvent(event);
    QPainter p(this);
    p.rotate(qxt_d().rot);
    QRect r = contentsRect();
    switch (qxt_d().rot)
    {
    case Qxt::UpsideDown:
        p.translate(-r.width(), -r.height());
        break;

    case Qxt::Clockwise:
        p.translate(0, -r.width());
        break;

    case Qxt::CounterClockwise:
        p.translate(-r.height(), 0);
        break;

    default:
        // nothing to do
        break;
    }

    if (qxt_d().rot & Vertical_Mask)
    {
        QSize s = r.size();
        s.transpose();
        r = QRect(r.topLeft(), s);
    }

    const QString elidedText = fontMetrics().elidedText(qxt_d().text, qxt_d().mode, r.width());
    p.drawText(r, qxt_d().align, elidedText);
}
void QAndroidCameraFocusControl::updateFocusZones(QCameraFocusZone::FocusZoneStatus status)
{
    if (!m_session->camera())
        return;

    // create a focus zone (50x50 pixel) around the focus point
    m_focusZones.clear();

    if (m_actualFocusPoint.isNull())
        return;

    QSize viewportSize = m_session->camera()->previewSize();

    if (!viewportSize.isValid())
        return;

    if (m_session->camera()->getDisplayOrientation() % 180)
        viewportSize.transpose();

    QSizeF focusSize(50.f / viewportSize.width(), 50.f / viewportSize.height());
    float x = qBound(qreal(0),
                     m_actualFocusPoint.x() - (focusSize.width() / 2),
                     1.f - focusSize.width());
    float y = qBound(qreal(0),
                     m_actualFocusPoint.y() - (focusSize.height() / 2),
                     1.f - focusSize.height());

    QRectF area(QPointF(x, y), focusSize);

    m_focusZones.append(QCameraFocusZone(area, status));

    emit focusZonesChanged();
}
Exemple #12
0
Q_DECL_EXPORT
#endif
int main(int argc, char *argv[])
{
#if defined(Q_OS_LINUX) && !defined(MAEMO)
	QApplication::setAttribute(Qt::AA_X11InitThreads, true);
#endif
	QApplication a(argc, argv);
	QSize res = QApplication::desktop()->screenGeometry().size();
	if (res.width() < res.height())
		res.transpose();
	pixel_xres = res.width();
	pixel_yres = res.height();
	g_dpi_scale = CalculateDPIScale();
	dp_xres = (int)(pixel_xres * g_dpi_scale); dp_yres = (int)(pixel_yres * g_dpi_scale);
	net::Init();
#ifdef __SYMBIAN32__
	const char *savegame_dir = "E:/PPSSPP/";
	const char *assets_dir = "E:/PPSSPP/";
#elif defined(BLACKBERRY)
	const char *savegame_dir = "/accounts/1000/shared/misc/";
	const char *assets_dir = "app/native/assets/";
#elif defined(MEEGO_EDITION_HARMATTAN) || defined(MAEMO)
	const char *savegame_dir = "/home/user/MyDocs/PPSSPP/";
	const char *assets_dir = "/opt/PPSSPP/";
#else
	const char *savegame_dir = "./";
	const char *assets_dir = "./";
#endif
	NativeInit(argc, (const char **)argv, savegame_dir, assets_dir, "BADCOFFEE");
#ifdef USING_GLES2
	emugl = new MainUI();
	emugl->resize(pixel_xres, pixel_yres);
	emugl->showFullScreen();
#endif
#ifdef __SYMBIAN32__
	// Set RunFast hardware mode for VFPv2.
	User::SetFloatingPointMode(EFpModeRunFast);
	// Disable screensaver
	QScopedPointer<QSystemScreenSaver> ssObject(new QSystemScreenSaver(emugl));
	ssObject->setScreenSaverInhibit();
	QScopedPointer<SymbianMediaKeys> mediakeys(new SymbianMediaKeys());
#endif

	QScopedPointer<QThread> thread(new QThread);
	QScopedPointer<MainAudio> audio(new MainAudio());
	audio->moveToThread(thread.data());
	QObject::connect(thread.data(), SIGNAL(started()), audio.data(), SLOT(run()));
	thread->start();

#ifdef QT_HAS_SDL
	SDLJoystick joy(true);
	joy.startEventLoop();
#endif
	int ret = a.exec();
	thread->quit();
	NativeShutdown();
	net::Shutdown();
	return ret;
}
void SDeclarativeScreenPrivateResize::setScreenSize(QSize size)
{
    Q_Q(SDeclarativeScreen);

    // Fallback
    if (size.isEmpty())
        size = enforceFixedOrientation(systemScreenSize());

    if (size.isEmpty() || size == m_screenSize)
        return;

#ifndef Q_OS_SYMBIAN
    QSize sizeTransposed = size;
    sizeTransposed.transpose();
    if (m_displaySize != size && m_displaySize != sizeTransposed) {
        m_displaySize = size;
        q->emit displayChanged();
    }
#endif

    if ((m_screenSize.width() <= m_screenSize.height() && size.width() > size.height())
     || (m_screenSize.width() > m_screenSize.height() && size.width() <= size.height()))
        q->emit privateAboutToChangeOrientation(0, false);

    SDeclarativeScreenPrivate::setScreenSize(size);
    setCurrentOrientation(portraitScreen() ? SDeclarativeScreen::Portrait : SDeclarativeScreen::Landscape);
}
Exemple #14
0
QSize DockButton::sizeHint() const
{
    QSize hint = QToolButton::sizeHint();
    if (toolBarOrientation(this) == Qt::Vertical) {
        hint.transpose();
    }
    return hint;
}
Exemple #15
0
/*!
    \reimp
 */
QSize QxtStars::minimumSizeHint() const
{
    QSize size = qxt_d().getStarSize();
    size.rwidth() *= maximum() - minimum();
    if (orientation() == Qt::Vertical)
        size.transpose();
    return size;
}
Exemple #16
0
QSize toRotatingButton::sizeHint() const
{
    QSize size = QPushButton::sizeHint();
    if (rotate & VERTICAL_MASK)
        size.transpose();

    return size;
}
QSize SDeclarativeScreenPrivateResize::enforceFixedOrientation(QSize size)
{
    if ((size.width() <= size.height() && !portraitAllowed()) 
        || (size.width() > size.height() && !landscapeAllowed())) {
        size.transpose();
    }
    return size;
}
Exemple #18
0
bool DkResizeBatch::prepareProperties(const QSize& imgSize, QSize& size, float& scaleFactor, QStringList& logStrings) const {

    float sf = 1.0f;
    QSize normalizedSize = imgSize;

    if (mMode == mode_default) {
        scaleFactor = this->mScaleFactor;
        return true;
    }
    else if (mMode == mode_long_side) {

        if (imgSize.width() < imgSize.height())
            normalizedSize.transpose();
    }
    else if (mMode == mode_short_side) {

        if (imgSize.width() > imgSize.height())
            normalizedSize.transpose();
    }
    else if (mMode == mode_height)
        normalizedSize.transpose();

    sf = this->mScaleFactor/normalizedSize.width();

    if (sf > 1.0 && this->mProperty == prop_decrease_only) {

        logStrings.append(QObject::tr("%1 I need to increase the image, but the option is set to decrease only -> skipping.").arg(name()));
        return false;
    }
    else if (sf < 1.0f && this->mProperty == prop_increase_only) {
        logStrings.append(QObject::tr("%1 I need to decrease the image, but the option is set to increase only -> skipping.").arg(name()));
        return false;
    }
    else if (sf == 1.0f) {
        logStrings.append(QObject::tr("%1 image size matches scale factor -> skipping.").arg(name()));
        return false;
    }

    size.setWidth(qRound(this->mScaleFactor));
    size.setHeight(qRound(sf*normalizedSize.height()));

    if (normalizedSize != imgSize)
        size.transpose();

    return true;
}
Exemple #19
0
QSize TFlipButton::minimumSizeHint() const
{
    QSize size = QPushButton::minimumSizeHint();
    if (mOrientation == Qt::Vertical) {
        size.transpose();
    }
    return size;
}
Exemple #20
0
void ImageWidget::makeTransformation(Transform d)
{
    qDebug() << "make transformation:" << d;

    QTransform transformation;
    QSize f = pixmap.size();

    switch (d) {
        case toLeft:
            transformation.rotate(-90);
            pixmap = pixmap.transformed(transformation);
            imageLabel->setPixmap(pixmap);
            f.transpose();
            imageLabel->resize(f);
            this->adjustSize();
            emit picSizeChanged();
            break;
        case toRight:
            transformation.rotate(90);
            pixmap = pixmap.transformed(transformation);
            imageLabel->setPixmap(pixmap);
            f.transpose();
            imageLabel->resize(f);
            this->adjustSize();
            emit picSizeChanged();
            break;
        case horizontally:
            transformation.scale(-1, 1);
            pixmap = pixmap.transformed(transformation);
            imageLabel->setPixmap(pixmap);
            break;
        case vertically:
            transformation.scale(1, -1);
            pixmap = pixmap.transformed(transformation);
            imageLabel->setPixmap(pixmap);
            break;
    }

    emit pixmapChanged();

    if (scaleFactor != 1) {
        imageLabel->resize(pixmap.size() * scaleFactor);
        this->resize((pixmap.size() + bugSize) * scaleFactor);
    }

}
Exemple #21
0
void TToolBar::addButton( TFlipButton * pB )
{
    if( ! mpTAction->mUseCustomLayout )
    {
        QSize size = pB->minimumSizeHint();
        if( pB->mpTAction->getButtonRotation() > 0 )
        {
            size.transpose();
        }
        pB->setMaximumSize( size );
        pB->setMinimumSize( size );
    }
    else
    {
        QSize size = QSize(pB->mpTAction->mSizeX, pB->mpTAction->mSizeY );
        pB->setMaximumSize( size );
        pB->setMinimumSize( size );
        pB->setParent( mpWidget );
        pB->setGeometry( pB->mpTAction->mPosX, pB->mpTAction->mPosY, pB->mpTAction->mSizeX, pB->mpTAction->mSizeY );
    }

    pB->setStyleSheet( pB->mpTAction->css );
    pB->setFlat( pB->mpTAction->getButtonFlat() );
    int rotation = pB->mpTAction->getButtonRotation();
    switch( rotation )
    {
        case 0: pB->setOrientation( Qt::Horizontal ); break;
        case 1: pB->setOrientation( Qt::Vertical ); break;
        case 2: pB->setOrientation( Qt::Vertical ); pB->setMirrored( true ); break;
    }

    if( ! mpTAction->mUseCustomLayout )
    {
        // tool bar mButtonColumns > 0 -> autolayout
        // case == 0: use individual button placment for user defined layouts
        int columns = mpTAction->getButtonColumns();
        if( columns <= 0 ) columns = 1;
        if( columns > 0 )
        {
            mItemCount++;
            int row = mItemCount / columns;
            int col = mItemCount % columns;
            if( mVerticalOrientation )
            {
                mpLayout->addWidget( pB, row, col );
            }
            else
            {
                mpLayout->addWidget( pB, col, row );
            }
        }
    }
    else
    {
        pB->move( pB->mpTAction->mPosX, pB->mpTAction->mPosY );
    }
    connect( pB, SIGNAL(pressed()), this, SLOT(slot_pressed()) );
}
QSize RotationToolButton::sizeHint() const
{
    QSize size;
    size = QToolButton::sizeHint();

    if (rot & Vertical_Mask)
        size.transpose();
    return size;
}
Exemple #23
0
Q_DECL_EXPORT
#endif
int main(int argc, char *argv[])
{
#if defined(Q_OS_LINUX) && !defined(MAEMO)
	QApplication::setAttribute(Qt::AA_X11InitThreads, true);
#endif
	QApplication a(argc, argv);
	QSize res = QApplication::desktop()->screenGeometry().size();
	if (res.width() < res.height())
		res.transpose();
	pixel_xres = res.width();
	pixel_yres = res.height();
	g_dpi_scale = CalculateDPIScale();
	dp_xres = (int)(pixel_xres * g_dpi_scale); dp_yres = (int)(pixel_yres * g_dpi_scale);
	net::Init();
	std::string savegame_dir = ".";
	std::string assets_dir = ".";
#if QT_VERSION > QT_VERSION_CHECK(5, 0, 0)
	savegame_dir = QStandardPaths::writableLocation(QStandardPaths::HomeLocation).toStdString();
	assets_dir = QStandardPaths::writableLocation(QStandardPaths::DataLocation).toStdString();
#elif defined(__SYMBIAN32__)
	savegame_dir = "E:/PPSSPP";
	assets_dir = "E:/PPSSPP";
#elif defined(BLACKBERRY)
	savegame_dir = "/accounts/1000/shared/misc";
	assets_dir = "app/native/assets";
#elif defined(MAEMO)
	savegame_dir = "/home/user/MyDocs/PPSSPP";
	assets_dir = "/opt/PPSSPP";
#endif
	savegame_dir += "/";
	assets_dir += "/";
	
	bool fullscreenCLI=false;
	for (int i = 1; i < argc; i++) 
	{
		if (!strcmp(argv[i],"--fullscreen"))
			fullscreenCLI=true;
	}
	NativeInit(argc, (const char **)argv, savegame_dir.c_str(), assets_dir.c_str(), nullptr, fullscreenCLI);
	
	int ret = mainInternal(a);

#ifndef MOBILE_DEVICE
	exit(0);
#endif
	NativeShutdownGraphics();
#ifdef SDL
	SDL_PauseAudio(1);
	SDL_CloseAudio();
#endif
	NativeShutdown();
	net::Shutdown();
	return ret;
}
QSize PushButtonOrientated::sizeHint() const
{
    QSize size = QPushButton::sizeHint();

    if (m_orientation == Qt::Vertical) {
        size.transpose();
    }

    return size;
}
Exemple #25
0
Q_DECL_EXPORT int main(int argc, char *argv[])
{
#ifdef Q_WS_X11
	QApplication::setAttribute(Qt::AA_X11InitThreads, true);
#endif
	QApplication a(argc, argv);
	QSize res = QApplication::desktop()->screenGeometry().size();
	if (res.width() < res.height())
		res.transpose();
	pixel_xres = res.width();
	pixel_yres = res.height();

	g_dpi_scale = CalculateDPIScale();
	dp_xres = (int)(pixel_xres * g_dpi_scale); dp_yres = (int)(pixel_yres * g_dpi_scale);
	net::Init();
#ifdef __SYMBIAN32__
	char* savegame_dir = "E:/PPSSPP/";
	char* assets_dir = "E:/PPSSPP/";
#elif defined(BLACKBERRY)
	char* savegame_dir = "/accounts/1000/shared/misc/";
	char* assets_dir = "app/native/assets/";
#elif defined(MEEGO_EDITION_HARMATTAN)
	char* savegame_dir = "/home/user/MyDocs/PPSSPP/";
	QDir myDocs("/home/user/MyDocs/");
	if (!myDocs.exists("PPSSPP"))
		myDocs.mkdir("PPSSPP");
	char* assets_dir = "/opt/PPSSPP/";
#else
	char* savegame_dir = "./";
	char* assets_dir = "./";
#endif
	NativeInit(argc, (const char **)argv, savegame_dir, assets_dir, "BADCOFFEE");

#if !defined(Q_WS_X11) || defined(ARM)
	MainUI w;
	w.resize(pixel_xres, pixel_yres);
	w.showFullScreen();
#endif
#ifdef __SYMBIAN32__
	// Set RunFast hardware mode for VFPv2.
	User::SetFloatingPointMode(EFpModeRunFast);
	// Disable screensaver
	QSystemScreenSaver *ssObject = new QSystemScreenSaver(&w);
	ssObject->setScreenSaverInhibit();
#endif

	MainAudio *audio = new MainAudio();

	int ret = a.exec();
	delete audio;
	NativeShutdown();
	net::Shutdown();
	return ret;
}
Exemple #26
0
static QSize qwtHandleSize( const QSize &size, 
    Qt::Orientation orientation, bool hasTrough )
{
    QSize handleSize = size;

    if ( handleSize.isEmpty() )
    {
        const int handleThickness = 16;
        handleSize.setWidth( 2 * handleThickness );
        handleSize.setHeight( handleThickness );

        if ( !hasTrough )
            handleSize.transpose();

        if ( orientation == Qt::Vertical )
            handleSize.transpose();
    }

    return handleSize;
}
Exemple #27
0
void ValueSlider::
        setOrientation( Qt::Orientation orientation )
{
    if (orientation != this->orientation())
    {
        QSize sz = slider_->size ();
        slider_->setOrientation ( orientation );
        sz.transpose ();
        slider_->resize (sz);
    }
}
void SDeclarativeScreenPrivateResize::setAllowedOrientations(SDeclarativeScreen::Orientations orientations)
{
#ifdef Q_DEBUG_SCREEN
    qDebug() << "SDeclarativeScreenPrivateResize::setAllowedOrientations" << orientations;
#endif

#if defined(Q_OS_SYMBIAN)
    if((orientations != SDeclarativeScreen::Landscape) && deviceSupportsOnlyLandscape())
        return;
#endif

    SDeclarativeScreenPrivate::setAllowedOrientations(orientations);

    if (!m_initialized)
        return;

#if defined(Q_OS_SYMBIAN) || defined(Q_WS_SIMULATOR)
    if (portraitAllowed() && landscapeAllowed() && m_view)
        m_view->setAttribute(Qt::WA_AutoOrientation, true);
    else if (portraitAllowed() && !landscapeAllowed() && m_view)
        m_view->setAttribute(Qt::WA_LockPortraitOrientation, true);
    else if (!portraitAllowed() && landscapeAllowed() && m_view)
        m_view->setAttribute(Qt::WA_LockLandscapeOrientation, true);

    setScreenSize(enforceFixedOrientation(systemScreenSize()));
#else

    QSize newScreenSize = m_displaySize;
    if (portraitAllowed() && landscapeAllowed() && !portraitDisplay())
        newScreenSize.transpose();
    else if (portraitAllowed() && !landscapeAllowed() && !portraitDisplay())
        newScreenSize.transpose();
    else if (!portraitAllowed() && landscapeAllowed() && portraitDisplay())
        newScreenSize.transpose();

    if (m_view)
        m_view->resize(newScreenSize);
    else
        setScreenSize(newScreenSize);
#endif
}
Exemple #29
0
/*!
    \reimp
*/
QSize QProgressBar::sizeHint() const
{
    ensurePolished();
    QFontMetrics fm = fontMetrics();
    QStyleOptionProgressBarV2 opt;
    initStyleOption(&opt);
    int cw = style()->pixelMetric(QStyle::PM_ProgressBarChunkWidth, &opt, this);
    QSize size = QSize(qMax(9, cw) * 7 + fm.width(QLatin1Char('0')) * 4, fm.height() + 8);
    if (opt.orientation == Qt::Vertical)
        size.transpose();
    return style()->sizeFromContents(QStyle::CT_ProgressBar, &opt, size, this);
}
Exemple #30
0
/*!
    \reimp
 */
QSize QxtPushButton::sizeHint() const
{
    QSize size;
    if (qxt_d().isRichText())
        size = qxt_d().doc->documentLayout()->documentSize().toSize();
    else
        size = QPushButton::sizeHint();

    if (qxt_d().rot & Vertical_Mask)
        size.transpose();
    return size;
}