author | zecke <zecke> | 2003-02-11 18:42:42 (UTC) |
---|---|---|
committer | zecke <zecke> | 2003-02-11 18:42:42 (UTC) |
commit | 986afbabdd7c291f2fcbecd865e8c7075623bbf8 (patch) (side-by-side diff) | |
tree | 7b00ad1e26a47666c05b7040d2218d134f698007 | |
parent | cb85b004afe2750733cef1663961539f6a3968e6 (diff) | |
download | opie-986afbabdd7c291f2fcbecd865e8c7075623bbf8.zip opie-986afbabdd7c291f2fcbecd865e8c7075623bbf8.tar.gz opie-986afbabdd7c291f2fcbecd865e8c7075623bbf8.tar.bz2 |
Add switching the views with the ActionKey..
-rw-r--r-- | core/pim/todo/mainwindow.cpp | 5 | ||||
-rw-r--r-- | core/pim/todo/mainwindow.h | 2 | ||||
-rw-r--r-- | core/pim/todo/tableview.cpp | 13 | ||||
-rw-r--r-- | core/pim/todo/tableview.h | 1 | ||||
-rw-r--r-- | core/pim/todo/textviewshow.cpp | 17 | ||||
-rw-r--r-- | core/pim/todo/textviewshow.h | 5 | ||||
-rw-r--r-- | core/pim/todo/todoshow.cpp | 9 | ||||
-rw-r--r-- | core/pim/todo/todoshow.h | 7 |
8 files changed, 52 insertions, 7 deletions
diff --git a/core/pim/todo/mainwindow.cpp b/core/pim/todo/mainwindow.cpp index c90166b..d328558 100644 --- a/core/pim/todo/mainwindow.cpp +++ b/core/pim/todo/mainwindow.cpp @@ -250,9 +250,9 @@ void MainWindow::initViews() { void MainWindow::initEditor() { m_curEdit = new Editor(); } void MainWindow::initShow() { - m_curShow = new TextViewShow(this); + m_curShow = new TextViewShow(this, this); m_stack->addWidget( m_curShow->widget() , m_counter++ ); } MainWindow::~MainWindow() { delete templateManager(); @@ -812,4 +812,7 @@ void MainWindow::add( const OPimRecord& rec) { // spend expensive time comparing all these strings... // but only call if we changed something -zecke populateCategories(); } +void MainWindow::slotReturnFromView() { + raiseCurrentView(); +} diff --git a/core/pim/todo/mainwindow.h b/core/pim/todo/mainwindow.h index d756d64..f880505 100644 --- a/core/pim/todo/mainwindow.h +++ b/core/pim/todo/mainwindow.h @@ -59,8 +59,9 @@ namespace Todo { class MainWindow : public OPimMainWindow { Q_OBJECT friend class TodoView; // avoid QObject here.... + friend class TodoShow; // avoid QObject public: MainWindow( QWidget *parent = 0, const char* name = 0 ); ~MainWindow(); @@ -182,8 +183,9 @@ private slots: void slotBeam(); void beamDone( Ir* ); void slotShowDetails(); void slotShowDue( bool ); + void slotReturnFromView(); // for TodoShow... /* reimplementation from opimmainwindow */ protected slots: void flush(); void reload(); diff --git a/core/pim/todo/tableview.cpp b/core/pim/todo/tableview.cpp index 61d1edd..cec8b5e 100644 --- a/core/pim/todo/tableview.cpp +++ b/core/pim/todo/tableview.cpp @@ -468,9 +468,9 @@ void TableView::slotPriority() { * We will try to read ahead 4 items in both ways * up and down. On odd or even we will currentRow()+-4 or +-9 * */ -void TableView::timerEvent( QTimerEvent* ev ) { +void TableView::timerEvent( QTimerEvent* ) { // qWarning("sorted %d", sorted().count() ); if (sorted().count() == 0 ) return; @@ -529,4 +529,15 @@ void TableView::contentsMouseReleaseEvent( QMouseEvent* e) { void TableView::contentsMouseMoveEvent( QMouseEvent* e ) { m_menuTimer->stop(); QTable::contentsMouseMoveEvent( e ); } +void TableView::keyPressEvent( QKeyEvent* event) { + switch( event->key() ) { + case Qt::Key_F33: + case Qt::Key_Enter: + case Qt::Key_Return: + showTodo( sorted().uidAt( currentRow() ) ); + break; + default: + QTable::keyPressEvent( event ); + } +} diff --git a/core/pim/todo/tableview.h b/core/pim/todo/tableview.h index 2b6ea2b..689c496 100644 --- a/core/pim/todo/tableview.h +++ b/core/pim/todo/tableview.h @@ -84,8 +84,9 @@ namespace Todo { 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; diff --git a/core/pim/todo/textviewshow.cpp b/core/pim/todo/textviewshow.cpp index 24c8c0e..fe8a9c8 100644 --- a/core/pim/todo/textviewshow.cpp +++ b/core/pim/todo/textviewshow.cpp @@ -1,10 +1,11 @@ +#include "mainwindow.h" #include "textviewshow.h" using namespace Todo; -TextViewShow::TextViewShow( QWidget* parent) - : QTextView( parent ), TodoShow() { +TextViewShow::TextViewShow( QWidget* parent, MainWindow* win) + : QTextView( parent ), TodoShow(win) { } TextViewShow::~TextViewShow() { } @@ -16,4 +17,16 @@ void TextViewShow::slotShow( const OTodo& ev ) { } QWidget* TextViewShow::widget() { return this; } +void TextViewShow::keyPressEvent( QKeyEvent* event ) { + switch( event->key() ) { + case Qt::Key_F33: + case Qt::Key_Enter: + case Qt::Key_Return: + escapeView(); + break; + default: + QTextView::keyPressEvent( event ); + break; + } +} diff --git a/core/pim/todo/textviewshow.h b/core/pim/todo/textviewshow.h index f58026b..498de81 100644 --- a/core/pim/todo/textviewshow.h +++ b/core/pim/todo/textviewshow.h @@ -5,13 +5,16 @@ namespace Todo { class TextViewShow : public QTextView, public TodoShow { public: - TextViewShow( QWidget* parent ); + TextViewShow( QWidget* parent, MainWindow* ); ~TextViewShow(); QString type()const; void slotShow( const OTodo& ev ); QWidget* widget(); + protected: + void keyPressEvent( QKeyEvent* ); + }; }; diff --git a/core/pim/todo/todoshow.cpp b/core/pim/todo/todoshow.cpp index c84a08f..4dbc9aa 100644 --- a/core/pim/todo/todoshow.cpp +++ b/core/pim/todo/todoshow.cpp @@ -1,9 +1,16 @@ + +#include "mainwindow.h" #include "todoshow.h" using namespace Todo; -TodoShow::TodoShow() { +TodoShow::TodoShow(MainWindow* win) { + m_win = win; } TodoShow::~TodoShow() { } +void TodoShow::escapeView() { + if (m_win ) + m_win->slotReturnFromView(); +} diff --git a/core/pim/todo/todoshow.h b/core/pim/todo/todoshow.h index 198e9ae..7267b13 100644 --- a/core/pim/todo/todoshow.h +++ b/core/pim/todo/todoshow.h @@ -33,21 +33,26 @@ #include <opie/otodo.h> namespace Todo { + class MainWindow; /** * TodoShow is the baseclass of * of all TodoShows. * The first implementation is a QTextView * implementation showing the Todo as richtext */ class TodoShow { public: - TodoShow(); + TodoShow( MainWindow* win); virtual ~TodoShow(); virtual QString type()const = 0; virtual void slotShow( const OTodo& ev ) = 0; virtual QWidget* widget() = 0; + protected: + void escapeView(); + private: + MainWindow *m_win; }; }; #endif |