GTG

Merge lp:~gtg-user/gtg/urgency-color-api into lp:~gtg/gtg/old-trunk

Proposed by Wolter HV
Status: Merged
Merged at revision: 1103
Proposed branch: lp:~gtg-user/gtg/urgency-color-api
Merge into: lp:~gtg/gtg/old-trunk
Diff against target: 927 lines (+576/-0)
9 files modified
AUTHORS (+1/-0)
CHANGELOG (+1/-0)
GTG/core/plugins/api.py (+22/-0)
GTG/gtk/browser/treeview_factory.py (+10/-0)
GTG/plugins/urgency-color.gtg-plugin (+16/-0)
GTG/plugins/urgency_color/__init__.py (+21/-0)
GTG/plugins/urgency_color/preferences.ui (+302/-0)
GTG/plugins/urgency_color/urgency_color.py (+201/-0)
setup.py (+2/-0)
To merge this branch: bzr merge lp:~gtg-user/gtg/urgency-color-api
Reviewer Review Type Date Requested Status
Wolter HV (community) Approve
Izidor Matušov running, code Approve
Lionel Dricot (community) Needs Fixing
Review via email: mp+91517@code.launchpad.net

Description of the change

The branch implements a new way of handling task background colors, which is accessible from the plugin API.
It also includes a plugin, Urgency Color, which lets the user color tasks according to their urgency instead of tag color.

To post a comment you must log in.
Revision history for this message
Lionel Dricot (ploum-deactivatedaccount) wrote :

Traceback (most recent call last):
  File "/home/ploum/urgency-color-api/GTG/gtk/liblarch_gtk/__init__.py", line 318, in _celldatafunction
    color = self.bg_color_func(value, bgcolor)
  File "/home/ploum/urgency-color-api/GTG/plugins/urgency_color/urgency_color.py", line 67, in bgcolor
    daysleft = (ddate.offset - date.today()).days
TypeError: unsupported operand type(s) for -: 'int' and 'datetime.date

review: Needs Fixing
Revision history for this message
Wolter HV (wolterh) wrote :

Weird, I have not come across this, will fix as soon as possible. Thanks for reporting!

lp:~gtg-user/gtg/urgency-color-api updated
1059. By Lionel Dricot

This commit upgrade liblarch and fixes bug #924323

Revision history for this message
Wolter HV (wolterh) wrote :

Hi Lionel, I just pushed a new revision where I swapped the ddate.offset for ddate.days_left(). I don't really know if this will fix the problem as I couldn't reproduce it, but perhaps it will prevent the object from becoming an integer. Could you please tell me how to reproduce this bug so I can fix it properly?

lp:~gtg-user/gtg/urgency-color-api updated
1060. By Lionel Dricot

restoring the priority queue

1061. By Lionel Dricot

fixed the infamous bug where child-parent relationship were lost

1062. By Lionel Dricot

make actions on active tasks high priority in all cases

1063. By Izidor Matušov

Refractoring & polishing awesome work of Joao from GSoC 2011

1064. By Izidor Matušov

Merging AUTHORS and CHANGELOG from GTG 0.2.5

1065. By Lionel Dricot

Merging all the hard polishing work done by Jean-François. Thanks, highly appreciate because I suck at doing that

1066. By Izidor Matušov

Updated CHANGELOG, sorted AUTHORS by name and putting them also in GTG/info.py

1067. By Izidor Matušov

Merging translations

1068. By Izidor Matušov

Making liblarch independent. Bye bye liblarch

1069. By Izidor Matušov

Ignore task_added for nonexisting tasks in notification area

1070. By Izidor Matušov

Liblarch is no longer part of GTG code base

1071. By Izidor Matušov

import_liblarch(): bad indentation, transforming a comment into a docstring

1072. By Izidor Matušov

Updated changelog

1073. By Lionel Dricot

support for . and / in tags except if they are at the end of the tag

1074. By Lionel Dricot

we now close all deleted tasks if they are open

1075. By Izidor Matušov

Change in parsing tags had to be also reflected in GTG/tools/tags.py

1076. By Izidor Matušov

Closing taskeditors after marking as done/dismissing/deleting parents. There is a fix from rev1074 when many tasks are deleted, some of them are not closed

1077. By Izidor Matušov

Small cleaning of get_cannonical_date

1078. By Izidor Matušov

Cleaning GTG codebase a little bit

1079. By Izidor Matušov

Do not set name, parent of tag afterwards

1080. By Izidor Matušov

Merging a fix for focus issues of task browser, LP #917988. Thanks to dAnjou

1081. By Izidor Matušov

Regenerate pot file

1082. By Izidor Matušov

Renaming tagstore into tag

1083. By Izidor Matušov

Removed unused code & clean the rest of task_label_column

1084. By Izidor Matušov

Mark bold also tasks with previous due dates

1085. By Izidor Matušov

Hide tasks with due date someday, solves #931376

1086. By Luca Falavigna

Make gtcli_bash_completion executable

1087. By Luca Falavigna

/bin/env -> /usr/bin/env

1088. By Luca Falavigna

Fix some groff warnings in gtg_new_task man page

1089. By Izidor Matušov

Merging new Date class based on branch from Paul Kishimoto + many of my edits

1090. By Izidor Matušov

Remove unused backups of bryce test set

1091. By Izidor Matušov

Solved a regression from new date class merge

1092. By Izidor Matušov

First work on having robust XML support

1093. By Izidor Matušov

Remove redundant setlocale from dates (it makes GTG crash with set locale)

1094. By Izidor Matušov

I forgot to skip elements in localfile backend :-(

1095. By Izidor Matušov

Minor cleaning backend_localfile.py

1096. By Izidor Matušov

Get rid of legacy task-* and tag-* tasks, solving LP #908184

Revision history for this message
Wolter HV (wolterh) wrote :

Lionel, please guide me towards fixing this error.

review: Needs Information
Revision history for this message
Lionel Dricot (ploum-deactivatedaccount) wrote :

Hi Wolter, just trying to enable the plugin with your branch, I've that crash:

urgency-color-api/GTG/plugins/urgency_color/urgency_color.py:99: GtkWarning: Unknown property: GtkWindow.has-resize-grip
  'preferences.ui'))

I also have some other when you close/reopen the preferences window but I suspect it is a GTG bug, not your fault ;-)

Another change I would appreciate to see is, in the about box, an explanation on how the plugin computes the urgency.

Revision history for this message
Wolter HV (wolterh) wrote :

On Tue, 2012-02-28 at 09:23 +0000, Lionel Dricot wrote:
> Hi Wolter, just trying to enable the plugin with your branch, I've that crash:
>
> urgency-color-api/GTG/plugins/urgency_color/urgency_color.py:99: GtkWarning: Unknown property: GtkWindow.has-resize-grip
> 'preferences.ui'))

Fix released :) Removed the property from the UI file. Can you confirm
the crashes have stopped?

> Another change I would appreciate to see is, in the about box, an explanation on how the plugin computes the urgency.

I have added the explanation as requested. Feedback is welcome!

lp:~gtg-user/gtg/urgency-color-api updated
1097. By Izidor Matušov

Repair preselecting tomboy note. Solving LP#689743

1098. By Izidor Matušov

Better semantic for Date.days_left(), solves #942953

Revision history for this message
Izidor Matušov (izidor) wrote :

I've fixed the offset problem, merged with the newest trunk because handling dates was changed. It works fine for me, all ploum's comments are solved.

Wolter mentioned a bug when activating a plugin, it is the last "problem". (although I am not able to reproduce it)

review: Approve (running, code)
lp:~gtg-user/gtg/urgency-color-api updated
1099. By Izidor Matušov

Description for ValueErrors in Date class

1100. By Izidor Matušov

Solved Date regression in 'Remove old closed tasks' plugin, solves #941769

Revision history for this message
Wolter HV (wolterh) wrote :

I pointlessly gave a "Needs information" review type, so I will correct that by approving :)

review: Approve
lp:~gtg-user/gtg/urgency-color-api updated
1101. By Izidor Matušov

Merging translations and fixing a typo in GTG/tools/dates.py

1102. By Izidor Matušov

Regenerated POT for translation

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file '.bzrignore' (properties changed: -x to +x)
=== modified file 'AUTHORS' (properties changed: -x to +x)
--- AUTHORS 2012-02-17 12:05:18 +0000
+++ AUTHORS 2012-02-29 10:16:18 +0000
@@ -94,3 +94,4 @@
94--------94--------
95* dAnjou <https://launchpad.net/~danjou> (no email provided)95* dAnjou <https://launchpad.net/~danjou> (no email provided)
96* Paul Kishimoto <mail@paul.kishimoto.name>96* Paul Kishimoto <mail@paul.kishimoto.name>
97* Wolter Hellmund <wolterh6@gmail.com>
9798
=== modified file 'CHANGELOG' (properties changed: -x to +x)
--- CHANGELOG 2012-02-17 12:05:18 +0000
+++ CHANGELOG 2012-02-29 10:16:18 +0000
@@ -1,6 +1,7 @@
12012-0?-?? Getting Things GNOME! 0.312012-0?-?? Getting Things GNOME! 0.3
2 * Hide tasks with due date someday, #9313762 * Hide tasks with due date someday, #931376
3 * New Date class by Paul Kishimoto and Izidor Matušov3 * New Date class by Paul Kishimoto and Izidor Matušov
4 * Urgency Color plugin by Wolter Hellmund
45
52012-02-13 Getting Things GNOME! 0.2.962012-02-13 Getting Things GNOME! 0.2.9
6 * Big refractorization of code, now using liblarch7 * Big refractorization of code, now using liblarch
78
=== modified file 'GTG/__init__.py' (properties changed: -x to +x)
=== modified file 'GTG/backends/__init__.py' (properties changed: -x to +x)
=== modified file 'GTG/backends/backend_evolution.py' (properties changed: -x to +x)
=== modified file 'GTG/backends/backend_gnote.py' (properties changed: -x to +x)
=== modified file 'GTG/backends/backend_identica.py' (properties changed: -x to +x)
=== modified file 'GTG/backends/backend_launchpad.py' (properties changed: -x to +x)
=== modified file 'GTG/backends/backend_localfile.py' (properties changed: -x to +x)
=== modified file 'GTG/backends/backend_mantis.py' (properties changed: -x to +x)
=== modified file 'GTG/backends/backend_rtm.py' (properties changed: -x to +x)
=== modified file 'GTG/backends/backend_tomboy.py' (properties changed: -x to +x)
=== modified file 'GTG/backends/backend_twitter.py' (properties changed: -x to +x)
=== modified file 'GTG/backends/backendsignals.py' (properties changed: -x to +x)
=== modified file 'GTG/backends/genericbackend.py' (properties changed: -x to +x)
=== modified file 'GTG/backends/generictomboy.py' (properties changed: -x to +x)
=== modified file 'GTG/backends/periodicimportbackend.py' (properties changed: -x to +x)
=== modified file 'GTG/backends/rtm/__init__.py' (properties changed: -x to +x)
=== modified file 'GTG/backends/syncengine.py' (properties changed: -x to +x)
=== modified file 'GTG/backends/tweepy/__init__.py' (properties changed: -x to +x)
=== modified file 'GTG/backends/tweepy/api.py' (properties changed: -x to +x)
=== modified file 'GTG/backends/tweepy/auth.py' (properties changed: -x to +x)
=== modified file 'GTG/backends/tweepy/binder.py' (properties changed: -x to +x)
=== modified file 'GTG/backends/tweepy/cache.py' (properties changed: -x to +x)
=== modified file 'GTG/backends/tweepy/cursor.py' (properties changed: -x to +x)
=== modified file 'GTG/backends/tweepy/error.py' (properties changed: -x to +x)
=== modified file 'GTG/backends/tweepy/models.py' (properties changed: -x to +x)
=== modified file 'GTG/backends/tweepy/oauth.py' (properties changed: -x to +x)
=== modified file 'GTG/backends/tweepy/parsers.py' (properties changed: -x to +x)
=== modified file 'GTG/backends/tweepy/streaming.py' (properties changed: -x to +x)
=== modified file 'GTG/backends/tweepy/utils.py' (properties changed: -x to +x)
=== modified file 'GTG/core/__init__.py' (properties changed: -x to +x)
=== modified file 'GTG/core/datastore.py' (properties changed: -x to +x)
=== modified file 'GTG/core/firstrun_tasks.py' (properties changed: -x to +x)
=== modified file 'GTG/core/plugins/api.py' (properties changed: -x to +x)
--- GTG/core/plugins/api.py 2011-11-14 18:53:53 +0000
+++ GTG/core/plugins/api.py 2012-02-29 10:16:18 +0000
@@ -176,6 +176,28 @@
176 Log.debug("Error removing the toolbar item in the TaskEditor:"176 Log.debug("Error removing the toolbar item in the TaskEditor:"
177 "%s" % e)177 "%s" % e)
178178
179 def set_bgcolor_func(self, func=None):
180 """ Set a function which defines a background color for each task """
181 # NOTE: this function is strongly dependend of browser structure
182 # after refaractoring browser, this might need to review
183 browser = self.__ui
184
185 # set default bgcolor?
186 if func is None:
187 func = browser.tv_factory.task_bg_color
188 info_col = 'tags'
189 else:
190 info_col = 'task_id'
191
192 for pane in browser.vtree_panes:
193 pane = browser.vtree_panes[pane]
194 pane.set_bg_color(func, info_col)
195 # FIXME: Added a parameter to the reset_filters call because
196 # otherwise all old completed tasks are re-shown and unable
197 # to be marked as done
198 #pane.basetree.reset_filters()
199 pane.basetree.reset_filters(transparent_only=True)
200
179#=== file saving/loading ======================================================201#=== file saving/loading ======================================================
180202
181 def load_configuration_object(self, plugin_name, filename, \203 def load_configuration_object(self, plugin_name, filename, \
182204
=== modified file 'GTG/core/requester.py' (properties changed: -x to +x)
=== modified file 'GTG/core/search.py' (properties changed: -x to +x)
=== modified file 'GTG/core/tag.py' (properties changed: -x to +x)
=== modified file 'GTG/core/task.py' (properties changed: -x to +x)
=== modified file 'GTG/core/treefactory.py' (properties changed: -x to +x)
=== modified file 'GTG/gtk/__init__.py' (properties changed: -x to +x)
=== modified file 'GTG/gtk/backends_dialog.glade' (properties changed: -x to +x)
=== modified file 'GTG/gtk/backends_dialog/__init__.py' (properties changed: -x to +x)
=== modified file 'GTG/gtk/backends_dialog/addpanel.py' (properties changed: -x to +x)
=== modified file 'GTG/gtk/backends_dialog/backendscombo.py' (properties changed: -x to +x)
=== modified file 'GTG/gtk/backends_dialog/backendstree.py' (properties changed: -x to +x)
=== modified file 'GTG/gtk/backends_dialog/configurepanel.py' (properties changed: -x to +x)
=== modified file 'GTG/gtk/backends_dialog/parameters_ui/__init__.py' (properties changed: -x to +x)
=== modified file 'GTG/gtk/backends_dialog/parameters_ui/checkboxui.py' (properties changed: -x to +x)
=== modified file 'GTG/gtk/backends_dialog/parameters_ui/importtagsui.py' (properties changed: -x to +x)
=== modified file 'GTG/gtk/backends_dialog/parameters_ui/passwordui.py' (properties changed: -x to +x)
=== modified file 'GTG/gtk/backends_dialog/parameters_ui/pathui.py' (properties changed: -x to +x)
=== modified file 'GTG/gtk/backends_dialog/parameters_ui/periodui.py' (properties changed: -x to +x)
=== modified file 'GTG/gtk/backends_dialog/parameters_ui/textui.py' (properties changed: -x to +x)
=== modified file 'GTG/gtk/browser/CellRendererTags.py' (properties changed: -x to +x)
=== modified file 'GTG/gtk/browser/__init__.py' (properties changed: -x to +x)
=== modified file 'GTG/gtk/browser/browser.py' (properties changed: -x to +x)
=== modified file 'GTG/gtk/browser/custominfobar.py' (properties changed: -x to +x)
=== modified file 'GTG/gtk/browser/taskbrowser.glade' (properties changed: -x to +x)
=== modified file 'GTG/gtk/browser/treeview_factory.py' (properties changed: -x to +x)
--- GTG/gtk/browser/treeview_factory.py 2012-02-29 09:59:27 +0000
+++ GTG/gtk/browser/treeview_factory.py 2012-02-29 10:16:18 +0000
@@ -411,6 +411,16 @@
411 #to both active and closed tasks treeview411 #to both active and closed tasks treeview
412 def common_desc_for_tasks(self,tree):412 def common_desc_for_tasks(self,tree):
413 desc = {}413 desc = {}
414
415 #invisible 'task_id' column
416 col_name = 'task_id'
417 col = {}
418 col['renderer'] = ['markup', gtk.CellRendererText()]
419 col['value'] = [str, lambda node: node.get_id()]
420 col['visible'] = False
421 col['order'] = 0
422 desc[col_name] = col
423
414 #invisible 'title' column424 #invisible 'title' column
415 col_name = 'title'425 col_name = 'title'
416 col = {}426 col = {}
417427
=== modified file 'GTG/gtk/colors.py' (properties changed: -x to +x)
=== modified file 'GTG/gtk/crashhandler.py' (properties changed: -x to +x)
=== modified file 'GTG/gtk/dbuswrapper.py' (properties changed: -x to +x)
=== modified file 'GTG/gtk/delete_dialog.py' (properties changed: -x to +x)
=== modified file 'GTG/gtk/deletion.glade' (properties changed: -x to +x)
=== modified file 'GTG/gtk/editor/__init__.py' (properties changed: -x to +x)
=== modified file 'GTG/gtk/editor/calendar.py' (properties changed: -x to +x)
=== modified file 'GTG/gtk/editor/editor.py' (properties changed: -x to +x)
=== modified file 'GTG/gtk/editor/taskeditor.glade' (properties changed: -x to +x)
=== modified file 'GTG/gtk/editor/taskview.py' (properties changed: -x to +x)
=== modified file 'GTG/gtk/editor/taskviewserial.py' (properties changed: -x to +x)
=== modified file 'GTG/gtk/manager.py' (properties changed: -x to +x)
=== modified file 'GTG/gtk/preferences.glade' (properties changed: -x to +x)
=== modified file 'GTG/gtk/preferences.py' (properties changed: -x to +x)
=== modified file 'GTG/info.py' (properties changed: -x to +x)
=== modified file 'GTG/plugins/__init__.py' (properties changed: -x to +x)
=== modified file 'GTG/plugins/bugzilla.gtg-plugin' (properties changed: -x to +x)
=== modified file 'GTG/plugins/bugzilla/__init__.py' (properties changed: -x to +x)
=== modified file 'GTG/plugins/bugzilla/bug.py' (properties changed: -x to +x)
=== modified file 'GTG/plugins/bugzilla/server.py' (properties changed: -x to +x)
=== modified file 'GTG/plugins/export.gtg-plugin' (properties changed: -x to +x)
=== modified file 'GTG/plugins/export/__init__.py' (properties changed: -x to +x)
=== modified file 'GTG/plugins/export/export.ui' (properties changed: -x to +x)
=== modified file 'GTG/plugins/export/export_templates/description_pocketmod.py' (properties changed: -x to +x)
=== modified file 'GTG/plugins/export/export_templates/description_sexy.py' (properties changed: -x to +x)
=== modified file 'GTG/plugins/export/export_templates/description_simple.py' (properties changed: -x to +x)
=== modified file 'GTG/plugins/export/export_templates/description_statusrpt.py' (properties changed: -x to +x)
=== modified file 'GTG/plugins/export/export_templates/description_textual.py' (properties changed: -x to +x)
=== modified file 'GTG/plugins/export/export_templates/graphics_pocketmod.svg' (properties changed: -x to +x)
=== modified file 'GTG/plugins/export/export_templates/template_pocketmod.tex' (properties changed: -x to +x)
=== modified file 'GTG/plugins/export/export_templates/template_sexy.html' (properties changed: -x to +x)
=== modified file 'GTG/plugins/export/export_templates/template_simple.html' (properties changed: -x to +x)
=== modified file 'GTG/plugins/export/export_templates/template_statusrpt.txt' (properties changed: -x to +x)
=== modified file 'GTG/plugins/export/export_templates/template_textual.txt' (properties changed: -x to +x)
=== modified file 'GTG/plugins/export/export_templates/thumbnail_pocketmod.png' (properties changed: -x to +x)
=== modified file 'GTG/plugins/export/export_templates/thumbnail_sexy.png' (properties changed: -x to +x)
=== modified file 'GTG/plugins/export/export_templates/thumbnail_simple.png' (properties changed: -x to +x)
=== modified file 'GTG/plugins/export/export_templates/thumbnail_statusrpt.png' (properties changed: -x to +x)
=== modified file 'GTG/plugins/export/export_templates/thumbnail_textual.png' (properties changed: -x to +x)
=== modified file 'GTG/plugins/export/task_str.py' (properties changed: -x to +x)
=== modified file 'GTG/plugins/export/templates.py' (properties changed: -x to +x)
=== modified file 'GTG/plugins/geolocalized-tasks.gtg-plugin' (properties changed: -x to +x)
=== modified file 'GTG/plugins/geolocalized_tasks/__init__.py' (properties changed: -x to +x)
=== modified file 'GTG/plugins/geolocalized_tasks/geolocalized.glade' (properties changed: -x to +x)
=== modified file 'GTG/plugins/geolocalized_tasks/geolocalized_tasks.py' (properties changed: -x to +x)
=== modified file 'GTG/plugins/geolocalized_tasks/icons/hicolor/16x16/assign-location.png' (properties changed: -x to +x)
=== modified file 'GTG/plugins/geolocalized_tasks/icons/hicolor/24x24/geolocalization.png' (properties changed: -x to +x)
=== modified file 'GTG/plugins/geolocalized_tasks/icons/hicolor/svg/assign-location.svg' (properties changed: -x to +x)
=== modified file 'GTG/plugins/geolocalized_tasks/icons/hicolor/svg/geolocalization.svg' (properties changed: -x to +x)
=== modified file 'GTG/plugins/geolocalized_tasks/marker.py' (properties changed: -x to +x)
=== modified file 'GTG/plugins/hamster.gtg-plugin' (properties changed: -x to +x)
=== modified file 'GTG/plugins/hamster/__init__.py' (properties changed: -x to +x)
=== modified file 'GTG/plugins/hamster/prefs.ui' (properties changed: -x to +x)
=== modified file 'GTG/plugins/import-json.gtg-plugin' (properties changed: -x to +x)
=== modified file 'GTG/plugins/import_json/__init__.py' (properties changed: -x to +x)
=== modified file 'GTG/plugins/import_json/import_json.ui' (properties changed: -x to +x)
=== modified file 'GTG/plugins/notification-area.gtg-plugin' (properties changed: -x to +x)
=== modified file 'GTG/plugins/notification_area/__init__.py' (properties changed: -x to +x)
=== modified file 'GTG/plugins/notification_area/notification_area.py' (properties changed: -x to +x)
=== modified file 'GTG/plugins/notification_area/notification_area.ui' (properties changed: -x to +x)
=== modified file 'GTG/plugins/send-email.gtg-plugin' (properties changed: -x to +x)
=== modified file 'GTG/plugins/send_email/__init__.py' (properties changed: -x to +x)
=== modified file 'GTG/plugins/task-reaper.gtg-plugin' (properties changed: -x to +x)
=== modified file 'GTG/plugins/task_reaper/__init__.py' (properties changed: -x to +x)
=== modified file 'GTG/plugins/task_reaper/reaper.ui' (properties changed: -x to +x)
=== modified file 'GTG/plugins/tomboy.gtg-plugin' (properties changed: -x to +x)
=== modified file 'GTG/plugins/tomboy/__init__.py' (properties changed: -x to +x)
=== modified file 'GTG/plugins/tomboy/combobox_enhanced.py' (properties changed: -x to +x)
=== modified file 'GTG/plugins/tomboy/tomboy.ui' (properties changed: -x to +x)
=== added file 'GTG/plugins/urgency-color.gtg-plugin'
--- GTG/plugins/urgency-color.gtg-plugin 1970-01-01 00:00:00 +0000
+++ GTG/plugins/urgency-color.gtg-plugin 2012-02-29 10:16:18 +0000
@@ -0,0 +1,16 @@
1[GTG Plugin]
2Module=urgency_color
3Name=Urgency Color
4Short-description="Task urgency color-coding"
5Description='''This plugin will calculate the urgency status of every of your currently active tasks and color-code it accordingly.
6
7Color code
8
9Assuming your settings are default:
10Red means you are within the last 30% of days between the start-date and due-date, or your task is overdue.
11Yellow means your task's start-date has passed.
12Green means your task's start-date is oncoming.
13'''
14Authors=Wolter Hellmund <wolterh6@gmail.com>
15Version=0.1
16Enabled=False
017
=== added directory 'GTG/plugins/urgency_color'
=== added file 'GTG/plugins/urgency_color/__init__.py'
--- GTG/plugins/urgency_color/__init__.py 1970-01-01 00:00:00 +0000
+++ GTG/plugins/urgency_color/__init__.py 2012-02-29 10:16:18 +0000
@@ -0,0 +1,21 @@
1# -*- coding: utf-8 -*-
2# Copyright (c) 2012 - Wolter Hellmund <wolterh6@gmail.com>
3#
4# This program is free software: you can redistribute it and/or modify it under
5# the terms of the GNU General Public License as published by the Free Software
6# Foundation, either version 3 of the License, or (at your option) any later
7# version.
8#
9# This program is distributed in the hope that it will be useful, but WITHOUT
10# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
12# details.
13#
14# You should have received a copy of the GNU General Public License along with
15# this program. If not, see <http://www.gnu.org/licenses/>.
16
17from GTG.plugins.urgency_color.urgency_color import pluginUrgencyColor
18
19#suppress pyflakes warning (given by make lint)
20if False == True:
21 pluginUrgencyColor()
022
=== added file 'GTG/plugins/urgency_color/preferences.ui'
--- GTG/plugins/urgency_color/preferences.ui 1970-01-01 00:00:00 +0000
+++ GTG/plugins/urgency_color/preferences.ui 2012-02-29 10:16:18 +0000
@@ -0,0 +1,302 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<interface>
3 <!-- interface-requires gtk+ 3.0 -->
4 <object class="GtkAdjustment" id="spinbutton_reddays_adjustment">
5 <property name="upper">100</property>
6 <property name="step_increment">5</property>
7 <property name="page_increment">10</property>
8 </object>
9 <object class="GtkWindow" id="prefs_window">
10 <property name="can_focus">False</property>
11 <property name="border_width">5</property>
12 <property name="type_hint">dialog</property>
13 <signal name="delete-event" handler="on_prefs_window_delete_event" swapped="no"/>
14 <child>
15 <object class="GtkVBox" id="vbox_main">
16 <property name="can_focus">False</property>
17 <property name="spacing">2</property>
18 <child>
19 <object class="GtkFrame" id="frame_reddays">
20 <property name="visible">True</property>
21 <property name="can_focus">False</property>
22 <property name="label_xalign">0</property>
23 <property name="shadow_type">in</property>
24 <child>
25 <object class="GtkAlignment" id="alignment1">
26 <property name="visible">True</property>
27 <property name="can_focus">False</property>
28 <property name="top_padding">5</property>
29 <property name="bottom_padding">5</property>
30 <property name="left_padding">12</property>
31 <child>
32 <object class="GtkHBox" id="hbox_reddays">
33 <property name="visible">True</property>
34 <property name="can_focus">False</property>
35 <child>
36 <object class="GtkLabel" id="label3">
37 <property name="visible">True</property>
38 <property name="can_focus">False</property>
39 <property name="label" translatable="yes">Danger zone span</property>
40 </object>
41 <packing>
42 <property name="expand">True</property>
43 <property name="fill">True</property>
44 <property name="position">0</property>
45 </packing>
46 </child>
47 <child>
48 <object class="GtkSpinButton" id="spinbutton_reddays">
49 <property name="visible">True</property>
50 <property name="can_focus">True</property>
51 <property name="invisible_char">•</property>
52 <property name="adjustment">spinbutton_reddays_adjustment</property>
53 <property name="climb_rate">10</property>
54 <property name="numeric">True</property>
55 <signal name="value-changed" handler="on_prefs_spinbutton_reddays_changed" swapped="no"/>
56 </object>
57 <packing>
58 <property name="expand">False</property>
59 <property name="fill">True</property>
60 <property name="position">1</property>
61 </packing>
62 </child>
63 <child>
64 <object class="GtkLabel" id="label4">
65 <property name="visible">True</property>
66 <property name="can_focus">False</property>
67 <property name="label" translatable="yes">%</property>
68 </object>
69 <packing>
70 <property name="expand">False</property>
71 <property name="fill">True</property>
72 <property name="padding">5</property>
73 <property name="position">2</property>
74 </packing>
75 </child>
76 </object>
77 </child>
78 </object>
79 </child>
80 <child type="label">
81 <object class="GtkLabel" id="label1">
82 <property name="visible">True</property>
83 <property name="can_focus">False</property>
84 <property name="label" translatable="yes">&lt;b&gt;Danger zone&lt;/b&gt;</property>
85 <property name="use_markup">True</property>
86 </object>
87 </child>
88 </object>
89 <packing>
90 <property name="expand">False</property>
91 <property name="fill">True</property>
92 <property name="position">0</property>
93 </packing>
94 </child>
95 <child>
96 <object class="GtkFrame" id="frame_colors">
97 <property name="visible">True</property>
98 <property name="can_focus">False</property>
99 <property name="label_xalign">0</property>
100 <property name="shadow_type">in</property>
101 <child>
102 <object class="GtkAlignment" id="alignment2">
103 <property name="visible">True</property>
104 <property name="can_focus">False</property>
105 <property name="top_padding">5</property>
106 <property name="bottom_padding">5</property>
107 <property name="left_padding">12</property>
108 <child>
109 <object class="GtkVBox" id="vbox_colors">
110 <property name="visible">True</property>
111 <property name="can_focus">False</property>
112 <property name="spacing">5</property>
113 <child>
114 <object class="GtkHBox" id="hbox_colors_red">
115 <property name="visible">True</property>
116 <property name="can_focus">False</property>
117 <child>
118 <object class="GtkColorButton" id="colorbutton_red">
119 <property name="use_action_appearance">False</property>
120 <property name="visible">True</property>
121 <property name="can_focus">True</property>
122 <property name="receives_default">True</property>
123 <property name="use_action_appearance">False</property>
124 <signal name="color-set" handler="on_prefs_colorbutton_red_changed" swapped="no"/>
125 </object>
126 <packing>
127 <property name="expand">False</property>
128 <property name="fill">True</property>
129 <property name="position">0</property>
130 </packing>
131 </child>
132 <child>
133 <object class="GtkLabel" id="label5">
134 <property name="visible">True</property>
135 <property name="can_focus">False</property>
136 <property name="label" translatable="yes">In danger zone</property>
137 </object>
138 <packing>
139 <property name="expand">True</property>
140 <property name="fill">True</property>
141 <property name="position">1</property>
142 </packing>
143 </child>
144 </object>
145 <packing>
146 <property name="expand">False</property>
147 <property name="fill">True</property>
148 <property name="position">0</property>
149 </packing>
150 </child>
151 <child>
152 <object class="GtkHBox" id="hbox_colors_yellow">
153 <property name="visible">True</property>
154 <property name="can_focus">False</property>
155 <child>
156 <object class="GtkColorButton" id="colorbutton_yellow">
157 <property name="use_action_appearance">False</property>
158 <property name="visible">True</property>
159 <property name="can_focus">True</property>
160 <property name="receives_default">True</property>
161 <property name="use_action_appearance">False</property>
162 <signal name="color-set" handler="on_prefs_colorbutton_yellow_changed" swapped="no"/>
163 </object>
164 <packing>
165 <property name="expand">False</property>
166 <property name="fill">True</property>
167 <property name="position">0</property>
168 </packing>
169 </child>
170 <child>
171 <object class="GtkLabel" id="label6">
172 <property name="visible">True</property>
173 <property name="can_focus">False</property>
174 <property name="label" translatable="yes">Should work on it</property>
175 </object>
176 <packing>
177 <property name="expand">True</property>
178 <property name="fill">True</property>
179 <property name="position">1</property>
180 </packing>
181 </child>
182 </object>
183 <packing>
184 <property name="expand">False</property>
185 <property name="fill">True</property>
186 <property name="position">1</property>
187 </packing>
188 </child>
189 <child>
190 <object class="GtkHBox" id="hbox_colors_green">
191 <property name="visible">True</property>
192 <property name="can_focus">False</property>
193 <child>
194 <object class="GtkColorButton" id="colorbutton_green">
195 <property name="use_action_appearance">False</property>
196 <property name="visible">True</property>
197 <property name="can_focus">True</property>
198 <property name="receives_default">True</property>
199 <property name="use_action_appearance">False</property>
200 <signal name="color-set" handler="on_prefs_colorbutton_green_changed" swapped="no"/>
201 </object>
202 <packing>
203 <property name="expand">False</property>
204 <property name="fill">True</property>
205 <property name="position">0</property>
206 </packing>
207 </child>
208 <child>
209 <object class="GtkLabel" id="label7">
210 <property name="visible">True</property>
211 <property name="can_focus">False</property>
212 <property name="label" translatable="yes">Don't worry about it</property>
213 </object>
214 <packing>
215 <property name="expand">True</property>
216 <property name="fill">True</property>
217 <property name="position">1</property>
218 </packing>
219 </child>
220 </object>
221 <packing>
222 <property name="expand">False</property>
223 <property name="fill">True</property>
224 <property name="position">2</property>
225 </packing>
226 </child>
227 </object>
228 </child>
229 </object>
230 </child>
231 <child type="label">
232 <object class="GtkLabel" id="label2">
233 <property name="visible">True</property>
234 <property name="can_focus">False</property>
235 <property name="label" translatable="yes">&lt;b&gt;Colors&lt;/b&gt;</property>
236 <property name="use_markup">True</property>
237 </object>
238 </child>
239 </object>
240 <packing>
241 <property name="expand">False</property>
242 <property name="fill">True</property>
243 <property name="position">1</property>
244 </packing>
245 </child>
246 <child>
247 <object class="GtkAlignment" id="alignment3">
248 <property name="visible">True</property>
249 <property name="can_focus">False</property>
250 <property name="top_padding">5</property>
251 <child>
252 <object class="GtkHButtonBox" id="hbuttonbox">
253 <property name="can_focus">False</property>
254 <property name="border_width">6</property>
255 <property name="homogeneous">True</property>
256 <child>
257 <object class="GtkButton" id="button_reset">
258 <property name="label">gtk-revert-to-saved</property>
259 <property name="use_action_appearance">False</property>
260 <property name="visible">True</property>
261 <property name="can_focus">True</property>
262 <property name="receives_default">True</property>
263 <property name="use_action_appearance">False</property>
264 <property name="use_stock">True</property>
265 <signal name="clicked" handler="on_prefs_reset_event" swapped="no"/>
266 </object>
267 <packing>
268 <property name="expand">False</property>
269 <property name="fill">True</property>
270 <property name="position">0</property>
271 </packing>
272 </child>
273 <child>
274 <object class="GtkButton" id="button_apply">
275 <property name="label">gtk-apply</property>
276 <property name="use_action_appearance">False</property>
277 <property name="visible">True</property>
278 <property name="can_focus">True</property>
279 <property name="receives_default">True</property>
280 <property name="use_action_appearance">False</property>
281 <property name="use_stock">True</property>
282 <signal name="clicked" handler="on_prefs_apply_event" swapped="no"/>
283 </object>
284 <packing>
285 <property name="expand">False</property>
286 <property name="fill">True</property>
287 <property name="position">1</property>
288 </packing>
289 </child>
290 </object>
291 </child>
292 </object>
293 <packing>
294 <property name="expand">True</property>
295 <property name="fill">True</property>
296 <property name="position">3</property>
297 </packing>
298 </child>
299 </object>
300 </child>
301 </object>
302</interface>
0303
=== added file 'GTG/plugins/urgency_color/urgency_color.py'
--- GTG/plugins/urgency_color/urgency_color.py 1970-01-01 00:00:00 +0000
+++ GTG/plugins/urgency_color/urgency_color.py 2012-02-29 10:16:18 +0000
@@ -0,0 +1,201 @@
1# -*- coding: utf-8 -*-
2# Copyright (c) 2012 - Wolter Hellmund <wolterh6@gmail.com>
3#
4# This program is free software: you can redistribute it and/or modify it under
5# the terms of the GNU General Public License as published by the Free Software
6# Foundation, either version 3 of the License, or (at your option) any later
7# version.
8#
9# This program is distributed in the hope that it will be useful, but WITHOUT
10# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
12# details.
13#
14# You should have received a copy of the GNU General Public License along with
15# this program. If not, see <http://www.gnu.org/licenses/>.
16
17from math import ceil
18import gtk
19import os
20
21from GTG.tools.dates import Date
22
23class pluginUrgencyColor:
24
25 PLUGIN_NAME = 'Urgency Color'
26 DEFAULT_PREFS = {
27 'reddays': 30,
28 'color_green': '#cfff84',
29 'color_yellow': '#ffed84',
30 'color_red': '#ff9784'}
31
32 def __init__(self):
33 self._plugin_api = None
34 self.req = None
35
36 def activate(self, plugin_api):
37 """ Plugin is activated """
38 self._plugin_api = plugin_api
39 self.req = self._plugin_api.get_requester()
40 self.prefs_load()
41 self.prefs_init()
42 # Set color function
43 self._plugin_api.set_bgcolor_func(self.bgcolor)
44
45 def _get_color(self, colindex):
46 if colindex == 0:
47 return self._pref_data['color_green']
48 elif colindex == 1:
49 return self._pref_data['color_yellow']
50 elif colindex == 2:
51 return self._pref_data['color_red']
52 else:
53 return None
54
55 def bgcolor(self, node_id, standard_color):
56 node = self.req.get_task(node_id)
57 sdate = node.get_start_date()
58 ddate = node.get_due_date()
59 if (sdate != Date.no_date() != ddate):
60 dayspan = (ddate - sdate).days
61 daysleft = ddate.days_left()
62
63 redf = self._pref_data['reddays']
64 reddays = int(ceil(redf*dayspan/100))
65 color = 0
66 if daysleft <= dayspan:
67 color = 1
68 if daysleft <= reddays:
69 color = 2
70 # This list should be implemented in the settings
71 #print "Giving color"
72 return self._get_color(color)
73 else:
74 # Return color for this node
75 return None
76
77 def deactivate(self, plugin_api):
78 """ Plugin is deactivated """
79 self._plugin_api.set_bgcolor_func()
80
81# Preferences dialog
82 def is_configurable(self):
83 """Requisite function for configurable plugins"""
84 return True
85
86 def configure_dialog(self, manager_dialog):
87 self._pref_data_potential = self._pref_data
88 self.prefs_window.show_all()
89 #self.prefs_window.set_transient_for(manager_dialog)
90 pass
91
92 def prefs_init(self):
93 self.builder = gtk.Builder()
94 self.builder.add_from_file(os.path.join(
95 os.path.dirname(os.path.abspath(__file__)),
96 'preferences.ui'))
97
98 # Get the widgets
99 # Window
100 self.prefs_window = self.builder.get_object('prefs_window')
101 self.prefs_window.set_title(('GTG - %s preferences' \
102 % self.PLUGIN_NAME))
103 self.prefs_window.set_size_request(300, -1)
104 self.prefs_window.hide_on_delete()
105
106 # Spin button
107 self.spinbutton_reddays = self.builder.get_object('spinbutton_reddays')
108
109 # Colorbutton - RED
110 self.colorbutton_red = self.builder.get_object('colorbutton_red')
111
112 # Colorbutton - YELLOW
113 self.colorbutton_yellow = self.builder.get_object('colorbutton_yellow')
114
115 # Colorbutton - GREEN
116 self.colorbutton_green = self.builder.get_object('colorbutton_green')
117
118 # Buttons
119 self.button_apply = self.builder.get_object('button_apply')
120 self.button_reset = self.builder.get_object('button_reset')
121
122 # Update widget's values
123 self.prefs_update_widgets()
124
125 # Signal connections
126 SIGNAL_CONNECTIONS_DIC = {
127 'on_prefs_window_delete_event':
128 self.on_prefs_cancel,
129 'on_prefs_apply_event':
130 self.on_prefs_apply,
131 'on_prefs_reset_event':
132 self.on_prefs_reset,
133 'on_prefs_spinbutton_reddays_changed':
134 self.on_prefs_spinbutton_reddays_changed,
135 'on_prefs_colorbutton_red_changed':
136 self.on_prefs_colorbutton_red_changed,
137 'on_prefs_colorbutton_yellow_changed':
138 self.on_prefs_colorbutton_yellow_changed,
139 'on_prefs_colorbutton_green_changed':
140 self.on_prefs_colorbutton_green_changed}
141 self.builder.connect_signals(SIGNAL_CONNECTIONS_DIC)
142
143 def prefs_update_widgets(self):
144 """ Synchronizes the widgets with the data in _pref_data """
145 # Spin button
146 self.spinbutton_reddays.set_value(self._pref_data['reddays'])
147 # Colorbutton - RED
148 self.colorbutton_red.set_color( \
149 gtk.gdk.color_parse(self._pref_data['color_red']))
150 # Colorbutton - YELLOW
151 self.colorbutton_yellow.set_color( \
152 gtk.gdk.color_parse(self._pref_data['color_yellow']))
153 # Colorbutton - GREEN
154 self.colorbutton_green.set_color( \
155 gtk.gdk.color_parse(self._pref_data['color_green']))
156
157 def on_prefs_cancel(self, widget=None, data=None):
158 self.prefs_update_widgets()
159 self.prefs_window.hide()
160 return True
161
162 def on_prefs_apply(self, widget=None, data=None):
163 self._pref_data = self._pref_data_potential
164 self.prefs_store()
165 self.prefs_window.hide()
166
167 def on_prefs_reset(self, widget=None, data=None):
168 # Restore the default plugin settings
169 self._pref_data = self._pref_data_potential = dict(self.DEFAULT_PREFS)
170 self.prefs_update_widgets()
171
172 def prefs_load(self):
173 data = self._plugin_api.load_configuration_object( \
174 self.PLUGIN_NAME,
175 'preferences')
176 if not data or not isinstance(data, dict):
177 self._pref_data = dict(self.DEFAULT_PREFS)
178 else:
179 self._pref_data = data
180
181 def prefs_store(self):
182 self._plugin_api.save_configuration_object( \
183 self.PLUGIN_NAME,
184 'preferences',
185 self._pref_data)
186
187 def on_prefs_spinbutton_reddays_changed(self, widget=None, data=None):
188 self._pref_data_potential['reddays'] = \
189 self.spinbutton_reddays.get_value()
190
191 def on_prefs_colorbutton_red_changed(self, widget=None, data=None):
192 self._pref_data_potential['color_red'] = \
193 self.colorbutton_red.get_color().to_string()
194
195 def on_prefs_colorbutton_yellow_changed(self, widget=None, data=None):
196 self._pref_data_potential['color_yellow'] = \
197 self.colorbutton_yellow.get_color().to_string()
198
199 def on_prefs_colorbutton_green_changed(self, widget=None, data=None):
200 self._pref_data_potential['color_green'] = \
201 self.colorbutton_green.get_color().to_string()
0202
=== modified file 'GTG/tests/__init__.py' (properties changed: -x to +x)
=== modified file 'GTG/tests/signals_testing.py' (properties changed: -x to +x)
=== modified file 'GTG/tests/test_apidocs.py' (properties changed: -x to +x)
=== modified file 'GTG/tests/test_backend_tomboy.py' (properties changed: -x to +x)
=== modified file 'GTG/tests/test_backends.py' (properties changed: -x to +x)
=== modified file 'GTG/tests/test_bidict.py' (properties changed: -x to +x)
=== modified file 'GTG/tests/test_datastore.py' (properties changed: -x to +x)
=== modified file 'GTG/tests/test_dates.py' (properties changed: -x to +x)
=== modified file 'GTG/tests/test_interruptible.py' (properties changed: -x to +x)
=== modified file 'GTG/tests/test_signal_testing.py' (properties changed: -x to +x)
=== modified file 'GTG/tests/test_syncengine.py' (properties changed: -x to +x)
=== modified file 'GTG/tests/test_syncmeme.py' (properties changed: -x to +x)
=== modified file 'GTG/tests/test_tagstore.py' (properties changed: -x to +x)
=== modified file 'GTG/tests/test_taskviewserial.py' (properties changed: -x to +x)
=== modified file 'GTG/tests/test_tool_tags.py' (properties changed: -x to +x)
=== modified file 'GTG/tests/test_twokeydict.py' (properties changed: -x to +x)
=== modified file 'GTG/tests/tree_testing.py' (properties changed: -x to +x)
=== modified file 'GTG/tests/xdg/xdg.txt' (properties changed: -x to +x)
=== modified file 'GTG/tools/__init__.py' (properties changed: -x to +x)
=== modified file 'GTG/tools/bidict.py' (properties changed: -x to +x)
=== modified file 'GTG/tools/borg.py' (properties changed: -x to +x)
=== modified file 'GTG/tools/cleanxml.py' (properties changed: -x to +x)
=== modified file 'GTG/tools/clipboard.py' (properties changed: -x to +x)
=== modified file 'GTG/tools/dates.py' (properties changed: -x to +x)
=== modified file 'GTG/tools/interruptible.py' (properties changed: -x to +x)
=== modified file 'GTG/tools/keyring.py' (properties changed: -x to +x)
=== modified file 'GTG/tools/logger.py' (properties changed: -x to +x)
=== modified file 'GTG/tools/networkmanager.py' (properties changed: -x to +x)
=== modified file 'GTG/tools/openurl.py' (properties changed: -x to +x)
=== modified file 'GTG/tools/readurl.py' (properties changed: -x to +x)
=== modified file 'GTG/tools/synchronized.py' (properties changed: -x to +x)
=== modified file 'GTG/tools/tags.py' (properties changed: -x to +x)
=== modified file 'GTG/tools/taskxml.py' (properties changed: -x to +x)
=== modified file 'GTG/tools/testingmode.py' (properties changed: -x to +x)
=== modified file 'GTG/tools/twokeydict.py' (properties changed: -x to +x)
=== modified file 'GTG/tools/urlregex.py' (properties changed: -x to +x)
=== modified file 'GTG/tools/watchdog.py' (properties changed: -x to +x)
=== modified file 'HACKING' (properties changed: -x to +x)
=== modified file 'LICENSE' (properties changed: -x to +x)
=== modified file 'MANIFEST.in' (properties changed: -x to +x)
=== modified file 'Makefile' (properties changed: -x to +x)
=== modified file 'README' (properties changed: -x to +x)
=== modified file 'data/icons/hicolor/16x16/actions/gtg-note-new.png' (properties changed: -x to +x)
=== modified file 'data/icons/hicolor/16x16/actions/gtg-plugin.png' (properties changed: -x to +x)
=== modified file 'data/icons/hicolor/16x16/actions/gtg-tag-new.png' (properties changed: -x to +x)
=== modified file 'data/icons/hicolor/16x16/actions/gtg-tag.png' (properties changed: -x to +x)
=== modified file 'data/icons/hicolor/16x16/actions/gtg-task-dismiss.png' (properties changed: -x to +x)
=== modified file 'data/icons/hicolor/16x16/actions/gtg-task-done.png' (properties changed: -x to +x)
=== modified file 'data/icons/hicolor/16x16/actions/gtg-task-new.png' (properties changed: -x to +x)
=== modified file 'data/icons/hicolor/16x16/actions/gtg-task-undismiss.png' (properties changed: -x to +x)
=== modified file 'data/icons/hicolor/16x16/actions/gtg-task-undone.png' (properties changed: -x to +x)
=== modified file 'data/icons/hicolor/16x16/apps/gtg.png' (properties changed: -x to +x)
=== modified file 'data/icons/hicolor/16x16/categories/gtg-tags-all.png' (properties changed: -x to +x)
=== modified file 'data/icons/hicolor/16x16/categories/gtg-tags-none.png' (properties changed: -x to +x)
=== modified file 'data/icons/hicolor/16x16/categories/search.png' (properties changed: -x to +x)
=== modified file 'data/icons/hicolor/16x16/emblems/gtg-home.png' (properties changed: -x to +x)
=== modified file 'data/icons/hicolor/16x16/emblems/gtg-people.png' (properties changed: -x to +x)
=== modified file 'data/icons/hicolor/16x16/emblems/gtg-work.png' (properties changed: -x to +x)
=== modified file 'data/icons/hicolor/22x22/actions/gtg-note-new.png' (properties changed: -x to +x)
=== modified file 'data/icons/hicolor/22x22/actions/gtg-plugin.png' (properties changed: -x to +x)
=== modified file 'data/icons/hicolor/22x22/actions/gtg-tag-new.png' (properties changed: -x to +x)
=== modified file 'data/icons/hicolor/22x22/actions/gtg-tag.png' (properties changed: -x to +x)
=== modified file 'data/icons/hicolor/22x22/actions/gtg-task-dismiss.png' (properties changed: -x to +x)
=== modified file 'data/icons/hicolor/22x22/actions/gtg-task-done.png' (properties changed: -x to +x)
=== modified file 'data/icons/hicolor/22x22/actions/gtg-task-new.png' (properties changed: -x to +x)
=== modified file 'data/icons/hicolor/22x22/actions/gtg-task-undismiss.png' (properties changed: -x to +x)
=== modified file 'data/icons/hicolor/22x22/actions/gtg-task-undone.png' (properties changed: -x to +x)
=== modified file 'data/icons/hicolor/22x22/apps/gtg.png' (properties changed: -x to +x)
=== modified file 'data/icons/hicolor/22x22/categories/items-tags.png' (properties changed: -x to +x)
=== modified file 'data/icons/hicolor/24x24/actions/gtg-tag-new.png' (properties changed: -x to +x)
=== modified file 'data/icons/hicolor/24x24/apps/gtg.png' (properties changed: -x to +x)
=== modified file 'data/icons/hicolor/32x32/actions/gtg-plugin.png' (properties changed: -x to +x)
=== modified file 'data/icons/hicolor/32x32/apps/gtg.png' (properties changed: -x to +x)
=== modified file 'data/icons/hicolor/scalable/apps/backend_evolution.png' (properties changed: -x to +x)
=== modified file 'data/icons/hicolor/scalable/apps/backend_gnote.png' (properties changed: -x to +x)
=== modified file 'data/icons/hicolor/scalable/apps/backend_identica.png' (properties changed: -x to +x)
=== modified file 'data/icons/hicolor/scalable/apps/backend_launchpad.png' (properties changed: -x to +x)
=== modified file 'data/icons/hicolor/scalable/apps/backend_localfile.png' (properties changed: -x to +x)
=== modified file 'data/icons/hicolor/scalable/apps/backend_localfile.svg' (properties changed: -x to +x)
=== modified file 'data/icons/hicolor/scalable/apps/backend_mantis.png' (properties changed: -x to +x)
=== modified file 'data/icons/hicolor/scalable/apps/backend_rtm.png' (properties changed: -x to +x)
=== modified file 'data/icons/hicolor/scalable/apps/backend_tomboy.png' (properties changed: -x to +x)
=== modified file 'data/icons/hicolor/scalable/apps/backend_twitter.png' (properties changed: -x to +x)
=== modified file 'data/icons/hicolor/scalable/apps/gtg.svg' (properties changed: -x to +x)
=== modified file 'data/icons/hicolor/svg/gtg-plugin.svg' (properties changed: -x to +x)
=== modified file 'data/icons/hicolor/svg/gtg.svg' (properties changed: -x to +x)
=== modified file 'doc/gtg.1' (properties changed: -x to +x)
=== modified file 'doc/gtg_new_task.1' (properties changed: -x to +x)
=== modified file 'gtg.desktop' (properties changed: -x to +x)
=== modified file 'org.gnome.GTG.service' (properties changed: -x to +x)
=== modified file 'po/af.po' (properties changed: -x to +x)
=== modified file 'po/ar.po' (properties changed: -x to +x)
=== modified file 'po/ast.po' (properties changed: -x to +x)
=== modified file 'po/be.po' (properties changed: -x to +x)
=== modified file 'po/bg.po' (properties changed: -x to +x)
=== modified file 'po/bn.po' (properties changed: -x to +x)
=== modified file 'po/ca.po' (properties changed: -x to +x)
=== modified file 'po/cs.po' (properties changed: -x to +x)
=== modified file 'po/da.po' (properties changed: -x to +x)
=== modified file 'po/de.po' (properties changed: -x to +x)
=== modified file 'po/en_CA.po' (properties changed: -x to +x)
=== modified file 'po/en_GB.po' (properties changed: -x to +x)
=== modified file 'po/es.po' (properties changed: -x to +x)
=== modified file 'po/eu.po' (properties changed: -x to +x)
=== modified file 'po/fi.po' (properties changed: -x to +x)
=== modified file 'po/fr.po' (properties changed: -x to +x)
=== modified file 'po/gl.po' (properties changed: -x to +x)
=== modified file 'po/gtg.pot' (properties changed: -x to +x)
=== modified file 'po/he.po' (properties changed: -x to +x)
=== modified file 'po/hr.po' (properties changed: -x to +x)
=== modified file 'po/hu.po' (properties changed: -x to +x)
=== modified file 'po/id.po' (properties changed: -x to +x)
=== modified file 'po/is.po' (properties changed: -x to +x)
=== modified file 'po/it.po' (properties changed: -x to +x)
=== modified file 'po/ja.po' (properties changed: -x to +x)
=== modified file 'po/jbo.po' (properties changed: -x to +x)
=== modified file 'po/lt.po' (properties changed: -x to +x)
=== modified file 'po/ms.po' (properties changed: -x to +x)
=== modified file 'po/nb.po' (properties changed: -x to +x)
=== modified file 'po/nds.po' (properties changed: -x to +x)
=== modified file 'po/nl.po' (properties changed: -x to +x)
=== modified file 'po/pl.po' (properties changed: -x to +x)
=== modified file 'po/pt.po' (properties changed: -x to +x)
=== modified file 'po/pt_BR.po' (properties changed: -x to +x)
=== modified file 'po/ro.po' (properties changed: -x to +x)
=== modified file 'po/ru.po' (properties changed: -x to +x)
=== modified file 'po/si.po' (properties changed: -x to +x)
=== modified file 'po/sl.po' (properties changed: -x to +x)
=== modified file 'po/sq.po' (properties changed: -x to +x)
=== modified file 'po/sv.po' (properties changed: -x to +x)
=== modified file 'po/te.po' (properties changed: -x to +x)
=== modified file 'po/tr.po' (properties changed: -x to +x)
=== modified file 'po/uk.po' (properties changed: -x to +x)
=== modified file 'po/zh_CN.po' (properties changed: -x to +x)
=== modified file 'setup.py' (properties changed: -x to +x)
--- setup.py 2012-02-13 09:44:15 +0000
+++ setup.py 2012-02-29 10:16:18 +0000
@@ -142,6 +142,7 @@
142 'GTG.plugins.send_email',142 'GTG.plugins.send_email',
143 'GTG.plugins.tomboy',143 'GTG.plugins.tomboy',
144 'GTG.plugins.import_json',144 'GTG.plugins.import_json',
145 'GTG.plugins.urgency_color'
145 ],146 ],
146 package_data = {147 package_data = {
147 'GTG.core.plugins': ['pluginmanager.glade'],148 'GTG.core.plugins': ['pluginmanager.glade'],
@@ -158,6 +159,7 @@
158 'send-email.gtg-plugin',159 'send-email.gtg-plugin',
159 'tomboy.gtg-plugin',160 'tomboy.gtg-plugin',
160 'import-json.gtg-plugin',161 'import-json.gtg-plugin',
162 'urgency-color.gtg-plugin'
161 ],163 ],
162 'GTG.plugins.export': ['export.ui',164 'GTG.plugins.export': ['export.ui',
163 './export_templates/description_pocketmod.py',165 './export_templates/description_pocketmod.py',
164166
=== modified file 'test/data/bryce/xdg/config/gtg/gtg.conf' (properties changed: -x to +x)
=== modified file 'test/data/bryce/xdg/config/gtg/tasks.conf' (properties changed: -x to +x)
=== modified file 'test/data/bryce/xdg/data/gtg/d4657d9f-3440-4791-a3d7-63cb4f00012e.xml' (properties changed: -x to +x)
=== modified file 'test/data/bryce/xdg/data/gtg/projects.xml' (properties changed: -x to +x)
=== modified file 'test/data/bryce/xdg/data/gtg/tags.xml' (properties changed: -x to +x)
=== modified file 'test/data/standard/xdg/config/gtg/gtg.conf' (properties changed: -x to +x)
=== modified file 'test/data/standard/xdg/config/gtg/tasks.conf' (properties changed: -x to +x)
=== modified file 'test/data/standard/xdg/data/gtg/866eace6-7482-41e9-b450-e9664a5d1602.xml' (properties changed: -x to +x)
=== modified file 'test/data/standard/xdg/data/gtg/gtg.pid' (properties changed: -x to +x)
=== modified file 'test/data/standard/xdg/data/gtg/projects.xml' (properties changed: -x to +x)
=== modified file 'test/data/standard/xdg/data/gtg/tags.xml' (properties changed: -x to +x)

Subscribers

People subscribed via source and target branches

to status/vote changes: