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/treeviews/projecttreeview.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/treeviews/projecttreeview.h')
| -rw-r--r-- | quanta/treeviews/projecttreeview.h | 176 | 
1 files changed, 176 insertions, 0 deletions
| diff --git a/quanta/treeviews/projecttreeview.h b/quanta/treeviews/projecttreeview.h new file mode 100644 index 00000000..3bd7548d --- /dev/null +++ b/quanta/treeviews/projecttreeview.h @@ -0,0 +1,176 @@ +/*************************************************************************** +                          projecttreeview.h  -  description +                             ------------------- +    begin                : Tue Mar 14 2000 +    copyright            : (C) 2000 by Yacovlev Alexander & Dmitry Poplavsky <pdima@mail.univ.kiev.ua> +                           (C) 2001-2004 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; either version 2 of the License, or     * + *   (at your option) any later version.                                   * + *                                                                         * + ***************************************************************************/ + +#ifndef PROJECTTREEVIEW_H +#define PROJECTTREEVIEW_H + +//own includes +#include "basetreeview.h" +//#include "projecturl.h" + +class KIO::Job; +class FileInfoDlg; +class ProjectList; + +class ProjectTreeViewItem : public BaseTreeViewItem { + +public: +  ProjectTreeViewItem( KFileTreeViewItem *parent, KFileItem* item, KFileTreeBranch *brnch ); +  /** makes document root italics */ +  void paintCell(QPainter *p, const QColorGroup &cg, int column, int width, int align); +}; + +class ProjectTreeBranch : public BaseTreeBranch { + +public: +  ProjectTreeBranch(KFileTreeView *parent, const KURL& url, +                    const QString& name, const QPixmap& pix, +                    bool showHidden = false, KFileTreeViewItem *branchRoot = 0L); + +  /** check for CVS and visible*/ +  virtual KFileTreeViewItem* createTreeViewItem(KFileTreeViewItem *parent, +                                                KFileItem *fileItem ); + +  /** only files in list will be shown */ +  ProjectList *urlList; +}; + + + +class ProjectTreeView : public BaseTreeView  { +  Q_OBJECT + +public: +  /** +   *  since this class is a singleton you must use this function to access it +   * +   *  the parameters are only used at the first call to create the class +   * +   */ +  static ProjectTreeView* const ref(QWidget *parent = 0L, const char *name = 0L) +  { +    static ProjectTreeView *m_ref; +    if (!m_ref) m_ref = new ProjectTreeView(parent, name); +    return m_ref; +  } + +  virtual ~ProjectTreeView(); +  bool isDocumentFolder(const KURL &url); +  ProjectTreeBranch* rootBranch() {return m_projectDir;} +  void plugCVSMenu(); + +public slots: // Public slots +  void slotOpen(); +  void slotLoadToolbar(); +  void slotReloadTree(ProjectList *a_fileList, bool buildNewtree, const QStringList &folderToOpen); +  /** Sets new project information */ +  void slotNewProjectLoaded(const QString &, const KURL &, const KURL &); +  void slotPopulateFinished(KFileTreeViewItem* ); +  /** makes the url visible in the tree */ +  void slotViewActivated(const KURL&); +  /** fills the list with the url's of the open folder  */ +  void slotGetTreeStatus(QStringList *folderToOpen) +  { +    m_projectDir->addOpenFolder(folderToOpen); +  } + + + +protected slots: +  void slotMenu(KListView *listView, QListViewItem *item, const QPoint &point); +  void slotRenameItem(QListViewItem* kvtvi, const QString & newText, int col); +  virtual void slotCreateFolder(); +  virtual void slotCreateFile(); + +signals: // Signals +  void removeFromProject( const KURL& ); +  /** No descriptions */ +  void rescanProjectDir(); +  /** No descriptions */ +  void showProjectOptions(); +  void insertToProject(const KURL&); +  void uploadSingleURL(const KURL&, const QString&, bool, bool); +  void loadToolbarFile(const KURL&); +  void uploadProject(); +  void changeFileDescription(const KURL& url, const QString& desc); +  void changeUploadStatus(const KURL& url, int status); +  void changeDocumentFolderStatus(const KURL& url, bool status); +  void reloadProject(); + +private: +  /** The constructor is privat because we use singleton patter. +   *  If you need the class use ProjectTreeView::ref() for +   *  construction and reference +   */ +  ProjectTreeView(QWidget *parent, const char *name); + +  ProjectTreeBranch *m_projectDir; +  KPopupMenu *m_fileMenu; +  KPopupMenu *m_folderMenu; +  KPopupMenu *m_projectMenu; +  KURL m_documentRootURL; +  ProjectTreeViewItem *m_documentRootItem; +  KURL::List m_documentFolderList; +  KPopupMenu *m_uploadStatusMenu; +  ProjectList *m_projectFiles; +  int m_menuClose;                ///< remembers the menu entry + +  int m_openInQuantaId;  ///< remembers the menu entry +  int m_setDocumentRootId; +  int m_alwaysUploadId; +  int m_neverUploadId; +  int m_confirmUploadId; + +protected: +  /** +  creates a branch and adds this branch to the treeview +  @param url the root of the branch +  @return the new branch +  */ +  virtual KFileTreeBranch* newBranch(const KURL& url); +  /** +  called when the description of an item was changed, +  @param item the treeview item +  @param newDesc the new description of item +  */ +  void itemDescChanged(KFileTreeViewItem* item, const QString& newDesc); +  /** +  adds the Quanta fileinfopage to the properties dialog +  overwritten to enable the file description +  @param propDlg the dialog where to add the page +  @return pointer to to just added page +  */ +  virtual FileInfoDlg* addFileInfoPage(KPropertiesDialog *propDlg); + +private slots: // Private slots +  /** No descriptions */ +  void slotUploadProject(); +  /** Bring up the project options dialog */ +  void slotOptions(); +  /** No descriptions */ +  void slotRescan(); +  void slotRemoveFromProject(int askForRemove = 1); +  void slotUploadSingleURL(); +  void slotQuickUploadURL(); +  void slotAlwaysUpload(); +  void slotNeverUpload(); +  void slotConfirmUpload(); +  void slotUploadMenuAboutToShow(); +  void slotChangeDocumentFolderStatus(); +}; + +#endif | 
