some convenience methods to set text options

This commit is contained in:
Uwe Rathmann 2018-10-19 12:53:45 +02:00
parent f75de504c3
commit 75e61edd07
5 changed files with 53 additions and 11 deletions

View File

@ -33,9 +33,7 @@ class DummyLabel : public QskTextLabel
setTextColor( Qt::white );
setFontRole( QskSkin::MediumFont );
QskTextOptions textOptions;
textOptions.setWrapMode( QskTextOptions::WordWrap );
setTextOptions( textOptions );
setWrapMode( QskTextOptions::WordWrap );
setAlignment( Qt::AlignCenter );
setSizePolicy( QskSizePolicy::Ignored, QskSizePolicy::Ignored );

View File

@ -114,7 +114,7 @@ QskTextOptions::TextFormat QskTextOptions::effectiveFormat( const QString& text
return PlainText;
if ( m_format == QskTextOptions::AutoText )
return Qt::mightBeRichText( text ) ? RichText : PlainText;
return Qt::mightBeRichText( text ) ? StyledText : PlainText;
else
return m_format;
}

View File

@ -105,6 +105,46 @@ QskTextOptions QskTextLabel::textOptions() const
return m_data->textOptions;
}
void QskTextLabel::setTextFormat( QskTextOptions::TextFormat format )
{
auto options = m_data->textOptions;
options.setFormat( format );
setTextOptions( options );
}
QskTextOptions::TextFormat QskTextLabel::textFormat() const
{
return m_data->textOptions.format();
}
void QskTextLabel::setWrapMode( QskTextOptions::WrapMode wrapMode )
{
auto options = m_data->textOptions;
options.setWrapMode( wrapMode );
setTextOptions( options );
}
QskTextOptions::WrapMode QskTextLabel::wrapMode() const
{
return m_data->textOptions.wrapMode();
}
void QskTextLabel::setElideMode( Qt::TextElideMode elideMode )
{
auto options = m_data->textOptions;
options.setElideMode( elideMode );
setTextOptions( options );
}
Qt::TextElideMode QskTextLabel::elideMode() const
{
return m_data->textOptions.elideMode();
}
void QskTextLabel::setFontRole( int role )
{
const int oldRole = fontRole();

View File

@ -7,8 +7,7 @@
#define QSK_TEXT_LABEL_H
#include "QskControl.h"
class QskTextOptions;
#include "QskTextOptions.h"
class QSK_EXPORT QskTextLabel : public QskControl
{
@ -49,6 +48,15 @@ class QSK_EXPORT QskTextLabel : public QskControl
void setTextOptions( const QskTextOptions& );
QskTextOptions textOptions() const;
void setTextFormat( QskTextOptions::TextFormat );
QskTextOptions::TextFormat textFormat() const;
void setWrapMode( QskTextOptions::WrapMode );
QskTextOptions::WrapMode wrapMode() const;
void setElideMode( Qt::TextElideMode );
Qt::TextElideMode elideMode() const;
void setAlignment( Qt::Alignment );
Qt::Alignment alignment() const;

View File

@ -11,7 +11,6 @@
#include "QskPushButton.h"
#include "QskSkin.h"
#include "QskTextLabel.h"
#include "QskTextOptions.h"
#include <qfontmetrics.h>
#include <qpointer.h>
@ -25,10 +24,7 @@ namespace
{
setObjectName( QStringLiteral( "QskInputSubWindowTextLabel" ) );
QskTextOptions options;
options.setWrapMode( QskTextOptions::WordWrap );
setTextOptions( options );
setWrapMode( QskTextOptions::WordWrap );
connect( this, &QskTextLabel::textChanged,
box, &QskInputSubWindow::infoTextChanged );