readEntry and booleans
Thomas Braxton
brax108 at cox.net
Wed Jan 4 01:24:42 GMT 2006
On Tuesday 03 January 2006 16:59, David Faure wrote:
> On Tuesday 03 January 2006 23:00, Cornelius Schumacher wrote:
> > compare
> > readEntry( "key", QVariant( false ) ).toBool()
> > to
> > readBoolEntry( "key", false )
>
> Since booleans convert so badly to QVariant, maybe we should keep
> readBoolEntry or add a readEntry( key, bool ) overload?
The problem wasn't with booleans, it was with zeroes. (i.e.
false/int(0)/uint(0))
As far as I can tell this member template fixes everything
template <typename T> T readEntry(key, const T&) const
This seems to work, I ran unsermake check on kdecore and it passes.
The only problem seems to be, all uses of QVariant::Bool/Int must be replaced
& toInt()/toBool() must be replaced to compile. All in all I think the code
looks a lot cleaner. You pass in a bool and you get out a bool, so code that
looked like this
if (sc.readEntry(key, QVariant::Bool).toBool())
now looks like this
if (sc.readEntry(key, false))
Regards,
Thomas
-------------- next part --------------
A non-text attachment was scrubbed...
Name: diff
Type: text/x-diff
Size: 3633 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20060103/91ddc5ab/attachment.diff>
More information about the kde-core-devel
mailing list