summaryrefslogtreecommitdiffstats
path: root/deskutils
diff options
context:
space:
mode:
authoradamw <adamw@df743ca5-7f9a-e211-a948-0013205c9059>2005-04-28 14:44:01 +0800
committeradamw <adamw@df743ca5-7f9a-e211-a948-0013205c9059>2005-04-28 14:44:01 +0800
commitbe02e474a36f661928958b58b3f766c1ffbd86d7 (patch)
treeecde6e6c7b74157197a174ad601930a2fd702a43 /deskutils
parentb13d299cfb1c7d366a4aff12ce1551b62fe4af64 (diff)
downloadmarcuscom-ports-be02e474a36f661928958b58b3f766c1ffbd86d7.tar
marcuscom-ports-be02e474a36f661928958b58b3f766c1ffbd86d7.tar.gz
marcuscom-ports-be02e474a36f661928958b58b3f766c1ffbd86d7.tar.bz2
marcuscom-ports-be02e474a36f661928958b58b3f766c1ffbd86d7.tar.lz
marcuscom-ports-be02e474a36f661928958b58b3f766c1ffbd86d7.tar.xz
marcuscom-ports-be02e474a36f661928958b58b3f766c1ffbd86d7.tar.zst
marcuscom-ports-be02e474a36f661928958b58b3f766c1ffbd86d7.zip
Re-add gnotime, and tell it to look for the correct gtkhtml3 lib version.
git-svn-id: svn://creme-brulee.marcuscom.com/ports/trunk@3953 df743ca5-7f9a-e211-a948-0013205c9059
Diffstat (limited to 'deskutils')
-rw-r--r--deskutils/gnotime/Makefile38
-rw-r--r--deskutils/gnotime/distinfo2
-rw-r--r--deskutils/gnotime/files/patch-lib::qof::qofgobj.c140
-rw-r--r--deskutils/gnotime/files/patch-lib::qof::qofid.c13
-rw-r--r--deskutils/gnotime/files/patch-lib::qof::qofquery-deserial.c235
-rw-r--r--deskutils/gnotime/files/patch-lib::qof::qofquery-serialize.c181
-rw-r--r--deskutils/gnotime/files/patch-lib::qof::qofquery.c17
-rw-r--r--deskutils/gnotime/files/patch-lib::qof::qofsql.c323
-rw-r--r--deskutils/gnotime/files/patch-src::export.c36
-rw-r--r--deskutils/gnotime/files/patch-src::ghtml.c63
-rw-r--r--deskutils/gnotime/files/patch-src::idle-dialog.c54
-rw-r--r--deskutils/gnotime/files/patch-src::journal.c224
-rw-r--r--deskutils/gnotime/files/patch-src::log.c25
-rw-r--r--deskutils/gnotime/files/patch-src::main.c67
-rw-r--r--deskutils/gnotime/files/patch-src::menucmd.c50
-rw-r--r--deskutils/gnotime/files/patch-src::plug-in.c22
-rw-r--r--deskutils/gnotime/files/patch-src::prefs.c95
-rw-r--r--deskutils/gnotime/files/patch-src::proj.c54
-rw-r--r--deskutils/gnotime/files/patch-src::query.c16
-rw-r--r--deskutils/gnotime/pkg-descr5
-rw-r--r--deskutils/gnotime/pkg-plist128
21 files changed, 1788 insertions, 0 deletions
diff --git a/deskutils/gnotime/Makefile b/deskutils/gnotime/Makefile
new file mode 100644
index 000000000..df0725861
--- /dev/null
+++ b/deskutils/gnotime/Makefile
@@ -0,0 +1,38 @@
+# New ports collection makefile for: gnotime
+# Date created: 1 March 2003
+# Whom: Martin Klaffenboeck <martin.klaffenboeck@gmx.at>
+#
+# $FreeBSD: ports/deskutils/gnotime/Makefile,v 1.12 2005/03/12 11:08:18 kwm Exp $
+#
+
+PORTNAME= gnotime
+PORTVERSION= 2.2.1
+PORTREVISION= 1
+CATEGORIES= deskutils gnome
+MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
+MASTER_SITE_SUBDIR= gttr
+
+MAINTAINER= kwm@FreeBSD.org
+COMMENT= GnoTime is a time tracker for gnome2
+
+LIB_DEPENDS= guile.15:${PORTSDIR}/lang/guile
+
+USE_GNOME= gnomehack gnomeprefix gtkhtml3 libgnomeui
+USE_X_PREFIX= yes
+USE_GMAKE= yes
+INSTALLS_OMF= yes
+USE_REINPLACE= yes
+INSTALLS_SHLIB= yes
+USE_LIBTOOL_VER=15
+CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include ${PTHREAD_CFLAGS}" \
+ LDFLAGS="-L${LOCALBASE}/lib"
+
+MAN1= gnotime.1
+GCONF_SCHEMAS= gnotime.schemas
+
+# until a new version comes out...
+post-patch:
+ @${REINPLACE_CMD} -e "s|gtkhtml-3.1|gtkhtml-3.8|g" \
+ ${WRKSRC}/configure
+
+.include <bsd.port.mk>
diff --git a/deskutils/gnotime/distinfo b/deskutils/gnotime/distinfo
new file mode 100644
index 000000000..dee725a41
--- /dev/null
+++ b/deskutils/gnotime/distinfo
@@ -0,0 +1,2 @@
+MD5 (gnotime-2.2.1.tar.gz) = e2aad191b62b41da7f2176a028f1aaf9
+SIZE (gnotime-2.2.1.tar.gz) = 1218556
diff --git a/deskutils/gnotime/files/patch-lib::qof::qofgobj.c b/deskutils/gnotime/files/patch-lib::qof::qofgobj.c
new file mode 100644
index 000000000..89b9f5c89
--- /dev/null
+++ b/deskutils/gnotime/files/patch-lib::qof::qofgobj.c
@@ -0,0 +1,140 @@
+--- lib/qof/qofgobj.c.orig Mon May 24 19:55:16 2004
++++ lib/qof/qofgobj.c Mon May 24 20:01:38 2004
+@@ -57,10 +57,11 @@
+ void
+ qof_gobject_shutdown (void)
+ {
++ GSList *n;
++
+ if (!initialized) return;
+ initialized = FALSE;
+
+- GSList *n;
+ for (n=paramList; n; n=n->next) g_free(n->data);
+ g_slist_free (paramList);
+
+@@ -83,11 +84,14 @@
+ void
+ qof_gobject_register_instance (QofBook *book, QofType type, GObject *gob)
+ {
++ QofCollection *coll;
++ GSList * instance_list;
++
+ if (!book || !type) return;
+
+- QofCollection *coll = qof_book_get_collection (book, type);
++ coll = qof_book_get_collection (book, type);
+
+- GSList * instance_list = qof_collection_get_data (coll);
++ instance_list = qof_collection_get_data (coll);
+ instance_list = g_slist_prepend (instance_list, gob);
+ qof_collection_set_data (coll, instance_list);
+ }
+@@ -101,6 +105,8 @@
+
+ GParamSpec *gps = getter->param_userdata;
+
++ const char * str;
++
+ /* Note that the return type must actually be of type
+ * getter->param_type but we just follow the hard-coded
+ * mapping below ... */
+@@ -110,37 +116,40 @@
+ g_value_init (&gval, G_TYPE_STRING);
+ g_object_get_property (gob, getter->param_name, &gval);
+
+- const char * str = g_value_get_string (&gval);
++ str = g_value_get_string (&gval);
+ return (gpointer) str;
+ }
+ else
+ if (G_IS_PARAM_SPEC_INT(gps))
+ {
++ int ival;
+ GValue gval = {G_TYPE_INVALID};
+ g_value_init (&gval, G_TYPE_INT);
+ g_object_get_property (gob, getter->param_name, &gval);
+
+- int ival = g_value_get_int (&gval);
++ ival = g_value_get_int (&gval);
+ return (gpointer) ival;
+ }
+ else
+ if (G_IS_PARAM_SPEC_UINT(gps))
+ {
++ int ival;
+ GValue gval = {G_TYPE_INVALID};
+ g_value_init (&gval, G_TYPE_UINT);
+ g_object_get_property (gob, getter->param_name, &gval);
+
+- int ival = g_value_get_uint (&gval);
++ ival = g_value_get_uint (&gval);
+ return (gpointer) ival;
+ }
+ else
+ if (G_IS_PARAM_SPEC_BOOLEAN(gps))
+ {
++ int ival;
+ GValue gval = {G_TYPE_INVALID};
+ g_value_init (&gval, G_TYPE_BOOLEAN);
+ g_object_get_property (gob, getter->param_name, &gval);
+
+- int ival = g_value_get_boolean (&gval);
++ ival = g_value_get_boolean (&gval);
+ return (gpointer) ival;
+ }
+
+@@ -161,21 +170,23 @@
+ * mapping below ... */
+ if (G_IS_PARAM_SPEC_FLOAT(gps))
+ {
++ double fval;
+ GValue gval = {G_TYPE_INVALID};
+ g_value_init (&gval, G_TYPE_FLOAT);
+ g_object_get_property (gob, getter->param_name, &gval);
+
+- double fval = g_value_get_float (&gval);
++ fval = g_value_get_float (&gval);
+ return fval;
+ }
+ else
+ if (G_IS_PARAM_SPEC_DOUBLE(gps))
+ {
++ double fval;
+ GValue gval = {G_TYPE_INVALID};
+ g_value_init (&gval, G_TYPE_DOUBLE);
+ g_object_get_property (gob, getter->param_name, &gval);
+
+- double fval = g_value_get_double (&gval);
++ fval = g_value_get_double (&gval);
+ return fval;
+ }
+
+@@ -208,13 +219,16 @@
+ /* Get the GObject properties, convert to QOF properties */
+ GParamSpec **prop_list;
+ int n_props;
++ int i, j=0;
++ QofParam * qof_param_list;
++ QofObject *class_def;
++
+ prop_list = g_object_class_list_properties (obclass, &n_props);
+
+- QofParam * qof_param_list = g_new0 (QofParam, n_props);
++ qof_param_list = g_new0 (QofParam, n_props);
+ paramList = g_slist_prepend (paramList, qof_param_list);
+
+ PINFO ("object %s has %d props", e_type, n_props);
+- int i, j=0;
+ for (i=0; i<n_props; i++)
+ {
+ GParamSpec *gparam = prop_list[i];
+@@ -288,7 +302,7 @@
+
+ /* ------------------------------------------------------ */
+ /* Now do the class itself */
+- QofObject *class_def = g_new0 (QofObject, 1);
++ class_def = g_new0 (QofObject, 1);
+ classList = g_slist_prepend (classList, class_def);
+
+ class_def->interface_version = QOF_OBJECT_VERSION;
diff --git a/deskutils/gnotime/files/patch-lib::qof::qofid.c b/deskutils/gnotime/files/patch-lib::qof::qofid.c
new file mode 100644
index 000000000..4a10a5e07
--- /dev/null
+++ b/deskutils/gnotime/files/patch-lib::qof::qofid.c
@@ -0,0 +1,13 @@
+--- lib/qof/qofid.c.orig Sun May 23 22:57:30 2004
++++ lib/qof/qofid.c Sun Jul 4 23:00:04 2004
+@@ -182,8 +182,9 @@
+ static void
+ qof_collection_remove_entity (QofEntity *ent)
+ {
++ QofCollection *col;
+ if (!ent) return;
+- QofCollection *col = ent->collection;
++ col = ent->collection;
+ if (!col) return;
+ g_hash_table_remove (col->hash_of_entities, &ent->guid);
+ ent->collection = NULL;
diff --git a/deskutils/gnotime/files/patch-lib::qof::qofquery-deserial.c b/deskutils/gnotime/files/patch-lib::qof::qofquery-deserial.c
new file mode 100644
index 000000000..35d06885a
--- /dev/null
+++ b/deskutils/gnotime/files/patch-lib::qof::qofquery-deserial.c
@@ -0,0 +1,235 @@
+--- lib/qof/qofquery-deserial.c.orig Sun May 23 16:57:30 2004
++++ lib/qof/qofquery-deserial.c Wed Jul 7 23:54:09 2004
+@@ -80,7 +80,7 @@
+ if (0 == strcmp (TOK, node->name)) \
+ { \
+ const char *str = GET_TEXT (node); \
+- gint64 ival = atoll (str); \
++ gint64 ival = strtoll (str, (char **)NULL, 10); \
+ FN (SELF, ival); \
+ } \
+ else
+@@ -182,10 +182,11 @@
+ static QofQueryPredData * \
+ SUBRNAME (xmlNodePtr root) \
+ { \
++ QofQueryCompare how = QOF_COMPARE_EQUAL; \
++ QofQueryPredData *pred; \
+ xmlNodePtr xp = root->xmlChildrenNode; \
+ xmlNodePtr node; \
+ \
+- QofQueryCompare how = QOF_COMPARE_EQUAL; \
+ CTYPE val = 0; \
+ \
+ for (node=xp; node; node = node->next) \
+@@ -197,7 +198,6 @@
+ {} \
+ } \
+ \
+- QofQueryPredData *pred; \
+ pred = PRED (how, val); \
+ return pred; \
+ }
+@@ -245,10 +245,11 @@
+ static QofQueryPredData *
+ qof_query_pred_kvp_from_xml (xmlNodePtr root)
+ {
++ QofQueryCompare how = QOF_COMPARE_EQUAL;
++ QofQueryPredData *pred;
+ xmlNodePtr xp = root->xmlChildrenNode;
+ xmlNodePtr node;
+
+- QofQueryCompare how = QOF_COMPARE_EQUAL;
+ GSList *path = NULL;
+ KvpValue *value = NULL;
+
+@@ -271,7 +272,6 @@
+ GET_DATE(&value, wrap_new_timespec, "qofquery:date");
+ }
+
+- QofQueryPredData *pred;
+ pred = qof_query_kvp_predicate (how, path, value);
+ g_slist_free (path);
+ return pred;
+@@ -282,9 +282,11 @@
+ static QofQueryPredData *
+ qof_query_pred_guid_from_xml (xmlNodePtr root)
+ {
++ QofQueryPredData *pred;
++ GList *guid_list = NULL;
++ GList *n;
+ xmlNodePtr xp = root->xmlChildrenNode;
+ xmlNodePtr node;
+- GList *guid_list = NULL;
+
+ QofGuidMatch sm = QOF_GUID_MATCH_ANY;
+
+@@ -313,11 +315,9 @@
+ }
+ }
+
+- QofQueryPredData *pred;
+ pred = qof_query_guid_predicate (sm, guid_list);
+
+ /* The predicate made a copy of everything, so free our stuff */
+- GList *n;
+ for (n=guid_list; n; n=n->next)
+ {
+ guid_free (n->data);
+@@ -331,11 +331,12 @@
+ static QofQueryPredData *
+ qof_query_pred_char_from_xml (xmlNodePtr root)
+ {
++ QofQueryPredData *pred;
++ QofCharMatch sm = QOF_CHAR_MATCH_ANY;
++ const char * char_list = NULL;
+ xmlNodePtr xp = root->xmlChildrenNode;
+ xmlNodePtr node;
+
+- QofCharMatch sm = QOF_CHAR_MATCH_ANY;
+- const char * char_list = NULL;
+
+ for (node=xp; node; node = node->next)
+ {
+@@ -348,7 +349,6 @@
+ {}
+ }
+
+- QofQueryPredData *pred;
+ pred = qof_query_char_predicate (sm, char_list);
+ return pred;
+ }
+@@ -358,11 +358,12 @@
+ static QofQueryPredData *
+ qof_query_pred_numeric_from_xml (xmlNodePtr root)
+ {
++ QofQueryCompare how = QOF_COMPARE_EQUAL;
++ QofNumericMatch sm = QOF_NUMERIC_MATCH_ANY;
++ QofQueryPredData *pred;
+ xmlNodePtr xp = root->xmlChildrenNode;
+ xmlNodePtr node;
+
+- QofQueryCompare how = QOF_COMPARE_EQUAL;
+- QofNumericMatch sm = QOF_NUMERIC_MATCH_ANY;
+ gnc_numeric num;
+
+ for (node=xp; node; node = node->next)
+@@ -376,7 +377,6 @@
+ {}
+ }
+
+- QofQueryPredData *pred;
+ pred = qof_query_numeric_predicate (how, sm, num);
+ return pred;
+ }
+@@ -386,12 +386,13 @@
+ static QofQueryPredData *
+ qof_query_pred_date_from_xml (xmlNodePtr root)
+ {
+- xmlNodePtr xp = root->xmlChildrenNode;
+- xmlNodePtr node;
+-
+ QofQueryCompare how = QOF_COMPARE_EQUAL;
+ QofDateMatch sm = QOF_DATE_MATCH_ROUNDED;
+ Timespec date = {0,0};
++ QofQueryPredData *pred;
++ xmlNodePtr xp = root->xmlChildrenNode;
++ xmlNodePtr node;
++
+
+ for (node=xp; node; node = node->next)
+ {
+@@ -404,7 +405,6 @@
+ {}
+ }
+
+- QofQueryPredData *pred;
+ pred = qof_query_date_predicate (how, sm, date);
+ return pred;
+ }
+@@ -414,13 +414,14 @@
+ static QofQueryPredData *
+ qof_query_pred_string_from_xml (xmlNodePtr root)
+ {
+- xmlNodePtr xp = root->xmlChildrenNode;
+- xmlNodePtr node;
+-
+ QofQueryCompare how = QOF_COMPARE_EQUAL;
+ QofStringMatch sm = QOF_STRING_MATCH_CASEINSENSITIVE;
+ gboolean is_regex = FALSE;
+ const char *pstr = NULL;
++ QofQueryPredData *pred;
++ xmlNodePtr xp = root->xmlChildrenNode;
++ xmlNodePtr node;
++
+
+ for (node=xp; node; node = node->next)
+ {
+@@ -434,7 +435,6 @@
+ {}
+ }
+
+- QofQueryPredData *pred;
+ pred = qof_query_string_predicate (how, pstr, sm , is_regex);
+ return pred;
+ }
+@@ -444,8 +444,8 @@
+ static GSList *
+ qof_query_param_path_from_xml (xmlNodePtr root)
+ {
+- xmlNodePtr pterms = root->xmlChildrenNode;
+ GSList *plist = NULL;
++ xmlNodePtr pterms = root->xmlChildrenNode;
+ xmlNodePtr node;
+ for (node=pterms; node; node = node->next)
+ {
+@@ -465,10 +465,10 @@
+ static void
+ qof_query_term_from_xml (QofQuery *q, xmlNodePtr root)
+ {
+- xmlNodePtr node;
+- xmlNodePtr term = root->xmlChildrenNode;
+ QofQueryPredData *pred = NULL;
+ GSList *path = NULL;
++ xmlNodePtr node;
++ xmlNodePtr term = root->xmlChildrenNode;
+
+ for (node=term; node; node = node->next)
+ {
+@@ -476,8 +476,9 @@
+ if (0 == strcmp (node->name, "qofquery:invert"))
+ {
+ QofQuery *qt = qof_query_create();
++ QofQuery *qinv;
+ qof_query_term_from_xml (qt, node);
+- QofQuery *qinv = qof_query_invert (qt);
++ qinv = qof_query_invert (qt);
+ qof_query_merge_in_place (q, qinv, QOF_QUERY_AND);
+ qof_query_destroy (qinv);
+ qof_query_destroy (qt);
+@@ -594,10 +595,14 @@
+ qof_query_from_xml (xmlNodePtr root)
+ {
+ QofQuery *q;
++ xmlChar *version;
++ xmlNodePtr qpart;
++ xmlNodePtr node;
+
+ if (!root) return NULL;
+
+- xmlChar * version = xmlGetProp(root, "version");
++ version = xmlGetProp(root, "version");
++
+ if (!root->name || strcmp ("qof:qofquery", root->name))
+ {
+ // XXX something is wrong. warn ...
+@@ -606,8 +611,7 @@
+
+ q = qof_query_create ();
+
+- xmlNodePtr qpart = root->xmlChildrenNode;
+- xmlNodePtr node;
++ qpart = root->xmlChildrenNode;
+ for (node=qpart; node; node = node->next)
+ {
+ if (node->type != XML_ELEMENT_NODE) continue;
diff --git a/deskutils/gnotime/files/patch-lib::qof::qofquery-serialize.c b/deskutils/gnotime/files/patch-lib::qof::qofquery-serialize.c
new file mode 100644
index 000000000..f9bb8b99d
--- /dev/null
+++ b/deskutils/gnotime/files/patch-lib::qof::qofquery-serialize.c
@@ -0,0 +1,181 @@
+--- lib/qof/qofquery-serialize.c.orig Wed Jul 7 23:54:57 2004
++++ lib/qof/qofquery-serialize.c Thu Jul 8 00:02:12 2004
+@@ -228,9 +228,10 @@
+ if (!safe_strcmp (pd->type_name, QOF_TYPE_STRING))
+ {
+ xmlNodePtr topnode = xmlNewNode (NULL, "qofquery:pred-string");
++ query_string_t pdata;
+ PUT_HOW ("qofquery:compare", pd->how, LT, LTE, EQUAL, GT, GTE, NEQ);
+
+- query_string_t pdata = (query_string_t) pd;
++ pdata = (query_string_t) pd;
+ PUT_MATCH2("qofquery:string-match", pdata->options,
+ STRING_MATCH, NORMAL, CASEINSENSITIVE);
+ PUT_BOOL ("qofquery:is-regex", pdata->is_regex);
+@@ -240,9 +241,10 @@
+ if (!safe_strcmp (pd->type_name, QOF_TYPE_NUMERIC))
+ {
+ xmlNodePtr topnode = xmlNewNode (NULL, "qofquery:pred-numeric");
++ query_numeric_t pdata;
+ PUT_HOW ("qofquery:compare", pd->how, LT, LTE, EQUAL, GT, GTE, NEQ);
+
+- query_numeric_t pdata = (query_numeric_t) pd;
++ pdata = (query_numeric_t) pd;
+ PUT_MATCH3("qofquery:numeric-match", pdata->options,
+ NUMERIC_MATCH, DEBIT, CREDIT, ANY);
+
+@@ -252,11 +254,12 @@
+ if (!safe_strcmp (pd->type_name, QOF_TYPE_KVP))
+ {
+ xmlNodePtr topnode = xmlNewNode (NULL, "qofquery:pred-kvp");
++ query_kvp_t pdata;
++ GSList *n;
+ PUT_HOW ("qofquery:compare", pd->how, LT, LTE, EQUAL, GT, GTE, NEQ);
+
+- query_kvp_t pdata = (query_kvp_t) pd;
++ pdata = (query_kvp_t) pd;
+
+- GSList *n;
+ for (n=pdata->path; n; n=n->next)
+ {
+ PUT_STR ("qofquery:kvp-path", n->data);
+@@ -267,9 +270,10 @@
+ if (!safe_strcmp (pd->type_name, QOF_TYPE_DATE))
+ {
+ xmlNodePtr topnode = xmlNewNode (NULL, "qofquery:pred-date");
++ query_date_t pdata;
+ PUT_HOW ("qofquery:compare", pd->how, LT, LTE, EQUAL, GT, GTE, NEQ);
+
+- query_date_t pdata = (query_date_t) pd;
++ pdata = (query_date_t) pd;
+
+ PUT_MATCH2("qofquery:date-match", pdata->options,
+ DATE_MATCH, NORMAL, ROUNDED);
+@@ -280,18 +284,20 @@
+ if (!safe_strcmp (pd->type_name, QOF_TYPE_INT64))
+ {
+ xmlNodePtr topnode = xmlNewNode (NULL, "qofquery:pred-int64");
++ query_int64_t pdata;
+ PUT_HOW ("qofquery:compare", pd->how, LT, LTE, EQUAL, GT, GTE, NEQ);
+
+- query_int64_t pdata = (query_int64_t) pd;
++ pdata = (query_int64_t) pd;
+ PUT_INT64 ("qofquery:int64", pdata->val);
+ return topnode;
+ }
+ if (!safe_strcmp (pd->type_name, QOF_TYPE_INT32))
+ {
+ xmlNodePtr topnode = xmlNewNode (NULL, "qofquery:pred-int32");
++ query_int32_t pdata;
+ PUT_HOW ("qofquery:compare", pd->how, LT, LTE, EQUAL, GT, GTE, NEQ);
+
+- query_int32_t pdata = (query_int32_t) pd;
++ pdata = (query_int32_t) pd;
+
+ PUT_INT32 ("qofquery:int32", pdata->val);
+ return topnode;
+@@ -299,9 +305,10 @@
+ if (!safe_strcmp (pd->type_name, QOF_TYPE_DOUBLE))
+ {
+ xmlNodePtr topnode = xmlNewNode (NULL, "qofquery:pred-double");
++ query_double_t pdata;
+ PUT_HOW ("qofquery:compare", pd->how, LT, LTE, EQUAL, GT, GTE, NEQ);
+
+- query_double_t pdata = (query_double_t) pd;
++ pdata = (query_double_t) pd;
+
+ PUT_DBL ("qofquery:double", pdata->val);
+ return topnode;
+@@ -309,9 +316,10 @@
+ if (!safe_strcmp (pd->type_name, QOF_TYPE_BOOLEAN))
+ {
+ xmlNodePtr topnode = xmlNewNode (NULL, "qofquery:pred-boolean");
++ query_boolean_t pdata;
+ PUT_HOW ("qofquery:compare", pd->how, LT, LTE, EQUAL, GT, GTE, NEQ);
+
+- query_boolean_t pdata = (query_boolean_t) pd;
++ pdata = (query_boolean_t) pd;
+
+ PUT_BOOL ("qofquery:boolean", pdata->val);
+ return topnode;
+@@ -386,9 +394,10 @@
+ for ( ; n; n=n->next)
+ {
+ QofQueryTerm *qt = n->data;
++ xmlNodePtr t;
+ if (!qt) continue;
+
+- xmlNodePtr t = qof_query_one_term_to_xml (n->data);
++ t = qof_query_one_term_to_xml (n->data);
+ if (t) xmlAddChild (terms, t);
+ }
+ return terms;
+@@ -419,31 +428,37 @@
+ qof_query_sorts_to_xml (QofQuery *q)
+ {
+ QofQuerySort *s[3];
++ xmlNodePtr sortlist;
++ int i;
+ qof_query_get_sorts (q, &s[0], &s[1], &s[2]);
+
+ if (NULL == s[0]) return NULL;
+
+- xmlNodePtr sortlist = xmlNewNode (NULL, "qofquery:sort-list");
+- int i;
++ sortlist = xmlNewNode (NULL, "qofquery:sort-list");
+ for (i=0; i<3; i++)
+ {
++ GSList *plist;
++ xmlNodePtr sort;
++ xmlNodePtr topnode;
++ gboolean increasing;
++ gint opt;
++ xmlNodePtr pl;
+ if (NULL == s[i]) continue;
+
+- GSList *plist = qof_query_sort_get_param_path (s[i]);
++ plist = qof_query_sort_get_param_path (s[i]);
+ if (!plist) continue;
+
+- xmlNodePtr sort = xmlNewNode (NULL, "qofquery:sort");
++ sort = xmlNewNode (NULL, "qofquery:sort");
+ xmlAddChild (sortlist, sort);
+
+- xmlNodePtr topnode = sort;
+-
+- gboolean increasing = qof_query_sort_get_increasing (s[i]);
++ topnode = sort;
++ increasing = qof_query_sort_get_increasing (s[i]);
+ PUT_STR ("qofquery:order", increasing ? "DESCENDING" : "ASCENDING");
+
+- gint opt = qof_query_sort_get_sort_options (s[i]);
++ opt = qof_query_sort_get_sort_options (s[i]);
+ PUT_INT32 ("qofquery:options", opt);
+
+- xmlNodePtr pl = qof_query_param_path_to_xml (plist);
++ pl = qof_query_param_path_to_xml (plist);
+ if (pl) xmlAddChild (sort, pl);
+ }
+
+@@ -456,15 +471,18 @@
+ do_qof_query_to_xml (QofQuery *q, xmlNodePtr topnode)
+ {
+ QofIdType search_for = qof_query_get_search_for (q);
++ xmlNodePtr terms;
++ xmlNodePtr sorts;
++ gint max_results;
+ PUT_STR ("qofquery:search-for", search_for);
+
+- xmlNodePtr terms = qof_query_terms_to_xml(q);
++ terms = qof_query_terms_to_xml(q);
+ if (terms) xmlAddChild (topnode, terms);
+
+- xmlNodePtr sorts = qof_query_sorts_to_xml (q);
++ sorts = qof_query_sorts_to_xml (q);
+ if (sorts) xmlAddChild (topnode, sorts);
+
+- gint max_results = qof_query_get_max_results (q);
++ max_results = qof_query_get_max_results (q);
+ PUT_INT32 ("qofquery:max-results", max_results);
+ }
+
diff --git a/deskutils/gnotime/files/patch-lib::qof::qofquery.c b/deskutils/gnotime/files/patch-lib::qof::qofquery.c
new file mode 100644
index 000000000..21e2842d2
--- /dev/null
+++ b/deskutils/gnotime/files/patch-lib::qof::qofquery.c
@@ -0,0 +1,17 @@
+--- lib/qof/qofquery.c.orig Wed Jul 7 22:39:18 2004
++++ lib/qof/qofquery.c Wed Jul 7 22:39:27 2004
+@@ -1216,13 +1216,13 @@
+
+ void qof_query_set_book (QofQuery *q, QofBook *book)
+ {
++ GSList *slist = NULL;
+ if (!q || !book) return;
+
+ /* Make sure this book is only in the list once */
+ if (g_list_index (q->books, book) == -1)
+ q->books = g_list_prepend (q->books, book);
+
+- GSList *slist = NULL;
+ g_slist_prepend (slist, QOF_PARAM_GUID);
+ g_slist_prepend (slist, QOF_PARAM_BOOK);
+ qof_query_add_guid_match (q, slist,
diff --git a/deskutils/gnotime/files/patch-lib::qof::qofsql.c b/deskutils/gnotime/files/patch-lib::qof::qofsql.c
new file mode 100644
index 000000000..32bc56664
--- /dev/null
+++ b/deskutils/gnotime/files/patch-lib::qof::qofsql.c
@@ -0,0 +1,323 @@
+--- lib/qof/qofsql.c.orig Sun May 23 16:58:28 2004
++++ lib/qof/qofsql.c Thu Jul 8 00:11:24 2004
+@@ -133,8 +133,9 @@
+ if (('\'' == str[0]) ||
+ ('\"' == str[0]))
+ {
++ size_t len;
+ str ++;
+- size_t len = strlen(str);
++ len = strlen(str);
+ str[len-1] = 0;
+ }
+ return str;
+@@ -146,6 +147,15 @@
+ char tmpbuff[128];
+ GSList *param_list;
+ QofQueryPredData *pred_data = NULL;
++ sql_field_item * sparam;
++ char * qparam_name;
++ sql_field_item * svalue;
++ char * qvalue_name;
++ QofQueryCompare qop;
++ char *table_name;
++ char *param_name;
++ QofType param_type;
++ QofQuery *qq;
+
+ if (NULL == cond)
+ {
+@@ -161,14 +171,14 @@
+ PWARN("missing left paramter");
+ return NULL;
+ }
+- sql_field_item * sparam = cond->d.pair.left->item;
++ sparam = cond->d.pair.left->item;
+ if (SQL_name != sparam->type)
+ {
+ PWARN("we support only paramter names at this time (parsed %d)",
+ sparam->type);
+ return NULL;
+ }
+- char * qparam_name = sparam->d.name->data;
++ qparam_name = sparam->d.name->data;
+ if (NULL == qparam_name)
+ {
+ PWARN ("missing paramter name");
+@@ -183,13 +193,13 @@
+ PWARN ("missing right paramter");
+ return NULL;
+ }
+- sql_field_item * svalue = cond->d.pair.right->item;
++ svalue = cond->d.pair.right->item;
+ if (SQL_name != svalue->type)
+ {
+ PWARN("we support only simple values (parsed as %d)", svalue->type);
+ return NULL;
+ }
+- char * qvalue_name = svalue->d.name->data;
++ qvalue_name = svalue->d.name->data;
+ if (NULL == qvalue_name)
+ {
+ PWARN("missing value");
+@@ -202,16 +212,18 @@
+ * If it is, look up the value. */
+ if (0 == strncasecmp (qvalue_name, "kvp://", 6))
+ {
++ KvpValue *kv;
++ KvpValueType kvt;
+ if (NULL == query->kvp_join)
+ {
+ PWARN ("missing kvp frame");
+ return NULL;
+ }
+- KvpValue *kv = kvp_frame_get_value (query->kvp_join, qvalue_name+5);
++ kv = kvp_frame_get_value (query->kvp_join, qvalue_name+5);
+ /* If there's no value, its not an error;
+ * we just don't do this predicate */
+ if (!kv) return NULL;
+- KvpValueType kvt = kvp_value_get_type (kv);
++ kvt = kvp_value_get_type (kv);
+
+ tmpbuff[0] = 0x0;
+ qvalue_name = tmpbuff;
+@@ -251,7 +263,6 @@
+ param_list = qof_query_build_param_list (qparam_name, NULL);
+
+ /* Get the where-term comparison operator */
+- QofQueryCompare qop;
+ switch (cond->op)
+ {
+ case SQL_eq: qop = QOF_COMPARE_EQUAL; break;
+@@ -270,8 +281,6 @@
+ /* OK, need to know the type of the thing being matched
+ * in order to build the correct predicate. Get the type
+ * from the object parameters. */
+- char *table_name;
+- char *param_name;
+ get_table_and_param (qparam_name, &table_name, &param_name);
+ if (NULL == table_name)
+ {
+@@ -290,7 +299,7 @@
+ return NULL;
+ }
+
+- QofType param_type = qof_class_get_parameter_type (table_name, param_name);
++ param_type = qof_class_get_parameter_type (table_name, param_name);
+ if (!param_type)
+ {
+ PWARN ("The parameter \'%s\' on object \'%s\' is not known",
+@@ -319,7 +328,7 @@
+ }
+ else if (!strcmp (param_type, QOF_TYPE_INT64))
+ {
+- gint64 ival = atoll (qvalue_name);
++ gint64 ival = strtoll (qvalue_name, (char **)NULL, 10);
+ pred_data = qof_query_int64_predicate (qop, ival);
+ }
+ else if (!strcmp (param_type, QOF_TYPE_DOUBLE))
+@@ -337,16 +346,17 @@
+ // XXX FIXME: this doesn't handle time strings, only date strings
+ // XXX should also see if we need to do a day-compare or time-compare.
+ /* work around highly bogus locale setting */
++ time_t exact;
++ int rc;
++ Timespec ts;
+ qof_date_format_set(QOF_DATE_FORMAT_US);
+
+- time_t exact;
+- int rc = qof_scan_date_secs (qvalue_name, &exact);
++ rc = qof_scan_date_secs (qvalue_name, &exact);
+ if (0 == rc)
+ {
+ PWARN ("unable to parse date: %s", qvalue_name);
+ return NULL;
+ }
+- Timespec ts;
+ ts.tv_sec = exact;
+ ts.tv_nsec = 0;
+ pred_data = qof_query_date_predicate (qop, QOF_DATE_MATCH_DAY, ts);
+@@ -367,7 +377,9 @@
+ else if (!strcmp (param_type, QOF_TYPE_GUID))
+ {
+ GUID guid;
++ QofGuidMatch gm;
+ gboolean rc = string_to_guid (qvalue_name, &guid);
++ GList *guid_list;
+ if (0 == rc)
+ {
+ PWARN ("unable to parse guid: %s", qvalue_name);
+@@ -377,9 +389,9 @@
+ // XXX less, than greater than don't make sense,
+ // should check for those bad conditions
+
+- QofGuidMatch gm = QOF_GUID_MATCH_ANY;
++ gm = QOF_GUID_MATCH_ANY;
+ if (QOF_COMPARE_NEQ == qop) gm = QOF_GUID_MATCH_NONE;
+- GList *guid_list = g_list_append (NULL, &guid);
++ guid_list = g_list_append (NULL, &guid);
+ pred_data = qof_query_guid_predicate (gm, guid_list);
+
+ g_list_free (guid_list);
+@@ -390,11 +402,15 @@
+ * /some/path/string:value
+ */
+ char *sep = strchr (qvalue_name, ':');
++ char * path;
++ char * str;
++ char * p;
++ KvpValue *kval = NULL;
++ int len;
+ if (!sep) return NULL;
+ *sep = 0;
+- char * path = qvalue_name;
+- char * str = sep +1;
+- char * p;
++ path = qvalue_name;
++ str = sep +1;
+ /* If str has only digits, we know its a plain number.
+ * If its numbers and a decimal point, assume a float
+ * If its numbers and a slash, assume numeric
+@@ -402,8 +418,7 @@
+ * If it looks like an iso date ...
+ * else assume its a string.
+ */
+- KvpValue *kval = NULL;
+- int len = strlen (str);
++ len = strlen (str);
+ if ((32 == len) && (32 == strspn (str, "0123456789abcdef")))
+ {
+ GUID guid;
+@@ -413,7 +428,7 @@
+ else
+ if (len == strspn (str, "0123456789"))
+ {
+- kval = kvp_value_new_gint64 (atoll(str));
++ kval = kvp_value_new_gint64 (strtoll(str, (char **)NULL, 10));
+ }
+ else
+ if ((p=strchr (str, '.')) &&
+@@ -455,7 +470,7 @@
+ return NULL;
+ }
+
+- QofQuery *qq = qof_query_create();
++ qq = qof_query_create();
+ qof_query_add_term (qq, param_list, pred_data, QOF_QUERY_FIRST_TERM);
+ return qq;
+ }
+@@ -471,9 +486,10 @@
+ {
+ QofQuery *qleft = handle_where (query, swear->d.pair.left);
+ QofQuery *qright = handle_where (query, swear->d.pair.right);
++ QofQueryOp qop;
++ QofQuery * qq;
+ if (NULL == qleft) return qright;
+ if (NULL == qright) return qleft;
+- QofQueryOp qop;
+ switch (swear->d.pair.op)
+ {
+ case SQL_and: qop = QOF_QUERY_AND; break;
+@@ -484,7 +500,7 @@
+ qof_query_destroy (qright);
+ return NULL;
+ }
+- QofQuery * qq = qof_query_merge (qleft, qright, qop);
++ qq = qof_query_merge (qleft, qright, qop);
+ qof_query_destroy (qleft);
+ qof_query_destroy (qright);
+ return qq;
+@@ -511,11 +527,11 @@
+ static void
+ handle_sort_order (QofSqlQuery *query, GList *sorder_list)
+ {
+- if (!sorder_list) return;
+-
+ GSList *qsp[3];
+ gboolean direction[3];
+ int i;
++ if (!sorder_list) return;
++
+
+ for (i=0; i<3; i++)
+ {
+@@ -524,14 +540,15 @@
+
+ if (sorder_list)
+ {
++ char * qparam_name = NULL;
++ GList *n;
+ sql_order_field *sorder = sorder_list->data;
+
+ /* Set the sort direction */
+ if (SQL_asc == sorder->order_type) direction[i] = TRUE;
+
+ /* Find the paramter name */
+- char * qparam_name = NULL;
+- GList *n = sorder->name;
++ n = sorder->name;
+ if (n)
+ {
+ qparam_name = n->data;
+@@ -559,6 +576,9 @@
+ void
+ qof_sql_query_parse (QofSqlQuery *query, const char *str)
+ {
++ GList *tables;
++ sql_select_statement *sss;
++ sql_where * swear;
+ if (!query) return;
+
+ /* Delete old query, if any */
+@@ -590,14 +610,14 @@
+ * user wrote "SELECT * FROM tableA, tableB WHERE ..."
+ * then we don't have a single unique table-name.
+ */
+- GList *tables = sql_statement_get_tables (query->parse_result);
++ tables = sql_statement_get_tables (query->parse_result);
+ if (1 == g_list_length (tables))
+ {
+ query->single_global_tablename = tables->data;
+ }
+
+- sql_select_statement *sss = query->parse_result->statement;
+- sql_where * swear = sss->where;
++ sss = query->parse_result->statement;
++ swear = sss->where;
+ if (swear)
+ {
+ /* Walk over the where terms, turn them into QOF predicates */
+@@ -626,6 +646,7 @@
+ qof_sql_query_run (QofSqlQuery *query, const char *str)
+ {
+ GList *node;
++ GList *results;
+
+ if (!query) return NULL;
+
+@@ -635,7 +656,7 @@
+ qof_query_set_book (query->qof_query, query->book);
+
+ // qof_query_print (query->qof_query);
+- GList *results = qof_query_run (query->qof_query);
++ results = qof_query_run (query->qof_query);
+
+ return results;
+ }
+@@ -644,6 +665,7 @@
+ qof_sql_query_rerun (QofSqlQuery *query)
+ {
+ GList *node;
++ GList *results;
+
+ if (!query) return NULL;
+
+@@ -652,7 +674,7 @@
+ qof_query_set_book (query->qof_query, query->book);
+
+ // qof_query_print (query->qof_query);
+- GList *results = qof_query_run (query->qof_query);
++ results = qof_query_run (query->qof_query);
+
+ return results;
+ }
diff --git a/deskutils/gnotime/files/patch-src::export.c b/deskutils/gnotime/files/patch-src::export.c
new file mode 100644
index 000000000..c53fa40cf
--- /dev/null
+++ b/deskutils/gnotime/files/patch-src::export.c
@@ -0,0 +1,36 @@
+--- src/export.c.orig Thu Jul 8 00:14:29 2004
++++ src/export.c Thu Jul 8 00:15:18 2004
+@@ -124,12 +124,14 @@
+ export_really (GtkWidget *widget, export_format_t *xp)
+ {
+ gboolean rc;
++ GnomeVFSURI *parsed_uri;
++ gboolean exists;
++ GnomeVFSResult result;
+
+ xp->uri = gtk_file_selection_get_filename (xp->picker);
+
+- GnomeVFSURI *parsed_uri;
+ parsed_uri = gnome_vfs_uri_new (xp->uri);
+- gboolean exists = gnome_vfs_uri_exists (parsed_uri);
++ exists = gnome_vfs_uri_exists (parsed_uri);
+ if (exists)
+ {
+ GtkWidget *w;
+@@ -144,14 +146,14 @@
+ if (0 == gnome_dialog_run (GNOME_DIALOG (w))) goto done;
+ }
+
+- GnomeVFSResult result;
+ result = gnome_vfs_create (&xp->handle, xp->uri, GNOME_VFS_OPEN_WRITE,
+ FALSE, 0644);
+ if (GNOME_VFS_OK != result)
+ {
+ char *s;
++ GtkWidget *w;
+ s = g_strdup_printf (_("File %s dould not be opened"), xp->uri);
+- GtkWidget *w = gnome_error_dialog (s);
++ w = gnome_error_dialog (s);
+ gnome_dialog_set_parent (GNOME_DIALOG (w), GTK_WINDOW (xp->picker));
+ g_free (s);
+ goto done;
diff --git a/deskutils/gnotime/files/patch-src::ghtml.c b/deskutils/gnotime/files/patch-src::ghtml.c
new file mode 100644
index 000000000..e80545fbe
--- /dev/null
+++ b/deskutils/gnotime/files/patch-src::ghtml.c
@@ -0,0 +1,63 @@
+--- src/ghtml.c.orig Sat May 22 09:16:50 2004
++++ src/ghtml.c Thu Jul 8 00:16:27 2004
+@@ -169,8 +169,9 @@
+ type = SCM_CDR (node);
+ if (SCM_SYMBOLP(type) || SCM_STRINGP (type))
+ {
++ char *buff;
+ cur_type = GTT_NONE;
+- char *buff = SCM_STRING_CHARS (type);
++ buff = SCM_STRING_CHARS (type);
+
+ if ((!strncmp (buff, "gtt-project-ptr",15)) ||
+ (!strncmp (buff, "gtt-project-list",16)))
+@@ -1271,6 +1272,9 @@
+ static SCM
+ my_catch_handler (void *data, SCM tag, SCM throw_args)
+ {
++ SCM fmt;
++ SCM s_str;
++
+ printf ("Error: GnoTime caught error during scheme parse\n");
+ if (SCM_SYMBOLP(tag))
+ {
+@@ -1279,8 +1283,8 @@
+ }
+ scm_backtrace();
+
+- SCM fmt = scm_makfrom0str ("~S");
+- SCM s_str = scm_simple_format (SCM_BOOL_F, fmt, SCM_LIST1(throw_args));
++ fmt = scm_makfrom0str ("~S");
++ s_str = scm_simple_format (SCM_BOOL_F, fmt, SCM_LIST1(throw_args));
+ printf ("\tthrow_args=%s\n", SCM_STRING_CHARS (s_str));
+
+ return SCM_EOL;
+@@ -1297,8 +1301,9 @@
+ /* no-op for now, just copy it into the window */
+ if (ghtml->write_stream)
+ {
++ size_t nr;
+ (ghtml->write_stream) (ghtml, "<link", 5, ghtml->user_data);
+- size_t nr = strlen (str);
++ nr = strlen (str);
+ (ghtml->write_stream) (ghtml, str, nr, ghtml->user_data);
+ (ghtml->write_stream) (ghtml, ">", 1, ghtml->user_data);
+ }
+@@ -1313,6 +1318,8 @@
+ GString *template;
+ char *start, *end, *scmstart, *comstart, *linkstart;
+ size_t nr;
++ GnomeVFSResult result;
++ GnomeVFSHandle *handle;
+
+ if (!ghtml) return;
+ if (prj) ghtml->prj = prj;
+@@ -1327,8 +1334,6 @@
+ }
+
+ /* Try to get the ghtml file ... */
+- GnomeVFSResult result;
+- GnomeVFSHandle *handle;
+ result = gnome_vfs_open (&handle, filepath, GNOME_VFS_OPEN_READ);
+ if ((GNOME_VFS_OK != result) && (0==ghtml->open_count))
+ {
diff --git a/deskutils/gnotime/files/patch-src::idle-dialog.c b/deskutils/gnotime/files/patch-src::idle-dialog.c
new file mode 100644
index 000000000..0e271a9f6
--- /dev/null
+++ b/deskutils/gnotime/files/patch-src::idle-dialog.c
@@ -0,0 +1,54 @@
+--- src/idle-dialog.c.orig Thu Jul 8 00:17:13 2004
++++ src/idle-dialog.c Thu Jul 8 00:18:46 2004
+@@ -111,12 +111,14 @@
+ {
+ char * p;
+ char * ret;
++ int ampcnt = 0;
++ int len;
++ const char *start;
+
+ p = strchr (str, '&');
+ if (!p) return g_strdup (str);
+
+ /* count number of ampersands */
+- int ampcnt = 0;
+ while (p)
+ {
+ ampcnt ++;
+@@ -124,12 +126,12 @@
+ }
+
+ /* make room for the escapes */
+- int len = strlen(str);
++ len = strlen(str);
+ ret = g_new0 (char, len+4*ampcnt+1);
+
+ /* replace & by &amp; unless its already &amp; */
+ p = strchr (str, '&');
+- const char *start = str;
++ start = str;
+ while (p)
+ {
+ strncat (ret, start, p-start);
+@@ -158,6 +160,8 @@
+ char * msg;
+ time_t now = time(0);
+ time_t idle_time;
++ char *ptitle;
++ char *pdesc;
+
+ /* Set a value for the thingy under the slider */
+ if (3600 > credit)
+@@ -201,9 +205,9 @@
+ /* Update the total elapsed time part of the message */
+ idle_time = now - dlg->last_activity;
+
+- char *ptitle = util_escape_html_markup (
++ ptitle = util_escape_html_markup (
+ gtt_project_get_title(dlg->prj));
+- char *pdesc = util_escape_html_markup (
++ pdesc = util_escape_html_markup (
+ gtt_project_get_desc(dlg->prj));
+ if (3600 > idle_time)
+ {
diff --git a/deskutils/gnotime/files/patch-src::journal.c b/deskutils/gnotime/files/patch-src::journal.c
new file mode 100644
index 000000000..c8ad8d376
--- /dev/null
+++ b/deskutils/gnotime/files/patch-src::journal.c
@@ -0,0 +1,224 @@
+--- src/journal.c.orig Sat May 8 12:14:49 2004
++++ src/journal.c Thu Jul 8 00:23:23 2004
+@@ -200,8 +200,10 @@
+
+ /* Don't clobber the file, ask user for permission */
+ GnomeVFSURI *parsed_uri;
++ gboolean exists;
++ GnomeVFSResult result;
+ parsed_uri = gnome_vfs_uri_new (filename);
+- gboolean exists = gnome_vfs_uri_exists (parsed_uri);
++ exists = gnome_vfs_uri_exists (parsed_uri);
+ gnome_vfs_uri_unref (parsed_uri);
+ if (exists)
+ {
+@@ -217,7 +219,6 @@
+ }
+
+ /* Try to open the file for writing */
+- GnomeVFSResult result;
+ result = gnome_vfs_create (&wig->handle, filename,
+ GNOME_VFS_OPEN_WRITE, FALSE, 0644);
+
+@@ -392,12 +393,15 @@
+ GttTask *tsk = gtt_interval_get_parent (wig->interval);
+ GttProject *prj = gtt_task_get_parent (tsk);
+ GList *tasks = gtt_project_get_tasks (prj);
++ GList *this_task;
++ GList *prev_task;
++ GttTask *newtask;
+ if (!tasks) return;
+- GList *this_task = g_list_find (tasks, tsk);
++ this_task = g_list_find (tasks, tsk);
+ if (!this_task) return;
+- GList *prev_task = this_task->prev;
++ prev_task = this_task->prev;
+ if (!prev_task) return;
+- GttTask *newtask = prev_task->data;
++ newtask = prev_task->data;
+ gtt_task_append_interval (newtask, wig->interval);
+ }
+
+@@ -408,12 +412,15 @@
+ GttTask *tsk = gtt_interval_get_parent (wig->interval);
+ GttProject *prj = gtt_task_get_parent (tsk);
+ GList *tasks = gtt_project_get_tasks (prj);
++ GList *this_task;
++ GList *next_task;
++ GttTask *newtask;
+ if (!tasks) return;
+- GList *this_task = g_list_find (tasks, tsk);
++ this_task = g_list_find (tasks, tsk);
+ if (!this_task) return;
+- GList *next_task = this_task->next;
++ next_task = this_task->next;
+ if (!next_task) return;
+- GttTask *newtask = next_task->data;
++ newtask = next_task->data;
+ gtt_task_add_interval (newtask, wig->interval);
+ }
+
+@@ -461,6 +468,7 @@
+ static void
+ interval_popup_cb (Wiggy *wig)
+ {
++ GttTask *tsk;
+ gtk_menu_popup(GTK_MENU(wig->interval_popup),
+ NULL, NULL, NULL, wig, 1, 0);
+ if (cutted_task_list)
+@@ -494,7 +502,7 @@
+ gtk_widget_set_sensitive (wig->interval_move_down, FALSE);
+ }
+
+- GttTask *tsk = gtt_interval_get_parent(wig->interval);
++ tsk = gtt_interval_get_parent(wig->interval);
+ if (gtt_task_is_first_task (tsk))
+ {
+ gtk_widget_set_sensitive (wig->interval_move_up, FALSE);
+@@ -558,6 +566,7 @@
+ static void
+ task_delete_memo_clicked_cb(GtkWidget * w, gpointer data)
+ {
++ GList * ctl;
+ Wiggy *wig = (Wiggy *) data;
+
+ /* It is physically impossible to cut just the memo, without
+@@ -566,7 +575,7 @@
+
+ gtt_task_merge_up (wig->task);
+
+- GList * ctl = g_list_prepend(cutted_task_list, wig->task);
++ ctl = g_list_prepend(cutted_task_list, wig->task);
+ gtt_task_remove (wig->task);
+ cutted_task_list = ctl;
+ }
+@@ -748,9 +757,10 @@
+ on_close_clicked_cb (GtkWidget *w, gpointer data)
+ {
+ Wiggy *wig = (Wiggy *) data;
++ GtkWidget *topper;
+
+ if (NULL == wig->top) return; /* avoid recursive double-free */
+- GtkWidget *topper = wig->top; /* avoid recursion */
++ topper = wig->top; /* avoid recursion */
+ wig->top = NULL;
+ gtk_widget_destroy (topper);
+
+@@ -838,17 +848,17 @@
+ {
+ Wiggy *wig = data;
+ const char * path = gtt_ghtml_resolve_path (url, wig->filepath);
+- if (!path) return;
+-
+ GnomeVFSResult result;
+ GnomeVFSHandle *vfs;
++#define BSZ 16000
++ char buff[BSZ];
++ GnomeVFSFileSize bytes_read;
++ if (!path) return;
++
+ result = gnome_vfs_open (&vfs, path, GNOME_VFS_OPEN_READ);
+
+ if (GNOME_VFS_OK != result) return;
+
+-#define BSZ 16000
+- char buff[BSZ];
+- GnomeVFSFileSize bytes_read;
+ result = gnome_vfs_read (vfs, buff, BSZ, &bytes_read);
+ while (GNOME_VFS_OK == result)
+ {
+@@ -873,6 +883,7 @@
+ {
+ char * str;
+ gpointer addr = NULL;
++ char * msg = _("Left-click to bring up menu");
+
+ /* h4x0r al3rt bare-naked pointer parsing! */
+ str = strstr (url, "0x");
+@@ -909,7 +920,6 @@
+ return msg;
+ }
+
+- char * msg = _("Left-click to bring up menu");
+ return g_strdup (msg);
+ }
+
+@@ -972,8 +982,14 @@
+ /* Create and initialize the hover-help window */
+ if (!wig->hover_help_window)
+ {
++ GtkWidget *label;
++ int px=0, py=0, rx=0, ry=0;
++ GtkWindow *wino;
++ GtkWidget *frame;
++ GtkWidget *align;
++
+ wig->hover_help_window = gtk_window_new(GTK_WINDOW_POPUP);
+- GtkWindow *wino = GTK_WINDOW (wig->hover_help_window);
++ wino = GTK_WINDOW (wig->hover_help_window);
+ gtk_window_set_decorated (wino, FALSE);
+ gtk_window_set_destroy_with_parent (wino, TRUE);
+ gtk_window_set_transient_for (wino, GTK_WINDOW(wig->top));
+@@ -981,19 +997,19 @@
+ gtk_window_set_resizable (wino, FALSE); /* FALSE to enable auto-resize */
+
+ /* There must be a better way to draw a line around the box ?? */
+- GtkWidget *frame = gtk_frame_new (NULL);
++ frame = gtk_frame_new (NULL);
+ gtk_container_add(GTK_CONTAINER(wino), frame);
+ gtk_container_set_resize_mode (GTK_CONTAINER(frame), GTK_RESIZE_PARENT);
+ gtk_widget_show (frame);
+
+ /* There must be a better way to pad the text all around ?? */
+- GtkWidget *align = gtk_alignment_new (0.5, 0.5, 1.0, 1.0);
++ align = gtk_alignment_new (0.5, 0.5, 1.0, 1.0);
+ // gtk_alignment_set_padding (GTK_ALIGNMENT(align), 6, 6, 6, 6);
+ gtk_container_add(GTK_CONTAINER(frame), align);
+ gtk_container_set_resize_mode (GTK_CONTAINER(align), GTK_RESIZE_PARENT);
+ gtk_widget_show (align);
+
+- GtkWidget *label = gtk_label_new ("xxx");
++ label = gtk_label_new ("xxx");
+ wig->hover_label = GTK_LABEL (label);
+ gtk_container_add(GTK_CONTAINER(align), label);
+ gtk_widget_show (label);
+@@ -1002,7 +1018,6 @@
+ gtk_window_set_focus (GTK_WINDOW(wig->top), GTK_WIDGET(wig->html));
+
+ /* Set up in initial default, so later move works. */
+- int px=0, py=0, rx=0, ry=0;
+ gtk_widget_get_pointer (GTK_WIDGET(wig->top), &px, &py);
+ gtk_window_get_position (GTK_WINDOW(wig->top), &rx, &ry);
+ gtk_window_move (wino, rx+px, ry+py);
+@@ -1053,25 +1068,28 @@
+ perform_form_query (KvpFrame *kvpf)
+ {
+ GList *results, *n;
++ char *user_debug;
++ char *query_string;
++ QofSqlQuery *q;
+
+ if (!kvpf) return NULL;
+
+ /* Allow the user to enable form debugging by adding the following html:
+ * <input type="hidden" name="debug" value="1">
+ */
+- char *user_debug = kvp_frame_get_string (kvpf, "debug");
++ user_debug = kvp_frame_get_string (kvpf, "debug");
+ if (user_debug)
+ {
+ printf ("Debug: HTML Form Input=%s\n", kvp_frame_to_string (kvpf));
+ }
+
+- QofSqlQuery *q = qof_sql_query_new();
++ q = qof_sql_query_new();
+
+ if (!book) book = qof_book_new();
+ qof_sql_query_set_book (q, book);
+ qof_sql_query_set_kvp (q, kvpf);
+
+- char *query_string = kvp_frame_get_string (kvpf, "query");
++ query_string = kvp_frame_get_string (kvpf, "query");
+ if (!query_string) return NULL;
+ if (0 == query_string[0]) return NULL;
+
diff --git a/deskutils/gnotime/files/patch-src::log.c b/deskutils/gnotime/files/patch-src::log.c
new file mode 100644
index 000000000..faf829698
--- /dev/null
+++ b/deskutils/gnotime/files/patch-src::log.c
@@ -0,0 +1,25 @@
+--- src/log.c.orig Thu Jul 8 00:23:54 2004
++++ src/log.c Thu Jul 8 00:24:18 2004
+@@ -37,6 +37,8 @@
+ char *filename;
+ GnomeVFSHandle *handle;
+ GnomeVFSResult result;
++ GnomeVFSFileSize bytes_written;
++ int rc;
+
+ g_return_val_if_fail (logstr != NULL, FALSE);
+
+@@ -67,12 +69,11 @@
+ t = time(NULL);
+
+ /* Translators: Format to use in the gnotime logfile */
+- int rc = strftime (date, sizeof (date), _("%b %d %H:%M:%S"), localtime(&t));
++ rc = strftime (date, sizeof (date), _("%b %d %H:%M:%S"), localtime(&t));
+ if (0 >= rc) strcpy (date, "???");
+
+ /* Append to end of file */
+ gnome_vfs_seek (handle, GNOME_VFS_SEEK_END, 0);
+- GnomeVFSFileSize bytes_written;
+ gnome_vfs_write (handle, date, strlen(date), &bytes_written);
+ gnome_vfs_write (handle, logstr, strlen(logstr), &bytes_written);
+ gnome_vfs_write (handle, "\n", 1, &bytes_written);
diff --git a/deskutils/gnotime/files/patch-src::main.c b/deskutils/gnotime/files/patch-src::main.c
new file mode 100644
index 000000000..212a4fbf1
--- /dev/null
+++ b/deskutils/gnotime/files/patch-src::main.c
@@ -0,0 +1,67 @@
+--- src/main.c.orig Sun May 23 16:08:47 2004
++++ src/main.c Thu Jul 8 00:25:04 2004
+@@ -299,6 +299,7 @@
+ char * xml_filepath;
+ gboolean read_is_ok;
+ char *errmsg, *qmsg;
++ GtkWidget *mb;
+
+ xml_filepath = resolve_old_path (config_data_url);
+
+@@ -347,7 +348,6 @@
+ _("Do you want to continue?"),
+ NULL);
+
+- GtkWidget *mb;
+ mb = gtk_message_dialog_new (NULL,
+ GTK_DIALOG_MODAL,
+ GTK_MESSAGE_ERROR,
+@@ -398,13 +398,13 @@
+ {
+ const char *fp;
+ char *errmsg, *qmsg;
++ GtkWidget *mb;
+ fp = gtt_get_config_filepath();
+ errmsg = gtt_err_to_string (conf_errcode, fp);
+ qmsg = g_strconcat (errmsg,
+ _("Shall I setup a new configuration?"),
+ NULL);
+
+- GtkWidget *mb;
+ mb = gtk_message_dialog_new (NULL,
+ GTK_DIALOG_MODAL,
+ GTK_MESSAGE_ERROR,
+@@ -719,11 +719,7 @@
+ int
+ main(int argc, char *argv[])
+ {
+-#if defined (HAVE_DECL_WNOHANG) || defined (HAVE_DECL_SA_NOCLDWAIT)
+- struct sigaction reapchildren;
+- memset(&reapchildren, 0, sizeof reapchildren);
+-#endif /* WNOHANG/SA_NOCLDWAIT */
+-
++ GnomeClient *client;
+ static char *geometry_string = NULL;
+ static const struct poptOption geo_options[] =
+ {
+@@ -734,6 +730,11 @@
+ {NULL, '\0', 0, NULL, 0}
+ };
+
++#if defined (HAVE_DECL_WNOHANG) || defined (HAVE_DECL_SA_NOCLDWAIT)
++ struct sigaction reapchildren;
++ memset(&reapchildren, 0, sizeof reapchildren);
++#endif /* WNOHANG/SA_NOCLDWAIT */
++
+ gnome_program_init(PACKAGE, VERSION, LIBGNOMEUI_MODULE, argc, argv,
+ GNOME_PARAM_POPT_TABLE, geo_options,
+ GNOME_PROGRAM_STANDARD_PROPERTIES, NULL);
+@@ -745,7 +746,7 @@
+ bind_textdomain_codeset(GETTEXT_PACKAGE, "UTF-8");
+ textdomain(GETTEXT_PACKAGE);
+
+- GnomeClient *client = gnome_master_client();
++ client = gnome_master_client();
+ g_signal_connect(G_OBJECT(client), "save_yourself",
+ G_CALLBACK(save_state), (gpointer) argv[0]);
+ g_signal_connect(G_OBJECT(client), "die",
diff --git a/deskutils/gnotime/files/patch-src::menucmd.c b/deskutils/gnotime/files/patch-src::menucmd.c
new file mode 100644
index 000000000..f2c78d8d7
--- /dev/null
+++ b/deskutils/gnotime/files/patch-src::menucmd.c
@@ -0,0 +1,50 @@
+--- src/menucmd.c.orig Sun Apr 25 19:55:37 2004
++++ src/menucmd.c Thu Jul 8 00:25:52 2004
+@@ -343,6 +343,7 @@
+ cut_project(GtkWidget *w, gpointer data)
+ {
+ GttProject *cut_prj;
++ GttProject *prj;
+
+ /* Do NOT cut unless the ctree window actually has focus.
+ * Otherwise, it will lead to cutting mayhem.
+@@ -364,7 +365,7 @@
+
+ /* Update various subsystems */
+ /* Set the notes are to whatever the new focus project is. */
+- GttProject *prj = ctree_get_focus_project (global_ptw);
++ prj = ctree_get_focus_project (global_ptw);
+ notes_area_set_project (global_na, prj);
+
+ menu_set_states(); /* To enable paste menu item */
+@@ -424,6 +425,7 @@
+ copy_project(GtkWidget *w, gpointer data)
+ {
+ GttProject *prj;
++ GList *n;
+ prj = ctree_get_focus_project (global_ptw);
+
+ if (!prj) return;
+@@ -434,7 +436,7 @@
+ * the list of earlier cut projects. We do this in order
+ * to allow the most recently copied project to be pasted
+ * multiple times. */
+- GList *n = cutted_project_list;
++ n = cutted_project_list;
+ for (n=cutted_project_list; n; n=n->next)
+ {
+ GttProject *p = n->data;
+@@ -519,12 +521,12 @@
+ menu_howto_edit_times (GtkWidget *w,gpointer data)
+ {
+ char * msg;
++ GtkWidget *mb;
+
+ msg = _("To edit the timer interval for this project,\n"
+ "open the Journal window and click on a link.\n"
+ "This will bring up a menu of time editing options.\n");
+
+- GtkWidget *mb;
+ mb = gtk_message_dialog_new (NULL,
+ GTK_DIALOG_MODAL,
+ GTK_MESSAGE_INFO,
diff --git a/deskutils/gnotime/files/patch-src::plug-in.c b/deskutils/gnotime/files/patch-src::plug-in.c
new file mode 100644
index 000000000..6a7c17289
--- /dev/null
+++ b/deskutils/gnotime/files/patch-src::plug-in.c
@@ -0,0 +1,22 @@
+--- src/plug-in.c.orig Thu Jul 8 00:26:35 2004
++++ src/plug-in.c Thu Jul 8 00:27:06 2004
+@@ -96,6 +96,8 @@
+ {
+ const char *title, *path, *tip;
+ NewPluginDialog *dlg = data;
++ GnomeVFSURI *parsed_uri;
++ gboolean exists;
+
+ /* Get the dialog contents */
+ title = gtk_entry_get_text (dlg->plugin_name);
+@@ -103,9 +105,8 @@
+ tip = gtk_entry_get_text (dlg->plugin_tooltip);
+
+ /* Do a basic sanity check */
+- GnomeVFSURI *parsed_uri;
+ parsed_uri = gnome_vfs_uri_new (path);
+- gboolean exists = gnome_vfs_uri_exists (parsed_uri);
++ exists = gnome_vfs_uri_exists (parsed_uri);
+ gnome_vfs_uri_unref (parsed_uri);
+ if (!exists)
+ {
diff --git a/deskutils/gnotime/files/patch-src::prefs.c b/deskutils/gnotime/files/patch-src::prefs.c
new file mode 100644
index 000000000..40db4b8d8
--- /dev/null
+++ b/deskutils/gnotime/files/patch-src::prefs.c
@@ -0,0 +1,95 @@
+--- src/prefs.c.orig Mon May 24 20:25:52 2004
++++ src/prefs.c Mon May 24 20:29:36 2004
+@@ -200,10 +200,12 @@
+ scan_time_string (const char *str)
+ {
+ int hours=0, minutes=0, seconds = 0;
++ int totalsecs;
+ char buff[24];
++ char *p;
+ strncpy (buff, str, 24);
+ buff[23]=0;
+- char * p = strchr (buff, ':');
++ p = strchr (buff, ':');
+ if (p) *p = 0;
+ hours = atoi (buff);
+ if (p)
+@@ -221,7 +223,7 @@
+ minutes %= 60;
+ hours %= 24;
+
+- int totalsecs = hours*3600 + minutes*60 + seconds;
++ totalsecs = hours*3600 + minutes*60 + seconds;
+ if (12*3600 < totalsecs) totalsecs -= 24*3600;
+ return totalsecs;
+ }
+@@ -373,14 +375,16 @@
+ if (5 == page)
+ {
+ int change = 0;
++ int off, day;
++ const char *buff;
+ config_idle_timeout = atoi(gtk_entry_get_text(GTK_ENTRY(odlg->idle_secs)));
+
+ /* Hunt for the hour-of night on which to start */
+- const char * buff = gtk_entry_get_text (odlg->daystart_secs);
+- int off = scan_time_string (buff);
++ buff = gtk_entry_get_text (odlg->daystart_secs);
++ off = scan_time_string (buff);
+ SET_VAL (config_daystart_offset,off);
+
+- int day = get_optionmenu_item (odlg->weekstart_menu);
++ day = get_optionmenu_item (odlg->weekstart_menu);
+ SET_VAL (config_weekstart_offset, day);
+
+ if (change)
+@@ -421,6 +425,8 @@
+ options_dialog_set(PrefsDialog *odlg)
+ {
+ char s[30];
++ int hour, secs, day;
++ char buff[24];
+
+ SET_ACTIVE(secs);
+ SET_ACTIVE(statusbar);
+@@ -495,7 +501,6 @@
+ gtk_entry_set_text(GTK_ENTRY(odlg->idle_secs), s);
+
+ /* Set the correct menu item based on current values */
+- int hour;
+ if (0<config_daystart_offset)
+ {
+ hour = (config_daystart_offset +1800)/3600;
+@@ -510,14 +515,13 @@
+ set_optionmenu_item (odlg->daystart_menu, hour);
+
+ /* Print the daystart offset as a string in 24 hour time */
+- int secs = config_daystart_offset;
++ secs = config_daystart_offset;
+ if (0 > secs) secs += 24*3600;
+- char buff[24];
+ qof_print_hours_elapsed_buff (buff, 24, secs, config_show_secs);
+ gtk_entry_set_text (odlg->daystart_secs, buff);
+
+ /* Set the correct menu item based on current values */
+- int day = config_weekstart_offset;
++ day = config_weekstart_offset;
+ set_optionmenu_item (odlg->weekstart_menu, day);
+
+ /* set to unmodified as it reflects the current state of the app */
+@@ -531,12 +535,13 @@
+ {
+ PrefsDialog *dlg = data;
+
++ int secs;
++ char buff[24];
+ int hour = get_optionmenu_item (dlg->daystart_menu);
+ hour += -3; /* menu starts at 9PM */
+
+- int secs = hour * 3600;
++ secs = hour * 3600;
+ if (0 > secs) secs += 24*3600;
+- char buff[24];
+ qof_print_hours_elapsed_buff (buff, 24, secs, config_show_secs);
+ gtk_entry_set_text (dlg->daystart_secs, buff);
+ }
diff --git a/deskutils/gnotime/files/patch-src::proj.c b/deskutils/gnotime/files/patch-src::proj.c
new file mode 100644
index 000000000..517ba3a2c
--- /dev/null
+++ b/deskutils/gnotime/files/patch-src::proj.c
@@ -0,0 +1,54 @@
+--- src/proj.c.orig Thu Jul 8 00:27:36 2004
++++ src/proj.c Thu Jul 8 00:28:32 2004
+@@ -1948,8 +1948,6 @@
+ gboolean
+ gtt_project_obj_register (void)
+ {
+- global_book = qof_book_new();
+-
+ /* Associate an ASCII name to each getter, as well as the return type */
+ static QofParam params[] = {
+ { GTT_PROJECT_EARLIEST, QOF_TYPE_DATE, (QofAccessFunc)prj_obj_get_earliest, NULL},
+@@ -1957,6 +1955,8 @@
+ { NULL },
+ };
+
++ global_book = qof_book_new();
++
+ qof_class_register (GTT_PROJECT_ID, (QofSortFunc)prj_obj_order, params);
+ return qof_object_register (&prj_object_def);
+ }
+@@ -2290,9 +2290,10 @@
+ gboolean
+ gtt_task_is_last_task (GttTask *tsk)
+ {
++ GList *last;
+ if (!tsk || !tsk->parent || !tsk->parent->task_list) return TRUE;
+
+- GList *last = g_list_last (tsk->parent->task_list);
++ last = g_list_last (tsk->parent->task_list);
+ if ((GttTask *) last->data == tsk) return TRUE;
+ return FALSE;
+ }
+@@ -2354,9 +2355,9 @@
+ gtt_task_get_secs_earliest (GttTask *tsk)
+ {
+ GList *node;
++ time_t earliest = INT_MAX;
+ if (NULL == tsk->interval_list) return 0;
+
+- time_t earliest = INT_MAX;
+
+ for (node=tsk->interval_list; node; node=node->next)
+ {
+@@ -2370,9 +2371,9 @@
+ gtt_task_get_secs_latest (GttTask *tsk)
+ {
+ GList *node;
++ time_t latest = INT_MIN;
+ if (NULL == tsk->interval_list) return 0;
+
+- time_t latest = INT_MIN;
+
+ for (node=tsk->interval_list; node; node=node->next)
+ {
diff --git a/deskutils/gnotime/files/patch-src::query.c b/deskutils/gnotime/files/patch-src::query.c
new file mode 100644
index 000000000..28d04a6d0
--- /dev/null
+++ b/deskutils/gnotime/files/patch-src::query.c
@@ -0,0 +1,16 @@
+--- src/query.c.orig Mon May 24 20:30:42 2004
++++ src/query.c Mon May 24 20:30:55 2004
+@@ -74,12 +74,12 @@
+
+ while (1)
+ {
++ GttBucket *bu;
+ /* Check error bounds, should never happen */
+ if ((0 > arr_day) || (arr_day >= da->array_len))
+ {
+ return 1;
+ }
+- GttBucket *bu;
+ bu = &g_array_index (da->buckets, GttBucket, arr_day);
+
+ stm.tm_mday ++;
diff --git a/deskutils/gnotime/pkg-descr b/deskutils/gnotime/pkg-descr
new file mode 100644
index 000000000..d13476231
--- /dev/null
+++ b/deskutils/gnotime/pkg-descr
@@ -0,0 +1,5 @@
+Time (formerly GTT, the Gnome Time Tracker) is a desktop utility for
+tracking the amount of time spent on projects, and generating
+configurable invoices based on that time.
+
+WWW: http://gttr.sourceforge.net/
diff --git a/deskutils/gnotime/pkg-plist b/deskutils/gnotime/pkg-plist
new file mode 100644
index 000000000..424f5368e
--- /dev/null
+++ b/deskutils/gnotime/pkg-plist
@@ -0,0 +1,128 @@
+bin/gnotime
+include/gnotime/gnc-date.h
+include/gnotime/gnc-engine-util.h
+include/gnotime/gnc-event.h
+include/gnotime/gnc-numeric.h
+include/gnotime/gnc-trace.h
+include/gnotime/guid.h
+include/gnotime/kvp-util.h
+include/gnotime/kvp_frame.h
+include/gnotime/qof.h
+include/gnotime/qofbackend.h
+include/gnotime/qofbook.h
+include/gnotime/qofclass.h
+include/gnotime/qofgobj.h
+include/gnotime/qofid.h
+include/gnotime/qofinstance.h
+include/gnotime/qofobject.h
+include/gnotime/qofquery-deserial.h
+include/gnotime/qofquery-serialize.h
+include/gnotime/qofquery.h
+include/gnotime/qofquerycore.h
+include/gnotime/qofsession.h
+include/gnotime/qofsql.h
+include/gnotime/sql_parser.h
+lib/libqof.a
+lib/libqof.so
+lib/libqof.so.0
+lib/libqofsql.a
+lib/libqofsql.so
+lib/libqofsql.so.0
+share/gnome/applications/gnotime.desktop
+share/gnome/gnotime/ghtml/C/basic-daily.ghtml
+share/gnome/gnotime/ghtml/C/basic-invoice.ghtml
+share/gnome/gnotime/ghtml/C/basic-journal.ghtml
+share/gnome/gnotime/ghtml/C/basic-todo.ghtml
+share/gnome/gnotime/ghtml/C/daily.ghtml
+share/gnome/gnotime/ghtml/C/gnotime-logo.png
+share/gnome/gnotime/ghtml/C/gtt-style.css
+share/gnome/gnotime/ghtml/C/gtt.scm
+share/gnome/gnotime/ghtml/C/invoice.ghtml
+share/gnome/gnotime/ghtml/C/journal-rss.ghtml
+share/gnome/gnotime/ghtml/C/journal.ghtml
+share/gnome/gnotime/ghtml/C/noproject.ghtml
+share/gnome/gnotime/ghtml/C/primer.ghtml
+share/gnome/gnotime/ghtml/C/query.ghtml
+share/gnome/gnotime/ghtml/C/status.ghtml
+share/gnome/gnotime/ghtml/C/tab-delim.ghtml
+share/gnome/gnotime/ghtml/C/time-interval.ghtml
+share/gnome/gnotime/ghtml/C/todo-export.ghtml
+share/gnome/gnotime/ghtml/C/todo.ghtml
+share/gnome/gnotime/glade/active.glade
+share/gnome/gnotime/glade/idle.glade
+share/gnome/gnotime/glade/interval_edit.glade
+share/gnome/gnotime/glade/interval_popup.glade
+share/gnome/gnotime/glade/journal.glade
+share/gnome/gnotime/glade/not-implemented.glade
+share/gnome/gnotime/glade/notes.glade
+share/gnome/gnotime/glade/plugin.glade
+share/gnome/gnotime/glade/plugin_editor.glade
+share/gnome/gnotime/glade/prefs.glade
+share/gnome/gnotime/glade/project_properties.glade
+share/gnome/gnotime/glade/task_popup.glade
+share/gnome/gnotime/glade/task_properties.glade
+share/gnome/help/gnotime/C/figures/gtt_mainwin.png
+share/gnome/help/gnotime/C/figures/gtt_prefswin.png
+share/gnome/help/gnotime/C/gnotime.xml
+share/gnome/help/gnotime/es/figures/gtt_mainwin.png
+share/gnome/help/gnotime/es/figures/gtt_prefswin.png
+share/gnome/help/gnotime/es/gnotime.xml
+share/gnome/help/gnotime/eu/figures/gtt_mainwin.png
+share/gnome/help/gnotime/eu/figures/gtt_prefswin.png
+share/gnome/help/gnotime/eu/gnotime.xml
+share/gnome/omf/gnotime/gnotime-C.omf
+share/gnome/omf/gnotime/gnotime-es.omf
+share/gnome/omf/gnotime/gnotime-eu.omf
+share/locale/az/LC_MESSAGES/gnotime-2.0.mo
+share/locale/bg/LC_MESSAGES/gnotime-2.0.mo
+share/locale/ca/LC_MESSAGES/gnotime-2.0.mo
+share/locale/cs/LC_MESSAGES/gnotime-2.0.mo
+share/locale/da/LC_MESSAGES/gnotime-2.0.mo
+share/locale/de/LC_MESSAGES/gnotime-2.0.mo
+share/locale/el/LC_MESSAGES/gnotime-2.0.mo
+share/locale/en_GB/LC_MESSAGES/gnotime-2.0.mo
+share/locale/es/LC_MESSAGES/gnotime-2.0.mo
+share/locale/et/LC_MESSAGES/gnotime-2.0.mo
+share/locale/eu/LC_MESSAGES/gnotime-2.0.mo
+share/locale/fi/LC_MESSAGES/gnotime-2.0.mo
+share/locale/fr/LC_MESSAGES/gnotime-2.0.mo
+share/locale/ga/LC_MESSAGES/gnotime-2.0.mo
+share/locale/gl/LC_MESSAGES/gnotime-2.0.mo
+share/locale/hu/LC_MESSAGES/gnotime-2.0.mo
+share/locale/it/LC_MESSAGES/gnotime-2.0.mo
+share/locale/ja/LC_MESSAGES/gnotime-2.0.mo
+share/locale/ko/LC_MESSAGES/gnotime-2.0.mo
+share/locale/lt/LC_MESSAGES/gnotime-2.0.mo
+share/locale/lv/LC_MESSAGES/gnotime-2.0.mo
+share/locale/ms/LC_MESSAGES/gnotime-2.0.mo
+share/locale/nl/LC_MESSAGES/gnotime-2.0.mo
+share/locale/nn/LC_MESSAGES/gnotime-2.0.mo
+share/locale/no/LC_MESSAGES/gnotime-2.0.mo
+share/locale/pl/LC_MESSAGES/gnotime-2.0.mo
+share/locale/pt/LC_MESSAGES/gnotime-2.0.mo
+share/locale/pt_BR/LC_MESSAGES/gnotime-2.0.mo
+share/locale/ro/LC_MESSAGES/gnotime-2.0.mo
+share/locale/ru/LC_MESSAGES/gnotime-2.0.mo
+share/locale/sk/LC_MESSAGES/gnotime-2.0.mo
+share/locale/sl/LC_MESSAGES/gnotime-2.0.mo
+share/locale/sv/LC_MESSAGES/gnotime-2.0.mo
+share/locale/ta/LC_MESSAGES/gnotime-2.0.mo
+share/locale/tr/LC_MESSAGES/gnotime-2.0.mo
+share/locale/uk/LC_MESSAGES/gnotime-2.0.mo
+share/locale/vi/LC_MESSAGES/gnotime-2.0.mo
+share/locale/wa/LC_MESSAGES/gnotime-2.0.mo
+share/locale/zh_CN/LC_MESSAGES/gnotime-2.0.mo
+share/locale/zh_TW/LC_MESSAGES/gnotime-2.0.mo
+@dirrm share/gnome/omf/gnotime
+@dirrm share/gnome/help/gnotime/eu/figures
+@dirrm share/gnome/help/gnotime/eu
+@dirrm share/gnome/help/gnotime/es/figures
+@dirrm share/gnome/help/gnotime/es
+@dirrm share/gnome/help/gnotime/C/figures
+@dirrm share/gnome/help/gnotime/C
+@dirrm share/gnome/help/gnotime
+@dirrm share/gnome/gnotime/glade
+@dirrm share/gnome/gnotime/ghtml/C
+@dirrm share/gnome/gnotime/ghtml
+@dirrm share/gnome/gnotime
+@dirrm include/gnotime