[Interest] Reading trees from QSettings
Sensei
senseiwa at gmail.com
Thu Aug 30 13:03:01 CEST 2012
Hi again!
As you remember, I was playing with QTreeWidget items, now I'd like to
write and read the tree (a strict tree) from QSettings.
I can write the tree easily, for example the following tree has a file,
and a folder; the folder has a file inside.
[Root]
item\1\name=New File
item\2\name=New Folder
item\size=2
[New%20Folder]
item\1\name=aaaa
item\size=1
As I need to recreate files and folders, I need to check, for every item
in a group, if there exists a group with the same name. If so, then it's
a folder, a file otherwise.
But, as you see from my output, it fails the check:
root is 0x104d7a470
nodes is not empty
reading size 2
appending to Root (0x104d7a470) file New File
appending to Root (0x104d7a470) file New Folder
I am using the following (s being a QSettings):
if (s.childGroups().contains(name))
{
qWarning("appending to %s (%p) folder %s",
qPrintable(target->data(0, 0).toString()), target, qPrintable(name));
item = new QTreeWidgetItem(target, QStringList(name), 1);
item->setFlags(item->flags() | Qt::ItemIsEditable);
nodes.push_back(item);
}
else
{
qWarning("appending to %s (%p) file %s",
qPrintable(target->data(0, 0).toString()), target, qPrintable(name));
item = new QTreeWidgetItem(target, QStringList(name), 2);
item->setFlags(item->flags() & (~Qt::ItemIsDropEnabled)
| Qt::ItemIsEditable);
}
Is there a "safe" way of querying QSettings for an existing group?
Thanks & Cheers!
More information about the Interest
mailing list