From 80cc994c51639ed652c1032e15b0607f30912b66 Mon Sep 17 00:00:00 2001 From: Pino Toscano Date: Sun, 6 Apr 2008 10:27:46 +0000 Subject: [PATCH] the caret symbol is a fixed choice of two svn path=/trunk/KDE/kdegraphics/okular/; revision=794041 --- core/annotations.cpp | 35 ++++++++++++++++++++++++++++------- core/annotations.h | 13 +++++++++++-- 2 files changed, 39 insertions(+), 9 deletions(-) diff --git a/core/annotations.cpp b/core/annotations.cpp index 83be68bad..89f7501c8 100644 --- a/core/annotations.cpp +++ b/core/annotations.cpp @@ -2037,13 +2037,34 @@ class Okular::CaretAnnotationPrivate : public Okular::AnnotationPrivate { public: CaretAnnotationPrivate() - : AnnotationPrivate(), m_symbol( "None" ) + : AnnotationPrivate(), m_symbol( CaretAnnotation::None ) { } - QString m_symbol; + CaretAnnotation::CaretSymbol m_symbol; }; +static QString caretSymbolToString( CaretAnnotation::CaretSymbol symbol ) +{ + switch ( symbol ) + { + case CaretAnnotation::None: + return QString::fromLatin1( "None" ); + case CaretAnnotation::P: + return QString::fromLatin1( "P" ); + } + return QString(); +} + +static CaretAnnotation::CaretSymbol caretSymbolFromString( const QString &symbol ) +{ + if ( symbol == QLatin1String( "None" ) ) + return CaretAnnotation::None; + else if ( symbol == QLatin1String( "P" ) ) + return CaretAnnotation::P; + return CaretAnnotation::None; +} + CaretAnnotation::CaretAnnotation() : Annotation( *new CaretAnnotationPrivate() ) { @@ -2064,7 +2085,7 @@ CaretAnnotation::CaretAnnotation( const QDomNode & node ) // parse the attributes if ( e.hasAttribute( "symbol" ) ) - d->m_symbol = e.attribute( "symbol" ); + d->m_symbol = caretSymbolFromString( e.attribute( "symbol" ) ); // loading complete break; @@ -2075,13 +2096,13 @@ CaretAnnotation::~CaretAnnotation() { } -void CaretAnnotation::setCaretSymbol( const QString &symbol ) +void CaretAnnotation::setCaretSymbol( CaretAnnotation::CaretSymbol symbol ) { Q_D( CaretAnnotation ); d->m_symbol = symbol; } -QString CaretAnnotation::caretSymbol() const +CaretAnnotation::CaretSymbol CaretAnnotation::caretSymbol() const { Q_D( const CaretAnnotation ); return d->m_symbol; @@ -2103,6 +2124,6 @@ void CaretAnnotation::store( QDomNode & node, QDomDocument & document ) const node.appendChild( caretElement ); // append the optional attributes - if ( d->m_symbol != "None" ) - caretElement.setAttribute( "symbol", d->m_symbol ); + if ( d->m_symbol != None ) + caretElement.setAttribute( "symbol", caretSymbolToString( d->m_symbol ) ); } diff --git a/core/annotations.h b/core/annotations.h index 4839c4165..5c410a118 100644 --- a/core/annotations.h +++ b/core/annotations.h @@ -1196,6 +1196,15 @@ class OKULAR_EXPORT InkAnnotation : public Annotation class OKULAR_EXPORT CaretAnnotation : public Annotation { public: + /** + * Describes the highlighting style of the annotation. + */ + enum CaretSymbol + { + None, ///< No symbol to be associated with the text + P ///< A 'paragraph' symbol + }; + /** * Creates a new caret annotation. */ @@ -1214,12 +1223,12 @@ class OKULAR_EXPORT CaretAnnotation : public Annotation /** * Sets the @p symbol for the caret annotation. */ - void setCaretSymbol( const QString &symbol ); + void setCaretSymbol( CaretAnnotation::CaretSymbol symbol ); /** * Returns the symbol of the annotation. */ - QString caretSymbol() const; + CaretAnnotation::CaretSymbol caretSymbol() const; /** * Returns the sub type of the caret annotation.