Replace getenv("HOME") by RDGetHomeDir() in RDCartDialog::LoadState/SaveState. Create RDCartDialog::StateFile to share logic

This commit is contained in:
Alban Peignier 2014-09-05 09:46:01 +02:00
parent 336d3be06e
commit ea73b88634
2 changed files with 22 additions and 5 deletions

View File

@ -905,14 +905,29 @@ QString RDCartDialog::GetSearchFilter(const QString &filter,
return search;
}
QString RDCartDialog::StateFile() {
bool home_found = false;
QString home = RDGetHomeDir(&home_found);
if (home_found) {
return QString().sprintf("%s/.rdcartdialog",(const char *)home);
} else {
return NULL;
}
}
void RDCartDialog::LoadState()
{
if(getenv("HOME")==NULL) {
QString state_file = StateFile();
if (state_file == NULL) {
return;
}
RDProfile *p=new RDProfile();
p->setSource(QString().sprintf("%s/.rdcartdialog",getenv("HOME")));
p->setSource(state_file);
bool value_read = false;
cart_limit_box->setChecked(p->boolValue("RDCartDialog", "LimitSearch", true, &value_read));
delete p;
}
@ -921,11 +936,12 @@ void RDCartDialog::SaveState()
{
FILE *f=NULL;
if(getenv("HOME")==NULL) {
QString state_file = StateFile();
if (state_file == NULL) {
return;
}
if((f=fopen(QString().sprintf("%s/.rdcartdialog",getenv("HOME")),"w"))==
NULL) {
if((f=fopen(state_file,"w"))==NULL) {
return;
}
fprintf(f,"[RDCartDialog]\n");

View File

@ -84,6 +84,7 @@ class RDCartDialog : public QDialog
void BuildGroupList();
QString GetSearchFilter(const QString &filter,const QString &group,
const QString &schedcode);
QString StateFile();
void LoadState();
void SaveState();
int *cart_cartnum;