~ubuntu-branches/ubuntu/karmic/recoll/karmic

« back to all changes in this revision

Viewing changes to qtgui/reslist.h

  • Committer: Bazaar Package Importer
  • Author(s): Kartik Mistry
  • Date: 2007-05-03 12:15:02 UTC
  • Revision ID: james.westby@ubuntu.com-20070503121502-rmfihk303ic03g59
Tags: upstream-1.8.1
ImportĀ upstreamĀ versionĀ 1.8.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#ifndef _RESLIST_H_INCLUDED_
 
2
#define _RESLIST_H_INCLUDED_
 
3
/* @(#$Id: reslist.h,v 1.9 2007/01/19 15:22:50 dockes Exp $  (C) 2005 J.F.Dockes */
 
4
 
 
5
#include <list>
 
6
 
 
7
#ifndef NO_NAMESPACES
 
8
using std::list;
 
9
#endif
 
10
 
 
11
#if (QT_VERSION < 0x040000)
 
12
#include <qtextbrowser.h>
 
13
class QPopupMenu;
 
14
#define RCLPOPUP QPopupMenu
 
15
#define QTEXTBROWSER QTextBrowser
 
16
#else
 
17
#include <q3textbrowser.h>
 
18
class Q3PopupMenu;
 
19
#define RCLPOPUP Q3PopupMenu
 
20
#define QTEXTBROWSER Q3TextBrowser
 
21
#endif
 
22
 
 
23
#include "docseq.h"
 
24
#include "refcntr.h"
 
25
 
 
26
class ResList : public QTEXTBROWSER
 
27
{
 
28
    Q_OBJECT;
 
29
 
 
30
 public:
 
31
    ResList(QWidget* parent = 0, const char* name = 0);
 
32
    virtual ~ResList();
 
33
    
 
34
    // Return document for given docnum. We act as an intermediary to
 
35
    // the docseq here. This has also the side-effect of making the
 
36
    // entry current (visible and highlighted), and only work if the
 
37
    // num is inside the current page or its immediate neighbours.
 
38
    virtual bool getDoc(int docnum, Rcl::Doc &);
 
39
 
 
40
    virtual void setDocSource(RefCntr<DocSequence> source);
 
41
    virtual RCLPOPUP *createPopupMenu(const QPoint& pos);
 
42
    virtual QString getDescription(); // Printable actual query performed on db
 
43
    virtual int getResCnt(); // Return total result list size
 
44
 
 
45
 public slots:
 
46
    virtual void resetSearch();
 
47
    virtual void clicked(int, int);
 
48
    virtual void doubleClicked(int, int);
 
49
    virtual void resPageUpOrBack(); // Page up pressed
 
50
    virtual void resPageDownOrNext(); // Page down pressed
 
51
    virtual void resultPageBack(); // Display previous page of results
 
52
    virtual void resultPageNext(); // Display next (or first) page of results
 
53
    virtual void menuPreview();
 
54
    virtual void menuEdit();
 
55
    virtual void menuCopyFN();
 
56
    virtual void menuCopyURL();
 
57
    virtual void menuExpand();
 
58
    virtual void menuSeeParent();
 
59
    virtual void previewExposed(int);
 
60
 
 
61
 signals:
 
62
    void nextPageAvailable(bool);
 
63
    void prevPageAvailable(bool);
 
64
    void docEditClicked(int);
 
65
    void docPreviewClicked(int, int);
 
66
    void previewRequested(Rcl::Doc);
 
67
    void editRequested(Rcl::Doc);
 
68
    void headerClicked();
 
69
    void docExpand(int);
 
70
    void wordSelect(QString);
 
71
    void linkClicked(const QString&, int);
 
72
 
 
73
 protected:
 
74
    void keyPressEvent(QKeyEvent *e);
 
75
    void contentsMouseReleaseEvent(QMouseEvent *e);
 
76
 
 
77
 protected slots:
 
78
    virtual void languageChange();
 
79
    virtual void linkWasClicked(const QString &, int);
 
80
    virtual void showQueryDetails();
 
81
 
 
82
 private:
 
83
    std::map<int,int>        m_pageParaToReldocnums;
 
84
    RefCntr<DocSequence>     m_docSource;
 
85
    std::vector<Rcl::Doc>    m_curDocs;
 
86
    int                m_winfirst;
 
87
    int                m_popDoc; // Docnum for the popup menu.
 
88
    int                m_curPvDoc;// Docnum for current preview
 
89
    int                m_lstClckMod; // Last click modifier. 
 
90
    list<int>          m_selDocs;
 
91
 
 
92
    virtual int docnumfromparnum(int);
 
93
    virtual int parnumfromdocnum(int);
 
94
 
 
95
    // Don't know why this is necessary but it is
 
96
    void emitLinkClicked(const QString &s) {
 
97
        emit linkClicked(s, m_lstClckMod);
 
98
    };
 
99
};
 
100
 
 
101
 
 
102
#endif /* _RESLIST_H_INCLUDED_ */