The behavior, in Linux, in general is for applications to install default setting files in a "global" XDG path, e.g /usr/share/config/yourappnamerc
and to write it to your home directory on first change (e.g /home/nemo/.config/yourappnamerc). That said, using QStandardPaths should make things work seamlessly. Just make sure you use the QString QStandardPaths::writableLocation(StandardLocation type) When saving your changes. Luciano On Sun, May 10, 2015 at 10:18 PM, Andrey Kozhevnikov <coderusin...@gmail.com> wrote: > Hello, you should use QStandardPaths. DataLocation is correct, it using > applicationName and organizationName from you QGuiApplication instance. > > 11.05.2015 01:14, Nicolas Cisco пишет: > > Hi, > i have some questions about what are the correct config and data paths for > an application. > The harbour faq [ https://harbour.jolla.com/faq#2.4.0 ] says that for these > paths a subfolder during run time named <HARBOUR_APP_NAME> inside a folder > defined by the XDG Base Directory Specification should be used. My question > is how to get these values using QT. > I though of using the QStandardPaths [ > http://doc.qt.io/qt-5/qstandardpaths.html ] or the QProcessEnvironment [ > http://doc.qt.io/qt-5/qprocessenvironment.html ] modules, but i don't know > if i am getting the correct values. > > Using the QStandardPaths module I get this output: >> >> [D] main:66 - QStandardPaths::DataLocation: >> "/home/nemo/.local/share/harbour-batzap/harbour-batzap" >> [D] main:67 - QStandardPaths::GenericDataLocation: >> "/home/nemo/.local/share" >> [D] main:68 - QStandardPaths::CacheLocation: >> "/home/nemo/.cache/harbour-batzap/harbour-batzap" >> [D] main:69 - QStandardPaths::GenericCacheLocation: "/home/nemo/.cache" >> [D] main:70 - QStandardPaths::TempLocation: "/tmp" >> [D] main:71 - QStandardPaths::ConfigLocation: "/home/nemo/.config" >> [D] main:72 - QStandardPaths::GenericConfigLocation: "/home/nemo/.config" > > (i'm returning these values using: qDebug() << "QStandardPaths::<enum-name>: > " << QStandardPaths::writableLocation(QStandardPaths::<enum-name>); > > According to the harbour faq, for application data the > $XDG_DATA_HOME/<harbour-name> folder should be used, ( freedesktop.org says > that a possible value for $XDG_DATA_HOME is "$HOME/.local/share/", so i'll > assume that value, and assuming <harbour-name> is "harbour-batsap") should > the correct application data folder be > "/home/new/.local/share/harbour-batzap" insted > "/home/new/.local/share/harbour-batzap/harbour-batzap" as qt returns for > QStandardPaths::DataLocation? > > Note: the qt docs suggest that QStandardPaths::AppDataLocation should be > used while QStandardPaths::DataLocation is a deprecated value. But i'm > getting errors (AppDataLocation is not a member of QStandardPaths) using > QStandardPaths::AppDataLocation (it was introduced in Qt 5.4, i really don't > remember what Qt5 version jolla ships) > > If i try to get the values of the XDG variables using the > QProcessEnvironment module, i'm always getting blank values: >> >> [D] main:75 - >> QProcessEnvironment::systemEnvironment().value("$XDG_DATA_HOME"): "" >> [D] main:76 - >> QProcessEnvironment::systemEnvironment().value("XDG_DATA_HOME"): "" >> [D] main:77 - >> QProcessEnvironment::systemEnvironment().value("$XDG_CACHE_HOME"): "" >> [D] main:78 - >> QProcessEnvironment::systemEnvironment().value("XDG_CACHE_HOME"): "" >> [D] main:79 - >> QProcessEnvironment::systemEnvironment().value("$XDG_CONFIG_HOME"): "" >> [D] main:80 - >> QProcessEnvironment::systemEnvironment().value("XDG_CONFIG_HOME"): "" > > (i'm returning these values using: qDebug() << > "QProcessEnvironment::systemEnvironment().value(<variable>, ""); > > Using qDebug() << "getenv(<variable>): " << getenv(<variable>); also returns > me an empty value: >> >> [D] main:81 - getenv("XDG_DATA_HOME"): >> [D] main:82 - getenv("$XDG_DATA_HOME"): >> [D] main:83 - getenv("XDG_CACHE_HOME"): >> [D] main:84 - getenv("$XDG_CACHE_HOME"): >> [D] main:85 - getenv("XDG_CONFIG_HOME"): >> [D] main:86 - getenv("$XDG_CONFIG_HOME"): > > > I'm executing the app thought qtcreator in my jolla device (deploying it as > an RPM package). > > What are the correct path values? and how should I get them throught qt?. > > Thanks! > -- > Nicolas Cisco > www.nckweb.com.ar > > > _______________________________________________ > SailfishOS.org Devel mailing list > To unsubscribe, please send a mail to devel-unsubscr...@lists.sailfishos.org > > > > _______________________________________________ > SailfishOS.org Devel mailing list > To unsubscribe, please send a mail to devel-unsubscr...@lists.sailfishos.org -- Luciano Montanaro Anyone who is capable of getting themselves made President should on no account be allowed to do the job. -- Douglas Adams _______________________________________________ SailfishOS.org Devel mailing list To unsubscribe, please send a mail to devel-unsubscr...@lists.sailfishos.org