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 @@ -8,17 +8,17 @@ 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 ); todoDB.load(); @@ -26,42 +26,48 @@ void TemplateManager::load() { OTodoAccess::List list = todoDB.allRecords(); for ( it = list.begin(); it != list.end(); ++it ) { 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() ) ); qWarning("Name" + it.key() ); conf.writeEntry("Name", it.key() ); db.add( ev ); } 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; QMap<QString, OTodo>::ConstIterator it; for (it = m_templates.begin(); it != m_templates.end(); ++it ) { |