64 lines
1.5 KiB
C++
64 lines
1.5 KiB
C++
![]() |
/******************************************************************************
|
||
|
* QSkinny - Copyright (C) 2016 Uwe Rathmann
|
||
|
* This file may be used under the terms of the QSkinny License, Version 1.0
|
||
|
*****************************************************************************/
|
||
|
|
||
|
#include "QskSeparator.h"
|
||
|
#include "QskAspect.h"
|
||
|
|
||
|
QSK_SUBCONTROL( QskSeparator, Panel )
|
||
|
|
||
|
QskSeparator::QskSeparator( QQuickItem* parent ):
|
||
|
QskSeparator( Qt::Horizontal, parent )
|
||
|
{
|
||
|
}
|
||
|
|
||
|
QskSeparator::QskSeparator( Qt::Orientation orientation, QQuickItem* parent ):
|
||
|
Inherited( parent ),
|
||
|
m_orientation( orientation )
|
||
|
{
|
||
|
if ( orientation == Qt::Horizontal )
|
||
|
setSizePolicy( QskSizePolicy::Minimum, QskSizePolicy::Fixed );
|
||
|
else
|
||
|
setSizePolicy( QskSizePolicy::Fixed, QskSizePolicy::Minimum );
|
||
|
}
|
||
|
|
||
|
QskSeparator::~QskSeparator()
|
||
|
{
|
||
|
}
|
||
|
|
||
|
void QskSeparator::setOrientation( Qt::Orientation orientation )
|
||
|
{
|
||
|
if ( orientation == m_orientation )
|
||
|
return;
|
||
|
|
||
|
m_orientation = orientation;
|
||
|
|
||
|
#if 1
|
||
|
// swapping the size policy: guess this is what a user expects
|
||
|
setSizePolicy( sizePolicy( Qt::Vertical ), sizePolicy( Qt::Horizontal ) );
|
||
|
#endif
|
||
|
|
||
|
resetImplicitSize();
|
||
|
update();
|
||
|
|
||
|
Q_EMIT orientationChanged( m_orientation );
|
||
|
}
|
||
|
|
||
|
Qt::Orientation QskSeparator::orientation() const
|
||
|
{
|
||
|
return m_orientation;
|
||
|
}
|
||
|
|
||
|
QSizeF QskSeparator::contentsSizeHint() const
|
||
|
{
|
||
|
const qreal m = metric( Panel );
|
||
|
|
||
|
if ( m_orientation == Qt::Horizontal )
|
||
|
return QSizeF( -1, m );
|
||
|
else
|
||
|
return QSizeF( m, -1 );
|
||
|
}
|
||
|
|
||
|
#include "moc_QskSeparator.cpp"
|