[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE/kdevelop/buildtools/managers/cmake
From:       Andreas Pakulat <apaku () gmx ! de>
Date:       2007-12-31 17:24:35
Message-ID: 1199121875.515539.22524.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 755213 by apaku:

Fix saving of cmake settings to the developer specific file


 M  +2 -2      cmakeconfig.kcfg  
 M  +21 -24    cmakepreferences.cpp  
 M  +0 -1      cmakepreferences.h  


--- trunk/KDE/kdevelop/buildtools/managers/cmake/cmakeconfig.kcfg #755212:755213
@@ -3,11 +3,11 @@
 <kcfg>
   <kcfgfile arg="true"/>
   <group name="CMake">
-    <entry name="buildDirs" key="BuildDirs" type="StringList" />
+    <entry name="buildDirs" key="BuildDirs" type="PathList" />
     <entry name="currentBuildDir" key="CurrentBuildDir" type="Url" />
     <entry name="currentInstallDir" key="CurrentInstallDir" type="Url" />
     <entry name="cmakeDir" key="CMakeDir" type="Url" />
     
-    <entry name="lastCMakeBin" key="LastCMakeBin" type="Url" />
+    <entry name="cmakeBin" key="Current CMake Binary" type="Url" />
   </group>
 </kcfg>
--- trunk/KDE/kdevelop/buildtools/managers/cmake/cmakepreferences.cpp #755212:755213
@@ -55,16 +55,10 @@
     connect(m_prefsUi->showAdvanced, SIGNAL(toggled(bool)), this, \
SLOT(showAdvanced(bool)));  
     showInternal(m_prefsUi->showInternal->checkState());
+    //TODO: This will break when the kdevelop project file is not inside the source \
dir  m_srcFolder=KUrl(args[0].toString());
     m_srcFolder=m_srcFolder.upUrl();
 
-    foreach(QVariant v, args) { //FIXME: This sucks
-        QString arg=v.toString();
-        if(arg.contains("/.kdev4/")) {
-            m_cfg = KSharedConfig::openConfig(arg);
-            break;
-        }
-    }
     m_prefsUi->showAdvanced->setChecked(false);
     showAdvanced(false);
     load();
@@ -76,16 +70,12 @@
 void CMakePreferences::load()
 {
     ProjectKCModule<CMakeSettings>::load();
-//     kDebug(9032) << "********loading";
+    CMakeSettings::self()->readConfig();
+    kDebug(9032) << "********loading";
 
-    KConfigGroup group(m_cfg.data(), "CMake");
-    QStringList bDirs=group.readPathEntry("BuildDirs", QStringList());
-    m_prefsUi->buildDirs->addItems(bDirs);
+    m_prefsUi->buildDirs->addItems(CMakeSettings::buildDirs());
+    m_prefsUi->buildDirs->setCurrentIndex( m_prefsUi->buildDirs->findText( \
CMakeSettings::currentBuildDir().toLocalFile() ) );  
-    QString current=group.readEntry("CurrentBuildDir");
-    m_prefsUi->buildDirs->setCurrentIndex(0); //FIXME should use current
-    kDebug(9032) << "builddirs" << bDirs;
-
 //     QString cmDir=group.readEntry("CMakeDirectory");
 //     m_prefsUi->kcfg_cmakeDir->setUrl(KUrl(cmDir));
 //     kDebug(9032) << "cmakedir" << cmDir;
@@ -93,8 +83,7 @@
 
 void CMakePreferences::save()
 {
-    ProjectKCModule<CMakeSettings>::save();
-//     kDebug(9032) << "*******saving";
+    kDebug(9032) << "*******saving";
     QStringList bDirs;
     int count=m_prefsUi->buildDirs->model()->rowCount();
     for(int i=0; i<count; i++)
@@ -102,14 +91,22 @@
         bDirs += m_prefsUi->buildDirs->itemText(i);
     }
 
-    KConfigGroup group(m_cfg.data(), "CMake");
-    group.writeEntry("BuildDirs", bDirs);
-    group.writeEntry("Current CMake Binary", m_currentModel->value("CMAKE_COMMAND") \
                );
-    group.writeEntry("CurrentBuildDir", m_prefsUi->buildDirs->currentText());
-    group.writeEntry("CurrentInstallDir", \
                m_currentModel->value("CMAKE_INSTALL_PREFIX"));
-    group.writeEntry("CurrentBuildType", m_currentModel->value("CMAKE_BUILD_TYPE"));
+    KConfigSkeletonItem* item = CMakeSettings::self()->findItem("buildDirs");
+    item->setProperty( QVariant( bDirs ) );
+    
+    item = CMakeSettings::self()->findItem("currentBuildDir");
+    item->setProperty( qVariantFromValue<KUrl>( KUrl( \
m_prefsUi->buildDirs->currentText() ) ) ); +    
+    item = CMakeSettings::self()->findItem("cmakeBin");
+    item->setProperty( qVariantFromValue<KUrl>( KUrl( \
m_currentModel->value("CMAKE_COMMAND") ) ) ); +    
+    item = CMakeSettings::self()->findItem("currentInstallDir");
+    item->setProperty( qVariantFromValue<KUrl>( KUrl( \
m_currentModel->value("CMAKE_INSTALL_PREFIX") ) ) );  m_currentModel->writeDown();
-    m_cfg->sync();
+    
+    kDebug(9032) << "doing real save from ProjectKCModule";
+    ProjectKCModule<CMakeSettings>::save();
+    CMakeSettings::self()->writeConfig();
 }
 
 void CMakePreferences::defaults()
--- trunk/KDE/kdevelop/buildtools/managers/cmake/cmakepreferences.h #755212:755213
@@ -54,7 +54,6 @@
         void showAdvanced(bool v);
     private:
         KUrl m_srcFolder;
-        KSharedConfig::Ptr m_cfg;
         void updateCache( const KUrl & );
         Ui::CMakeBuildSettings* m_prefsUi;
         CMakeCacheModel* m_currentModel;


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic