summaryrefslogtreecommitdiff
path: root/core/pim/todo/todotemplatemanager.cpp
Side-by-side diff
Diffstat (limited to 'core/pim/todo/todotemplatemanager.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--core/pim/todo/todotemplatemanager.cpp14
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;