Merge lp:~mendymeng-1206/gtg/mendy into lp:~gtg/gtg/old-trunk
- mendy
- Merge into old-trunk
Proposed by
Meng Meng
Status: | Rejected |
---|---|
Rejected by: | Izidor Matušov |
Proposed branch: | lp:~mendymeng-1206/gtg/mendy |
Merge into: | lp:~gtg/gtg/old-trunk |
Diff against target: |
369 lines (+92/-87) 10 files modified
GTG/__init__.py (+1/-0) GTG/core/__init__.py (+1/-0) GTG/gtk/browser/browser.py (+1/-1) GTG/gtk/editor/editor.py (+40/-10) GTG/gtk/manager.py (+2/-1) GTG/gtk/preferences.glade (+22/-0) GTG/gtk/preferences.py (+17/-2) GTG/tools/dates.py (+7/-1) gtg (+0/-72) test/data/bryce/xdg/config/gtg/gtg.conf (+1/-0) |
To merge this branch: | bzr merge lp:~mendymeng-1206/gtg/mendy |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Izidor Matušov | code review | Needs Resubmitting | |
Luca Invernizzi | Pending | ||
Review via email: mp+80224@code.launchpad.net |
Commit message
This commit fixed the due date can be chosen before start date bug. Partially finished the custom date format setting feature.
Description of the change
Date format preference implemented. But currently only AU date format supported.
More related work need to be done in the future.
Due date cannot be set before start date. otherwise it will be set to the same date as the start date and the background of due date textbox will turn to green color to inform user the change.
To post a comment you must log in.
Revision history for this message
Izidor Matušov (izidor) wrote : | # |
review:
Needs Resubmitting
(code review)
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === modified file 'GTG/__init__.py' | |||
2 | --- GTG/__init__.py 2011-09-25 15:25:40 +0000 | |||
3 | +++ GTG/__init__.py 2011-10-24 14:14:27 +0000 | |||
4 | @@ -1,5 +1,6 @@ | |||
5 | 1 | # -*- coding: utf-8 -*- | 1 | # -*- coding: utf-8 -*- |
6 | 2 | # ----------------------------------------------------------------------------- | 2 | # ----------------------------------------------------------------------------- |
7 | 3 | # ----------------------------------------------------------------------------- | ||
8 | 3 | # Gettings Things Gnome! - a personal organizer for the GNOME desktop | 4 | # Gettings Things Gnome! - a personal organizer for the GNOME desktop |
9 | 4 | # Copyright (c) 2008-2009 - Lionel Dricot & Bertrand Rousseau | 5 | # Copyright (c) 2008-2009 - Lionel Dricot & Bertrand Rousseau |
10 | 5 | # | 6 | # |
11 | 6 | 7 | ||
12 | === modified file 'GTG/core/__init__.py' | |||
13 | --- GTG/core/__init__.py 2011-09-25 15:21:46 +0000 | |||
14 | +++ GTG/core/__init__.py 2011-10-24 14:14:27 +0000 | |||
15 | @@ -53,6 +53,7 @@ | |||
16 | 53 | 'browser': { | 53 | 'browser': { |
17 | 54 | 'bg_color_enable' : False, | 54 | 'bg_color_enable' : False, |
18 | 55 | "contents_preview_enable" : False, | 55 | "contents_preview_enable" : False, |
19 | 56 | "AU_date_format_enable" : False, | ||
20 | 56 | 'tag_pane' : False, | 57 | 'tag_pane' : False, |
21 | 57 | "sidebar_width": 120, | 58 | "sidebar_width": 120, |
22 | 58 | "closed_task_pane" : False, | 59 | "closed_task_pane" : False, |
23 | 59 | 60 | ||
24 | === modified file 'GTG/gtk/browser/browser.py' | |||
25 | --- GTG/gtk/browser/browser.py 2011-10-08 22:28:53 +0000 | |||
26 | +++ GTG/gtk/browser/browser.py 2011-10-24 14:14:27 +0000 | |||
27 | @@ -1001,7 +1001,7 @@ | |||
28 | 1001 | def on_edit_active_task(self, widget, row=None, col=None): | 1001 | def on_edit_active_task(self, widget, row=None, col=None): |
29 | 1002 | tid = self.get_selected_task() | 1002 | tid = self.get_selected_task() |
30 | 1003 | if tid: | 1003 | if tid: |
32 | 1004 | self.vmanager.open_task(tid) | 1004 | self.vmanager.open_task(tid,config_priv = self.config) #TODO: self.config |
33 | 1005 | 1005 | ||
34 | 1006 | def on_edit_done_task(self, widget, row=None, col=None): | 1006 | def on_edit_done_task(self, widget, row=None, col=None): |
35 | 1007 | tid = self.get_selected_task('closed') | 1007 | tid = self.get_selected_task('closed') |
36 | 1008 | 1008 | ||
37 | === modified file 'GTG/gtk/editor/editor.py' | |||
38 | --- GTG/gtk/editor/editor.py 2010-09-15 05:02:01 +0000 | |||
39 | +++ GTG/gtk/editor/editor.py 2011-10-24 14:14:27 +0000 | |||
40 | @@ -48,6 +48,7 @@ | |||
41 | 48 | requester, | 48 | requester, |
42 | 49 | vmanager, | 49 | vmanager, |
43 | 50 | task, | 50 | task, |
44 | 51 | globconfig, | ||
45 | 51 | taskconfig = None, | 52 | taskconfig = None, |
46 | 52 | thisisnew = False, | 53 | thisisnew = False, |
47 | 53 | clipboard = None) : | 54 | clipboard = None) : |
48 | @@ -60,6 +61,7 @@ | |||
49 | 60 | self.req = requester | 61 | self.req = requester |
50 | 61 | self.vmanager = vmanager | 62 | self.vmanager = vmanager |
51 | 62 | self.config = taskconfig | 63 | self.config = taskconfig |
52 | 64 | self.globconfig = globconfig | ||
53 | 63 | self.time = None | 65 | self.time = None |
54 | 64 | self.clipboard = clipboard | 66 | self.clipboard = clipboard |
55 | 65 | self.builder = gtk.Builder() | 67 | self.builder = gtk.Builder() |
56 | @@ -278,16 +280,25 @@ | |||
57 | 278 | 280 | ||
58 | 279 | #refreshing the due date field | 281 | #refreshing the due date field |
59 | 280 | duedate = self.task.get_due_date() | 282 | duedate = self.task.get_due_date() |
62 | 281 | prevdate = dates.strtodate(self.duedate_widget.get_text()) | 283 | #prevdate = dates.strtodate(self.duedate_widget.get_text()) |
63 | 282 | if duedate != prevdate or type(duedate) is not type(prevdate): | 284 | #the changes made below is not good , just show we can set different date format |
64 | 285 | #if duedate != prevdate or type(duedate) is not type(prevdate): | ||
65 | 286 | # zedate = str(duedate).replace("-", date_separator) | ||
66 | 287 | # self.duedate_widget.set_text(zedate) | ||
67 | 288 | if self.globconfig.get("AU_date_format_enable"): | ||
68 | 289 | self.duedate_widget.set_text(duedate.to_py_date().strftime('%d/%h/%Y')) | ||
69 | 290 | else: | ||
70 | 283 | zedate = str(duedate).replace("-", date_separator) | 291 | zedate = str(duedate).replace("-", date_separator) |
71 | 284 | self.duedate_widget.set_text(zedate) | 292 | self.duedate_widget.set_text(zedate) |
72 | 285 | # refreshing the closed date field | 293 | # refreshing the closed date field |
73 | 286 | closeddate = self.task.get_closed_date() | 294 | closeddate = self.task.get_closed_date() |
78 | 287 | prevcldate = dates.strtodate(self.closeddate_widget.get_text()) | 295 | #prevcldate = dates.strtodate(self.closeddate_widget.get_text()) |
79 | 288 | if closeddate != prevcldate or type(closeddate) is not type(prevcldate): | 296 | #if closeddate != prevcldate or type(closeddate) is not type(prevcldate): |
80 | 289 | zecldate = str(closeddate).replace("-", date_separator) | 297 | if self.globconfig.get("AU_date_format_enable"): |
81 | 290 | self.closeddate_widget.set_text(zecldate) | 298 | self.closeddate_widget.set_text(closeddate.to_py_date().strftime('%d/%h/%Y')) |
82 | 299 | else: | ||
83 | 300 | zedate = str(closeddate).replace("-", date_separator) | ||
84 | 301 | self.closeddate_widget.set_text(zedate) | ||
85 | 291 | #refreshing the day left label | 302 | #refreshing the day left label |
86 | 292 | #If the task is marked as done, we display the delay between the | 303 | #If the task is marked as done, we display the delay between the |
87 | 293 | #due date and the actual closing date. If the task isn't marked | 304 | #due date and the actual closing date. If the task isn't marked |
88 | @@ -319,10 +330,14 @@ | |||
89 | 319 | self.dayleft_label.set_markup("<span color='"+color+"'>"+txt+"</span>") | 330 | self.dayleft_label.set_markup("<span color='"+color+"'>"+txt+"</span>") |
90 | 320 | 331 | ||
91 | 321 | startdate = self.task.get_start_date() | 332 | startdate = self.task.get_start_date() |
94 | 322 | prevdate = dates.strtodate(self.startdate_widget.get_text()) | 333 | #prevdate = dates.strtodate(self.startdate_widget.get_text()) |
95 | 323 | if startdate != prevdate or type(startdate) is not type(prevdate): | 334 | #if startdate != prevdate or type(startdate) is not type(prevdate): |
96 | 335 | if self.globconfig.get("AU_date_format_enable"): | ||
97 | 336 | self.startdate_widget.set_text(startdate.to_py_date().strftime('%d/%h/%Y')) | ||
98 | 337 | else: | ||
99 | 324 | zedate = str(startdate).replace("-",date_separator) | 338 | zedate = str(startdate).replace("-",date_separator) |
100 | 325 | self.startdate_widget.set_text(zedate) | 339 | self.startdate_widget.set_text(zedate) |
101 | 340 | |||
102 | 326 | #Refreshing the tag list in the insert tag button | 341 | #Refreshing the tag list in the insert tag button |
103 | 327 | taglist = self.req.get_used_tags() | 342 | taglist = self.req.get_used_tags() |
104 | 328 | menu = gtk.Menu() | 343 | menu = gtk.Menu() |
105 | @@ -345,13 +360,17 @@ | |||
106 | 345 | self.light_save() | 360 | self.light_save() |
107 | 346 | 361 | ||
108 | 347 | def date_changed(self,widget,data): | 362 | def date_changed(self,widget,data): |
109 | 363 | """we need to do some thing here , as the date text format has been changed""" | ||
110 | 348 | text = widget.get_text() | 364 | text = widget.get_text() |
111 | 349 | validdate = False | 365 | validdate = False |
112 | 350 | if not text : | 366 | if not text : |
113 | 351 | validdate = True | 367 | validdate = True |
114 | 352 | datetoset = dates.no_date | 368 | datetoset = dates.no_date |
115 | 353 | else : | 369 | else : |
117 | 354 | datetoset = dates.strtodate(text) | 370 | if self.globconfig.get("AU_date_format_enable"): |
118 | 371 | datetoset = dates.strtodate(text, "AU") | ||
119 | 372 | else : | ||
120 | 373 | datetoset = dates.strtodate(text) | ||
121 | 355 | if datetoset : | 374 | if datetoset : |
122 | 356 | validdate = True | 375 | validdate = True |
123 | 357 | 376 | ||
124 | @@ -371,7 +390,18 @@ | |||
125 | 371 | start_date = self.task.get_start_date() | 390 | start_date = self.task.get_start_date() |
126 | 372 | due_date = self.task.get_due_date() | 391 | due_date = self.task.get_due_date() |
127 | 373 | if start_date and (start_date > due_date): | 392 | if start_date and (start_date > due_date): |
129 | 374 | self.task.set_due_date(self.task.get_start_date()) | 393 | self.task.set_due_date(self.task.get_start_date()) |
130 | 394 | # there may be problem here, as the view is different with model | ||
131 | 395 | # so set the text. | ||
132 | 396 | startdate = self.task.get_start_date() | ||
133 | 397 | if self.globconfig.get("AU_date_format_enable"): | ||
134 | 398 | self.duedate_widget.set_text(startdate.to_py_date().strftime('%d/%h/%Y')) | ||
135 | 399 | else: | ||
136 | 400 | zedate = str(startdate).replace("-",date_separator) | ||
137 | 401 | self.duedate_widget.set_text(zedate) | ||
138 | 402 | # in this case, set color to green to inform user that the due date is reseted to the same with start date | ||
139 | 403 | self.duedate_widget.modify_text(gtk.STATE_NORMAL, gtk.gdk.color_parse("#000")) | ||
140 | 404 | self.duedate_widget.modify_base(gtk.STATE_NORMAL, gtk.gdk.color_parse("#8F8")) | ||
141 | 375 | else : | 405 | else : |
142 | 376 | #We should write in red in the entry if the date is not valid | 406 | #We should write in red in the entry if the date is not valid |
143 | 377 | widget.modify_text(gtk.STATE_NORMAL, gtk.gdk.color_parse("#F00")) | 407 | widget.modify_text(gtk.STATE_NORMAL, gtk.gdk.color_parse("#F00")) |
144 | 378 | 408 | ||
145 | === modified file 'GTG/gtk/manager.py' | |||
146 | --- GTG/gtk/manager.py 2011-08-16 16:20:15 +0000 | |||
147 | +++ GTG/gtk/manager.py 2011-10-24 14:14:27 +0000 | |||
148 | @@ -147,7 +147,7 @@ | |||
149 | 147 | ''' | 147 | ''' |
150 | 148 | return self.opened_task | 148 | return self.opened_task |
151 | 149 | 149 | ||
153 | 150 | def open_task(self, uid,thisisnew = False): | 150 | def open_task(self, uid,thisisnew = False, config_priv = None): |
154 | 151 | """Open the task identified by 'uid'. | 151 | """Open the task identified by 'uid'. |
155 | 152 | 152 | ||
156 | 153 | If a Task editor is already opened for a given task, we present it. | 153 | If a Task editor is already opened for a given task, we present it. |
157 | @@ -163,6 +163,7 @@ | |||
158 | 163 | requester = self.req, \ | 163 | requester = self.req, \ |
159 | 164 | vmanager = self, \ | 164 | vmanager = self, \ |
160 | 165 | task = t, \ | 165 | task = t, \ |
161 | 166 | globconfig = config_priv, \ | ||
162 | 166 | taskconfig = self.task_config, \ | 167 | taskconfig = self.task_config, \ |
163 | 167 | thisisnew = thisisnew,\ | 168 | thisisnew = thisisnew,\ |
164 | 168 | clipboard = self.clipboard) | 169 | clipboard = self.clipboard) |
165 | 169 | 170 | ||
166 | === modified file 'GTG/gtk/preferences.glade' | |||
167 | --- GTG/gtk/preferences.glade 2010-07-29 10:36:24 +0000 | |||
168 | +++ GTG/gtk/preferences.glade 2011-10-24 14:14:27 +0000 | |||
169 | @@ -113,6 +113,28 @@ | |||
170 | 113 | <property name="position">0</property> | 113 | <property name="position">0</property> |
171 | 114 | </packing> | 114 | </packing> |
172 | 115 | </child> | 115 | </child> |
173 | 116 | |||
174 | 117 | |||
175 | 118 | |||
176 | 119 | <child> | ||
177 | 120 | <object class="GtkCheckButton" id="pref_date_format"> | ||
178 | 121 | <property name="label" translatable="yes">Use Australia date format "dd/mm/yy".</property> | ||
179 | 122 | <property name="visible">True</property> | ||
180 | 123 | <property name="can_focus">True</property> | ||
181 | 124 | <property name="receives_default">False</property> | ||
182 | 125 | <property name="draw_indicator">True</property> | ||
183 | 126 | <signal name="toggled" handler="on_pref_date_format_toggled"/> | ||
184 | 127 | </object> | ||
185 | 128 | <packing> | ||
186 | 129 | <property name="expand">False</property> | ||
187 | 130 | <property name="padding">3</property> | ||
188 | 131 | <property name="position">0</property> | ||
189 | 132 | </packing> | ||
190 | 133 | </child> | ||
191 | 134 | |||
192 | 135 | |||
193 | 136 | |||
194 | 137 | |||
195 | 116 | <child> | 138 | <child> |
196 | 117 | <object class="GtkHBox" id="prefs-hbox1"> | 139 | <object class="GtkHBox" id="prefs-hbox1"> |
197 | 118 | <property name="no_show_all">True</property> | 140 | <property name="no_show_all">True</property> |
198 | 119 | 141 | ||
199 | === modified file 'GTG/gtk/preferences.py' | |||
200 | --- GTG/gtk/preferences.py 2011-08-07 09:32:44 +0000 | |||
201 | +++ GTG/gtk/preferences.py 2011-10-24 14:14:27 +0000 | |||
202 | @@ -118,7 +118,8 @@ | |||
203 | 118 | 'plugin_depends': 'PluginDepends', | 118 | 'plugin_depends': 'PluginDepends', |
204 | 119 | 'plugin_config_dialog': 'PluginConfigDialog', | 119 | 'plugin_config_dialog': 'PluginConfigDialog', |
205 | 120 | 'pref_autostart': 'pref_autostart', | 120 | 'pref_autostart': 'pref_autostart', |
207 | 121 | 'pref_show_preview': 'pref_show_preview' | 121 | 'pref_show_preview': 'pref_show_preview', |
208 | 122 | 'pref_date_format': 'pref_date_format' | ||
209 | 122 | } | 123 | } |
210 | 123 | for attr, widget in widgets.iteritems(): | 124 | for attr, widget in widgets.iteritems(): |
211 | 124 | setattr(self, attr, self.builder.get_object(widget)) | 125 | setattr(self, attr, self.builder.get_object(widget)) |
212 | @@ -176,6 +177,13 @@ | |||
213 | 176 | else: | 177 | else: |
214 | 177 | toset = 0 | 178 | toset = 0 |
215 | 178 | self.pref_show_preview.set_active(toset) | 179 | self.pref_show_preview.set_active(toset) |
216 | 180 | |||
217 | 181 | if self.config_priv.get("AU_date_format_enable"): | ||
218 | 182 | toset = 1 | ||
219 | 183 | else: | ||
220 | 184 | toset = 0 | ||
221 | 185 | self.pref_date_format.set_active(toset) | ||
222 | 186 | |||
223 | 179 | 187 | ||
224 | 180 | 188 | ||
225 | 181 | def _init_plugin_tree(self): | 189 | def _init_plugin_tree(self): |
226 | @@ -233,6 +241,8 @@ | |||
227 | 233 | # preferences on the Tasks tab | 241 | # preferences on the Tasks tab |
228 | 234 | 'on_pref_show_preview_toggled': | 242 | 'on_pref_show_preview_toggled': |
229 | 235 | self.toggle_preview, | 243 | self.toggle_preview, |
230 | 244 | 'on_pref_date_format_toggled': | ||
231 | 245 | self.toggle_date_format, | ||
232 | 236 | 'on_pref_check_spelling_toggled': | 246 | 'on_pref_check_spelling_toggled': |
233 | 237 | self.toggle_spellcheck, | 247 | self.toggle_spellcheck, |
234 | 238 | # buttons on the Plugins tab | 248 | # buttons on the Plugins tab |
235 | @@ -350,7 +360,12 @@ | |||
236 | 350 | self.config_priv.set("contents_preview_enable",widget.get_active()) | 360 | self.config_priv.set("contents_preview_enable",widget.get_active()) |
237 | 351 | view = self.req.get_tasks_tree(refresh=False) | 361 | view = self.req.get_tasks_tree(refresh=False) |
238 | 352 | view.refresh_all() | 362 | view.refresh_all() |
240 | 353 | 363 | ||
241 | 364 | def toggle_date_format(self, widget): | ||
242 | 365 | """use AU date format or not.""" | ||
243 | 366 | self.config_priv.set("AU_date_format_enable",widget.get_active()) | ||
244 | 367 | view = self.req.get_tasks_tree(refresh=False) | ||
245 | 368 | view.refresh_all() | ||
246 | 354 | 369 | ||
247 | 355 | def toggle_spellcheck(self, widget): | 370 | def toggle_spellcheck(self, widget): |
248 | 356 | """Toggle spell checking on or off.""" | 371 | """Toggle spell checking on or off.""" |
249 | 357 | 372 | ||
250 | === modified file 'GTG/tools/dates.py' | |||
251 | --- GTG/tools/dates.py 2011-09-25 12:57:54 +0000 | |||
252 | +++ GTG/tools/dates.py 2011-10-24 14:14:27 +0000 | |||
253 | @@ -20,6 +20,7 @@ | |||
254 | 20 | from datetime import date, timedelta | 20 | from datetime import date, timedelta |
255 | 21 | import locale | 21 | import locale |
256 | 22 | import calendar | 22 | import calendar |
257 | 23 | import time | ||
258 | 23 | from GTG import _, ngettext | 24 | from GTG import _, ngettext |
259 | 24 | 25 | ||
260 | 25 | #setting the locale of gtg to the system locale | 26 | #setting the locale of gtg to the system locale |
261 | @@ -133,7 +134,7 @@ | |||
262 | 133 | #function to convert a string of the form YYYY-MM-DD | 134 | #function to convert a string of the form YYYY-MM-DD |
263 | 134 | #to a date | 135 | #to a date |
264 | 135 | #If the date is not correct, the function returns None | 136 | #If the date is not correct, the function returns None |
266 | 136 | def strtodate(stri) : | 137 | def strtodate(stri, dateformat="") : |
267 | 137 | if stri == _("now") or stri == "now": | 138 | if stri == _("now") or stri == "now": |
268 | 138 | return NOW | 139 | return NOW |
269 | 139 | elif stri == _("soon") or stri == "soon": | 140 | elif stri == _("soon") or stri == "soon": |
270 | @@ -153,6 +154,11 @@ | |||
271 | 153 | y = zedate[0] | 154 | y = zedate[0] |
272 | 154 | m = zedate[1] | 155 | m = zedate[1] |
273 | 155 | d = zedate[2] | 156 | d = zedate[2] |
274 | 157 | if dateformat == "AU": # Australia date format dd/mm/yy | ||
275 | 158 | t = time.strptime(stri, '%d/%b/%Y') | ||
276 | 159 | y = str(t.tm_year) | ||
277 | 160 | m = str(t.tm_mon) | ||
278 | 161 | d = str(t.tm_mday) | ||
279 | 156 | if y.isdigit() and m.isdigit() and d.isdigit() : | 162 | if y.isdigit() and m.isdigit() and d.isdigit() : |
280 | 157 | yy = int(y) | 163 | yy = int(y) |
281 | 158 | mm = int(m) | 164 | mm = int(m) |
282 | 159 | 165 | ||
283 | === removed file 'gtg' | |||
284 | --- gtg 2010-09-08 09:50:32 +0000 | |||
285 | +++ gtg 1970-01-01 00:00:00 +0000 | |||
286 | @@ -1,72 +0,0 @@ | |||
287 | 1 | #!/usr/bin/env python | ||
288 | 2 | # -*- coding:utf-8 -*- | ||
289 | 3 | |||
290 | 4 | # ----------------------------------------------------------------------------- | ||
291 | 5 | # Getting Things Gnome! - A personal organizer for the GNOME desktop | ||
292 | 6 | # Copyright (c) 2008,2009,2010 Lionel Dricot & Bertrand Rousseau | ||
293 | 7 | # | ||
294 | 8 | # This program is free software: you can redistribute it and/or modify it under | ||
295 | 9 | # the terms of the GNU General Public License as published by the Free Software | ||
296 | 10 | # Foundation, either version 3 of the License, or (at your option) any later | ||
297 | 11 | # version. | ||
298 | 12 | # | ||
299 | 13 | # This program is distributed in the hope that it will be useful, but WITHOUT | ||
300 | 14 | # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS | ||
301 | 15 | # FOR A PARTICULAR PURPOSE. See the GNU General Public License for more | ||
302 | 16 | # details. | ||
303 | 17 | # | ||
304 | 18 | # You should have received a copy of the GNU General Public License along with | ||
305 | 19 | # this program. If not, see <http://www.gnu.org/licenses/>. | ||
306 | 20 | # ----------------------------------------------------------------------------- | ||
307 | 21 | |||
308 | 22 | """ | ||
309 | 23 | Getting Things Gnome! - A personal organizer for the GNOME desktop | ||
310 | 24 | ================================================================== | ||
311 | 25 | |||
312 | 26 | :copyright: 2008,2009,2010 Lionel Dricot & Bertrand Rousseau | ||
313 | 27 | :license: GNU General Public License, version 3 or later | ||
314 | 28 | """ | ||
315 | 29 | |||
316 | 30 | import sys | ||
317 | 31 | from optparse import OptionParser | ||
318 | 32 | |||
319 | 33 | |||
320 | 34 | def X_is_running(): | ||
321 | 35 | from gtk.gdk import Screen | ||
322 | 36 | try: | ||
323 | 37 | if Screen().get_display(): | ||
324 | 38 | return True | ||
325 | 39 | except RuntimeError: | ||
326 | 40 | pass | ||
327 | 41 | return False | ||
328 | 42 | |||
329 | 43 | |||
330 | 44 | try: | ||
331 | 45 | parser = OptionParser() | ||
332 | 46 | parser.add_option('-b', '--boot-test', action='store_true', dest='boot_test', | ||
333 | 47 | help="Exit immediately after completing boot-up actions", default=False) | ||
334 | 48 | parser.add_option('-c', '--no-crash-handler', action='store_true', dest='no_crash_handler', | ||
335 | 49 | help="Disable the automatic crash handler", default=False) | ||
336 | 50 | parser.add_option('-d', '--debug', action='store_true', dest='debug', | ||
337 | 51 | help="Enable debug output", default=False) | ||
338 | 52 | parser.add_option('-v', '--version', action='store_true', dest='version_and_exit', | ||
339 | 53 | help="Print GTG's version number", default=False) | ||
340 | 54 | (options, args) = parser.parse_args() | ||
341 | 55 | |||
342 | 56 | if options.version_and_exit: | ||
343 | 57 | from GTG import info | ||
344 | 58 | print "gtg (Getting Things Gnome!) %s" %(info.VERSION) | ||
345 | 59 | |||
346 | 60 | print "For more information: %s" %(info.URL) | ||
347 | 61 | sys.exit(0) | ||
348 | 62 | |||
349 | 63 | elif not X_is_running(): | ||
350 | 64 | print "Could not open X display" | ||
351 | 65 | sys.exit(1) | ||
352 | 66 | |||
353 | 67 | else: | ||
354 | 68 | import GTG.gtg | ||
355 | 69 | sys.exit(GTG.gtg.main(options, args)) | ||
356 | 70 | |||
357 | 71 | except KeyboardInterrupt: | ||
358 | 72 | sys.exit(1) | ||
359 | 73 | 0 | ||
360 | === modified file 'test/data/bryce/xdg/config/gtg/gtg.conf' | |||
361 | --- test/data/bryce/xdg/config/gtg/gtg.conf 2010-06-16 07:54:55 +0000 | |||
362 | +++ test/data/bryce/xdg/config/gtg/gtg.conf 2011-10-24 14:14:27 +0000 | |||
363 | @@ -1,5 +1,6 @@ | |||
364 | 1 | [browser] | 1 | [browser] |
365 | 2 | contents_preview_enable = True | 2 | contents_preview_enable = True |
366 | 3 | AU_date_format_enable = True | ||
367 | 3 | x_pos = 562 | 4 | x_pos = 562 |
368 | 4 | collapsed_tags = , | 5 | collapsed_tags = , |
369 | 5 | tag_pane_width = 250 | 6 | tag_pane_width = 250 |
I don't think we need date format preference in GTG. That information is already in the system as locale setting.
Adding preferences for all languages is really laborious work - somebody else has done it already as locales system. Please, rewrite your patch using the locale.
Few tips: stackoverflow. com/questions/ 3438120/ python- date-formatted- with-x- locale- is-not- as-expected
- use %x to get dateformat as it is with locales
- See this question if you have problems: http://
Please resubmit the rewritten patch.