From 3308358382c3ed7bca23930bf4fa857ef9afb8c8 Mon Sep 17 00:00:00 2001
From: Emmanuel Lepage <emmanuel.lepage@savoirfairelinux.com>
Date: Fri, 23 Sep 2011 17:55:15 -0400
Subject: [PATCH] Fix config skeleton

---
 kde/src/SFLPhone.cpp                   |  7 +++++--
 kde/src/SFLPhoneView.cpp               |  1 +
 kde/src/conf/ConfigurationSkeleton.cpp | 13 +++++++++++--
 kde/src/conf/ConfigurationSkeleton.h   |  1 -
 kde/src/conf/kcfg_settings.kcfgc       |  6 +++---
 kde/src/conf/sflphone-client-kde.kcfg  |  2 +-
 kde/src/main.cpp                       |  4 ++--
 kde/src/widgets/ContactDock.cpp        | 11 ++++++++++-
 kde/src/widgets/ContactDock.h          |  1 +
 kde/src/widgets/HistoryDock.cpp        |  1 +
 10 files changed, 35 insertions(+), 12 deletions(-)

diff --git a/kde/src/SFLPhone.cpp b/kde/src/SFLPhone.cpp
index 5ea5c4f66c..b7dd70858f 100755
--- a/kde/src/SFLPhone.cpp
+++ b/kde/src/SFLPhone.cpp
@@ -37,6 +37,7 @@
 #include "lib/configurationmanager_interface_singleton.h"
 #include "lib/Contact.h"
 #include "AkonadiBackend.h"
+#include "conf/ConfigurationSkeleton.h"
 
 SFLPhone* SFLPhone::m_sApp = NULL;
 
@@ -75,6 +76,8 @@ bool SFLPhone::initialize()
     return false;
   }
 
+   ConfigurationSkeleton::self();
+
    //Keep these template paramater or the static attribute wont be share between this and the call view, they need to be
    CallModel<CallTreeItem*,QTreeWidgetItem*>* histoModel = new CallModel<CallTreeItem*,QTreeWidgetItem*>(CallModel<CallTreeItem*,QTreeWidgetItem*>::History);
    histoModel->initHistory();
@@ -193,8 +196,8 @@ void SFLPhone::setupActions()
    action_displayDialpad->setCheckable(true);
 
    action_displayVolumeControls->setCheckable(true);
-   action_displayVolumeControls->setChecked(/*configurationManager.getVolumeControls()*/true);
-   action_displayDialpad->setChecked(/*configurationManager.getDialpad()*/true);
+   action_displayVolumeControls->setChecked(ConfigurationSkeleton::displayVolume());
+   action_displayDialpad->setChecked(ConfigurationSkeleton::displayDialpad());
    action_accountCreationWizard = new KAction(i18n("Account creation wizard"), this);
    
    connect(action_accept,                SIGNAL(triggered()),           m_pView , SLOT(accept()                    ));
diff --git a/kde/src/SFLPhoneView.cpp b/kde/src/SFLPhoneView.cpp
index 3cc2aebc93..791c5bfd17 100755
--- a/kde/src/SFLPhoneView.cpp
+++ b/kde/src/SFLPhoneView.cpp
@@ -515,6 +515,7 @@ void SFLPhoneView::displayVolumeControls(bool checked)
 
 void SFLPhoneView::displayDialpad(bool checked)
 {
+   qDebug() <<  "Max res2: " << ConfigurationSkeleton::displayDialpad() << "\n\n\n\n\n\n";
    ConfigurationSkeleton::setDisplayDialpad(checked);
    updateDialpad();
 }
diff --git a/kde/src/conf/ConfigurationSkeleton.cpp b/kde/src/conf/ConfigurationSkeleton.cpp
index b34fc9c7f0..51048fb998 100755
--- a/kde/src/conf/ConfigurationSkeleton.cpp
+++ b/kde/src/conf/ConfigurationSkeleton.cpp
@@ -286,8 +286,9 @@ void ConfigurationSkeleton::writeConfig()
    configurationManager.setHookSettings(hooksSettings);
    
    qDebug() << "Finished to write config\n";*/
-   
-   readConfig();
+   qDebug() <<  "Max res: "  << displayDialpad()  << "\n\n\n\n\n\n";
+   qDebug() <<  "Max res3: " << ConfigurationSkeletonBase::displayDialpad()  << "\n\n\n\n\n\n";
+   ConfigurationSkeletonBase::writeConfig();
 }
 
 // QStringList ConfigurationSkeleton::activeCodecList() const
@@ -299,3 +300,11 @@ void ConfigurationSkeleton::writeConfig()
 // {
 //    codecListModel->setActiveCodecList(v);
 // }
+
+// void ConfigurationSkeleton::writeConfig()
+// {
+//    qDebug() <<  "Max res4: "  << displayDialpad()  << "\n\n\n\n\n\n";
+//    qDebug() <<  "Max res5: " << ConfigurationSkeletonBase::displayDialpad()  << "\n\n\n\n\n\n";
+// 
+//    ConfigurationSkeletonBase::writeConfig();
+// }
\ No newline at end of file
diff --git a/kde/src/conf/ConfigurationSkeleton.h b/kde/src/conf/ConfigurationSkeleton.h
index bee7426864..7584c769cd 100755
--- a/kde/src/conf/ConfigurationSkeleton.h
+++ b/kde/src/conf/ConfigurationSkeleton.h
@@ -62,7 +62,6 @@ public:
     */
    virtual void writeConfig();
    
-   
    static ConfigurationSkeleton * self();
    
    //QStringList activeCodecList() const;
diff --git a/kde/src/conf/kcfg_settings.kcfgc b/kde/src/conf/kcfg_settings.kcfgc
index f976fcf041..10b2271aa0 100755
--- a/kde/src/conf/kcfg_settings.kcfgc
+++ b/kde/src/conf/kcfg_settings.kcfgc
@@ -1,5 +1,5 @@
  
-File=sflphone-client-kde.kcfg 
-ClassName=ConfigurationSkeletonBase 
-Singleton=true 
+File=sflphone-client-kde.kcfg
+ClassName=ConfigurationSkeletonBase
+Singleton=true
 Mutators=true
diff --git a/kde/src/conf/sflphone-client-kde.kcfg b/kde/src/conf/sflphone-client-kde.kcfg
index 70d0d00315..3cbc741791 100755
--- a/kde/src/conf/sflphone-client-kde.kcfg
+++ b/kde/src/conf/sflphone-client-kde.kcfg
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE kcfg SYSTEM "http://www.kde.org/standards/kcfg/1.0/kcfg.dtd">
 <kcfg> 
-  <kcfgfile name="ConfigDialogKDE" /> 
+  <kcfgfile/>
   <group name="main">
 
     <!-- General Settings -->
diff --git a/kde/src/main.cpp b/kde/src/main.cpp
index aecdf42e22..e53989e5cd 100755
--- a/kde/src/main.cpp
+++ b/kde/src/main.cpp
@@ -60,8 +60,8 @@ int main(int argc, char **argv)
       
       int retVal = app.exec();
       
-      ConfigurationSkeleton conf;
-      conf.writeConfig();
+      ConfigurationSkeleton* conf = ConfigurationSkeleton::self();
+      conf->writeConfig();
       return retVal;
    }
    catch(const char * msg)
diff --git a/kde/src/widgets/ContactDock.cpp b/kde/src/widgets/ContactDock.cpp
index d14e62e2e2..ed22e760e2 100644
--- a/kde/src/widgets/ContactDock.cpp
+++ b/kde/src/widgets/ContactDock.cpp
@@ -83,6 +83,8 @@ ContactDock::ContactDock(QWidget* parent) : QDockWidget(parent)
    m_pShowHistoCK->setChecked(ConfigurationSkeleton::displayContactCallHistory());
    m_pShowHistoCK->setText("Display history");
 
+   setHistoryVisible(ConfigurationSkeleton::displayContactCallHistory());
+
    QVBoxLayout* mainLayout = new QVBoxLayout(mainWidget);
 
    mainLayout->addWidget  ( m_pSortByCBB   );
@@ -98,7 +100,7 @@ ContactDock::ContactDock(QWidget* parent) : QDockWidget(parent)
    connect (AkonadiBackend::getInstance(),SIGNAL(collectionChanged()),                                   this,        SLOT(reloadContact()                      ));
    connect (m_pContactView,               SIGNAL(currentItemChanged(QTreeWidgetItem*, QTreeWidgetItem*)),this,        SLOT(loadContactHistory(QTreeWidgetItem*) ));
    connect (m_pFilterLE,                  SIGNAL(textChanged(QString)),                                  this,        SLOT(filter(QString)                      ));
-   connect (m_pShowHistoCK,               SIGNAL(toggled(bool)),                                         m_pCallView, SLOT(setVisible(bool)                     ));
+   connect (m_pShowHistoCK,               SIGNAL(toggled(bool)),                                         this,        SLOT(setHistoryVisible(bool)              ));
    setWindowTitle("Contact");
 }
 
@@ -208,4 +210,11 @@ bool ContactTree::dropMimeData(QTreeWidgetItem *parent, int index, const QMimeDa
    qDebug() << "In history import"<< QString(encodedData);
 
    return false;
+}
+
+void ContactDock::setHistoryVisible(bool visible)
+{
+   qDebug() << "Toggling history visibility";
+   m_pCallView->setVisible(visible);
+   ConfigurationSkeleton::setDisplayContactCallHistory(visible);
 }
\ No newline at end of file
diff --git a/kde/src/widgets/ContactDock.h b/kde/src/widgets/ContactDock.h
index 1361b95dea..b0f6051b0b 100644
--- a/kde/src/widgets/ContactDock.h
+++ b/kde/src/widgets/ContactDock.h
@@ -38,6 +38,7 @@ private slots:
    void reloadContact();
    void loadContactHistory(QTreeWidgetItem* item);
    void filter(QString text);
+   void setHistoryVisible(bool visible);
 };
 
 class ContactTree : public QTreeWidget {
diff --git a/kde/src/widgets/HistoryDock.cpp b/kde/src/widgets/HistoryDock.cpp
index 98cf9481de..2d53ae398f 100644
--- a/kde/src/widgets/HistoryDock.cpp
+++ b/kde/src/widgets/HistoryDock.cpp
@@ -52,6 +52,7 @@ HistoryDock::HistoryDock(QWidget* parent) : QDockWidget(parent)
    m_pLinkPB     = new QPushButton(this);
    
    m_pAllTimeCB->setChecked(ConfigurationSkeleton::displayDataRange());
+   enableDateRange(ConfigurationSkeleton::displayDataRange());
 
    m_pSortByL->setSizePolicy(QSizePolicy::Minimum,QSizePolicy::Preferred);
    m_pSortByCBB->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Preferred);
-- 
GitLab