resourcemanager.cpp
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034 #include "knotes/resourcemanager.h"
00035 #include "knotes/resourcelocal.h"
00036
00037 #include <libkcal/journal.h>
00038
00039
00040 KNotesResourceManager::KNotesResourceManager()
00041 : QObject( 0, "KNotes Resource Manager" )
00042 {
00043 m_manager = new KRES::Manager<ResourceNotes>( "notes" );
00044 m_manager->addObserver( this );
00045 m_manager->readConfig();
00046 }
00047
00048 KNotesResourceManager::~KNotesResourceManager()
00049 {
00050 delete m_manager;
00051 }
00052
00053 void KNotesResourceManager::load()
00054 {
00055 if ( !m_manager->standardResource() )
00056 {
00057 kdWarning(5500) << "No standard resource yet." << endl;
00058 ResourceNotes *resource = new ResourceLocal( 0 );
00059 m_manager->add( resource );
00060 m_manager->setStandardResource( resource );
00061 }
00062
00063
00064 KRES::Manager<ResourceNotes>::ActiveIterator it;
00065 for ( it = m_manager->activeBegin(); it != m_manager->activeEnd(); ++it )
00066 {
00067 kdDebug(5500) << "Opening resource " + (*it)->resourceName() << endl;
00068 (*it)->setManager( this );
00069 if ( (*it)->open() )
00070 (*it)->load();
00071 }
00072 }
00073
00074 void KNotesResourceManager::save()
00075 {
00076 KRES::Manager<ResourceNotes>::ActiveIterator it;
00077 for ( it = m_manager->activeBegin(); it != m_manager->activeEnd(); ++it )
00078 (*it)->save();
00079 }
00080
00081
00082
00083 void KNotesResourceManager::addNewNote( KCal::Journal *journal )
00084 {
00085
00086 ResourceNotes *resource = m_manager->standardResource();
00087 if ( resource )
00088 {
00089 resource->addNote( journal );
00090 registerNote( resource, journal );
00091 }
00092 else
00093 kdWarning(5500) << k_funcinfo << "no resource!" << endl;
00094 }
00095
00096 void KNotesResourceManager::registerNote( ResourceNotes *resource,
00097 KCal::Journal *journal )
00098 {
00099
00100 m_resourceMap.insert( journal->uid(), resource );
00101 emit sigRegisteredNote( journal );
00102 }
00103
00104 void KNotesResourceManager::deleteNote( KCal::Journal *journal )
00105 {
00106 QString uid = journal->uid();
00107
00108
00109 m_resourceMap[ uid ]->deleteNote( journal );
00110 m_resourceMap.remove( uid );
00111
00112
00113
00114 emit sigDeregisteredNote( journal );
00115 }
00116
00117 void KNotesResourceManager::resourceAdded( ResourceNotes *resource )
00118 {
00119 kdDebug(5500) << "Resource added: " << resource->resourceName() << endl;
00120
00121 if ( !resource->isActive() )
00122 return;
00123
00124 resource->setManager( this );
00125 if ( resource->open() )
00126 resource->load();
00127 }
00128
00129 void KNotesResourceManager::resourceModified( ResourceNotes *resource )
00130 {
00131 kdDebug(5500) << "Resource modified: " << resource->resourceName() << endl;
00132 }
00133
00134 void KNotesResourceManager::resourceDeleted( ResourceNotes *resource )
00135 {
00136 kdDebug(5500) << "Resource deleted: " << resource->resourceName() << endl;
00137 }
00138
00139
00140 #include "resourcemanager.moc"
This file is part of the documentation for knotes Library Version 3.3.2.