From kde-core-devel Sat Jun 28 03:04:05 2003 From: Benjamin Meyer Date: Sat, 28 Jun 2003 03:04:05 +0000 To: kde-core-devel Subject: Re: KConfig Bug? X-MARC-Message: https://marc.info/?l=kde-core-devel&m=105676949132597 -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Just to summarize so we can move on to fixing this, there are four options I see: 1) Added two new functions: void deleteLocalEntry( const QString& pKey, etc ); bool hasGlobalEntry( const QString &pKey, etc ); 2) Remove the ability to delete the applications's global entry. 3) Add an argument to deleteEntry() to specify if it should remove it from the global config and add a function to see if there is a global entry. void deleteEntry ( const QString& pKey, bool bNLS = false, bool bGlobal = false, bool deleteGlobal=false) bool hasGlobalEntry(const QString &pKey, etc); 4) Modify deleteEntry to just remove local entry rather then adding [$d] and add two new functions: void deleteGlobalEntry( const QString& pKey, etc ); // Same thing as deleteEntry currently does by adding a [$d] if globalEntry exists. bool hasGlobalEntry( const QString &pKey, etc ); The good and bad: 1) The only time that an application wouldn't want to call deleteLocalEntry() rather then deleteEntry would be in a case where it wants to force the application to use the default values compiled into the application and not the global config, but that destroys the kiosk mode if applications are going to ignore it. Also if the application wants to use default values that it already knows about (sense they are compiled into the binary) going through the trouble of deleting the entries via the local config is overkill and unnecessary. 2) Good: Global configs are treaded simply as default values with lower priority then local. Bad: Unable to delete global entries, but applications already know what the binary entries are so it shouldn't need to anyway. 3) See #1, just different implementation 4) Same as #1, but much safer because by default an application wouldn't delete a global default entry, but if they needed to (which is questionable) the functionality is still there. My votes is for #2 followed by #4, but I am not the maintainer and so this is simply my opinion - -Benjamin Meyer P.S. That actually brings up an interesting point. In kiosk mode you might be able to get around things by editing the local config files and putting in [$d] for values, thus negating any default global settings that aren't set as immutable. - -Benjamin Meyer - -- Public Key: http://www.csh.rit.edu/~benjamin/public_key.asc -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.6 (GNU/Linux) Comment: For info see http://www.gnupg.org iD8DBQE+/QWl1rZ3LTw38vIRAlaoAJ9W5/zJPQ16QaB55XqSTX0TXZhNTQCfUjBU W1EmGxSbxPfWun1T1SW8OfY= =9BBA -----END PGP SIGNATURE-----