[Solved] Saving settings to a file
-
wrote on 31 Jan 2013, 02:40 last edited by
I'm porting a app, that saves and loads setting to a file using QFile. I'm not using QSettings and a ini file, because I'm using serialization, wich I believe is not supported by QSettings. However the file fails to save. I'm guessing it's because I'm using the app current location, wich probably doesnt allow saving.
@//loading in the constructor
QFile file("conversions.dat");
if (file.open(QIODevice::ReadOnly)) // if file exists reads from file
{
QDataStream in(&file);
in>>m_CategoriesUnits_List;
in>>current_category_index;
file.close();
//QMessageBox::about(0,"","File does exist.");} else //if file does not exists reads from defaul constructor settings { //QMessageBox::about(0,"","File dont exist."); loadInitialConversions(); }@
@//saving in the destructor
QFile file("conversions.dat");
if (file.open(QIODevice::WriteOnly))
{
QDataStream out(&file); // we will serialize the data into the file
out<<m_CategoriesUnits_List;
out<<current_category_index;
file.close();
}
else
QMessageBox::about(0,"","Cant save file.");@Any ideias for a quick and dirty solution :) ?
-
wrote on 31 Jan 2013, 05:10 last edited by
Have you looked at what the "error string":http://qt-project.org/doc/qt-4.8/qiodevice.html#errorString returns? Maybe that can give you a starting point as to where things are going wrong.
-
wrote on 31 Jan 2013, 06:59 last edited by
Instead of just writing a file, maybe you can puth a real path in the front. Something based on QDir::homePath() would work nicely.
-
wrote on 31 Jan 2013, 08:34 last edited by
Not that there is anything wrong with using a file, but of course you can serialize towards QSettings if you want. Why would you think it is not supported?
-
wrote on 31 Jan 2013, 09:28 last edited by
Change the path. "data/conversations.dat" should work.
-
wrote on 31 Jan 2013, 15:03 last edited by
Thansk for the sugestions guys, I'll tried that and let you know.
Andre: I read the QSettings docs and got the impression that it would not work, but I'll check again with another eyes :) -
wrote on 3 Feb 2013, 15:42 last edited by
[quote author="codenode" date="1359624507"]Change the path. "data/conversations.dat" should work.[/quote]
This works. Thank you.
-
wrote on 4 Feb 2013, 09:59 last edited by
read this "link":http://developer.blackberry.com/native/documentation/bb10/com.qnx.doc.native_sdk.devguide/com.qnx.doc.native_sdk.devguide/topic/accessible_folders.html for more info regarding filesystem access permissions in BB10
it is also recommended to use absolute file paths, instead of relative paths
8/8