void KviApplication::saveKvircDirectory() { // Here we save the local directory path #ifdef COMPILE_KDE_SUPPORT // In KDE we use the application config file if(m_szConfigFile.isEmpty()) { // not if user supplied a config file KConfig * pCfg = new KConfig("kvirc"); KConfigGroup * pCfgMainGroup = new KConfigGroup(pCfg, "Main"); if(pCfg) { if(pCfg->accessMode() == KConfig::ReadWrite) { pCfgMainGroup->writeEntry("LocalKvircDirectory", m_szLocalKvircDir); pCfgMainGroup->writeEntry("SourcesDate", KVI_SOURCES_DATE_NUMERIC); pCfg->sync(); delete pCfgMainGroup; pCfgMainGroup = nullptr; return; } } } #endif //COMPILE_KDE_SUPPORT // In NON-KDE we use $HOME/.kvirc4.rc or $HOME/kvirc4.ini QString szF = QDir::homePath(); if(!m_szConfigFile.isEmpty()) { //Must be changed from QString::fromLocal8Bit to QTextCodec::codecForLocale() QString szConfig = m_szConfigFile; if(QDir::isRelativePath(szConfig)) { szF += KVI_PATH_SEPARATOR; szF += szConfig; } else { szF = szConfig; } } else { szF += KVI_PATH_SEPARATOR; szF += KVI_HOME_CONFIG_FILE_NAME; } //FIXME: LOCALE BROKEN!!! KviConfigurationFile cfgx(szF, KviConfigurationFile::Write); cfgx.setGroup("Main"); cfgx.writeEntry("LocalKvircDirectory", m_szLocalKvircDir); cfgx.writeEntry("SourcesDate", KVI_SOURCES_DATE_NUMERIC); }