00001
00002
00003
00004 #ifndef _SLCATEGORIES_H_INCLUDED
00005 #define _SLCATEGORIES_H_INCLUDED
00006
00007 #include <qobject.h>
00008 #include <qstring.h>
00009 #include <qstringlist.h>
00010 #include "slzdtm.h"
00011
00012 namespace SlCategory {
00013
00014 using namespace SlZDtm;
00015
00016 class SlCategoriesPrivate;
00017 class SlCategories
00018 {
00019 public:
00020 SlCategories(const char *filerBoxName=NULL);
00021 ~SlCategories();
00022 bool open();
00023 bool close();
00024 int addCategory(const QString &name);
00025 int addSystemCategory(const QString &name);
00026 bool removeCategory(const QString &name);
00027 int id(const QString &name) const;
00028 QArray<int> ids(const QStringList &labels) const;
00029 QString label(int id) const;
00030 QStringList labels(bool includesUnfiled=true) const;
00031 bool exists(const QString &name) const;
00032 bool renameCategory(const QString &oldName,const QString &newName);
00033 bool isSystemCategory(const QString &name) const;
00034 bool isSystemCategory(int id) const;
00035
00036 static bool createFile(const char* path=0);
00037 static QString boxFileName();
00038 static QString indexFileName();
00039
00040 private:
00041 SlCategoriesPrivate *p;
00042 };
00043
00044 }
00045
00046 #endif