[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