diff options
author | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
---|---|---|
committer | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
commit | e9ae80694875f869892f13f4fcaf1170a00dea41 (patch) | |
tree | aa2f8d8a217e2d376224c8d46b7397b68d35de2d /quanta/project/uploadprofiles.h | |
download | tdewebdev-e9ae80694875f869892f13f4fcaf1170a00dea41.tar.gz tdewebdev-e9ae80694875f869892f13f4fcaf1170a00dea41.zip |
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdewebdev@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'quanta/project/uploadprofiles.h')
-rw-r--r-- | quanta/project/uploadprofiles.h | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/quanta/project/uploadprofiles.h b/quanta/project/uploadprofiles.h new file mode 100644 index 00000000..20d77b80 --- /dev/null +++ b/quanta/project/uploadprofiles.h @@ -0,0 +1,108 @@ +// +// C++ Interface: UploadProfiles +// +// Description: +// +// +// Author: Jens Herden <jens@kdewebdev.org>, (C) 2004 +// +// Copyright: See COPYING file that comes with this distribution +// +// + +#ifndef UPLOADPROFILES_H +#define UPLOADPROFILES_H + +// QT includes +#include <qmap.h> +#include <qdom.h> +#include <qguardedptr.h> + +// KDE includes +#include <kurl.h> + + +class QObject; + +/** + @short The internal representation of upload profiles. + +*/ + + +struct UploadProfile +{ + QString name; ///< name of profile + QDomElement domElement; ///< domtree element of this profile + QGuardedPtr<QWidget> treeview; ///< treeview for this url +}; + +/** a map for the upload profiles */ +typedef QMap<QString, UploadProfile> UploadProfileMap; + + +class UploadProfiles : public UploadProfileMap +{ +public: + /** + * since this class is a singleton you must use this function to access it + */ + static UploadProfiles* const ref() + { + static UploadProfiles *m_ref; + if (!m_ref) m_ref = new UploadProfiles(); + return m_ref; + } + + ~UploadProfiles(); + + /** + reads the available profiles from the tree and fills the map + + @param the dom document to parse + */ + void readFromXML(const QDomDocument &dom); + + /** + removes a profile from the map and the dom tree + + @param the profile to remove + + @return true if profile was found and removed + */ + bool removeFromMapAndXML(const QString &name); + + /** + clears the map and removes all treeviews + */ + void clear(); + +private: + /** The constructor is privat because we use singleton pattern. + * If you need the class use UploadProfiles::ref() for + * construction and reference + */ + UploadProfiles(); + + /** + creates a treeview for a profile and adds it to the right toolviews + + @param profile the profile + + @return the pointer to the treeview + */ + QWidget * createTreeview(const UploadProfile &profile); + + /** + creates a KURL from a QDomElement + + @param e a QDomElement where the path is saved + + @return KURL of the location + */ + KURL url(const QDomElement &e); + + QDomNode m_profilesNode; ///< under this node the profiles are saved in the dom tree +}; + +#endif |