>> I would also consider an even simpler API. How about we introduce a new 
>> keyword for persistent properties and make it part of the language.
>> 
>> Rectangle {
>>     id: root
>>     persistent property width: 400
>>     persistent property height: 300
>> }
>> 
>> What this means is that the application will automatically store its 
>> persistent properties on exit and recall those properties on startup. By 
>> default they would be initialised to the bound value.
>> It will need some attached properties or other meta data to override default 
>> storage locations etc. And we also need to enforce id's to keep values 
>> unique per qml file.
>> 
>> Jens

> Interesting idea, but isn't that a recipe for horror if you ever want to 
> change the structure of your application? To make it possible to keep 
> your application settings if you change your application structure, you 
> will need to set those attached properties. A default generated value 
> will not suffice. That either leads to forcing users to set it if they 
> use the persistent keyword, or leading them into big trouble with 
> application maintenance in the future. Neither sounds attractive.


You certainly have a valid point and I agree that the persistent property will 
need an explicit name. 
There are several ways we could try to amend it though:

Using special syntax: 

Rectangle {
    persistent property int width: ["application.width", 400]
    persistent property int height: ["application.height", 400]
}

Or perhaps get rid of the keyword altogether and just do:

Rectangle {
    property int width: Qt.storedProperty("application.width", 400)
    property int height: Qt.storedProperty("application.height", 400)
}

Jens
_______________________________________________
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development

Reply via email to