summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/pim/todo/mainwindow.cpp20
-rw-r--r--core/pim/todo/quickeditimpl.cpp14
-rw-r--r--core/pim/todo/tableview.cpp21
3 files changed, 31 insertions, 24 deletions
diff --git a/core/pim/todo/mainwindow.cpp b/core/pim/todo/mainwindow.cpp
index 0ccf73e..d16d1ac 100644
--- a/core/pim/todo/mainwindow.cpp
+++ b/core/pim/todo/mainwindow.cpp
@@ -6,174 +6,175 @@
6.> <`_,   >  .   <= redistribute it and/or modify it under 6.> <`_,   >  .   <= redistribute it and/or modify it under
7:`=1 )Y*s>-.--   : the terms of the GNU General Public 7:`=1 )Y*s>-.--   : the terms of the GNU General Public
8.="- .-=="i,     .._ License as published by the Free Software 8.="- .-=="i,     .._ License as published by the Free Software
9 - .   .-<_>     .<> Foundation; either version 2 of the License, 9 - .   .-<_>     .<> Foundation; either version 2 of the License,
10     ._= =}       : or (at your option) any later version. 10     ._= =}       : or (at your option) any later version.
11    .%`+i>       _;_. 11    .%`+i>       _;_.
12    .i_,=:_.      -<s. This program is distributed in the hope that 12    .i_,=:_.      -<s. This program is distributed in the hope that
13     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY; 13     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY;
14    : ..    .:,     . . . without even the implied warranty of 14    : ..    .:,     . . . without even the implied warranty of
15    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A 15    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A
16  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU 16  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU
17..}^=.=       =       ; Library General Public License for more 17..}^=.=       =       ; Library General Public License for more
18++=   -.     .`     .: details. 18++=   -.     .`     .: details.
19 :     =  ...= . :.=- 19 :     =  ...= . :.=-
20 -.   .:....=;==+<; You should have received a copy of the GNU 20 -.   .:....=;==+<; You should have received a copy of the GNU
21  -_. . .   )=.  = General Public License along with 21  -_. . .   )=.  = General Public License along with
22    --        :-=` this library; see the file COPYING.LIB. 22    --        :-=` this library; see the file COPYING.LIB.
23 If not, write to the Free Software Foundation, 23 If not, write to the Free Software Foundation,
24 Inc., 59 Temple Place - Suite 330, 24 Inc., 59 Temple Place - Suite 330,
25 Boston, MA 02111-1307, USA. 25 Boston, MA 02111-1307, USA.
26 26
27*/ 27*/
28 28
29#include <unistd.h> 29#include <unistd.h>
30#include <stdio.h>
31 30
32#include <qmenubar.h> 31#include <qmenubar.h>
33#include <qmessagebox.h> 32#include <qmessagebox.h>
34#include <qtoolbar.h> 33#include <qtoolbar.h>
35#include <qpopupmenu.h> 34#include <qpopupmenu.h>
36#include <qwidgetstack.h> 35#include <qwidgetstack.h>
37#include <qaction.h> 36#include <qaction.h>
38#include <qtimer.h> 37#include <qtimer.h>
39#include <qvbox.h> 38#include <qvbox.h>
40#include <qlineedit.h> 39#include <qlineedit.h>
40#include <qwhatsthis.h>
41 41
42#include <qpe/applnk.h> 42#include <qpe/applnk.h>
43#include <qpe/config.h> 43#include <qpe/config.h>
44#include <qpe/ir.h> 44#include <qpe/ir.h>
45#include <qpe/resource.h> 45#include <qpe/resource.h>
46#include <qpe/qpemessagebox.h> 46#include <qpe/qpemessagebox.h>
47#include <qpe/qpetoolbar.h> 47#include <qpe/qpetoolbar.h>
48 48
49#include <opie/orecur.h> 49#include <opie/orecur.h>
50#include <opie/otodoaccessvcal.h> 50#include <opie/otodoaccessvcal.h>
51 51
52#include "quickeditimpl.h" 52#include "quickeditimpl.h"
53#include "todotemplatemanager.h" 53#include "todotemplatemanager.h"
54#include "templateeditor.h" 54#include "templateeditor.h"
55#include "tableview.h" 55#include "tableview.h"
56 56
57#include "textviewshow.h" 57#include "textviewshow.h"
58#include "todoeditor.h" 58#include "todoeditor.h"
59#include "mainwindow.h" 59#include "mainwindow.h"
60 60
61 61
62using namespace Todo; 62using namespace Todo;
63 63
64MainWindow::MainWindow( QWidget* parent, 64MainWindow::MainWindow( QWidget* parent,
65 const char* name ) 65 const char* name )
66 : OPimMainWindow("Todolist", parent, name) 66 : OPimMainWindow( "Todolist", parent, name, WType_TopLevel | WStyle_ContextHelp )
67{ 67{
68
69 m_syncing = false; 68 m_syncing = false;
70 m_counter = 0; 69 m_counter = 0;
71 m_tempManager = new TemplateManager(); 70 m_tempManager = new TemplateManager();
72 m_tempManager->load(); 71 m_tempManager->load();
73 72
74 initUI(); 73 initUI();
75 initConfig(); 74 initConfig();
76 initViews(); 75 initViews();
77 initActions(); 76 initActions();
78 initEditor(); 77 initEditor();
79 initShow(); 78 initShow();
80 initTemplate(); 79 initTemplate();
81 80
82 populateTemplates(); 81 populateTemplates();
83 raiseCurrentView(); 82 raiseCurrentView();
84 QTimer::singleShot(0, this, SLOT(populateCategories() ) ); 83 QTimer::singleShot(0, this, SLOT(populateCategories() ) );
85} 84}
86void MainWindow::initTemplate() { 85void MainWindow::initTemplate() {
87 m_curTempEd = new TemplateEditor( this, templateManager() ); 86 m_curTempEd = new TemplateEditor( this, templateManager() );
88} 87}
89void MainWindow::initActions() { 88void MainWindow::initActions() {
90 89
91 // Data menu 90 // Data menu
92 m_edit->insertItem(tr("New from template"), m_template, 91 m_edit->insertItem(tr("New from template"), m_template,
93 -1, 0 ); 92 -1, 0 );
94 93
95 QAction* a = new QAction( tr("New Task" ), Resource::loadPixmap( "new" ), 94 QAction* a = new QAction( tr("New Task" ), Resource::loadPixmap( "new" ),
96 QString::null, 0, this, 0 ); 95 QString::null, 0, this, 0 );
97 connect(a, SIGNAL( activated() ), 96 connect(a, SIGNAL( activated() ),
98 this, SLOT( slotNew() ) ); 97 this, SLOT( slotNew() ) );
98 a->setWhatsThis( tr( "Click here to create a new task." ) );
99 a->addTo(m_tool ); 99 a->addTo(m_tool );
100 a->addTo(m_edit ); 100 a->addTo(m_edit );
101 101
102 a = new QAction( tr("Edit Task"), Resource::loadIconSet( "edit" ), 102 a = new QAction( tr("Edit Task"), Resource::loadIconSet( "edit" ),
103 QString::null, 0, this, 0 ); 103 QString::null, 0, this, 0 );
104 connect(a, SIGNAL(activated() ), 104 connect(a, SIGNAL(activated() ),
105 this, SLOT( slotEdit() ) ); 105 this, SLOT( slotEdit() ) );
106 a->setWhatsThis( tr( "Click here to modify the current task." ) );
106 a->addTo( m_tool ); 107 a->addTo( m_tool );
107 a->addTo( m_edit ); 108 a->addTo( m_edit );
108 m_editAction = a; 109 m_editAction = a;
109 110
110 a = new QAction( QString::null, tr("View Task"), 0, this, 0 ); 111 a = new QAction( QString::null, tr("View Task"), 0, this, 0 );
111 connect(a, SIGNAL( activated() ), 112 connect(a, SIGNAL( activated() ),
112 this, SLOT( slotShowDetails() ) ); 113 this, SLOT( slotShowDetails() ) );
113 a->addTo( m_edit ); 114 a->addTo( m_edit );
114 115
115 m_edit->insertSeparator(); 116 m_edit->insertSeparator();
116 117
117 a = new QAction( tr("Delete..."), Resource::loadIconSet( "trash" ), 118 a = new QAction( tr("Delete..."), Resource::loadIconSet( "trash" ),
118 QString::null, 0, this, 0 ); 119 QString::null, 0, this, 0 );
119 connect(a, SIGNAL(activated() ), 120 connect(a, SIGNAL(activated() ),
120 this, SLOT(slotDelete() ) ); 121 this, SLOT(slotDelete() ) );
122 a->setWhatsThis( tr( "Click here to remove the current task." ) );
121 a->addTo( m_tool ); 123 a->addTo( m_tool );
122 a->addTo( m_edit ); 124 a->addTo( m_edit );
123 m_deleteAction = a; 125 m_deleteAction = a;
124 126
125 a = new QAction( QString::null, tr("Delete all..."), 0, this, 0 ); 127 a = new QAction( QString::null, tr("Delete all..."), 0, this, 0 );
126 connect(a, SIGNAL( activated() ), 128 connect(a, SIGNAL( activated() ),
127 this, SLOT( slotDeleteAll() ) ); 129 this, SLOT( slotDeleteAll() ) );
128 a->addTo(m_edit ); 130 a->addTo(m_edit );
129 m_deleteAllAction = a; 131 m_deleteAllAction = a;
130 132
131 a = new QAction( QString::null, tr("Delete completed"), 133 a = new QAction( QString::null, tr("Delete completed"),
132 0, this, 0 ); 134 0, this, 0 );
133 connect(a, SIGNAL( activated() ), 135 connect(a, SIGNAL( activated() ),
134 this, SLOT( slotDeleteCompleted() ) ); 136 this, SLOT( slotDeleteCompleted() ) );
135 a->addTo(m_edit ); 137 a->addTo(m_edit );
136 a->setEnabled( TRUE ); 138 a->setEnabled( TRUE );
137 m_deleteCompleteAction = a; 139 m_deleteCompleteAction = a;
138 140
139 m_edit->insertSeparator(); 141 m_edit->insertSeparator();
140 142
141 a = new QAction( QString::null, tr("Duplicate"), 0, this, 0 ); 143 a = new QAction( QString::null, tr("Duplicate"), 0, this, 0 );
142 connect(a, SIGNAL( activated() ), 144 connect(a, SIGNAL( activated() ),
143 this, SLOT( slotDuplicate() ) ); 145 this, SLOT( slotDuplicate() ) );
144 a->addTo(m_edit ); 146 a->addTo(m_edit );
145 m_duplicateAction = a; 147 m_duplicateAction = a;
146 148
147 m_edit->insertSeparator(); 149 m_edit->insertSeparator();
148 150
149 if ( Ir::supported() ) { 151 if ( Ir::supported() ) {
150 a = new QAction( tr( "Beam" ), Resource::loadPixmap( "beam" ), 152 a = new QAction( tr( "Beam" ), Resource::loadPixmap( "beam" ), QString::null, 0, this, 0 );
151 QString::null, 0, this, 0 ); 153 connect( a, SIGNAL( activated() ), this, SLOT( slotBeam() ) );
152 connect( a, SIGNAL( activated() ), 154 a->setWhatsThis( tr( "Click here to send the current task to another device." ) );
153 this, SLOT( slotBeam() ) ); 155 a->addTo( m_edit );
154 a->addTo( m_edit ); 156 a->addTo( m_tool );
155 a->addTo( m_tool );
156 } 157 }
157 158
158 // Options menu 159 // Options menu
159 a = new QAction( tr("Find"), Resource::loadIconSet( "mag" ), 160 a = new QAction( tr("Find"), Resource::loadIconSet( "mag" ),
160 QString::null, 0, this, 0 ); 161 QString::null, 0, this, 0 );
161 connect(a, SIGNAL( activated() ), this, SLOT( slotFind() ) ); 162 connect(a, SIGNAL( activated() ), this, SLOT( slotFind() ) );
162 a->addTo( m_options ); 163 a->addTo( m_options );
163 m_findAction = a; 164 m_findAction = a;
164 165
165 m_options->insertSeparator(); 166 m_options->insertSeparator();
166 167
167 m_completedAction = new QAction( QString::null, tr("Show completed tasks"), 168 m_completedAction = new QAction( QString::null, tr("Show completed tasks"),
168 0, this, 0, TRUE ); 169 0, this, 0, TRUE );
169 m_completedAction->addTo( m_options ); 170 m_completedAction->addTo( m_options );
170 m_completedAction->setOn( showCompleted() ); 171 m_completedAction->setOn( showCompleted() );
171 connect(m_completedAction, SIGNAL( toggled(bool) ), this, SLOT(slotShowCompleted(bool) ) ); 172 connect(m_completedAction, SIGNAL( toggled(bool) ), this, SLOT(slotShowCompleted(bool) ) );
172 173
173 a = new QAction( QString::null, tr("Show only over-due tasks"), 174 a = new QAction( QString::null, tr("Show only over-due tasks"),
174 0, this, 0, TRUE ); 175 0, this, 0, TRUE );
175 a->addTo( m_options ); 176 a->addTo( m_options );
176 a->setOn( showOverDue() ); 177 a->setOn( showOverDue() );
177 connect(a, SIGNAL(toggled(bool)), this, SLOT(slotShowDue(bool) ) ); 178 connect(a, SIGNAL(toggled(bool)), this, SLOT(slotShowDue(bool) ) );
178 179
179 m_showDeadLineAction = new QAction( QString::null, tr("Show task deadlines"), 180 m_showDeadLineAction = new QAction( QString::null, tr("Show task deadlines"),
@@ -215,48 +216,49 @@ void MainWindow::initUI() {
215 216
216 setToolBarsMovable( FALSE ); 217 setToolBarsMovable( FALSE );
217 218
218 m_tool = new QPEToolBar( this ); 219 m_tool = new QPEToolBar( this );
219 m_tool->setHorizontalStretchable( TRUE ); 220 m_tool->setHorizontalStretchable( TRUE );
220 221
221 m_bar = new QMenuBar( m_tool ); 222 m_bar = new QMenuBar( m_tool );
222 223
223 /** QPopupMenu */ 224 /** QPopupMenu */
224 m_edit = new QPopupMenu( this ); 225 m_edit = new QPopupMenu( this );
225 m_options = new QPopupMenu( this ); 226 m_options = new QPopupMenu( this );
226 m_catMenu = new QPopupMenu( this ); 227 m_catMenu = new QPopupMenu( this );
227 m_template = new QPopupMenu( this ); 228 m_template = new QPopupMenu( this );
228 229
229 m_catMenu->setCheckable( TRUE ); 230 m_catMenu->setCheckable( TRUE );
230 m_template->setCheckable( TRUE ); 231 m_template->setCheckable( TRUE );
231 232
232 connect(m_catMenu, SIGNAL(activated(int) ), 233 connect(m_catMenu, SIGNAL(activated(int) ),
233 this, SLOT(setCategory(int) ) ); 234 this, SLOT(setCategory(int) ) );
234 connect(m_template, SIGNAL(activated(int) ), 235 connect(m_template, SIGNAL(activated(int) ),
235 this, SLOT(slotNewFromTemplate(int) ) ); 236 this, SLOT(slotNewFromTemplate(int) ) );
236} 237}
237void MainWindow::initViews() { 238void MainWindow::initViews() {
238 TableView* tableView = new TableView( this, m_stack ); 239 TableView* tableView = new TableView( this, m_stack );
240 QWhatsThis::add( tableView, tr( "This is a listing of all current tasks.\n\nThe list displays the following information:\n1. Completed - A green checkmark indicates task is completed. Click here to complete a task.\n2. Priority - a graphical representation of task priority. Double-click here to modify.\n3. Description - description of task. Click here to select the task.\n4. Deadline - shows when task is due. This column can be shown or hidden by selecting Options->'Show task deadlines' from the menu above." ) );
239 m_stack->addWidget( tableView, m_counter++ ); 241 m_stack->addWidget( tableView, m_counter++ );
240 m_views.append( tableView ); 242 m_views.append( tableView );
241 m_curView = tableView; 243 m_curView = tableView;
242 connectBase( tableView ); 244 connectBase( tableView );
243 /* add QString type + QString configname to 245 /* add QString type + QString configname to
244 * the View menu 246 * the View menu
245 * and subdirs for multiple views 247 * and subdirs for multiple views
246 */ 248 */
247} 249}
248void MainWindow::initEditor() { 250void MainWindow::initEditor() {
249 m_curEdit = new Editor(); 251 m_curEdit = new Editor();
250} 252}
251void MainWindow::initShow() { 253void MainWindow::initShow() {
252 m_curShow = new TextViewShow(this); 254 m_curShow = new TextViewShow(this);
253 m_stack->addWidget( m_curShow->widget() , m_counter++ ); 255 m_stack->addWidget( m_curShow->widget() , m_counter++ );
254} 256}
255MainWindow::~MainWindow() { 257MainWindow::~MainWindow() {
256 delete templateManager(); 258 delete templateManager();
257} 259}
258void MainWindow::connectBase( ViewBase* ) { 260void MainWindow::connectBase( ViewBase* ) {
259 // once templates and signals mix we'll use it again 261 // once templates and signals mix we'll use it again
260} 262}
261QPopupMenu* MainWindow::contextMenu( int , bool recur ) { 263QPopupMenu* MainWindow::contextMenu( int , bool recur ) {
262 QPopupMenu* menu = new QPopupMenu(); 264 QPopupMenu* menu = new QPopupMenu();
diff --git a/core/pim/todo/quickeditimpl.cpp b/core/pim/todo/quickeditimpl.cpp
index cadec03..7664ee4 100644
--- a/core/pim/todo/quickeditimpl.cpp
+++ b/core/pim/todo/quickeditimpl.cpp
@@ -1,66 +1,70 @@
1#include <qaction.h> 1#include <qaction.h>
2#include <qlineedit.h> 2#include <qlineedit.h>
3#include <qwhatsthis.h>
3 4
4#include <qpe/resource.h> 5#include <qpe/resource.h>
5 6
6#include <opie/oclickablelabel.h> 7#include <opie/oclickablelabel.h>
7 8
8#include "mainwindow.h" 9#include "mainwindow.h"
9#include "quickeditimpl.h" 10#include "quickeditimpl.h"
10 11
11 12
12QuickEditImpl::QuickEditImpl( QWidget* parent, bool visible ) 13QuickEditImpl::QuickEditImpl( QWidget* parent, bool visible )
13 : QPEToolBar( (QMainWindow *)parent ), Todo::QuickEdit( (Todo::MainWindow *)parent ) { 14 : QPEToolBar( (QMainWindow *)parent ), Todo::QuickEdit( (Todo::MainWindow *)parent ) {
14 setHorizontalStretchable( TRUE ); 15 setHorizontalStretchable( TRUE );
15 16
16 // Load priority icons 17 // Load priority icons
17 // TODO - probably should be done globally somewhere else, see also tableview.cpp/h 18 // TODO - probably should be done globally somewhere else, see also tableview.cpp/h
18 priority1 = Resource::loadPixmap( "todo/priority1" ); 19 priority1 = Resource::loadPixmap( "todo/priority1" );
19 priority3 = Resource::loadPixmap( "todo/priority3" ); 20 priority3 = Resource::loadPixmap( "todo/priority3" );
20 priority5 = Resource::loadPixmap( "todo/priority5" ); 21 priority5 = Resource::loadPixmap( "todo/priority5" );
21 22
22
23 // TODO - come up with icons and replace text priority values
24 m_lbl = new OClickableLabel( this ); 23 m_lbl = new OClickableLabel( this );
25 m_lbl->setMinimumWidth(15); 24 m_lbl->setMinimumWidth( 15 );
26 m_lbl->setPixmap( priority3 ); 25 m_lbl->setPixmap( priority3 );
27 connect(m_lbl, SIGNAL(clicked() ), this, SLOT(slotPrio()) ); 26 connect(m_lbl, SIGNAL(clicked() ), this, SLOT(slotPrio()) );
27 QWhatsThis::add( m_lbl, tr( "Click here to set the priority of new task.\n\nThis area is called the quick task bar.\n\nIt allows you to quickly add a new task to your list. This area can be shown or hidden by selecting Options->'Show quick task bar' from the menu above." ) );
28 28
29 m_edit = new QLineEdit( this ); 29 m_edit = new QLineEdit( this );
30 setStretchableWidget( m_edit ); 30 setStretchableWidget( m_edit );
31 31 QWhatsThis::add( m_edit, tr( "Enter description of new task here.\n\nThis area is called the quick task bar.\n\nIt allows you to quickly add a new task to your list. This area can be shown or hidden by selecting Options->'Show quick task bar' from the menu above." ) );
32
32 QAction *a = new QAction( tr( "More" ), Resource::loadPixmap( "todo/more" ), QString::null, 0, this, 0 ); 33 QAction *a = new QAction( tr( "More" ), Resource::loadPixmap( "todo/more" ), QString::null, 0, this, 0 );
33 connect( a, SIGNAL( activated() ), this, SLOT( slotMore() ) ); 34 connect( a, SIGNAL( activated() ), this, SLOT( slotMore() ) );
34 a->addTo( this ); 35 a->addTo( this );
36 a->setWhatsThis( tr( "Click here to enter additional information for new task.\n\nThis area is called the quick task bar.\n\nIt allows you to quickly add a new task to your list. This area can be shown or hidden by selecting Options->'Show quick task bar' from the menu above." ) );
35 37
36 a = new QAction( tr( "Enter" ), Resource::loadPixmap( "enter" ), QString::null, 0, this, 0 ); 38 a = new QAction( tr( "Enter" ), Resource::loadPixmap( "enter" ), QString::null, 0, this, 0 );
37 connect( a, SIGNAL( activated() ), this, SLOT( slotEnter() ) ); 39 connect( a, SIGNAL( activated() ), this, SLOT( slotEnter() ) );
38 a->addTo( this ); 40 a->addTo( this );
41 a->setWhatsThis( tr( "Click here to add new task.\n\nThis area is called the quick task bar.\n\nIt allows you to quickly add a new task to your list. This area can be shown or hidden by selecting Options->'Show quick task bar' from the menu above." ) );
39 42
40 a = new QAction( tr( "Cancel" ), Resource::loadPixmap( "close" ), QString::null, 0, this, 0 ); 43 a = new QAction( tr( "Cancel" ), Resource::loadPixmap( "close" ), QString::null, 0, this, 0 );
41 connect( a, SIGNAL( activated() ), this, SLOT( slotCancel() ) ); 44 connect( a, SIGNAL( activated() ), this, SLOT( slotCancel() ) );
42 a->addTo( this ); 45 a->addTo( this );
46 a->setWhatsThis( tr( "Click here to reset new task information.\n\nThis area is called the quick task bar.\n\nIt allows you to quickly add a new task to your list. This area can be shown or hidden by selecting Options->'Show quick task bar' from the menu above." ) );
43 47
44 m_visible = visible; 48 m_visible = visible;
45 if ( !m_visible ) { 49 if ( !m_visible ) {
46 hide(); 50 hide();
47 } 51 }
48 52
49 m_menu = 0l; 53 m_menu = 0l;
50 reinit(); 54 reinit();
51} 55}
52QuickEditImpl::~QuickEditImpl() { 56QuickEditImpl::~QuickEditImpl() {
53 57
54} 58}
55OTodo QuickEditImpl::todo()const { 59OTodo QuickEditImpl::todo()const {
56 return m_todo; 60 return m_todo;
57} 61}
58QWidget* QuickEditImpl::widget() { 62QWidget* QuickEditImpl::widget() {
59 return this; 63 return this;
60} 64}
61void QuickEditImpl::slotEnter() { 65void QuickEditImpl::slotEnter() {
62 OTodo todo; 66 OTodo todo;
63 67
64 68
65 if (!m_edit->text().isEmpty() ) { 69 if (!m_edit->text().isEmpty() ) {
66 todo.setUid(1 ); // new uid 70 todo.setUid(1 ); // new uid
diff --git a/core/pim/todo/tableview.cpp b/core/pim/todo/tableview.cpp
index d229f52..cd6740a 100644
--- a/core/pim/todo/tableview.cpp
+++ b/core/pim/todo/tableview.cpp
@@ -38,98 +38,99 @@
38#include <qpe/resource.h> 38#include <qpe/resource.h>
39 39
40#include <opie/orecur.h> 40#include <opie/orecur.h>
41 41
42#include "mainwindow.h" 42#include "mainwindow.h"
43//#include "tableitems.h" 43//#include "tableitems.h"
44#include "tableview.h" 44#include "tableview.h"
45 45
46using namespace Todo; 46using namespace Todo;
47 47
48namespace { 48namespace {
49 static const int BoxSize = 14; 49 static const int BoxSize = 14;
50 static const int RowHeight = 20; 50 static const int RowHeight = 20;
51} 51}
52 52
53 53
54void TableView::initConfig() { 54void TableView::initConfig() {
55 Config config( "todo" ); 55 Config config( "todo" );
56 config.setGroup( "Options" ); 56 config.setGroup( "Options" );
57 m_completeStrokeWidth = config.readNumEntry( "CompleteStrokeWidth", 8 ); 57 m_completeStrokeWidth = config.readNumEntry( "CompleteStrokeWidth", 8 );
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
63 // Load icons
64 // TODO - probably should be done globally somewhere else, see also quickeditimpl.cpp/h
65 m_pic_completed = Resource::loadPixmap( "todo/completed" );
66 QString namestr;
67 for ( unsigned int i = 1; i < 6; i++ ) {
68 namestr = "todo/priority";
69 namestr.append( QString::number( i ) );
70 m_pic_priority[ i - 1 ] = Resource::loadPixmap( namestr );
71 }
72
62 setUpdatesEnabled( false ); 73 setUpdatesEnabled( false );
63 viewport()->setUpdatesEnabled( false ); 74 viewport()->setUpdatesEnabled( false );
64 m_enablePaint = false; 75 m_enablePaint = false;
65 setNumRows(0); 76 setNumRows(0);
66 setNumCols(4); 77 setNumCols(4);
67 78
68 horizontalHeader()->setLabel( 0, tr("C.") ); 79 horizontalHeader()->setLabel( 0, tr("C.") );
69 horizontalHeader()->setLabel( 1, tr("Priority") ); 80 horizontalHeader()->setLabel( 1, tr("Priority") );
70 horizontalHeader()->setLabel( 2, tr("Description" ) ); 81 horizontalHeader()->setLabel( 2, tr("Description" ) );
71 horizontalHeader()->setLabel( 3, tr("Deadline") ); 82 horizontalHeader()->setLabel( 3, tr("Deadline") );
72 83
73 setShowDeadline( todoWindow()->showDeadline() ); 84 setShowDeadline( todoWindow()->showDeadline() );
74 85
75 setSorting( TRUE ); 86 setSorting( TRUE );
76 setSelectionMode( NoSelection ); 87 setSelectionMode( NoSelection );
77 88
78 setLeftMargin( 0 ); 89 setLeftMargin( 0 );
79 verticalHeader()->hide(); 90 verticalHeader()->hide();
80 91
81 connect((QTable*)this, SIGNAL( clicked( int, int, int, const QPoint& ) ), 92 connect((QTable*)this, SIGNAL( clicked( int, int, int, const QPoint& ) ),
82 this, SLOT( slotClicked(int, int, int, const QPoint& ) ) ); 93 this, SLOT( slotClicked(int, int, int, const QPoint& ) ) );
83 connect((QTable*)this, SIGNAL( pressed( int, int, int, const QPoint& ) ), 94 connect((QTable*)this, SIGNAL( pressed( int, int, int, const QPoint& ) ),
84 this, SLOT( slotPressed(int, int, int, const QPoint& ) ) ); 95 this, SLOT( slotPressed(int, int, int, const QPoint& ) ) );
85 connect((QTable*)this, SIGNAL(valueChanged(int, int) ), 96 connect((QTable*)this, SIGNAL(valueChanged(int, int) ),
86 this, SLOT( slotValueChanged(int, int) ) ); 97 this, SLOT( slotValueChanged(int, int) ) );
87 connect((QTable*)this, SIGNAL(currentChanged(int, int) ), 98 connect((QTable*)this, SIGNAL(currentChanged(int, int) ),
88 this, SLOT( slotCurrentChanged(int, int) ) ); 99 this, SLOT( slotCurrentChanged(int, int) ) );
89 100
90 m_menuTimer = new QTimer( this ); 101 m_menuTimer = new QTimer( this );
91 connect( m_menuTimer, SIGNAL(timeout()), 102 connect( m_menuTimer, SIGNAL(timeout()),
92 this, SLOT(slotShowMenu()) ); 103 this, SLOT(slotShowMenu()) );
93 104
94 m_enablePaint = true; 105 m_enablePaint = true;
95 setUpdatesEnabled( true ); 106 setUpdatesEnabled( true );
96 viewport()->setUpdatesEnabled( true ); 107 viewport()->setUpdatesEnabled( true );
97 viewport()->update(); 108 viewport()->update();
98 setSortOrder( 0 ); 109 setSortOrder( 0 );
99 setAscending( TRUE ); 110 setAscending( TRUE );
100 m_first = true; 111 m_first = true;
101 112
102 // Load icons
103 // TODO - probably should be done globally somewhere else, see also quickeditimpl.cpp/h
104 m_pic_completed = Resource::loadPixmap( "todo/completed" );
105 QString namestr;
106 for ( unsigned int i = 1; i < 6; i++ ) {
107 namestr = "todo/priority";
108 namestr.append( QString::number( i ) );
109 m_pic_priority[ i - 1 ] = Resource::loadPixmap( namestr );
110 }
111
112 /* now let's init the config */ 113 /* now let's init the config */
113 initConfig(); 114 initConfig();
114} 115}
115/* a new day has started 116/* a new day has started
116 * update the day 117 * update the day
117 */ 118 */
118void TableView::newDay() { 119void TableView::newDay() {
119 clear(); 120 clear();
120 updateView(); 121 updateView();
121} 122}
122TableView::~TableView() { 123TableView::~TableView() {
123 124
124} 125}
125void TableView::slotShowMenu() { 126void TableView::slotShowMenu() {
126 QPopupMenu *menu = todoWindow()->contextMenu( current(), sorted()[currentRow()].recurrence().doesRecur() ); 127 QPopupMenu *menu = todoWindow()->contextMenu( current(), sorted()[currentRow()].recurrence().doesRecur() );
127 menu->exec(QCursor::pos() ); 128 menu->exec(QCursor::pos() );
128 delete menu; 129 delete menu;
129} 130}
130QString TableView::type() const { 131QString TableView::type() const {
131 return QString::fromLatin1( tr("Table View") ); 132 return QString::fromLatin1( tr("Table View") );
132} 133}
133int TableView::current() { 134int TableView::current() {
134 int uid = sorted().uidAt(currentRow() ); 135 int uid = sorted().uidAt(currentRow() );
135 136