[prev in list] [next in list] [prev in thread] [next in thread] 

List:       koffice-devel
Subject:    Re: Review Request: KoGenStyle(s) cleanup
From:       "Jaroslaw Staniek" <staniek () kde ! org>
Date:       2010-03-08 23:50:54
Message-ID: 20100308235054.30720.63760 () localhost
[Download RAW message or body]



> On 2010-03-08 12:02:56, Thomas Zander wrote:
> > trunk/koffice/libs/odf/KoGenStyle.h, line 112
> > <http://reviewboard.kde.org/r/3090/diff/1/?file=20294#file20294line112>
> > 
> > Adding this enum in a public, installed header sounds wrong to me.
> > The comment about things being binary incompatible of adding enum values at the \
> > end is actually incorrect for any normal usecase. *except* for the usecase of the \
> > NumTypes enum, so we can avoid the whole BC issue by not adding the N_NumTypes \
> > enum value. 
> > Can you please just use the last normal enum value when iterating?
> > 
> > 

This is error-prone. I've found this in koreports one day. Others maybe as well.

I propose something what Qt does in similar context (see QMetaType::Type):

enum Type {
[..]
        /// @internal @note always update when adding values to this enum
        LastStyle = MasterStyle
}


*(in the code above I assumed we use the new notation MasterStyle instead of \
StyleMaster)


> On 2010-03-08 12:02:56, Thomas Zander wrote:
> > trunk/koffice/libs/odf/KoGenStyle.h, line 234
> > <http://reviewboard.kde.org/r/3090/diff/1/?file=20294#file20294line234>
> > 
> > Same here.

Like above, I propose:

enum PropertyType {
[..]
        /// @internal @note always update when adding values to this enum
        LastPropertyType = ChildElement
}


- Jaroslaw


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviewboard.kde.org/r/3090/#review4365
-----------------------------------------------------------


On 2010-03-03 13:22:46, Jaroslaw Staniek wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://reviewboard.kde.org/r/3090/
> -----------------------------------------------------------
> 
> (Updated 2010-03-03 13:22:46)
> 
> 
> Review request for KOffice.
> 
> 
> Summary
> -------
> 
> NOTE: the patch only contains changes to KoGenStyle*.* files. Required updates for \
> other KOffice code shall be provided after this patch is approved. 
> * KoGenStyle::Type cleanup:
> - renamed StyleUser to StyleParagraph
> - renamed StyleAuto to StyleParagraphAuto
> - move the 'Auto' to the end for the table style families
> 
> * KoGenStyles::Flags made QFlags
> 
> * KoGenStyles::lookup() -> KoGenStyles::insert()
> 
> * move KoGenStyle::isEmpty() code to .cpp
> 
> * use constFind(), constBegin(), constEnd() for iterators if possible
> 
> * made some methods const
> 
> * introduced KoGenStyles::StylesPlacement for saving odf and inserting raw styles.
> 
> * insertRawStyles() replaces 4 methods. saveOdfStyles() replaces 4 other methods.
> 
> * KoGenStyle::N_NumTypes -> KoGenStyle::N_NumPropertyTypes
> 
> * added KoGenStyle::N_NumTypes
> 
> * KoGenStyles: StyleArray -> QList<KoGenStyles::NamedStyle>
> 
> * KoGenStyles: NameMap typedef removed, using just QSet<QString> is clear
> 
> * To minimize size of the patch, I am noting down remaining possible TODOs:
> 
> TODO 1: make KoGenStyle implicitly shared: optimizes and fixes risk of BIC changes \
> because of m_properties 
> TODO 2: add QList<KoGenStyles::NamedStyle> \
> KoGenStyles::Private::stylesForTypes[KoGenStyle::N_NumTypes] for optimizing static \
> QList<KoGenStyles::NamedStyle> styles(const QSet<QString>& names, KoGenStyle::Type \
> type) 
> TODO 3: replace QSet<QString> KoGenStyles::Private::styleNames with QMap<QString, \
> KoGenStyle*> KoGenStyles::Private::styles for optimizing const KoGenStyle* \
> KoGenStyles::style(const QString& name) const 
> TODO 4: implement qDebug() for KoGenStyles instead of dump()
> 
> TODO 5: implement qDebug() for KoGenStyle instead of printDebug()
> 
> TODO 6: rename to KoOdfStyle(s)
> 
> 
> Diffs
> -----
> 
> trunk/koffice/libs/odf/KoGenStyle.h 1097689 
> trunk/koffice/libs/odf/KoGenStyle.cpp 1097689 
> trunk/koffice/libs/odf/KoGenStyles.h 1097689 
> trunk/koffice/libs/odf/KoGenStyles.cpp 1097689 
> 
> Diff: http://reviewboard.kde.org/r/3090/diff
> 
> 
> Testing
> -------
> 
> builds, checked if there's no change in semantics
> 
> 
> Thanks,
> 
> Jaroslaw
> 
> 

_______________________________________________
koffice-devel mailing list
koffice-devel@kde.org
https://mail.kde.org/mailman/listinfo/koffice-devel


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic