summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/pim/todo/mainwindow.cpp9
-rw-r--r--core/pim/todo/mainwindow.h2
-rw-r--r--core/pim/todo/tableview.cpp21
-rw-r--r--core/pim/todo/tableview.h1
-rw-r--r--core/pim/todo/textviewshow.cpp17
-rw-r--r--core/pim/todo/textviewshow.h5
-rw-r--r--core/pim/todo/todoshow.cpp9
-rw-r--r--core/pim/todo/todoshow.h7
8 files changed, 58 insertions, 13 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
@@ -85,13 +85,13 @@ MainWindow::MainWindow( QWidget* parent,
85void MainWindow::initTemplate() { 85void MainWindow::initTemplate() {
86 m_curTempEd = new TemplateEditor( this, templateManager() ); 86 m_curTempEd = new TemplateEditor( this, templateManager() );
87} 87}
88void MainWindow::initActions() { 88void MainWindow::initActions() {
89 89
90 // Data menu 90 // Data menu
91 m_edit->insertItem(QWidget::tr("New from template"), m_template, 91 m_edit->insertItem(QWidget::tr("New from template"), m_template,
92 -1, 0 ); 92 -1, 0 );
93 93
94 QAction* a = new QAction( QWidget::tr("New Task" ), Resource::loadPixmap( "new" ), 94 QAction* a = new QAction( QWidget::tr("New Task" ), Resource::loadPixmap( "new" ),
95 QString::null, 0, this, 0 ); 95 QString::null, 0, this, 0 );
96 connect(a, SIGNAL( activated() ), 96 connect(a, SIGNAL( activated() ),
97 this, SLOT( slotNew() ) ); 97 this, SLOT( slotNew() ) );
@@ -250,9 +250,9 @@ void MainWindow::initViews() {
250void MainWindow::initEditor() { 250void MainWindow::initEditor() {
251 m_curEdit = new Editor(); 251 m_curEdit = new Editor();
252} 252}
253void MainWindow::initShow() { 253void MainWindow::initShow() {
254 m_curShow = new TextViewShow(this); 254 m_curShow = new TextViewShow(this, this);
255 m_stack->addWidget( m_curShow->widget() , m_counter++ ); 255 m_stack->addWidget( m_curShow->widget() , m_counter++ );
256} 256}
257MainWindow::~MainWindow() { 257MainWindow::~MainWindow() {
258 delete templateManager(); 258 delete templateManager();
@@ -812,4 +812,7 @@ void MainWindow::add( const OPimRecord& rec) {
812 // spend expensive time comparing all these strings... 812 // spend expensive time comparing all these strings...
813 // but only call if we changed something -zecke 813 // but only call if we changed something -zecke
814 populateCategories(); 814 populateCategories();
815} 815}
816void MainWindow::slotReturnFromView() {
817 raiseCurrentView();
818}
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 {
59 59
60 class MainWindow : public OPimMainWindow { 60 class MainWindow : public OPimMainWindow {
61 Q_OBJECT 61 Q_OBJECT
62 friend class TodoView; // avoid QObject here.... 62 friend class TodoView; // avoid QObject here....
63 friend class TodoShow; // avoid QObject
63 public: 64 public:
64 MainWindow( QWidget *parent = 0, 65 MainWindow( QWidget *parent = 0,
65 const char* name = 0 ); 66 const char* name = 0 );
66 ~MainWindow(); 67 ~MainWindow();
@@ -182,8 +183,9 @@ private slots:
182 void slotBeam(); 183 void slotBeam();
183 void beamDone( Ir* ); 184 void beamDone( Ir* );
184 void slotShowDetails(); 185 void slotShowDetails();
185 void slotShowDue( bool ); 186 void slotShowDue( bool );
187 void slotReturnFromView(); // for TodoShow...
186 /* reimplementation from opimmainwindow */ 188 /* reimplementation from opimmainwindow */
187 protected slots: 189 protected slots:
188 void flush(); 190 void flush();
189 void reload(); 191 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
@@ -58,9 +58,9 @@ void TableView::initConfig() {
58} 58}
59 59
60TableView::TableView( MainWindow* window, QWidget* wid ) 60TableView::TableView( MainWindow* window, QWidget* wid )
61 : QTable( wid ), TodoView( window ) { 61 : QTable( wid ), TodoView( window ) {
62 62
63 // Load icons 63 // Load icons
64 // TODO - probably should be done globally somewhere else, 64 // TODO - probably should be done globally somewhere else,
65 // see also quickeditimpl.cpp/h, taskeditoroverview.cpp/h 65 // see also quickeditimpl.cpp/h, taskeditoroverview.cpp/h
66 m_pic_completed = Resource::loadPixmap( "todo/completed" ); 66 m_pic_completed = Resource::loadPixmap( "todo/completed" );
@@ -82,12 +82,12 @@ TableView::TableView( MainWindow* window, QWidget* wid )
82 horizontalHeader()->setLabel( 2, QWidget::tr("Description" ) ); 82 horizontalHeader()->setLabel( 2, QWidget::tr("Description" ) );
83 horizontalHeader()->setLabel( 3, QWidget::tr("Deadline") ); 83 horizontalHeader()->setLabel( 3, QWidget::tr("Deadline") );
84 84
85 setShowDeadline( todoWindow()->showDeadline() ); 85 setShowDeadline( todoWindow()->showDeadline() );
86 86
87 setSorting( TRUE ); 87 setSorting( TRUE );
88 setSelectionMode( NoSelection ); 88 setSelectionMode( NoSelection );
89 89
90 setLeftMargin( 0 ); 90 setLeftMargin( 0 );
91 verticalHeader()->hide(); 91 verticalHeader()->hide();
92 92
93 connect((QTable*)this, SIGNAL( clicked( int, int, int, const QPoint& ) ), 93 connect((QTable*)this, SIGNAL( clicked( int, int, int, const QPoint& ) ),
@@ -367,9 +367,9 @@ void TableView::paintCell(QPainter* p, int row, int col, const QRect& cr, bool
367 //p->drawRect( x + marg, y, BoxSize, BoxSize ); 367 //p->drawRect( x + marg, y, BoxSize, BoxSize );
368 //p->drawRect( x + marg+1, y+1, BoxSize-2, BoxSize-2 ); 368 //p->drawRect( x + marg+1, y+1, BoxSize-2, BoxSize-2 );
369 if ( task.isCompleted() ) { 369 if ( task.isCompleted() ) {
370 p->drawPixmap( x + marg, y, m_pic_completed ); 370 p->drawPixmap( x + marg, y, m_pic_completed );
371 } 371 }
372 } 372 }
373 break; 373 break;
374 case 1: // priority field 374 case 1: // priority field
375 { 375 {
@@ -468,9 +468,9 @@ void TableView::slotPriority() {
468 * We will try to read ahead 4 items in both ways 468 * We will try to read ahead 4 items in both ways
469 * up and down. On odd or even we will currentRow()+-4 or +-9 469 * up and down. On odd or even we will currentRow()+-4 or +-9
470 * 470 *
471 */ 471 */
472void TableView::timerEvent( QTimerEvent* ev ) { 472void TableView::timerEvent( QTimerEvent* ) {
473// qWarning("sorted %d", sorted().count() ); 473// qWarning("sorted %d", sorted().count() );
474 if (sorted().count() == 0 ) 474 if (sorted().count() == 0 )
475 return; 475 return;
476 476
@@ -529,4 +529,15 @@ void TableView::contentsMouseReleaseEvent( QMouseEvent* e) {
529void TableView::contentsMouseMoveEvent( QMouseEvent* e ) { 529void TableView::contentsMouseMoveEvent( QMouseEvent* e ) {
530 m_menuTimer->stop(); 530 m_menuTimer->stop();
531 QTable::contentsMouseMoveEvent( e ); 531 QTable::contentsMouseMoveEvent( e );
532} 532}
533void TableView::keyPressEvent( QKeyEvent* event) {
534 switch( event->key() ) {
535 case Qt::Key_F33:
536 case Qt::Key_Enter:
537 case Qt::Key_Return:
538 showTodo( sorted().uidAt( currentRow() ) );
539 break;
540 default:
541 QTable::keyPressEvent( event );
542 }
543}
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 {
84 QPixmap m_pic_completed; 84 QPixmap m_pic_completed;
85 QPixmap m_pic_priority[ 5 ]; 85 QPixmap m_pic_priority[ 5 ];
86 86
87 protected: 87 protected:
88 void keyPressEvent( QKeyEvent* );
88 void contentsMouseReleaseEvent( QMouseEvent* ); 89 void contentsMouseReleaseEvent( QMouseEvent* );
89 void contentsMouseMoveEvent( QMouseEvent* ); 90 void contentsMouseMoveEvent( QMouseEvent* );
90 void timerEvent( QTimerEvent* e ); 91 void timerEvent( QTimerEvent* e );
91 QWidget* createEditor(int row, int col, bool initFromCell )const; 92 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 @@
1#include "mainwindow.h"
1#include "textviewshow.h" 2#include "textviewshow.h"
2 3
3using namespace Todo; 4using namespace Todo;
4 5
5TextViewShow::TextViewShow( QWidget* parent) 6TextViewShow::TextViewShow( QWidget* parent, MainWindow* win)
6 : QTextView( parent ), TodoShow() { 7 : QTextView( parent ), TodoShow(win) {
7 8
8} 9}
9TextViewShow::~TextViewShow() { 10TextViewShow::~TextViewShow() {
10} 11}
@@ -16,4 +17,16 @@ void TextViewShow::slotShow( const OTodo& ev ) {
16} 17}
17QWidget* TextViewShow::widget() { 18QWidget* TextViewShow::widget() {
18 return this; 19 return this;
19} 20}
21void TextViewShow::keyPressEvent( QKeyEvent* event ) {
22 switch( event->key() ) {
23 case Qt::Key_F33:
24 case Qt::Key_Enter:
25 case Qt::Key_Return:
26 escapeView();
27 break;
28 default:
29 QTextView::keyPressEvent( event );
30 break;
31 }
32}
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 @@
5namespace Todo { 5namespace Todo {
6 6
7 class TextViewShow : public QTextView, public TodoShow { 7 class TextViewShow : public QTextView, public TodoShow {
8 public: 8 public:
9 TextViewShow( QWidget* parent ); 9 TextViewShow( QWidget* parent, MainWindow* );
10 ~TextViewShow(); 10 ~TextViewShow();
11 11
12 QString type()const; 12 QString type()const;
13 void slotShow( const OTodo& ev ); 13 void slotShow( const OTodo& ev );
14 QWidget* widget(); 14 QWidget* widget();
15 15
16 protected:
17 void keyPressEvent( QKeyEvent* );
18
16 }; 19 };
17}; 20};
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 @@
1
2#include "mainwindow.h"
1#include "todoshow.h" 3#include "todoshow.h"
2 4
3using namespace Todo; 5using namespace Todo;
4 6
5TodoShow::TodoShow() { 7TodoShow::TodoShow(MainWindow* win) {
8 m_win = win;
6} 9}
7TodoShow::~TodoShow() { 10TodoShow::~TodoShow() {
8} 11}
12void TodoShow::escapeView() {
13 if (m_win )
14 m_win->slotReturnFromView();
15}
9 16
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 @@
33 33
34#include <opie/otodo.h> 34#include <opie/otodo.h>
35 35
36namespace Todo { 36namespace Todo {
37 class MainWindow;
37 /** 38 /**
38 * TodoShow is the baseclass of 39 * TodoShow is the baseclass of
39 * of all TodoShows. 40 * of all TodoShows.
40 * The first implementation is a QTextView 41 * The first implementation is a QTextView
41 * implementation showing the Todo as richtext 42 * implementation showing the Todo as richtext
42 */ 43 */
43 class TodoShow { 44 class TodoShow {
44 public: 45 public:
45 TodoShow(); 46 TodoShow( MainWindow* win);
46 virtual ~TodoShow(); 47 virtual ~TodoShow();
47 virtual QString type()const = 0; 48 virtual QString type()const = 0;
48 virtual void slotShow( const OTodo& ev ) = 0; 49 virtual void slotShow( const OTodo& ev ) = 0;
49 virtual QWidget* widget() = 0; 50 virtual QWidget* widget() = 0;
51 protected:
52 void escapeView();
53 private:
54 MainWindow *m_win;
50 }; 55 };
51}; 56};
52 57
53#endif 58#endif