7 #include "contactwidgetitem.h"
8 #include "itemobserver.h"
10 class XmlControler : public QObject
14 static XmlControler* getInstance();
17 void setItemObserver( ItemObserver *observer );
18 void setItemSelectObserver( ItemSelectObserver *observer );
20 bool newXml( const QString &filename );
21 bool newXml( QIODevice *device );
23 bool readXml( const QString &filename );
24 bool readXml( QIODevice *device );
26 bool writeXml( QIODevice *device );
31 bool createGroup(const QString &groupname);
32 bool createContact(const QString &group, ItemListPtr contacts);
33 bool createContact(const QString &group, Item *contact);
34 bool createContact(QDomNode *group, Item *contact);
36 bool removeGroup(const QString &groupname);
37 bool removeContact(const QString &group, Item *contact);
38 bool removeContact(QDomNode group, Item *contact);
39 bool removeContact( Item *contact );
40 bool removeContactFromGroup( ItemListPtr items, const QString &groupname );
41 bool removeContactFromGroup( ItemListPtr items );
43 void getAllContactItems();
44 void getAllContactItemsFromGroup( QString groupname );
46 QStringList getAllGroupNames();
50 static XmlControler* instance;
51 XmlControler( QObject *parent = 0 );
53 bool createAllContacts();
54 QDomNode findGroup(const QString &groupname);
55 QDomNode findContact(const QString &groupname, Item *contact);
56 QDomNode findContact(QDomNode group, Item *contact);
58 bool cleanAllContacts();
59 bool cleanAllContactsGroup();
62 ItemObserver *itemObserver;
63 ItemSelectObserver *itemSelectObserver;
65 QDomDocument m_DomDoc;
67 ItemListPtr all_contacts_items;
68 ItemListPtr all_contacts_items_group;
77 QString old_groupname;
85 #endif // XMLCONTROLER_H