summaryrefslogtreecommitdiff
path: root/core/pim/today/plugins/todolist/todopluginwidget.cpp
Unidiff
Diffstat (limited to 'core/pim/today/plugins/todolist/todopluginwidget.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--core/pim/today/plugins/todolist/todopluginwidget.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/core/pim/today/plugins/todolist/todopluginwidget.cpp b/core/pim/today/plugins/todolist/todopluginwidget.cpp
index 4731b43..d793aae 100644
--- a/core/pim/today/plugins/todolist/todopluginwidget.cpp
+++ b/core/pim/today/plugins/todolist/todopluginwidget.cpp
@@ -1,102 +1,102 @@
1/* 1/*
2 * todopluginwidget.cpp 2 * todopluginwidget.cpp
3 * 3 *
4 * copyright : (c) 2002 by Maximilian Reiß 4 * copyright : (c) 2002 by Maximilian Reiß
5 * email : harlekin@handhelds.org 5 * email : harlekin@handhelds.org
6 * 6 *
7 */ 7 */
8/*************************************************************************** 8/***************************************************************************
9 * * 9 * *
10 * This program is free software; you can redistribute it and/or modify * 10 * This program is free software; you can redistribute it and/or modify *
11 * it under the terms of the GNU General Public License as published by * 11 * it under the terms of the GNU General Public License as published by *
12 * the Free Software Foundation; either version 2 of the License, or * 12 * the Free Software Foundation; either version 2 of the License, or *
13 * (at your option) any later version. * 13 * (at your option) any later version. *
14 * * 14 * *
15 ***************************************************************************/ 15 ***************************************************************************/
16 16
17#include "todopluginwidget.h" 17#include "todopluginwidget.h"
18 18
19#include <qvaluelist.h> 19#include <qvaluelist.h>
20#include <qtl.h> 20#include <qtl.h>
21#include <qstring.h> 21#include <qstring.h>
22#include <qscrollview.h> 22#include <qscrollview.h>
23#include <qobject.h> 23#include <qobject.h>
24#include <qlayout.h> 24#include <qlayout.h>
25 25
26#include <qpe/config.h> 26#include <qpe/config.h>
27#include <qpe/timestring.h> 27#include <qpe/timestring.h>
28#include <qpe/qcopenvelope_qws.h> 28#include <qpe/qcopenvelope_qws.h>
29 29
30TodolistPluginWidget::TodolistPluginWidget( QWidget *parent, const char* name ) 30TodolistPluginWidget::TodolistPluginWidget( QWidget *parent, const char* name )
31 : QWidget( parent, name ) { 31 : QWidget( parent, name ) {
32 32
33 todoLabel= 0l; 33 todoLabel= 0l;
34 todo = 0l; 34 todo = 0l;
35 35
36 if ( todo ) { 36 if ( todo ) {
37 delete todo; 37 delete todo;
38 } 38 }
39 todo = new ToDoDB(); 39 todo = new ToDoDB();
40 40
41 readConfig(); 41 readConfig();
42 m_maxCharClip = 36;
43 getTodo(); 42 getTodo();
44} 43}
45 44
46TodolistPluginWidget::~TodolistPluginWidget() { 45TodolistPluginWidget::~TodolistPluginWidget() {
47 delete todo; 46 delete todo;
48} 47}
49 48
50 49
51void TodolistPluginWidget::readConfig() { 50void TodolistPluginWidget::readConfig() {
52 Config cfg( "todaytodoplugin" ); 51 Config cfg( "todaytodoplugin" );
53 cfg.setGroup( "config" ); 52 cfg.setGroup( "config" );
54 m_maxLinesTask = cfg.readNumEntry( "maxlinestask", 5 ); 53 m_maxLinesTask = cfg.readNumEntry( "maxlinestask", 5 );
54 m_maxCharClip = cfg.readNumEntry( "maxcharclip", 38 );
55} 55}
56 56
57 57
58/** 58/**
59 * Get the todos 59 * Get the todos
60 */ 60 */
61void TodolistPluginWidget::getTodo() { 61void TodolistPluginWidget::getTodo() {
62 62
63 QVBoxLayout* layoutTodo = new QVBoxLayout( this ); 63 QVBoxLayout* layoutTodo = new QVBoxLayout( this );
64 64
65 if ( todoLabel ) { 65 if ( todoLabel ) {
66 delete todoLabel; 66 delete todoLabel;
67 } 67 }
68 68
69 todoLabel = new OClickableLabel( this ); 69 todoLabel = new OClickableLabel( this );
70 todoLabel->setSizePolicy( QSizePolicy( QSizePolicy::Minimum, QSizePolicy::Minimum ) ); 70 todoLabel->setSizePolicy( QSizePolicy( QSizePolicy::Minimum, QSizePolicy::Minimum ) );
71 connect( todoLabel, SIGNAL( clicked() ), this, SLOT( startTodolist() ) ); 71 connect( todoLabel, SIGNAL( clicked() ), this, SLOT( startTodolist() ) );
72 72
73 QString output; 73 QString output;
74 QString tmpout; 74 QString tmpout;
75 int count = 0; 75 int count = 0;
76 int ammount = 0; 76 int ammount = 0;
77 77
78 // get overdue todos first 78 // get overdue todos first
79 QValueList<ToDoEvent> overDueList = todo->overDue(); 79 QValueList<ToDoEvent> overDueList = todo->overDue();
80 qBubbleSort( overDueList ); 80 qBubbleSort( overDueList );
81 for ( QValueList<ToDoEvent>::Iterator it = overDueList.begin(); 81 for ( QValueList<ToDoEvent>::Iterator it = overDueList.begin();
82 it != overDueList.end(); ++it ) { 82 it != overDueList.end(); ++it ) {
83 if (!(*it).isCompleted() && ( ammount < m_maxLinesTask ) ) { 83 if (!(*it).isCompleted() && ( ammount < m_maxLinesTask ) ) {
84 QString desc = (*it).summary(); 84 QString desc = (*it).summary();
85 if( desc.isEmpty() ) { 85 if( desc.isEmpty() ) {
86 desc = (*it).description(); 86 desc = (*it).description();
87 } 87 }
88 tmpout += "<font color=#e00000><b>-" + desc.mid( 0, m_maxCharClip ) + "</b></font><br>"; 88 tmpout += "<font color=#e00000><b>-" + desc.mid( 0, m_maxCharClip ) + "</b></font><br>";
89 ammount++; 89 ammount++;
90 } 90 }
91 } 91 }
92 92
93 // get total number of still open todos 93 // get total number of still open todos
94 QValueList<ToDoEvent> openTodo = todo->rawToDos(); 94 QValueList<ToDoEvent> openTodo = todo->rawToDos();
95 qBubbleSort( openTodo ); 95 qBubbleSort( openTodo );
96 for ( QValueList<ToDoEvent>::Iterator it = openTodo.begin(); 96 for ( QValueList<ToDoEvent>::Iterator it = openTodo.begin();
97 it != openTodo.end(); ++it ) { 97 it != openTodo.end(); ++it ) {
98 if ( !(*it).isCompleted() ){ 98 if ( !(*it).isCompleted() ){
99 count +=1; 99 count +=1;
100 // not the overdues, we allready got them, and not if we are 100 // not the overdues, we allready got them, and not if we are
101 // over the maxlines 101 // over the maxlines
102 if ( !(*it).isOverdue() && ( ammount < m_maxLinesTask ) ) { 102 if ( !(*it).isOverdue() && ( ammount < m_maxLinesTask ) ) {