-rw-r--r-- | core/pim/todo/tableview.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/core/pim/todo/tableview.h b/core/pim/todo/tableview.h index 689c496..528ddc9 100644 --- a/core/pim/todo/tableview.h +++ b/core/pim/todo/tableview.h @@ -29,84 +29,102 @@ #ifndef OPIE_TABLE_VIEW_H #define OPIE_TABLE_VIEW_H #include <qtable.h> #include <qmap.h> #include <qpixmap.h> #include "todoview.h" class QTimer; namespace Todo { class CheckItem; class DueTextItem; class TableView : public QTable, public TodoView { Q_OBJECT public: TableView( MainWindow*, QWidget* parent ); ~TableView(); QString type()const; int current(); QString currentRepresentation(); + int next(); + int prev(); void clear(); void showOverDue( bool ); void updateView(); void setTodo( int uid, const OTodo& ); void addEvent( const OTodo& event ); void replaceEvent( const OTodo& ); void removeEvent( int uid ); void setShowCompleted( bool ); void setShowDeadline( bool ); void setShowCategory(const QString& =QString::null ); void newDay(); QWidget* widget(); void sortColumn(int, bool, bool ); /* * we do our drawing ourselves * because we don't want to have * 40.000 QTableItems for 10.000 * OTodos where we only show 10 at a time! */ void paintCell(QPainter* p, int row, int col, const QRect&, bool ); private: /* reimplented for internal reasons */ void viewportPaintEvent( QPaintEvent* ); QTimer *m_menuTimer; bool m_enablePaint:1; QString m_oleCat; bool m_first : 1; QPixmap m_pic_completed; QPixmap m_pic_priority[ 5 ]; protected: void keyPressEvent( QKeyEvent* ); void contentsMouseReleaseEvent( QMouseEvent* ); void contentsMouseMoveEvent( QMouseEvent* ); void timerEvent( QTimerEvent* e ); QWidget* createEditor(int row, int col, bool initFromCell )const; void setCellContentFromEditor( int row, int col ); + /** + * for inline editing on single click and to work around some + * bug in qt2.3.5 + */ + struct EditorWidget { + EditorWidget(); + void setCellWidget(QWidget*, int row, int col ); + void releaseCellWidget(); + QWidget* cellWidget()const; + int cellRow()const; + int cellCol()const; + private: + QWidget* m_wid; + int m_row, m_col; + }; + EditorWidget m_editorWidget; private slots: void slotShowMenu(); void slotClicked(int, int, int, const QPoint& ); void slotPressed(int, int, int, const QPoint& ); void slotValueChanged(int, int); void slotCurrentChanged(int, int ); void slotPriority(); private: void initConfig(); int m_completeStrokeWidth; bool m_row : 1; QPoint m_prevP; }; }; #endif |