Am Montag, den 19.12.2011, 19:18 +0000 schrieb [email protected]:
> On 12/14/11 11:01 AM, "ext [email protected]" <[email protected]>
> wrote:
> 
> >I'm in the early stages of trying to port a Qt4.7 app that uses
> >qt-mobility to Qt5.  Today I noticed compile errors caused by the
> >duplication of qlatin1constant.h in both of these
> > modules.  
> >
> >The problem shows when you write an app that uses both the QtContacts and
> >the QtOrganizer modules.   Headers within the QtContacts module will
> >sometimes include the QtOrganizer version of qlatin1constant.h (or
> >vice-versa depending on the app's include path
> > ordering).  The use of namespaces in these headers is what leads to the
> >errors.
> >
> >There's several solutions, and I guess it'd be best if the
> >QLatin1Constant functionality was moved to a core library, but until then
> >can we at least have the headers *within* the Contacts and Organizer
> >modules include qlatin1constant.h in an unambiguous manner?
> 
> I'm actually wondering whether this class still makes sense in Qt 5. We've
> done some changes to QLatin1String to make it more suitable and have
> QStringLiteral in addition. That should make the need for this class
> mostly go away IMO.

+1 - QLatin1String is painful to use: You cannot really store references
to it, you constantly get trouble from C++ not being able to resolve
which of its cast operators shall be used (QString vs. QLatin1String).
Also I never really got is purpose: To enable comparison and hashing of
QtContact's string keys, and to make sure those strings don't waste
memory on heap, it would have been sufficient to use QString::
fromRawData() to initialize those constants.

Ciao,
Mathias

-- 
Mathias Hasselmann <[email protected]>
http://openismus.com/

_______________________________________________
Development mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/development

Reply via email to