summaryrefslogtreecommitdiffabout
path: root/korganizer/koagendaitem.h
Unidiff
Diffstat (limited to 'korganizer/koagendaitem.h') (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/koagendaitem.h17
1 files changed, 12 insertions, 5 deletions
diff --git a/korganizer/koagendaitem.h b/korganizer/koagendaitem.h
index 27ee720..17cf975 100644
--- a/korganizer/koagendaitem.h
+++ b/korganizer/koagendaitem.h
@@ -1,167 +1,174 @@
1/* 1/*
2 This file is part of KOrganizer. 2 This file is part of KOrganizer.
3 Copyright (c) 2000,2001 Cornelius Schumacher <schumacher@kde.org> 3 Copyright (c) 2000,2001 Cornelius Schumacher <schumacher@kde.org>
4 4
5 This program is free software; you can redistribute it and/or modify 5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by 6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or 7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version. 8 (at your option) any later version.
9 9
10 This program is distributed in the hope that it will be useful, 10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details. 13 GNU General Public License for more details.
14 14
15 You should have received a copy of the GNU General Public License 15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software 16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18*/ 18*/
19#ifndef KOAGENDAITEM_H 19#ifndef KOAGENDAITEM_H
20#define KOAGENDAITEM_H 20#define KOAGENDAITEM_H
21 21
22#include <qframe.h> 22#include <q3frame.h>
23#include <qlabel.h> 23#include <qlabel.h>
24#include <qpixmap.h> 24#include <qpixmap.h>
25#include <qdatetime.h> 25#include <qdatetime.h>
26#include <qpalette.h> 26#include <qpalette.h>
27//Added by qt3to4:
28#include <QDropEvent>
29#include <QPaintEvent>
30#include <QResizeEvent>
31#include <Q3PtrList>
32#include <QEvent>
33#include <QDragEnterEvent>
27 34
28#include <libkcal/incidence.h> 35#include <libkcal/incidence.h>
29 36
30class KOAgendaItemWhatsThis; 37class KOAgendaItemWhatsThis;
31class QToolTipGroup; 38class QToolTipGroup;
32class QDragEnterEvent; 39class QDragEnterEvent;
33class QDropEvent; 40class QDropEvent;
34 41
35using namespace KCal; 42using namespace KCal;
36 43
37/* 44/*
38 The KOAgendaItem has to make sure that it receives all mouse events, which are 45 The KOAgendaItem has to make sure that it receives all mouse events, which are
39 to be used for dragging and resizing. That means it has to be installed as 46 to be used for dragging and resizing. That means it has to be installed as
40 eventfiler for its children, if it has children, and it has to pass mouse 47 eventfiler for its children, if it has children, and it has to pass mouse
41 events from the cildren to itself. See eventFilter(). 48 events from the cildren to itself. See eventFilter().
42*/ 49*/
43class KOAgendaItem : public QWidget 50class KOAgendaItem : public QWidget
44{ 51{
45 Q_OBJECT 52 Q_OBJECT
46 public: 53 public:
47 KOAgendaItem(Incidence *incidence, QDate qd, QWidget *parent, bool allday, const char *name=0, 54 KOAgendaItem(Incidence *incidence, QDate qd, QWidget *parent, bool allday, const char *name=0,
48 WFlags f=0 ); 55 Qt::WFlags f=0 );
49 ~KOAgendaItem(); 56 ~KOAgendaItem();
50 QString getWhatsThisText(); 57 QString getWhatsThisText();
51 void init ( Incidence *incidence, QDate qd ); 58 void init ( Incidence *incidence, QDate qd );
52 int cellX() { return mCellX; } 59 int cellX() { return mCellX; }
53 int cellXWidth() { return mCellXWidth; } 60 int cellXWidth() { return mCellXWidth; }
54 int cellYTop() { return mCellYTop; } 61 int cellYTop() { return mCellYTop; }
55 int cellYBottom() { return mCellYBottom; } 62 int cellYBottom() { return mCellYBottom; }
56 int cellHeight(); 63 int cellHeight();
57 int cellWidth(); 64 int cellWidth();
58 int subCell() { return mSubCell; } 65 int subCell() { return mSubCell; }
59 int subCells() { return mSubCells; } 66 int subCells() { return mSubCells; }
60 67
61 void setCellXY(int X, int YTop, int YBottom); 68 void setCellXY(int X, int YTop, int YBottom);
62 void setCellY(int YTop, int YBottom); 69 void setCellY(int YTop, int YBottom);
63 void setCellX(int XLeft, int XRight); 70 void setCellX(int XLeft, int XRight);
64 void setCellXWidth(int xwidth); 71 void setCellXWidth(int xwidth);
65 void setSubCell(int subCell); 72 void setSubCell(int subCell);
66 void setSubCells(int subCells); 73 void setSubCells(int subCells);
67 74
68 /** Start movement */ 75 /** Start movement */
69 void startMove(); 76 void startMove();
70 /** Reset to original values */ 77 /** Reset to original values */
71 void resetMove(); 78 void resetMove();
72 79
73 void moveRelative(int dx,int dy); 80 void moveRelative(int dx,int dy);
74 void expandTop(int dy); 81 void expandTop(int dy);
75 void expandBottom(int dy); 82 void expandBottom(int dy);
76 void expandLeft(int dx); 83 void expandLeft(int dx);
77 void expandRight(int dx); 84 void expandRight(int dx);
78 int mLastMoveXPos; 85 int mLastMoveXPos;
79 86
80 void setMultiItem(KOAgendaItem *first,KOAgendaItem *next, 87 void setMultiItem(KOAgendaItem *first,KOAgendaItem *next,
81 KOAgendaItem *last); 88 KOAgendaItem *last);
82 KOAgendaItem *firstMultiItem() { return mFirstMultiItem; } 89 KOAgendaItem *firstMultiItem() { return mFirstMultiItem; }
83 KOAgendaItem *nextMultiItem() { return mNextMultiItem; } 90 KOAgendaItem *nextMultiItem() { return mNextMultiItem; }
84 KOAgendaItem *lastMultiItem() { return mLastMultiItem; } 91 KOAgendaItem *lastMultiItem() { return mLastMultiItem; }
85 92
86 Incidence *incidence() const { return mIncidence; } 93 Incidence *incidence() const { return mIncidence; }
87 QDate itemDate() { return mDate; } 94 QDate itemDate() { return mDate; }
88 95
89 /** Update the date of this item's occurence (not in the event) */ 96 /** Update the date of this item's occurence (not in the event) */
90 void setItemDate(QDate qd); 97 void setItemDate(QDate qd);
91 98
92 void setText ( const QString & text ) { mDisplayedText = text; } 99 void setText ( const QString & text ) { mDisplayedText = text; }
93 QString text () { return mDisplayedText; } 100 QString text () { return mDisplayedText; }
94 101
95 virtual bool eventFilter ( QObject *, QEvent * ); 102 virtual bool eventFilter ( QObject *, QEvent * );
96 103
97 static QToolTipGroup *toolTipGroup(); 104 static QToolTipGroup *toolTipGroup();
98 105
99 QPtrList<KOAgendaItem> conflictItems(); 106 Q3PtrList<KOAgendaItem> conflictItems();
100 void setConflictItems(QPtrList<KOAgendaItem>); 107 void setConflictItems(Q3PtrList<KOAgendaItem>);
101 void addConflictItem(KOAgendaItem *ci); 108 void addConflictItem(KOAgendaItem *ci);
102 void paintMe( bool, QPainter* painter = 0 ); 109 void paintMe( bool, QPainter* painter = 0 );
103 void repaintMe(); 110 void repaintMe();
104 static QPixmap * paintPix(); 111 static QPixmap * paintPix();
105 static QPixmap * paintPixAllday(); 112 static QPixmap * paintPixAllday();
106 void updateItem(); 113 void updateItem();
107 void computeText(); 114 void computeText();
108 void recreateIncidence(); 115 void recreateIncidence();
109 bool checkLayout(); 116 bool checkLayout();
110 void initColor (); 117 void initColor ();
111 bool isAllDay() { return mAllDay; } 118 bool isAllDay() { return mAllDay; }
112 int resizeMe( int grid, int wid, int hei, bool invalidWidth = false ); 119 int resizeMe( int grid, int wid, int hei, bool invalidWidth = false );
113 public slots: 120 public slots:
114 bool updateIcons( QPainter *, bool ); 121 bool updateIcons( QPainter *, bool );
115 void select(bool=true); 122 void select(bool=true);
116 void repaintItem(); 123 void repaintItem();
117 124
118 protected: 125 protected:
119 void dragEnterEvent(QDragEnterEvent *e); 126 void dragEnterEvent(QDragEnterEvent *e);
120 void dropEvent(QDropEvent *e); 127 void dropEvent(QDropEvent *e);
121 void paintEvent ( QPaintEvent * ); 128 void paintEvent ( QPaintEvent * );
122 void resizeEvent ( QResizeEvent *ev ); 129 void resizeEvent ( QResizeEvent *ev );
123 130
124 private: 131 private:
125 KOAgendaItemWhatsThis* mKOAgendaItemWhatsThis; 132 KOAgendaItemWhatsThis* mKOAgendaItemWhatsThis;
126 bool mAllDay; 133 bool mAllDay;
127 bool mWhiteText; 134 bool mWhiteText;
128 int mCellX; 135 int mCellX;
129 int mCellXWidth; 136 int mCellXWidth;
130 int mCellYTop,mCellYBottom; 137 int mCellYTop,mCellYBottom;
131 int mSubCell; // subcell number of this item 138 int mSubCell; // subcell number of this item
132 int mSubCells; // Total number of subcells in cell of this item 139 int mSubCells; // Total number of subcells in cell of this item
133 int xPaintCoord; 140 int xPaintCoord;
134 int yPaintCoord; 141 int yPaintCoord;
135 int wPaintCoord; 142 int wPaintCoord;
136 int hPaintCoord; 143 int hPaintCoord;
137 // Variables to remember start position 144 // Variables to remember start position
138 int mStartCellX; 145 int mStartCellX;
139 int mStartCellXWidth; 146 int mStartCellXWidth;
140 int mStartCellYTop,mStartCellYBottom; 147 int mStartCellYTop,mStartCellYBottom;
141 int mLastMovePos; 148 int mLastMovePos;
142 149
143 // Multi item pointers 150 // Multi item pointers
144 KOAgendaItem *mFirstMultiItem; 151 KOAgendaItem *mFirstMultiItem;
145 KOAgendaItem *mNextMultiItem; 152 KOAgendaItem *mNextMultiItem;
146 KOAgendaItem *mLastMultiItem; 153 KOAgendaItem *mLastMultiItem;
147 154
148 int mFontPixelSize; 155 int mFontPixelSize;
149 Incidence *mIncidence; // corresponding event or todo 156 Incidence *mIncidence; // corresponding event or todo
150 QDate mDate; //date this events occurs (for recurrence) 157 QDate mDate; //date this events occurs (for recurrence)
151 //void showIcon( QLabel*, int ); 158 //void showIcon( QLabel*, int );
152 //QLabel *mTodoIconLabel; 159 //QLabel *mTodoIconLabel;
153 //QLabel *mItemLabel; 160 //QLabel *mItemLabel;
154 //QWidget *mIconBox; 161 //QWidget *mIconBox;
155 //QLabel *mIconAlarm,*mIconRecur,*mIconReadonly; 162 //QLabel *mIconAlarm,*mIconRecur,*mIconReadonly;
156 //QLabel *mIconReply,*mIconGroup,*mIconOrganizer; 163 //QLabel *mIconReply,*mIconGroup,*mIconOrganizer;
157 //QLabel *mIconMoreInfo; 164 //QLabel *mIconMoreInfo;
158 static QToolTipGroup *mToolTipGroup; 165 static QToolTipGroup *mToolTipGroup;
159 166
160 QColor mBackgroundColor; 167 QColor mBackgroundColor;
161 QColorGroup mColorGroup; 168 QColorGroup mColorGroup;
162 QString mDisplayedText; 169 QString mDisplayedText;
163 bool mSelected; 170 bool mSelected;
164 QPtrList<KOAgendaItem> mConflictItems; 171 Q3PtrList<KOAgendaItem> mConflictItems;
165}; 172};
166 173
167#endif // KOAGENDAITEM_H 174#endif // KOAGENDAITEM_H