summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/pim/today/TodoItem.cpp44
-rw-r--r--core/pim/today/TodoItem.h40
-rw-r--r--core/pim/today/changelog5
-rw-r--r--core/pim/today/minidom.c446
-rw-r--r--core/pim/today/minidom.h57
-rw-r--r--core/pim/today/opie-today.control2
6 files changed, 6 insertions, 588 deletions
diff --git a/core/pim/today/TodoItem.cpp b/core/pim/today/TodoItem.cpp
deleted file mode 100644
index 5654687..0000000
--- a/core/pim/today/TodoItem.cpp
+++ b/dev/null
@@ -1,44 +0,0 @@
-/*
- * TodoItem.h
- *
- * ---------------------
- *
- * begin : Sun 10 17:20:00 CEST 2002
- * copyright : (c) 2002 by Maximilian Rei�
- * email : max.reiss@gmx.de
- *
- */
-/***************************************************************************
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. *
- * *
- ***************************************************************************/
-
-
-#include "TodoItem.h"
-
-TodoItem::TodoItem(const char *description, int completed, int priority)
-{
- m_description = description;
- m_completed = completed;
- m_priority = priority;
-}
-
-QString TodoItem::getDescription()
-{
- return m_description;
-}
-
-bool TodoItem::getCompleted()
-{
- return (m_completed == 1);
-}
-
-int TodoItem::getPriority()
-{
- return m_priority;
-}
-
diff --git a/core/pim/today/TodoItem.h b/core/pim/today/TodoItem.h
deleted file mode 100644
index abdb215..0000000
--- a/core/pim/today/TodoItem.h
+++ b/dev/null
@@ -1,40 +0,0 @@
-/*
- * TodoItem.h
- *
- * ---------------------
- *
- * begin : Sun 10 17:20:00 CEST 2002
- * copyright : (c) 2002 by Maximilian Rei�
- * email : max.reiss@gmx.de
- *
- */
-/***************************************************************************
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. *
- * *
- ***************************************************************************/
-
-
-#ifndef TODO_ITEM_H
-#define TODO_ITEM_H
-
-#include <qstring.h>
-
-class TodoItem
-{
- public:
- TodoItem(const char *description, int completed, int priority);
- QString getDescription();
- bool getCompleted();
- int getPriority();
- private:
- QString m_description;
- int m_priority;
- int m_completed;
-};
-
-#endif
-
diff --git a/core/pim/today/changelog b/core/pim/today/changelog
index 8ccff3c..c5d20ce 100644
--- a/core/pim/today/changelog
+++ b/core/pim/today/changelog
@@ -1,71 +1,76 @@
+0.3.1
+
+
+* bugfixes in calendar part, now location and note are working again.
+
0.3.0
* today uses now tododb from libopie. So major changes in the todo part:
- overdue items on top
- then sorted by date, then by priority
* some cleanups
* speed optimisations
0.2.9
* Many bugfixes.
* Today now apparently sorts the dates _allways_ right, i would assume it
to be a qt bug
0.2.8
* Appointments are now clickable (connection to datebook still missing)
* autostart support (opie only)
0.2.7
* check if todolist.xml was changed before parsing it
* check only every 30 sec for changes.
* some visual stuff
* as usual many little improvements .-)
0.2.6
* added scrollbars to dates and todo
* all day detection
* some smaller bugfixes
0.2.5
* some other minor fixes regarding autoupdate
* fixed segfault with todolist > 7 entries
* fixed the "ugly grey border around buttons" issue
* fixed the "empty calendar field" "bug"
* shown only later appointments as option
0.2.4
* added support for email
* autoupdates after 1 min
* QCopEnvelope instead of system()
* starting to use qvbox in gui
0.2.3
* the 4 am release
* several bugfixes
0.2.2
* started working on calling other apps
* and finished it
0.2.1
* images no more inline
* config dialog
0.1.1
* started changelog.
* fixed segfault on empty/nonexistant todolist.xml
* better handling for file location
diff --git a/core/pim/today/minidom.c b/core/pim/today/minidom.c
deleted file mode 100644
index 4155f48..0000000
--- a/core/pim/today/minidom.c
+++ b/dev/null
@@ -1,446 +0,0 @@
-/*
- * The GGZ Gaming Zone Metaserver Project
- * Copyright (C) 2001 Josef Spillner, dr_maux@users.sourceforge.net
- * Published under GNU GPL conditions.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include "minidom.h"
-
-/* Remove all line breaks, spaces, tabs, and check/remove XML header */
-char *minidom_cleanstream(const char *stream)
-{
- static char *cs = NULL;
- unsigned int i, j;
- int inside;
- int spaceprotect;
- int spacesonly;
-
- if(!stream) return NULL;
- if(cs)
- {
- free(cs);
- cs = NULL;
- }
- cs = (char*)malloc(strlen(stream) + 1);
-
- j = 0;
- inside = 0;
- spaceprotect = 0;
- spacesonly = 0;
- for(i = 0; i < strlen(stream); i++)
- {
- if(stream[i] == '\t') continue;
- if(stream[i] == '\n')
- {
- if(inside)
- {
- cs[j] = ' ';
- j++;
- }
- continue;
- }
- if((!inside) && (!spaceprotect) && (stream[i] == ' ')) continue;
- if((stream[i] != ' ') && (stream[i] != '<') && (spacesonly)) spacesonly = 0;
- if(stream[i] == '<')
- {
- if(spacesonly) j = spacesonly;
- spacesonly = 0;
- inside = 1;
- if(stream[i + 1] == '?') inside = 2;
- spaceprotect = 0;
- if(stream[i + 1] == '/') spaceprotect = -1;
- }
- if(inside != 2)
- {
- cs[j] = stream[i];
- j++;
- }
- if(stream[i] == '>')
- {
- inside = 0;
- spaceprotect++; /* 1 on opening tag, 0 on closing tag */
- if(stream[i - 1] == '/') spaceprotect = 0;
- spacesonly = j;
- }
- }
- cs[j] = 0;
-
- /*printf("DEBUG: cleanstream: return %s\n", cs);*/
- return cs;
-}
-
-/* Return position of c or -1 if not found */
-int strpos(const char *s, char c)
-{
- unsigned int i;
-
- if(!s) return -1;
- for(i = 0; i < strlen(s); i++)
- if(s[i] == c) return i;
- return -1;
-}
-
-/* Add a complete tag to an element, return the new child */
-ELE *minidom_makechild(ELE *parent, char *tag)
-{
- char *token;
- int i, j, k, l, len, size, count;
- ELE *ele;
- ATT *att;
- int pos;
-
- if(!tag) return parent;
-
- ele = (ELE*)malloc(sizeof(ELE));
- ele->parent = parent;
- ele->name = NULL;
- ele->value = NULL;
- ele->at = NULL;
- ele->el = NULL;
- ele->elnum = 0;
- ele->atnum = 0;
-
- if(parent)
- {
- parent->elnum++;
- parent->el = (ELE**)realloc(parent->el, (parent->elnum + 1) * sizeof(ELE*));
- parent->el[parent->elnum - 1] = ele;
- parent->el[parent->elnum] = NULL;
- }
-
- /*printf("TAG: %s\n", tag);*/
- i = 0;
- k = 0;
- l = 0;
- count = 0;
- token = strdup(tag);
- len = strlen(tag);
- for(j = 0; j < len; j++)
- {
- if(tag[j] == '\"') k++;
- if(tag[j] == '\'') k++;
- if(tag[j] == '=') l++;
- if(((tag[j] == ' ') && ((k == 2) || (l == 0))) || (j == len - 1))
- {
- size = j - i;
- if(j == len - 1) size++;
- strncpy(token, tag + i, size);
- token[size] = 0;
- /*printf("ATTRIBUTE: %s\n", token);*/
- if(count == 0)
- {
- /* name */
- /*printf(" ** %s\n", token);*/
- ele->name = (char*)malloc(strlen(token) + 1);
- strcpy(ele->name, token);
- }
- else
- {
- att = (ATT*)malloc(sizeof(ATT));
- pos = strpos(token, '=');
- if(pos == -1)
- {
- att->name = strdup(token);
- att->value = NULL;
- }
- else
- {
- att->name = (char*)malloc(pos + 1);
- att->value = (char*)malloc(strlen(token) - pos + 1);
- memcpy(att->name, token, pos);
- memcpy(att->value, token + pos + 1 + 1, strlen(token) - pos - 1 - 2); /* exclude "" marks */
- att->name[pos] = 0;
- att->value[strlen(token) - pos - 1 - 2] = 0;
- }
- ele->atnum++;
- ele->at = (ATT**)realloc(ele->at, (ele->atnum + 1) * sizeof(ATT*));
- ele->at[ele->atnum - 1] = att;
- ele->at[ele->atnum] = NULL;
- }
- i = j + 1;
- k = 0;
- l = 0;
- count++;
- }
- }
- free(token);
-
- return ele;
-}
-
-/* Parses a stream to add its contents to a DOM */
-DOM *minidom_parse(const char *stream)
-{
- DOM *dom;
- char *cs;
- unsigned int i;
- int mark, lastmark;
- char *token;
- int error = 0;
- ELE *ele, *cp; /* root node and current pointer */
- int endtag;
-
- if(!stream) return NULL;
- cs = minidom_cleanstream(stream);
-
- dom = (DOM*)malloc(sizeof(DOM));
- dom->processed = 0;
- dom->valid = 0;
- dom->el = NULL;
-
- /*ele = (ELE*)malloc(sizeof(ELE));*/ /* memory loss! */
- /*ele->parent = NULL;
- ele->name = NULL;
- ele->value = NULL;
- ele->el = NULL;
- ele->at = NULL;
- ele->elnum = 0;*/
- ele = NULL;
- cp = NULL;
- token = NULL;
- mark = -1;
- error = 0;
- lastmark = 0;
- endtag = 0;
- for(i = 0; i < strlen(cs); i++)
- {
- if(cs[i] == '<')
- {
- if(mark == -1) mark = i + 1;
- else error = 1;
- if((int)i != lastmark)
- {
- if(token) free(token);
- token = (char*)malloc(i - lastmark + 1);
- memcpy(token, cs + lastmark, i - lastmark);
- token[i - lastmark] = 0;
- /*printf(" --> content: %s\n", token);*/
- cp->value = (char*)malloc(strlen(token) + 1);
- strcpy(cp->value, token);
- }
- }
- if(cs[i] == '>')
- {
- if(mark != -1)
- {
- if(token) free(token);
- token = (char*)malloc(i - mark + 1);
- memcpy(token, cs + mark, i - mark);
- token[i - mark] = 0;
- /*printf("--> token: %s\n", token);*/
- if((token[0] == '/') && (cp)) cp = cp->parent;
- else
- {
- if(token[i - mark - 1] == '/')
- {
- token[i - mark - 1] = 0;
- /*cp = cp->parent;*/
- endtag = 1;
- }
- /*printf("INSERT AT: %i\n", cp);*/
- cp = minidom_makechild(cp, token);
- if((cp) && (!ele)) ele = cp;
- /*if(cp) cp = cp->parent;*/ /* QUICK HACK?! */
- if(endtag)
- {
- if(cp) cp = cp->parent;
- endtag = 0;
- }
- }
- mark = -1;
- lastmark = i + 1;
- }
- else error = 1;
- }
- }
-
- dom->valid = !error;
- dom->processed = 1;
- dom->el = ele;
-
- return dom;
-}
-
-/* Loads an XML file and return the DOM */
-DOM *minidom_load(const char *file)
-{
- DOM *dom;
- FILE *f;
- char buf[1024];
- char *buffer;
-
- f = fopen(file, "r");
- if(!f) return NULL;
-
- buffer = (char*)malloc(1);
- strcpy(buffer, "");
- while(fgets(buf, sizeof(buf), f))
- {
- if(strlen(buf) > 0)
- {
- /*printf("Got: %s\n", buf);*/
- buffer = (char*)realloc(buffer, strlen(buffer) + strlen(buf) + 1);
- /*buf[strlen(buf) - 1] = 0;*/
- /*printf("Add: %s", buf);*/
- strcat(buffer, buf);
- }
- }
- fclose(f);
-
- /*printf("DEBUG: ready!\n");
- printf("DEBUG: load: parse %s\n", buffer);*/
- dom = minidom_parse(buffer);
- free(buffer);
-
- return dom;
-}
-
-void minidom_internal_dump(ELE *ele); /* forward decl */
-
-/* Dump out the DOM in XML format */
-/* FIXME: return a char* and print this if dump is needed */
-void minidom_dump(DOM *dom)
-{
- if(!dom) return;
- if(!dom->processed)
- {
- printf("ERROR: DOM is incomplete!\n");
- return;
- }
- if(!dom->valid)
- {
- printf("ERROR: DOM is invalid!\n");
- return;
- }
- if(!dom->el)
- {
- printf("ERROR: DOM is empty!\n"); /* is this really an error? */
- return;
- }
- minidom_internal_dump(dom->el);
-}
-
-void minidom_internal_dump(ELE *ele)
-{
- int i;
- static int indent = 0;
- static int start = 0;
-
- if(!ele) return;
- if(!start)
- {
- start = 1;
- printf("<?xml version=\"1.0\"?>\n");
- }
- indent++;
- for(i = 0; i < (indent - 1) * 2; i++)
- printf(" ");
- printf("<%s", ele->name);
-
- i = 0;
- while((ele->at) && (ele->at[i]))
- {
- if(ele->at[i]->value)
- printf(" %s=\"%s\"", ele->at[i]->name, ele->at[i]->value);
- else
- printf(" %s", ele->at[i]->name);
- i++;
- }
-
- if((!ele->value) && (!ele->el)) printf("/");
- printf(">\n");
- if(ele->value)
- {
- for(i = 0; i < (indent - 1) * 2; i++)
- printf(" ");
- printf(" %s\n", ele->value);
- }
-
- i = 0;
- while((ele->el) && (ele->el[i]))
- {
- minidom_internal_dump(ele->el[i]);
- i++;
- }
-
- if((ele->value) || (ele->el))
- {
- for(i = 0; i < (indent -1) * 2; i++)
- printf(" ");
- printf("</%s>\n", ele->name);
- }
- indent--;
-}
-
-/* Clean up after all operations */
-void minidom_free(DOM *dom)
-{
- if(!dom) return;
- free(dom);
- dom = NULL;
-}
-
-/* Query a list of elements */
-ELE **MD_querylist(ELE *parent, const char *name)
-{
- static ELE **elelist = NULL;
- int i, j;
-
- if(!parent) return NULL;
- /*if(elelist)
- {
- i = 0;
- while(elelist[i])
- {
- free(elelist[i]);
- i++;
- }
- free(elelist);
- elelist = NULL;
- }*/ /* MEMORY HOLE !*/
-
- i = 0;
- j = 1;
- while((parent->el) && (parent->el[i]))
- {
- if(!strcmp(parent->el[i]->name, name))
- {
- elelist = (ELE**)malloc((j + 1) * sizeof(ELE*));
- elelist[j - 1] = parent->el[i];
- elelist[j] = NULL;
- j++;
- }
- i++;
- }
-
- return elelist;
-}
-
-/* Query a single element */
-ELE *MD_query(ELE *parent, const char *name)
-{
- ELE **elelist;
-
- elelist = MD_querylist(parent, name);
- if((elelist) && (elelist[0])) return elelist[0];
- return NULL;
-}
-
-/* Get an attribute's value */
-char *MD_att(ELE *element, const char *name)
-{
- int i;
-
- if((!element) || (!element->at)) return NULL;
- i = 0;
- while((element->at[i]))
- {
- if(!strcmp(element->at[i]->name, name)) return element->at[i]->value;
- i++;
- }
- return NULL;
-}
-
diff --git a/core/pim/today/minidom.h b/core/pim/today/minidom.h
deleted file mode 100644
index caa4d4a..0000000
--- a/core/pim/today/minidom.h
+++ b/dev/null
@@ -1,57 +0,0 @@
-/*
- * The GGZ Gaming Zone Metaserver Project
- * Copyright (C) 2001 Josef Spillner, dr_maux@users.sourceforge.net
- * Published under GNU GPL conditions.
- */
-
-#ifndef MINIDOM_H
-#define MINIDOM_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-struct att_t
-{
- char *name; /* name of the attribute */
- char *value; /* value of the attribute */
-};
-
-struct ele_t
-{
- struct ele_t *parent; /* pointer to the parent */
- struct ele_t **el; /* list of child elements */
- struct att_t **at; /* list of attributes */
- char *name; /* tag identifier */
- char *value; /* value inside the tag*/
- int elnum; /* number of child elements [redundant] */
- int atnum; /* number of attribute pairs [redundant] */
-};
-
-struct dom_t
-{
- struct ele_t *el; /* the root node (may be NULL) */
- int valid; /* validity of the DOM */
- int processed; /* indicates whether you can work with it */
-};
-
-typedef struct dom_t DOM; /* Domain Object Model */
-typedef struct ele_t ELE; /* Elements */
-typedef struct att_t ATT; /* Attributes */
-
-DOM *minidom_load(const char *file);
-DOM *minidom_parse(const char *stream);
-void minidom_dump(DOM *dom);
-void minidom_free(DOM *dom);
-
-ELE *MD_query(ELE *parent, const char *name);
-ELE **MD_querylist(ELE *parent, const char *name);
-
-char *MD_att(ELE *element, const char *name);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
diff --git a/core/pim/today/opie-today.control b/core/pim/today/opie-today.control
index 9d8444e..ce2d6b9 100644
--- a/core/pim/today/opie-today.control
+++ b/core/pim/today/opie-today.control
@@ -1,10 +1,10 @@
-Files: bin/today apps/Applications/today.desktop pics/today
+Files: bin/today apps/Applications/today.desktop pics/today/*
Priority: optional
Section: opie/applications
Maintainer: Maximilian Rei� <max.reiss@gmx.de>
Architecture: arm
Version: 0.3.0-$SUB_VERSION
Depends: opie-base ($QPE_VERSION)
License: GPL
Description: today screen
A short overview over current appointments and tasks.