diff options
Diffstat (limited to 'quanta/treeviews/templatestreeview.h')
-rw-r--r-- | quanta/treeviews/templatestreeview.h | 162 |
1 files changed, 162 insertions, 0 deletions
diff --git a/quanta/treeviews/templatestreeview.h b/quanta/treeviews/templatestreeview.h new file mode 100644 index 00000000..c0df69e5 --- /dev/null +++ b/quanta/treeviews/templatestreeview.h @@ -0,0 +1,162 @@ +/*************************************************************************** + templatestreeview.h - description + ------------------- + begin : Thu Dec 20 2001 + copyright : (C) 2001-2004 by Andras Mantia <amantia@kde.org> + ***************************************************************************/ + +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; version 2 of the License. * + * * + ***************************************************************************/ + +#ifndef TEMPLATESTREEVIEW_H +#define TEMPLATESTREEVIEW_H + +//own includes +#include "basetreeview.h" +#include "quantacommon.h" + +//forward declarations +class QuantaPropertiesPage; +class KMainWindow; + +class TemplatesTreeBranch : public BaseTreeBranch { + +public: + TemplatesTreeBranch(KFileTreeView *parent, const KURL& url, + const QString& name, const QPixmap& pix, + bool showHidden = false, KFileTreeViewItem *branchRoot = 0L); + + /** read the mimetype */ + virtual KFileTreeViewItem* createTreeViewItem(KFileTreeViewItem *parent, + KFileItem *fileItem ); +}; + + +class TemplatesTreeView : public BaseTreeView { + Q_OBJECT + +public: + + /** + * since this class is a singleton you must use this function to access it + * + * the parameter are only used at the first call to create the class + * + */ + static TemplatesTreeView* const ref(KMainWindow *parent = 0L, const char *name = 0L) + { + static TemplatesTreeView *m_ref; + if (!m_ref) m_ref = new TemplatesTreeView (parent, name); + return m_ref; + } + + ~TemplatesTreeView(); + /** Writes a .dirinfo file from the selected item's path */ + bool writeDirInfo(const QString& dirInfoFile = QString::null); + /** Reads a .dirinfo file from the selected item's path */ + DirInfo readDirInfo(const QString& dir = QString::null); + + +public slots: + + /** Inserts the content of the selected template into the + * activ document + */ + void slotInsertInDocument(); + + /** + * displays the RBM + * + * + * @param listView KListView where the event comes from + * + * @param item QListViewItem where the mousepointer is hovering + * + * @param point QPoint coordinates of the event + * + */ + void slotMenu(KListView *listView, QListViewItem *item, const QPoint &point); + /** Creates a new document based in the selected template. */ + void slotNewDocument(); + /** Insert the template as text, image, new document. */ + void slotInsert(); + /** Extracts the site template to an user specified directory */ + void slotExtractSiteTemplate(); + /** No descriptions */ + void slotNewDir(); + /** Handles dropping on the document from the template tree */ + void slotDragInsert(QDropEvent *); + + /** + * slot for the RBM + * + * packs and sends files or folders as attachment to an email + */ + void slotSendInMail(); + void slotUploadTemplate(); + virtual void slotSelectFile(QListViewItem *item); + void slotOpen(); + void slotPaste(); + void slotDelete(); + /** Properties dialog for template view */ + virtual void slotProperties(); + /** Property application for template view */ + virtual void slotPropertiesApplied(); + void slotInsertTag(); + + /** Sets the project template directory */ + void slotNewProjectLoaded(const QString &, const KURL &, const KURL &); + +private: + + /** The constructor is privat because we use singleton pattern. + * If you need the class use TemplatesTreeView::ref() for + * construction and reference + */ + TemplatesTreeView(KMainWindow *parent, const char *name = 0L); + /** Filters the template through and action, and returns the modified/filtered + template file */ + KURL filterTemplate(); + void writeTemplateInfo(); + void updateTypeDescription(KFileTreeViewItem *item, const QString &typeString); + + BaseTreeBranch *m_projectDir; + int m_deleteMenuId; + int m_openId; + int m_reloadMenuId; + int m_downloadMenuId; + QuantaPropertiesPage *m_quantaProperties; + QString m_projectName; + KURL localURL; + KURL globalURL; + KPopupMenu *m_fileMenu; + KPopupMenu *m_folderMenu; + KPopupMenu *m_emptyAreaMenu; + KMainWindow *m_mainWindow; + DirInfo m_dirInfo; + DirInfo m_parentDirInfo; + int m_insertFileInProject; + int m_insertFolderInProject; + int m_menuClose; ///< remembers the menu entry + int m_menuPasteFolder; ///< remembers the menu entry + +signals: // Signals + void insertFile(const KURL &); + void downloadTemplate(); + void uploadTemplate(const QString&); + +protected: // Protected methods + KFileTreeBranch* newBranch(const KURL& url); + virtual QDragObject * dragObject(); +// virtual void startDrag(); + void contentsDropEvent(QDropEvent *event); + bool acceptDrag(QDropEvent* e ) const; + QString createTemplateTarball(); +}; + +#endif |