summaryrefslogtreecommitdiffstats
path: root/quanta/treeviews/doctreeview.h
blob: 8061085df93be3ce9efc5236aa23fb1cc11bd9b5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
/***************************************************************************
                          doctreeview.h  -  description
                             -------------------
    begin                : Sat Mar 4 2000
    copyright            : (C) 2000 by Yacovlev Alexander & Dmitry Poplavsky <pdima@mail.univ.kiev.ua>
                           (C) 2002, 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 DOCTREEVIEW_H
#define DOCTREEVIEW_H

//qt includes
#include <qdict.h>
#include <qvaluelist.h>

//kde includes
#include <klistview.h>

class DocFolder;
class KPopupMenu;


/**
  *@author Yacovlev Alexander & Dmitry Poplavsky
  */

class DocTreeView : public KListView  {
   Q_OBJECT
public:
  DocTreeView(QWidget *parent=0, const char *name=0);
  ~DocTreeView();

  QString *contextHelp(const QString &keyword);

public slots:
  void slotNewProjectLoaded(const QString &, const KURL &, const KURL &);
  void slotReloadProjectDocs();
  void slotAddProjectDoc(const KURL& url);
  /** Re-reads the documentation directories. */
  void slotRefreshTree();

signals:
  void openURL(const QString& );
  void reloadProjectDocs();
  void downloadDoc();

private slots:
  void clickItem( QListViewItem *);
  void slotDoubleClicked(QListViewItem *);
  void slotMenu(KListView *, QListViewItem *item, const QPoint &point);


private:

  QDict<QString> *contextHelpDict;
  QValueList<DocFolder *> m_folderList;
  KListViewItem *projectDocFolder;
  KPopupMenu *m_contextMenu;
  int m_menuReload;
};

#endif