summaryrefslogtreecommitdiffabout
path: root/korganizer/kodaymatrix.h
authorzautrix <zautrix>2005-01-31 08:05:32 (UTC)
committer zautrix <zautrix>2005-01-31 08:05:32 (UTC)
commitf7663a4c854d217bcb4f828a3ebb69cc40d0dd7c (patch) (side-by-side diff)
tree683febfff7427b923f23178e74b7cc0e50ef461d /korganizer/kodaymatrix.h
parented5723f40a93bbedfcbd9f54e6379a23c4a76096 (diff)
downloadkdepimpi-f7663a4c854d217bcb4f828a3ebb69cc40d0dd7c.zip
kdepimpi-f7663a4c854d217bcb4f828a3ebb69cc40d0dd7c.tar.gz
kdepimpi-f7663a4c854d217bcb4f828a3ebb69cc40d0dd7c.tar.bz2
fix
Diffstat (limited to 'korganizer/kodaymatrix.h') (more/less context) (show whitespace changes)
-rw-r--r--korganizer/kodaymatrix.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/korganizer/kodaymatrix.h b/korganizer/kodaymatrix.h
index 0e9640a..ac2f59c 100644
--- a/korganizer/kodaymatrix.h
+++ b/korganizer/kodaymatrix.h
@@ -131,183 +131,184 @@ public:
*/
void updateView(QDate actdate);
/** returns the QDate object associated with day indexed by the
* supplied offset.
*/
const QDate& getDate(int offset);
/** returns the official name of this holy day or 0 if there is no label
* for this day.
*/
QString getHolidayLabel(int offset);
/** adds all actual selected days from mSelStart to mSelEnd to the supplied
* DateList.
*/
void addSelectedDaysTo(DateList&);
/** sets the actual to be displayed selection in the day matrix starting from
* start and ending with end. Theview must be manually updated by calling
* repaint. (?)
*/
void setSelectedDaysFrom(const QDate& start, const QDate& end);
/** Is today visible in the view? Keep this in sync with
* the values today (below) can take.
*/
bool isTodayVisible() const { return today>=0; } ;
/** If today is visible, then we can find out if today is
* near the beginning or the end of the month.
* This is dependent on today remaining the index
* in the array of visible dates and going from
* top left (0) to bottom right (41).
*/
bool isBeginningOfMonth() const { return today<=8; } ;
bool isEndOfMonth() const { return today>=27; } ;
public slots:
/** Recalculates all the flags of the days in the matrix like holidays or events
* on a day (Actually calls above method with the actual startdate).
*/
void updateView();
void updateViewTimed();
void repaintViewTimed();
/**
* Calculate which square in the matrix should be
* hilighted to indicate it's today.
*/
void recalculateToday();
/*
void setStartDate(QDate);
*/
signals:
/** emitted if the user selects a block of days with the mouse by dragging a rectangle
* inside the matrix
*
* @param daylist list of days that have been selected by the user
*/
void selected( const KCal::DateList &daylist );
/** emitted if the user has dropped an event inside the matrix
*
* @param event the dropped calendar event
*/
void eventDropped(Event *event);
protected:
void paintEvent(QPaintEvent *ev);
void mousePressEvent (QMouseEvent* e);
void mouseReleaseEvent (QMouseEvent* e);
void mouseMoveEvent (QMouseEvent* e);
void dragEnterEvent(QDragEnterEvent *);
void dragMoveEvent(QDragMoveEvent *);
void dragLeaveEvent(QDragLeaveEvent *);
void dropEvent(QDropEvent *);
void resizeEvent(QResizeEvent *);
private:
QTimer* mUpdateTimer;
QTimer* mRepaintTimer;
bool mDayChanged;
+ bool mPendingUpdateBeforeRepaint;
/** returns the index of the day located at the matrix's widget (x,y) position.
*
* @param x horizontal coordinate
* @param y vertical coordinate
*/
int getDayIndexFrom(int x, int y);
/** calculates a "shaded" color from the supplied color object.
* (Copied from Cornelius's kdpdatebutton.cpp)
*
* @param color source based on which a shaded color should be calculated.
*/
QColor getShadedColor(QColor color);
/** number of days to be displayed. For now there is no support for any other number then 42.
so change it at your own risk :o) */
static const int NUMDAYS;
/** calendar instance to be queried for holidays, events, ... */
Calendar *mCalendar;
/** starting date of the matrix */
QDate startdate;
/** array of day labels to optimeize drawing performance. */
QString *daylbls;
/** array of days displayed to reduce memory consumption by
subsequently calling QDate::addDays(). */
QDate *days;
/** array of storing the number of events on a given day.
* used for drawing a bold font if there is at least one event on that day.
*/
int *events;
/** stores holiday names of the days shown in the matrix. */
QMap<int,QString> mHolidays;
/** indey of today or -1 if today is not visible in the matrix. */
int today;
/** index of day where dragged selection was initiated.
used to detect "negative" timely selections */
int mSelInit;
/** if mSelStart has this value it indicates that there is no
actual selection in the matrix. */
static const int NOSELECTION;
/** index of first selected day. */
int mSelStart;
/** index of last selected day. */
int mSelEnd;
/** dynamic tooltip to handle mouse dependent tips for each day in the matrix. */
DynamicTip* mToolTip;
/** default background colour of the matrix. */
QColor mDefaultBackColor;
/** default text color of the matrix. */
QColor mDefaultTextColor;
/** default text color for days not in the actual month. */
QColor mDefaultTextColorShaded;
/** default text color for holidays not in the actual month. */
QColor mHolidayColorShaded;
/** text color for selected days. */
QColor mSelectedDaysColor;
/** default width of the frame drawn around today if it is visible in the matrix. */
int mTodayMarginWidth;
/** stores actual size of each day in the widget so that I dont need to ask this data
* on every repaint.
*/
QRect daysize;
};
#endif