Diffstat (limited to 'core/pim/todo/todotemplatemanager.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | core/pim/todo/todotemplatemanager.cpp | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/core/pim/todo/todotemplatemanager.cpp b/core/pim/todo/todotemplatemanager.cpp index 02941ac..5b83f76 100644 --- a/core/pim/todo/todotemplatemanager.cpp +++ b/core/pim/todo/todotemplatemanager.cpp @@ -10,13 +10,13 @@ using namespace Todo; TemplateManager::TemplateManager() { m_path = Global::applicationFileName("todolist", "templates.xml"); } TemplateManager::~TemplateManager() { - + save(); } void TemplateManager::load() { Config conf("todolist_templates"); OTodoAccessXML *xml = new OTodoAccessXML( QString::fromLatin1("template"), m_path ); OTodoAccess todoDB(xml ); @@ -28,22 +28,24 @@ void TemplateManager::load() { OTodo ev = (*it); conf.setGroup( QString::number( ev.uid() ) ); QString str = conf.readEntry("Name", QString::null ); if (str.isEmpty() ) continue; - m_templates.insert( str, - ev ); + m_templates.insert( str, ev ); } } void TemplateManager::save() { + qWarning("Saving!!!!"); Config conf("todolist_templates"); OTodoAccessXML *res = new OTodoAccessXML( "template", m_path ); OTodoAccess db(res); + db.load(); + db.clear(); QMap<QString, OTodo>::Iterator it; for ( it = m_templates.begin(); it != m_templates.end(); ++it ) { OTodo ev = it.data(); conf.setGroup( QString::number( ev.uid() ) ); @@ -53,13 +55,17 @@ void TemplateManager::save() { } db.save(); } void TemplateManager::addEvent( const QString& str, const OTodo& ev) { qWarning("AddEvent"+ str ); - m_templates.replace( str, ev ); + OTodo todo = ev; + if( ev.uid() == 0 ) + todo.setUid(1); // generate a new uid + + m_templates.replace( str, todo ); } void TemplateManager::removeEvent( const QString& str ) { m_templates.remove( str ); } QStringList TemplateManager::templates() const { QStringList list; |