KConfig Bug?
Benjamin Meyer
ben at meyerhome.net
Sat Jun 28 04:04:05 BST 2003
-----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-----
More information about the kde-core-devel
mailing list