From 93e8227b6f048851ce5190eeffd972e4d7b8f99f Mon Sep 17 00:00:00 2001 From: Alban Peignier Date: Fri, 5 Sep 2014 10:22:22 +0200 Subject: [PATCH] Replace getenv("HOME") by RDGetHomeDir() in rdlibrary MainWidget::LoadGeometry/SaveGeometry. Create MainWidget::GeometryFile to share logic --- rdlibrary/rdlibrary.cpp | 23 +++++++++++++++-------- rdlibrary/rdlibrary.h | 1 + 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/rdlibrary/rdlibrary.cpp b/rdlibrary/rdlibrary.cpp index 9c3f2cbc..fad20d5a 100644 --- a/rdlibrary/rdlibrary.cpp +++ b/rdlibrary/rdlibrary.cpp @@ -1405,16 +1405,24 @@ QString MainWidget::GetTypeFilter() return type_filter; } +QString MainWidget::GeometryFile() { + bool home_found = false; + QString home = RDGetHomeDir(&home_found); + if (home_found) { + return home + "/" + RDLIBRARY_GEOMETRY_FILE; + } else { + return NULL; + } +} void MainWidget::LoadGeometry() { - if(getenv("HOME")==NULL) { + QString geometry_file = GeometryFile(); + if(geometry_file==NULL) { return; } RDProfile *profile=new RDProfile(); - profile-> - setSource(QString().sprintf("%s/%s",getenv("HOME"), - RDLIBRARY_GEOMETRY_FILE)); + profile->setSource(geometry_file); resize(profile->intValue("RDLibrary","Width",sizeHint().width()), profile->intValue("RDLibrary","Height",sizeHint().height())); lib_shownotes_box-> @@ -1426,12 +1434,11 @@ void MainWidget::LoadGeometry() void MainWidget::SaveGeometry() { - if(getenv("HOME")==NULL) { + QString geometry_file = GeometryFile(); + if(geometry_file==NULL) { return; } - FILE *file=fopen((const char *)QString(). - sprintf("%s/%s",getenv("HOME"),RDLIBRARY_GEOMETRY_FILE), - "w"); + FILE *file=fopen(geometry_file,"w"); if(file==NULL) { return; } diff --git a/rdlibrary/rdlibrary.h b/rdlibrary/rdlibrary.h index 50bc3422..a15beb83 100644 --- a/rdlibrary/rdlibrary.h +++ b/rdlibrary/rdlibrary.h @@ -105,6 +105,7 @@ class MainWidget : public QWidget const QDateTime ¤t_datetime); void SetCaption(QString user); QString GetTypeFilter(); + QString GeometryFile(); void LoadGeometry(); void SaveGeometry(); void LockUser();