~ubuntu-branches/ubuntu/edgy/digikam/edgy-updates

« back to all changes in this revision

Viewing changes to digikam/thumbview.h

  • Committer: Bazaar Package Importer
  • Author(s): Achim Bohnet
  • Date: 2005-03-10 02:39:02 UTC
  • mfrom: (1.2.1 upstream) (2.1.1 hoary)
  • Revision ID: james.westby@ubuntu.com-20050310023902-023nymfst5mg696c
Tags: 0.7.2-2
* debian/TODO: clean
* digikam manpage: better --detect-camera description

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#ifndef THUMBVIEW_H
2
 
#define THUMBVIEW_H
3
 
 
4
 
#include <qscrollview.h>
5
 
 
6
 
class QPainter;
7
 
class QMouseEvent;
8
 
class QPaintEvent;
9
 
class QDropEvent;
10
 
class QPoint;
11
 
 
12
 
class ThumbItem;
13
 
class ThumbViewPrivate;
14
 
 
15
 
class ThumbView : public QScrollView {
16
 
 
17
 
    Q_OBJECT
18
 
 
19
 
    friend class ThumbItem;
20
 
    
21
 
public:
22
 
 
23
 
    ThumbView(QWidget* parent=0, const char* name=0,
24
 
              WFlags fl=0);
25
 
    ~ThumbView();
26
 
 
27
 
    ThumbItem* firstItem();
28
 
    ThumbItem* lastItem();
29
 
    ThumbItem* findItem(const QPoint& pos);
30
 
    ThumbItem* findItem(const QString& text);
31
 
 
32
 
    int count();
33
 
    int index(ThumbItem* item);
34
 
    
35
 
    virtual void clear(bool update=true);
36
 
    void rearrangeItems(bool update=true);
37
 
 
38
 
    void repaintBanner();
39
 
 
40
 
    void clearSelection();
41
 
    void selectAll();
42
 
    void invertSelection();
43
 
 
44
 
    void selectItem(ThumbItem* item, bool select);
45
 
 
46
 
    virtual void insertItem(ThumbItem *item);
47
 
    virtual void takeItem(ThumbItem *item);
48
 
    void updateItemContainer(ThumbItem *item);
49
 
    QRect contentsRectToViewport(const QRect& r);
50
 
 
51
 
    void ensureItemVisible(ThumbItem *item);
52
 
    ThumbItem *findFirstVisibleItem(const QRect &r ) const;
53
 
    ThumbItem *findLastVisibleItem(const  QRect &r ) const;
54
 
 
55
 
    void sort();
56
 
    
57
 
protected:
58
 
 
59
 
    virtual void contentsMousePressEvent(QMouseEvent *e);
60
 
    virtual void contentsMouseMoveEvent(QMouseEvent *e);
61
 
    virtual void contentsMouseReleaseEvent(QMouseEvent *e);
62
 
    virtual void contentsMouseDoubleClickEvent(QMouseEvent *e);
63
 
    
64
 
    virtual void viewportPaintEvent(QPaintEvent *pe);
65
 
    virtual void resizeEvent(QResizeEvent* e);
66
 
 
67
 
    virtual void keyPressEvent(QKeyEvent *e);
68
 
        
69
 
    virtual void calcBanner();
70
 
    virtual void paintBanner(QPainter *p);
71
 
    virtual void setBannerRect(const QRect& r);
72
 
    QRect bannerRect();
73
 
 
74
 
    virtual void startDrag();
75
 
    virtual void contentsDropEvent(QDropEvent *e);
76
 
 
77
 
private:
78
 
 
79
 
    void drawRubber(QPainter *p);
80
 
 
81
 
    void rebuildContainers();
82
 
    void appendContainer();
83
 
    void deleteContainers();
84
 
 
85
 
private:
86
 
 
87
 
    ThumbItem* makeRow(ThumbItem *begin, int &y, bool &changed);
88
 
    void emitRenamed(ThumbItem *item);
89
 
 
90
 
private:
91
 
 
92
 
 
93
 
    ThumbViewPrivate *d;
94
 
    ThumbItem *renamingItem;
95
 
 
96
 
signals:
97
 
 
98
 
    void signalSelectionChanged();
99
 
    void signalRightButtonClicked(const QPoint &pos);
100
 
    void signalRightButtonClicked(ThumbItem *item, const QPoint &pos);
101
 
    void signalDoubleClicked(ThumbItem *item);
102
 
    void signalReturnPressed(ThumbItem *item);
103
 
    void signalItemRenamed(ThumbItem *item);
104
 
 
105
 
public slots:
106
 
 
107
 
    void slotUpdate();
108
 
    
109
 
};
110
 
 
111
 
#endif