~vcs-imports/mayanna/trunk

« back to all changes in this revision

Viewing changes to ChangeLog

  • Committer: seiflotfy
  • Date: 2008-04-09 23:20:00 UTC
  • Revision ID: vcs-imports@canonical.com-20080409232000-qpgm81uu4kucnvs6

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
2008-04-09  Seif Lotfy  <seif@lotfy.com>
 
2
 
 
3
        * mayanna/mayanna_gmail.py: view gmail contacts under people
 
4
        
 
5
        * mayanna/mayanna_evolution: view evolution contacts
 
6
 
 
7
        * mayanna/mayanna_picasa: view picasa photos
 
8
 
 
9
        * mayanna/mayanna_youtube: view youtube list of favorites
 
10
 
 
11
        * mayanna/mayanna_flickr: view flcikr contacts
 
12
 
 
13
 
 
14
2007-12-06  Alex Graveley  <alex@beatniksoftware.com>
 
15
 
 
16
        (mayanna-0.2 branch, merged from trunk change 654)
 
17
 
 
18
        * mayanna/mayanna_applications.py (MenuTree._queue_reload): Fix bug
 
19
        #502197 by queueing a 3 second timeout when the gmenu monitor
 
20
        callback fires to avoid CPU spikes if a bunch of callbacks are
 
21
        invoked.
 
22
 
 
23
2007-12-02  Alex Graveley  <alex@beatniksoftware.com>
 
24
 
 
25
        (mayanna-0.2 branch, merged from trunk change 562)
 
26
 
 
27
        * mayanna/mayanna_computer.py
 
28
        (PrinterItemCups._idle_connect_printer): Shot in the dark at
 
29
        fixing libgnomecups crasher by connecting to printer signals in an
 
30
        idle handler.
 
31
 
 
32
2007-10-31  Alex Graveley  <alex@beatniksoftware.com>
 
33
 
 
34
        * mayanna/mayanna_pidgin.py (PidginAccountReader): Patch from Alex
 
35
        Gabriel to use a non-reload signal, status-changed for account
 
36
        status changes, to avoid a big slow reload for those with a lot of
 
37
        contacts.
 
38
 
 
39
2007-10-30  Alex Graveley  <alex@beatniksoftware.com>
 
40
 
 
41
        (mayanna-0.2 branch)
 
42
 
 
43
        * NEWS: Update for 0.2.8.
 
44
        * AUTHORS: Add Alex & Seif.
 
45
 
 
46
        * mayanna/mayanna_people.py (EverybodySource.get_items_uncached):
 
47
        Only list gaim buddies if no pidgin buddies.
 
48
        (AccountMenu.__init__): Make the menu items ImageMenuItems, like
 
49
        pidgin uses in it's status selector.  Comment out list of
 
50
        accounts, since it doesn't do anything for now.
 
51
        (PeopleTopic.do_reload): Only list gaim accounts if no pidgin
 
52
        accounts.
 
53
 
 
54
        * mayanna/mayanna_pidgin.py (PidginAccountReader.__init__): Connect
 
55
        to AccountStatusChanged and emit reload. set_status ->
 
56
        set_global_status. Add get_global_status.
 
57
 
 
58
2007-10-30  Alex Graveley  <alex@beatniksoftware.com>
 
59
 
 
60
        (mayanna-0.2 branch)
 
61
 
 
62
        * mayanna/mayanna_util.py (DBusWrapper.__getattr__): Don't force a
 
63
        refetch of the dbus object on every dbus exception.  This can
 
64
        cause CPU spikes if dbus methods that cause exceptions are called
 
65
        in a tight loop.
 
66
 
 
67
        * mayanna/mayanna_trash.py (TrashItem.get_can_pin): Don't allow
 
68
        pinning of the trash.  Fixes crash reported by Seif Lotfy.
 
69
 
 
70
        * mayanna/mayanna_library.py (DocumentsTopic.do_reload): Only add
 
71
        the Attachments source if the Thunderbird downloads.rdf file
 
72
        exists, and connect to it's reload to the topic's reload signal so
 
73
        that if it gets created later, the category will be shown.
 
74
 
 
75
2007-10-24  Alex Graveley  <alex@beatniksoftware.com>
 
76
 
 
77
        (mayanna-0.2 branch)
 
78
        
 
79
        * mayanna/mayanna_topicwin.py (ItemIconView._set_item): Workaround
 
80
        icon sizing by basing the size chosen on the total number of
 
81
        items, not just those currently visible. This has the negative
 
82
        consequence of showing smaller icons than is neccessary, but fixes
 
83
        the problem of mixed sizing as async-loaded items become visible.
 
84
 
 
85
2007-10-18  Alex Graveley  <alex@beatniksoftware.com>
 
86
 
 
87
        (mayanna-0.2 branch)
 
88
 
 
89
        * mayanna/gnomecups/_gnomecups.override
 
90
        (_gnomecups_notify_marshal): Use PyObject_CallObject instead of
 
91
        PyEval_CallFunction, which is what the new gmenu bindings use.
 
92
 
 
93
2007-10-16  Alex Graveley  <alex@beatniksoftware.com>
 
94
 
 
95
        (mayanna-0.2 branch, merged from trunk@482)
 
96
 
 
97
        * mayanna/mayanna_applet.py (TopicMenu.__init__): Pack an event box
 
98
        next to the timebar, and set it's bg white (this is broken; should
 
99
        respect style), to take up the empty space from the disabled
 
100
        sparkline.
 
101
        
 
102
        * mayanna/mayanna_topicwin.py (TimeBar): Disable the sparkline due
 
103
        to bugginess.
 
104
 
 
105
        * mayanna/mayanna_util.py (DBusWrapper.__getattr__): Reset __obj on
 
106
        dbus.DBusException.  This should hopefully fix D-BUS reconnect
 
107
        issues.
 
108
 
 
109
2007-10-13  Alex Graveley  <alex@beatniksoftware.com>
 
110
 
 
111
        (mayanna-0.2 branch)
 
112
 
 
113
        * configure.in: Drop version to 0.2.8.  Remove checks for
 
114
        firefox-nss.  Remove atom, data, pwdecrypt.
 
115
 
 
116
        * mayanna/Makefile.am: Remove facebook.py, flickrapi.py,
 
117
        lgconstants.py, libgmail.py, mayanna_facebook.py, mayanna_flickr.py,
 
118
        mayanna_gmail.py, mayanna_googleoffice.py.  Remove atom, data,
 
119
        pwdecrypt.
 
120
 
 
121
        * mayanna/mayanna_people.py: Remove Facebook and Gmail contacts.
 
122
        Fix crasher typo.
 
123
 
 
124
        * mayanna/mayanna_library.py: Remove GOffice and Flickr.  Clean up
 
125
        imports a bit.
 
126
 
 
127
2007-10-13  Alex Graveley  <alex@beatniksoftware.com>
 
128
 
 
129
        * mayanna/mayanna_computer.py (ComputerTopic.do_reload): Don't show
 
130
        Printers sidebar if gnomecups isn't available.
 
131
 
 
132
2007-10-13  Alex Graveley  <alex@beatniksoftware.com>
 
133
 
 
134
        * mayanna/mayanna.in (FILEPATH): Fix devel runs by getting the
 
135
        abspath of __file__ before changing to the user's homedir.
 
136
 
 
137
        * mayanna/mayanna_util.py (DBusWrapper): Handle no bus or no object
 
138
        registered at mayanna init by looking them up as needed.
 
139
 
 
140
2007-10-10  Seif Lotfy  <seif@lotfy.com>
 
141
 
 
142
        * mayanna/mayanna_flickr.py: Load friends pictures
 
143
 
 
144
        * mayanna/mayanna_pidgin.py: Load Alias for MSN Contacts using d-bus
 
145
        to make them viewable in the people dock. Also support IRC
 
146
        contacts (No Chats).
 
147
 
 
148
        * mayanna/mayanna_people.py: Change Pidgin status using d-bus.
 
149
 
 
150
2007-10-08  Alex Graveley  <alex@beatniksoftware.com>
 
151
 
 
152
        * mayanna/mayanna_googleoffice.py: Fixup gdata imports: only need
 
153
        gdata.service and gdata.docs.service.
 
154
 
 
155
        * mayanna/gdata/Makefile.am: Fix to not install the same files in
 
156
        all the subdirectories.  Doh!
 
157
 
 
158
2007-10-08  Alex Graveley  <alex@beatniksoftware.com>
 
159
 
 
160
        * mayanna/mayanna_googleoffice.py (GOfficeAccountReader._login): Fix
 
161
        the attribute error causing GOffice login to fail by using the
 
162
        proper Error class (gdata.docs.Error doesn't exist).
 
163
 
 
164
2007-10-08  Alex Graveley  <alex@beatniksoftware.com>
 
165
 
 
166
        * mayanna/mayanna.in: Work around various install and ltihooks.py
 
167
        weirdness to make something which executes from the dev tree or
 
168
        install path.  GOffice is still broken for me though :-(
 
169
 
 
170
2007-10-07  Alex Graveley  <alex@beatniksoftware.com>
 
171
 
 
172
        * data/GNOME_MAYANNAApplet.xml: Add EditMenus context menu item.
 
173
 
 
174
        * mayanna/mayanna_applet.py (MAYANNAApplet.__init__): Add EditMenus
 
175
        command, which launches "alacarte". (Fixes bug #419572, patch from
 
176
        maxx@krakoa.dk).
 
177
 
 
178
2007-10-07  Alex Graveley  <alex@beatniksoftware.com>
 
179
 
 
180
        * mayanna/mayanna_applet.py (TopicButtonMod._show): Focus the search
 
181
        entry by default when presenting the menu.  Yay! (Fixes bug
 
182
        #431193, patch from Adam Lofts).
 
183
 
 
184
2007-10-07  Alex Graveley  <alex@beatniksoftware.com>
 
185
 
 
186
        * mayanna/mayanna.in: Fix the bundle-library loading to actually
 
187
        work with installed versions.  Gdata still doesn't work for
 
188
        installed run, due to some AttributeError though.
 
189
 
 
190
2007-10-07  Alex Graveley  <alex@beatniksoftware.com>
 
191
 
 
192
        * mayanna/gdata/docs/service.py (DocsService.GetDocumentListFeed):
 
193
        Small bugfix to make this work without having the sys.path set up
 
194
        explicitly.
 
195
 
 
196
2007-10-07  Alex Graveley  <alex@beatniksoftware.com>
 
197
 
 
198
        * mayanna/mayanna.in: Temp hack to make sure we always use the
 
199
        bundled gmenu, atom, and gdata over the system installed versions.
 
200
 
 
201
        * mayanna/gmenu/Makefile.am: 
 
202
        * mayanna/gmenu/gmenu.c: Import Python bindings from
 
203
        gnome-menus-2.20.0, licensed LGPL.
 
204
 
 
205
        * mayanna/Makefile.am (SUBDIRS): Add gmenu.
 
206
        (mayanna_PYTHON): Add forgotten mayanna_threads.py.
 
207
 
 
208
        * configure.in: Depend on libgnome-menu and build the gmenu
 
209
        bindings ourselves.
 
210
 
 
211
2007-10-07  Alex Graveley  <alex@beatniksoftware.com>
 
212
 
 
213
        * mayanna/mayanna_flickr.py: Start loading images after a successful
 
214
        auth, not when asked for photos.
 
215
 
 
216
2007-10-07  Alex Graveley  <alex@beatniksoftware.com>
 
217
 
 
218
        * mayanna/gdata/Makefile.am: 
 
219
        * mayanna/atom/Makefile.am: Add missing makefiles from last commit.
 
220
 
 
221
        * data/images/Makefile.am (uninstall-hook): Pass distcheck by
 
222
        deleting 16x16 img.
 
223
 
 
224
2007-10-07  Alex Graveley  <alex@beatniksoftware.com>
 
225
 
 
226
        * mayanna/mayanna_library.py (DocumentsTopic.do_reload): Use
 
227
        GOfficeSource instead of placeholder.
 
228
 
 
229
        * mayanna/mayanna_googleoffice.py: Add init Google Office support
 
230
        from Seif Lotfy and Alex Gabriel. Double Yay!
 
231
 
 
232
        * mayanna/atom:
 
233
        * mayanna/gdata: Add gdata-1.0.8, licensed as Apache 2.0.
 
234
 
 
235
        * mayanna/Makefile.am (mayanna_PYTHON): Add mayanna_googleoffice.py.
 
236
        Add gdata/atom to SUBIRS.
 
237
 
 
238
        * configure.in: Add mayanna/atom/Makefile & mayanna/gdata/Makefile.
 
239
 
 
240
2007-10-06  Alex Graveley  <alex@beatniksoftware.com>
 
241
 
 
242
        * mayanna/mayanna_library.py (DocumentsTopic.do_reload): Use the
 
243
        FlickrSource instead of the placeholder.
 
244
 
 
245
        * mayanna/mayanna_flickr.py: Add initial Flick support from Seif
 
246
        Lotfy and Alex Gabriel. Yay!
 
247
 
 
248
        * mayanna/Makefile.am (mayanna_PYTHON): Add mayanna_flickr.py.
 
249
 
 
250
2007-10-06  Alex Graveley  <alex@beatniksoftware.com>
 
251
 
 
252
        * mayanna/flickrapi.py: Add flickrapi 0.14, using the Python
 
253
        license.
 
254
 
 
255
        * mayanna/lgconstants.py: 
 
256
        * mayanna/libgmail.py: Add CVS libgmail, as of Oct5, 07.  libgmail
 
257
        is licensed GPL 2.0.
 
258
 
 
259
        * mayanna/Makefile.am (mayanna_PYTHON): Add libgmail, flickrapi.
 
260
 
 
261
2007-10-06  Alex Graveley  <alex@beatniksoftware.com>
 
262
 
 
263
        * mayanna/mayanna_computer.py (PrinterItem.__init__): Use the
 
264
        "lambda *args" trick here to hopefully avoid callback bugs.
 
265
 
 
266
        * mayanna/mayanna_applications.py (MenuTree.__init__): Reenable
 
267
        gmenu update listening, as this has been fixed in gnome-menus (see
 
268
        bug #442747).
 
269
 
 
270
        * mayanna/mayanna_facebook.py (FacebookAccountReader.load_friends):
 
271
        Don't run in a thread, since the auth can still fail on
 
272
        friends.get(), and we want the exception.  Call users.getInfo in
 
273
        load_friends, to better segment the work.
 
274
 
 
275
2007-10-05  Alex Graveley  <alex@beatniksoftware.com>
 
276
 
 
277
        Add pwdecrypt utility from Mozilla CVS, a standalone utility to
 
278
        decrypt stored password files (signons2.txt) using a key file
 
279
        (key3.db).
 
280
 
 
281
2007-10-04  Alex Graveley  <alex@beatniksoftware.com>
 
282
 
 
283
        * mayanna/mayanna_running.py (RunningItemSource.queue_reload):
 
284
        Actually fix stupid wnck version arrity mismatches with *args, and
 
285
        passing the function directly (versus lambda).
 
286
        * mayanna/mayanna_gui.py (FriendlyPager._workspace_changed): Ditto.
 
287
 
 
288
        * mayanna/mayanna_facebook.py (facebook_threads): Use a single
 
289
        4-thread pool for all async operations. 
 
290
 
 
291
2007-10-04  Alex Graveley  <alex@beatniksoftware.com>
 
292
 
 
293
        * mayanna/mayanna_facebook.py (FacebookSource): Do all http requests
 
294
        inside worker threads.  Use a 4-thread pool for loading friend
 
295
        data, each processing 10 friends at a time.  Load the favicon in
 
296
        thread, and pass it to the FacebookLogin item.
 
297
 
 
298
        * mayanna/mayanna_topicwin.py (SidebarButton): Reload button
 
299
        contents when source reloads.
 
300
 
 
301
        * mayanna/mayanna_threads.py: New useful thread decorators.
 
302
 
 
303
        * mayanna/mayanna_applet.py (main): Call threads_init earlier.  This
 
304
        was causing standalone mayanna_applet to freeze, as threads weren't
 
305
        initialized before entering the main loop.
 
306
 
 
307
2007-10-03  Alex Graveley  <alex@beatniksoftware.com>
 
308
 
 
309
        * mayanna/mayanna_running.py: Fixes from Seif Lotfy and Alex Gabriel
 
310
        to avoid lambda arrity errors, and to match "Pidgin" (not
 
311
        "pidgin") window class names.
 
312
 
 
313
        * mayanna/mayanna_util.py: Look for a -memdump/--memdump command
 
314
        line arg to print the diff of running objects every 15 seconds.
 
315
 
 
316
        * mayanna/mayanna_facebook.py
 
317
        (FacebookAccountReader.load_existing_auth): Handle invalid
 
318
        existing session keys better by resetting facebook object internal
 
319
        data.
 
320
 
 
321
2007-10-02  Alex Graveley  <alex@beatniksoftware.com>
 
322
 
 
323
        * mayanna/mayanna_gmail.py (GmailAccountReader.get_contacts): Don't
 
324
        login here, which avoids showing the keyring access dialog
 
325
        unexpectedly (e.g. when searching).
 
326
        "Account Settings" -> "Login to Gmail".
 
327
 
 
328
        * mayanna/mayanna_facebook.py (FacebookAccountReader.load_friends):
 
329
        Convert uid to string, to avoid problems when using simplejson.
 
330
        Fix from Seif Lotfy.
 
331
 
 
332
2007-09-28  Alex Graveley  <alex@beatniksoftware.com>
 
333
 
 
334
        * mayanna/mayanna_facebook.py (FacebookLogin.do_open): Connect to
 
335
        the browser destroy event to finish the authentication and load
 
336
        friends.
 
337
 
 
338
2007-09-27  Alex Graveley  <alex@beatniksoftware.com>
 
339
 
 
340
        * mayanna/mayanna_facebook.py: New.  Adds the initial (synchronous)
 
341
        Facebook friend source, using GtkMozEmbed to open a custom web
 
342
        widget to complete the login process.
 
343
 
 
344
        * mayanna/facebook.py: Add pyfacebook (LGPL) from
 
345
        http://code.google.com/p/pyfacebook.
 
346
 
 
347
        * mayanna/mayanna_people.py (PeopleTopic.do_reload): Add the
 
348
        Facebook source.
 
349
 
 
350
        * mayanna/mayanna.in: Gross hack to work around GtkMozEmbed crashing
 
351
        if the firefox libs are not already in LD_LIBRARY_PATH --
 
352
        relauches __file__ with the same args and environ, with
 
353
        /usr/lib/firefox appended to LD_LIBRARY_PATH.
 
354
 
 
355
2007-09-27  Alex Graveley  <alex@beatniksoftware.com>
 
356
 
 
357
        * mayanna/mayanna_people.py: Use calendar icon for recent people,
 
358
        and generic "im" icon for Online Now, since one of gaim/pidgin
 
359
        might not be present.
 
360
 
 
361
        * mayanna/mayanna_running.py: Treat gaim and pidgin as equals.
 
362
 
 
363
        * mayanna/mayanna_gmail.py: Set gmail_keyring_token gconf key as
 
364
        int.  Fixes bug #429518, patch from Thomas HAMEL.
 
365
 
 
366
        * mayanna/mayanna_running.py: Fix lambda arity.  Fixes bug #458048,
 
367
        patch from Jesse Hallett.  
 
368
        * mayanna/mayanna_gui.py: Ditto.
 
369
 
 
370
2007-08-17  Alex Graveley  <alex@beatniksoftware.com>
 
371
 
 
372
        * mayanna/mayanna_library.py: Rename from mayanna_documents.py.
 
373
 
 
374
2007-08-17  Alex Graveley  <alex@beatniksoftware.com>
 
375
 
 
376
        * mayanna/mayanna_base.py (Topic.get_icon): Add this.
 
377
 
 
378
        * mayanna/mayanna_computer.py (ComputerTopic.__init__): Set icon here.
 
379
        * mayanna/mayanna_applications.py (ApplicationsTopic.__init__): Ditto.
 
380
        * mayanna/mayanna_documents.py (DocumentsTopic.__init__): Ditto.
 
381
        * mayanna/mayanna_people.py (PeopleTopic.__init__): Ditto.
 
382
 
 
383
        * mayanna/mayanna_applet.py
 
384
        (TopicButtonMod._button_style_pref_changed): Use icon from
 
385
        Topic.get_icon, instead of hardcoding.
 
386
 
 
387
2007-08-12  Gabor Kelemen  <kelmeng@gnome.hu>
 
388
 
 
389
        * configure.in: Added missing cs, hu, oc, zh_CN to ALL_LINGUAS.
 
390
 
 
391
2007-07-27  Raphael Higino  <raphaelh@svn.gnome.org>
 
392
 
 
393
        * configure.in: Added pt_BR to ALL_LINGUAS.
 
394
 
 
395
2007-07-27  Raivis Dejus  <orvils@gmail.com>
 
396
 
 
397
        * configure.in: Added Latvian Translation.
 
398
 
 
399
2007-06-09  Alex Graveley  <alex@beatniksoftware.com>
 
400
 
 
401
        * mayanna/mayanna_topicwin.py (SparkLine._paint_cairo): Handle empty
 
402
        levels_list.
 
403
 
 
404
2007-06-08  Alex Graveley  <alex@beatniksoftware.com>
 
405
 
 
406
        * configure.in: Bump to 0.3.0 for the unstable release cycle.
 
407
 
 
408
        * mayanna/mayanna_topicwin.py (SparkLine._paint_cairo): First pass
 
409
        at cairo-based drawing of the timeline bar.
 
410
 
 
411
        * mayanna/*.py: Replace explicit superclass calls in signal
 
412
        handlers with self.chain, at least for the cases where it chooses
 
413
        to work correctly.
 
414
 
 
415
2007-06-08  Alex Graveley  <alex@beatniksoftware.com>
 
416
 
 
417
        * configure.in: Bump to 0.2.7.
 
418
        * NEWS: Update.
 
419
 
 
420
2007-06-06  James Ogley  <james@usr-local-bin.org>
 
421
 
 
422
        * mayanna/Makefile.am:
 
423
        * mayanna/mayanna_people.py:
 
424
        * mayanna/mayanna_pidgin.py: Add support for Pidgin as well as Gaim2.
 
425
 
 
426
2007-06-07  Alex Graveley  <alex@beatniksoftware.com>
 
427
 
 
428
        * mayanna/mayanna_applet.py (TopicMenu.set_gravity): Pack the
 
429
        toolbar and sidebar buttons at the top for top/side panels, and
 
430
        bottom for bottom panels, as determined by the window gravity.
 
431
 
 
432
        * mayanna/mayanna_topicwin.py (SearchToolItem): Set entry size to 14
 
433
        from 18.
 
434
 
 
435
2007-03-26  Tony Tsui  <tsui.tony@gmail.com>
 
436
 
 
437
        * AUTHORS
 
438
        * mayanna/mayanna_applet.py (MAYANNAApplet._show_about): Add me.
 
439
 
 
440
2007-05-01  Alex Graveley  <alex@beatniksoftware.com>
 
441
 
 
442
        * mayanna/mayanna_recent.py
 
443
        (RecentlyUsedManagerGtk.get_items_uncached): Use the recent item's
 
444
        modified time, instead of the visited time.  Visited is actually
 
445
        the time of the first visit.  Confusing!
 
446
 
 
447
2007-03-24  Tony Tsui  <tsui.tony@gmail.com>
 
448
 
 
449
        * mayanna/mayanna_topicwin.py (ItemIconView): Highlight item when
 
450
        mouse pointer is over it. When single click policy is enabled
 
451
        change mouse cursor to hand icon when pointer is over an
 
452
        item. Fixes bug #418036.
 
453
 
 
454
2007-04-30  Alex Graveley  <alex@beatniksoftware.com>
 
455
 
 
456
        * mayanna/mayanna_logout.py (LogoutDialog.__init__): Show the
 
457
        Hibernate button as well as Sleep if it's supported.  This is
 
458
        lame, but there's not much for it (fixes bug #429394).
 
459
 
 
460
        * mayanna/mayanna_documents.py (MozillaDownloadsSource.get_enabled):
 
461
        Fix bug in last commit where enabled status would fail if
 
462
        get_items() had not yet been called.
 
463
 
 
464
2007-04-30  Alex Graveley  <alex@beatniksoftware.com>
 
465
 
 
466
        * mayanna/mayanna_documents.py (EpiphanyDownloadsSource): New class
 
467
        originally from Tony Tsui (see bug #418015) to list Epiphany's
 
468
        downloads directory files and monitor the gconf key for changes.
 
469
        (MozillaDownloadsSource): Split out downloads.rdf parsing to this
 
470
        new class.
 
471
        (DownloadsSource): Make this a simple RecentAggregate of
 
472
        MozillaDownloadsSource, EpiphanyDownloadsSource and a
 
473
        DirectorySource for ~/Downloads.
 
474
        (ThunderbirdAttachmentsSource): Rename class to reflect that it
 
475
        only deals with Thunderbird.
 
476
 
 
477
        * mayanna/mayanna_recent.py (RecentAggregate.__init__): Take
 
478
        name/icon arguments.
 
479
 
 
480
        * mayanna/mayanna_tomboy.py: Don't import thread.
 
481
 
 
482
2007-04-30  Alex Graveley  <alex@beatniksoftware.com>
 
483
 
 
484
        * mayanna/mayanna.in (bug_catcher): Include mayanna version in bug
 
485
        content, and pass --package-ver="@VERSION@" to bug-buddy.
 
486
 
 
487
        * mayanna/Makefile.am (mayanna mayanna_applet): Subst @VERSION@.
 
488
 
 
489
2007-04-28  James Ogley  <james@usr-local-bin.org>
 
490
 
 
491
        * mayanna/mayanna.py: Remove browser loading
 
492
 
 
493
        * mayanna/Makefile.am: Remove reference to mayanna_browser.py
 
494
 
 
495
2007-04-27  Alex Graveley  <alex@beatniksoftware.com>
 
496
 
 
497
        * mayanna/mayanna_base.py (Item.get_icon): Use the new Thumbnailer
 
498
        class to lookup Item icons.
 
499
 
 
500
        * mayanna/mayanna_util.py (Thumbnailer.get_icon): Move FileItem's
 
501
        get_icon logic to this new class.
 
502
 
 
503
        * mayanna/mayanna_recent.py (RecentlyUsed.get_items_uncached): Don't
 
504
        wrap result Items in FileItems, as subclasses now do this.
 
505
 
 
506
        * mayanna/mayanna_file.py (FileItem): Remove get_icon et al as
 
507
        this is supplied by Item now.
 
508
 
 
509
        * mayanna/mayanna_documents.py (RecentlyUsedDocumentsSource,
 
510
        RecentlyUsedMediaSource): Make document and media sources that
 
511
        create FileItems from recently used Item data.
 
512
 
 
513
2007-04-26  Alex Graveley  <alex@beatniksoftware.com>
 
514
 
 
515
        * mayanna/mayanna_recent.py: Move recent handling to here.
 
516
 
 
517
        * mayanna/mayanna_base.py (Item): Add add_tag, has_tag, get_tags,
 
518
        and remove_tag.
 
519
 
 
520
        * mayanna/mayanna_browser.py: Remove this old and busted code.
 
521
 
 
522
2007-04-12  Tony Tsui  <tsui.tony@gmail.com>
 
523
 
 
524
        * mayanna/mayanna_gaim.py (GaimAccount.get_dbus_obj): Use get_screenname()
 
525
        instead of get_name(). Fix bug #405598. Patch from Thomas Hamel.
 
526
 
 
527
2007-04-08  Claude Paroz  <claude@2xlibre.net>
 
528
 
 
529
        * configure.in: Added fr to ALL_LINGUAS.
 
530
 
 
531
2007-03-22  Alex Graveley  <alex@beatniksoftware.com>
 
532
 
 
533
        * mayanna/mayanna_computer.py (DevicesSource.get_items_uncached):
 
534
        Catch ValueError.  Fixes bug #421620.
 
535
 
 
536
2007-03-22  Alex Graveley  <alex@beatniksoftware.com>
 
537
 
 
538
        * configure.in: Bump to 0.2.6.
 
539
 
 
540
        * NEWS: Update.
 
541
 
 
542
        * mayanna/mayanna_applications.py (MenuTree.__init__): Disable menu
 
543
        change notification for now to avoid crashing all the time.  See
 
544
        bug #419271.
 
545
 
 
546
2007-03-21  Alex Graveley  <alex@beatniksoftware.com>
 
547
 
 
548
        * mayanna/mayanna_computer.py (DriveItem.__init__): If the drive has
 
549
        no activation URI, try to get one from its first mounted volume.
 
550
 
 
551
2007-03-21  Alex Graveley  <alex@beatniksoftware.com>
 
552
 
 
553
        Patch for bug #419561 originally from maxx@krakoa.dk.
 
554
        
 
555
        * mayanna/mayanna_applications.py (ApplicationsTopic.do_reload):
 
556
        Show toplevel applications in an "Other" folder.
 
557
 
 
558
        * mayanna/mayanna_computer.py (ComputerTopic.do_reload): If using
 
559
        the new gnomecc.menu which doesn't include administrative items,
 
560
        load system-settings.menu in an Administration sidebar source.
 
561
 
 
562
2007-03-20  Alex Graveley  <alex@beatniksoftware.com>
 
563
 
 
564
        * mayanna/mayanna_tomboy.py (TomboySource._idle_load_notes): Switch
 
565
        to using a low priority idle handler instead of worker thread to
 
566
        avoid wierd thread crashes.  Possible fix for bugs #419551 and
 
567
        #420594.
 
568
 
 
569
2007-03-20  Alex Graveley  <alex@beatniksoftware.com>
 
570
 
 
571
        * mayanna/mayanna_documents.py
 
572
        (AttachmentsSource.get_download_rdf_paths): Glob ~/.*thunderbird:
 
573
        Ubuntu names the directory .mozilla-thunderbird.
 
574
 
 
575
        * mayanna/mayanna_tomboy.py (TomboySource.__init__): Start the note
 
576
        parsing thread in an idle handler to avoid allocating gobjects too
 
577
        early.
 
578
 
 
579
        * mayanna/mayanna_topicwin.py (SparkLine.do_expose_event): Make up a
 
580
        cute log-of-height heuristic to smooth and multiply the graph.
 
581
        Limit results to oldest zoom-level in days.
 
582
 
 
583
        * mayanna/mayanna_documents.py (AttachmentsSource): Quick and dirty
 
584
        new class to use DownloadsSource to parse Thunderbird's
 
585
        downloads.rdf, just like for Mozilla.  Yay!  Why I didn't think of
 
586
        this earlier, I don't know.
 
587
 
 
588
        Major cleanup to move Topic toolbar items into discrete classes.
 
589
        This should facilitate toolbar configurability.  A lot of code
 
590
        motion, so probably a lot of breakage too.
 
591
 
 
592
        Also remove Topic context menu items and move novel ones to new
 
593
        toolbar item classes.  New options include: jump to printers,
 
594
        trashcan, quick-access settings menu, show desktop, dummy network
 
595
        location switch, and volume control.  These are all commented out
 
596
        by default but can be enabled easily.
 
597
 
 
598
2007-03-18  Alex Graveley  <alex@beatniksoftware.com>
 
599
 
 
600
        * mayanna/mayanna_documents.py (DownloadsSource.get_items_uncached):
 
601
        Catch ExpatError when parsing downloads.rdf.  Fixes bug #419830.
 
602
 
 
603
        * mayanna/mayanna_tomboy.py (TomboySource._load_notes): Handle
 
604
        ~/.tomboy not existing.  Fixes bug #419492.
 
605
 
 
606
2007-03-17  Alex Graveley  <alex@beatniksoftware.com>
 
607
 
 
608
        * mayanna/mayanna_applications.py (MenuTree.__init__): Pass a
 
609
        correct lambda to add_monitor.  Attempts to fix bug #419271.
 
610
 
 
611
2007-03-17  Tony Tsui  <tsui.tony@gmail.com>
 
612
 
 
613
        * mayanna/mayanna_gui.py (FriendlyPager): Don't hide pager if there is
 
614
        only one workspace but viewports are used. Support cycling of viewports
 
615
        on scroll events.
 
616
 
 
617
2007-03-17  Alex Graveley  <alex@beatniksoftware.com>
 
618
 
 
619
        * mayanna/mayanna_applications.py (MenuLauncherItem.get_icon): Avoid
 
620
        jitting assert loading None for icon if the .desktop file doesn't
 
621
        define an Icon key.  Fixes bug #419239.
 
622
 
 
623
2007-03-16  Alex Graveley  <alex@beatniksoftware.com>
 
624
 
 
625
        * configure.in: Bump to 0.2.5.
 
626
 
 
627
        * NEWS: Update.
 
628
 
 
629
        * mayanna/mayanna_topicwin.py (Sidebar.__init__): Attempt to work
 
630
        around PyGtk bug (see #419107).
 
631
 
 
632
        * mayanna/mayanna_computer.py (DriveItem.eject): Work around PyGtk
 
633
        bug (see #418667).
 
634
 
 
635
2007-03-16  Alex Graveley  <alex@beatniksoftware.com>
 
636
 
 
637
        * mayanna/mayanna_tomboy.py (TomboySource.__init__): Handle note
 
638
        file events by reloading/creating the individual note, not
 
639
        reloading all notes.  Initially load notes in a thread (again).
 
640
 
 
641
        * mayanna/mayanna_gaim.py (GaimAccount.__init__): Don't try to
 
642
        support IRC, and strip jabber screenname resources if there's no
 
643
        other alias.
 
644
 
 
645
        * mayanna/mayanna_applet.py (main): Call gtk.gdk.threads_init().
 
646
 
 
647
2007-03-16  Alex Graveley  <alex@beatniksoftware.com>
 
648
 
 
649
        * mayanna/mayanna_topicwin.py (TimeBar): Don't include Forever, add
 
650
        This Year.  Set the label width to longest label char count.  Make
 
651
        sure the sparkline is initialized with _default_zoom.  Fixes bug
 
652
        #416920.
 
653
        (SparkLine.do_button_press_event): Avoid divide by zero, fixes bug
 
654
        #417099.
 
655
 
 
656
2007-03-15  Alex Graveley  <alex@beatniksoftware.com>
 
657
 
 
658
        * mayanna/mayanna_topicwin.py (ItemIconView._compare_item_name):
 
659
        Handle emptry item name in comparison.  Fixes bug #418418.
 
660
 
 
661
        * mayanna/mayanna_gui.py (TopicRunningList._reload):
 
662
        source.get_items() can return a generator.  Construct a list from
 
663
        it that we can manipulate.  Fixes bug #418272.
 
664
 
 
665
        * mayanna/mayanna_recent.py (RecentlyUsed.__init__): Connect to the
 
666
        changed signal of recent_model using a lambda that supports the
 
667
        different signal signatures between Egg and Gtk.  Fixes #417988.
 
668
 
 
669
2007-03-14  Alex Graveley  <alex@beatniksoftware.com>
 
670
 
 
671
        * mayanna/mayanna_base.py (ItemSource): Implement new async caching
 
672
        generator model.
 
673
        (Topic.find_items): Yield found items.
 
674
 
 
675
        * mayanna/mayanna_documents.py (DownloadsSource): Switch to the new
 
676
        yeilding model.
 
677
        * mayanna/mayanna_tomboy.py (TomboySource): Ditto.
 
678
        * mayanna/mayanna_applications.py (MenuSource): Ditto.
 
679
        (RecentLaunchers): Ditto.
 
680
        * mayanna/mayanna_gmail.py (GmailSource): Ditto.  Moved here from
 
681
        mayanna_people.py.
 
682
        * mayanna/mayanna_people.py (EverybodySource): Ditto.
 
683
        (OnlineBuddySource): Ditto.
 
684
 
 
685
        * mayanna/mayanna_computer.py (FavoritesSource): Ditto.
 
686
        (PlacesSource): Ditto.
 
687
        (DevicesSource): Ditto. 
 
688
        (PrinterSource): Ditto.
 
689
        (BonjourSource): Ditto.
 
690
        (SettingsSource): New class to encapsulate flattened settings
 
691
        tree.  Also, ditto.
 
692
        (ComputerTopic.do_reload): Simplify ItemSource loading logic.
 
693
 
 
694
        * mayanna/mayanna_recent.py: Move RecentAggregate to here, so it can
 
695
        be used by the Computer topic, and yield results too.
 
696
 
 
697
2007-03-13  Alex Graveley  <alex@beatniksoftware.com>
 
698
 
 
699
        * mayanna/mayanna_applet.py (TopicMenu._scroll_get_best_size): Tweak
 
700
        iconview sizing: Queue resize on vadjustment change, and don't
 
701
        change the size request if we would request the current size, or
 
702
        0.  This seems to work a lot better.
 
703
 
 
704
2007-03-13  Alex Graveley  <alex@beatniksoftware.com>
 
705
 
 
706
        * mayanna/mayanna_base.py (CachingItemSource): Add new helper class
 
707
        to be used by async-loading ItemSources.
 
708
 
 
709
        * mayanna/mayanna_topicwin.py (ItemIconView): Listen for bookmarks
 
710
        changes and call _reload_visible_items.
 
711
 
 
712
        * mayanna/mayanna_util.py (FileMonitor): Queue file events for .25
 
713
        seconds, to avoid unneccessary updates.  Add "event" signal to
 
714
        catch all monitor events.  Add queue_changed to creapte a local
 
715
        file monitor "changed" event.
 
716
        (BookmarkManager): Listen to external file changes using
 
717
        FileMonitor.
 
718
 
 
719
2007-03-09  Alex Graveley  <alex@beatniksoftware.com>
 
720
 
 
721
        * mayanna/mayanna_applet.py (TopicMenu._favorite_selection_changed):
 
722
        Desensitize favorite button if selected item cannot be pinned.
 
723
        Fix bug #415898.
 
724
 
 
725
2007-03-09  Alex Graveley  <alex@beatniksoftware.com>
 
726
 
 
727
        * mayanna/mayanna_applet.py (TopicMenu.__init__): Hopefully fix bug
 
728
        #414522.
 
729
 
 
730
        * mayanna/mayanna_file.py (FileItem.get_name): Use filesystem
 
731
        encoding to decode local file names.
 
732
 
 
733
        * mayanna/mayanna_documents.py (DocumentsTopic.get_toolbar_items):
 
734
        Rename Folders -> Places.
 
735
        (DocumentsTopic.get_context_menu_items): Remove New Document
 
736
        submenu.  Fixes bug #413620.
 
737
 
 
738
        * mayanna/mayanna_computer.py (DriveItem.__init__): Handle looking
 
739
        up drive from URI so drives can be favorites too.
 
740
 
 
741
2007-03-09  Tony Tsui  <tsui.tony@gmail.com>
 
742
 
 
743
        * mayanna/mayanna_logout.py: Destroy logout dialog before
 
744
        suspending/hibernating or else automatic shutdown timer may kick
 
745
        in after resuming.
 
746
 
 
747
2007-03-06  Alex Graveley  <alex@beatniksoftware.com>
 
748
 
 
749
        * mayanna/mayanna_documents.py
 
750
        (DownloadsSource._get_download_rdf_paths): Look for mozilla
 
751
        profile paths that have "default" anywhere in the title.
 
752
 
 
753
        * mayanna/mayanna_applet.py (TopicMenu): Localize scrolled window
 
754
        resizing here, so that topic windows in standalone dock mode don't
 
755
        resize all the time.
 
756
 
 
757
2007-03-06  Alex Graveley  <alex@beatniksoftware.com>
 
758
 
 
759
        * mayanna/mayanna_computer.py (DBusWrapper.__getattr__): Call
 
760
        getattr first, so that builtin object methods don't raise a
 
761
        DBusException.  Fixes bug #413876.
 
762
 
 
763
2007-03-06  Alex Graveley  <alex@beatniksoftware.com>
 
764
 
 
765
        * mayanna/mayanna_computer.py (DriveItem.get_comment): Catch
 
766
        generic gnomevfs.Error instead of more specific errors.
 
767
        (DriveItem.get_comment): Ditto.
 
768
        * mayanna/mayanna_file.py (FileItem.ensure_file_info): Ditto.
 
769
        * mayanna/mayanna_util.py (FileMonitor.__init__): Ditto.
 
770
        * mayanna/mayanna_trash.py (TrashDirectory._trash_dir_changed):
 
771
        Ditto, fixes bug #413872.
 
772
 
 
773
        * mayanna/mayanna_tomboy.py (NoteItem.do_open): Strip the .note
 
774
        extension from file paths when trying to open note:// URIs.  Fixes
 
775
        bug #413913.  Patch from Sandy Armstrong.
 
776
 
 
777
2007-03-01  Alex Graveley  <alex@beatniksoftware.com>
 
778
 
 
779
        * mayanna/mayanna_logout.py (LogoutDialog.__init__): Prevent crash
 
780
        with GTK < 2.10.
 
781
 
 
782
2007-03-01  Alex Graveley  <alex@beatniksoftware.com>
 
783
 
 
784
        * configure.in: Bump to 0.2.4.
 
785
 
 
786
        * NEWS: Update.
 
787
 
 
788
        * data/GNOME_MAYANNAApplet.server.in.in: Set other_binaries to
 
789
        "mayanna_applet;mayanna", so bug-buddy works with the applet and
 
790
        standlone version.
 
791
 
 
792
        * mayanna/mayanna.in: Pass @MODULE@ as appname.
 
793
 
 
794
2007-03-01  James Ogley  <james@usr-local-bin.org>
 
795
 
 
796
        * mayanna/mayanna_applications.py: Use YaST to manage software if it
 
797
        exists (ie if on openSUSE).
 
798
 
 
799
        * mayanna/mayanna_running.py: Add gnomesu to list of gksu-type
 
800
        commands.
 
801
 
 
802
2007-03-01  Alex Graveley  <alex@beatniksoftware.com>
 
803
 
 
804
        * data/mayanna.schemas.in: Add /apps/mayanna/click_policy schema.
 
805
 
 
806
        * mayanna/mayanna_applet.py (MAYANNAApplet._use_colors_pref_changed):
 
807
        When colors are disabled, make the applet content box
 
808
        not-homogeneous.  Rationale being that colored boxes look strange
 
809
        when differently sized.
 
810
 
 
811
        * mayanna/mayanna_prefs.py (Preferences): Try to show the Computer
 
812
        topic name (i.e. the platform name).
 
813
 
 
814
2007-03-01  Alex Graveley  <alex@beatniksoftware.com>
 
815
 
 
816
        Add Preferences and About dialogs for applet.  Patch originally
 
817
        from Johannes Schmid <jhs@gnome.org>.
 
818
 
 
819
        * data/GNOME_MAYANNAApplet.server.in.in: Set the correct keys for
 
820
        bug-buddy to use Gnome Bugzilla when filing MAYANNA bugs.
 
821
 
 
822
        * data/GNOME_MAYANNAApplet.xml: XML file describing Panel menu:
 
823
        just Preferences and About for now.
 
824
 
 
825
        * data/mayanna.schemas.in: Add this.  Installs schema for the
 
826
        applet preferences keys.
 
827
 
 
828
        * data/Makefile.am: Generate and install mayanna.schemas, and
 
829
        install GNOME_MAYANNAApplet.xml.
 
830
 
 
831
        * mayanna/mayanna_applet.py: Added about dialog.  Respect button
 
832
        style and coloring.
 
833
 
 
834
        * mayanna/mayanna_prefs.py: New file, adds new preferences window to
 
835
        setup button style and which buttons are shown.
 
836
 
 
837
        * mayanna/mayanna_util.py (GConfBridge): Support using arbitrary
 
838
        GConf prefix.  Add change notification when a changed:: signal is
 
839
        connected to.  Determine vtype from default or value, and assert
 
840
        if invalid vtype.
 
841
 
 
842
        * autogen.sh: Simplify this.
 
843
 
 
844
2007-02-27  Alex Graveley  <alex@beatniksoftware.com>
 
845
 
 
846
        * mayanna/mayanna_topicwin.py (SidebarButton._ignore_untoggle):
 
847
        Disable context menu for now.
 
848
 
 
849
        * mayanna/mayanna_base.py (Topic.get_running_source): Don't show the
 
850
        topic label as bold/italic when a running item needs attention.
 
851
        (ItemSource): Drop "reload-item" signal.
 
852
        (Item.do_open): Don't try to launch an empty URI.
 
853
 
 
854
        * mayanna/mayanna_gui.py (TooltipRaiser.do_raise): Don't do anything
 
855
        if the target widget doesn't have a Gdk window yet. Fixes bug
 
856
        #409928.  
 
857
        Move FriendlyClock, FriendlyPager, and TrayManagerBox to here.
 
858
 
 
859
        * mayanna/mayanna_tomboy.py (TomboySource.__init__): Turn on .tomboy
 
860
        FileMonitor.  Duh!  Fixes bug #412065.
 
861
 
 
862
        * mayanna/mayanna_gmail.py (GmailAccountReader): Catch
 
863
        gnomekeyring.Error when accessing gnomekeyring.  Fixes bug
 
864
        #409926.
 
865
 
 
866
2007-02-27  Alex Graveley  <alex@beatniksoftware.com>
 
867
 
 
868
        * mayanna/mayanna_util.py (DBusWrapper): Support newest dbus-python
 
869
        0.80, which requires a mainloop when creating a bus used for
 
870
        signal connection. Patch from Jan Alonzo <jmalonzo%40gmail.com>,
 
871
        fixes bug #410240.
 
872
 
 
873
2007-02-26  Alex Graveley  <alex@beatniksoftware.com>
 
874
 
 
875
        * mayanna/mayanna_running.py: Localize all the running item stuff
 
876
        from all the topics to here.
 
877
 
 
878
        * mayanna/mayanna_topicwin.py (ItemIconView.load_items): Use a 0
 
879
        timeout instead of idle to load items.
 
880
 
 
881
2007-02-21  Alex Graveley  <alex@beatniksoftware.com>
 
882
 
 
883
        * mayanna/mayanna_topicwin.py (ItemIconView): Make loading
 
884
        completely async by using ListModel's builtin filtering and
 
885
        sorting, with a final pass to resize icons correctly.  Drop manual
 
886
        sorting from all ItemSources.
 
887
 
 
888
        * mayanna/mayanna.in: Chdir to the user's home directory.  Pass
 
889
        --appname="mayanna" to bug-buddy.
 
890
 
 
891
        * mayanna/mayanna_file.py (FileItem.get_is_user_visible): Return
 
892
        True if we have file info.
 
893
        (FileItem.ensure_file_info): Always call gnomevfs asyncronous file
 
894
        lookup, to avoid blocking for disconnected NFS paths.
 
895
 
 
896
        * mayanna/mayanna_documents.py (DownloadsSource.do_reload): Don't
 
897
        check the FileItem exists before adding.
 
898
        * mayanna/mayanna_recent.py (RecentlyUsed.do_reload): Ditto.
 
899
 
 
900
        * mayanna/mayanna_applications.py (DesktopFileItem.__init__): Pass
 
901
        the full location uri from the gnomedesktop item to the
 
902
        LauncherItem cons, so FileItem base methods will have the full
 
903
        path for desktop files.
 
904
 
 
905
2007-02-20  Alex Graveley  <alex@beatniksoftware.com>
 
906
 
 
907
        * mayanna/mayanna_documents.py (DownloadsSource): Make this open the
 
908
        default Mozilla profile's downloads.rdf, and read download paths
 
909
        out of it.  Monitor the file for changes and reload as well. Yay.
 
910
        (DocumentsTopic.do_reload): Use video/* and audio/* mimetype
 
911
        regexps for "Music & Movies".  Add "Documents" category, since
 
912
        this the topic is now called Library.  Pass all the created
 
913
        ItemSources to RecentAggregate, so it'll include them all.  Remove
 
914
        "Important Email" category for now. Rename Photos to "F-Spot
 
915
        Photos", and use it's icon.
 
916
        (DownloadsSource): Delete this.
 
917
 
 
918
        * mayanna/mayanna_recent.py
 
919
        (RecentlyUsedOfMimeType.include_recent_item): Call match on
 
920
        members of the mimetype_list if defined, to support regex
 
921
        matching.
 
922
        
 
923
2007-02-19  Alex Graveley  <alex@beatniksoftware.com>
 
924
 
 
925
        * mayanna/mayanna_logout.py (LogoutDialog): Show gnome-session icons
 
926
        in shutdown/logout dialogs.
 
927
 
 
928
        Play with some new topic naming:
 
929
        * mayanna/mayanna_computer.py: Computer -> output of
 
930
        platform.system_alias() or "Computer" if undetermined.
 
931
        * mayanna/mayanna_documents.py: Documents -> Library.
 
932
        * mayanna/mayanna_applications.py: Applications -> Programs.
 
933
 
 
934
2007-02-19  Alex Graveley  <alex@beatniksoftware.com>
 
935
 
 
936
        * mayanna/mayanna_topicwin.py (TimeBar._zoomlist): Tweak zoom levels
 
937
        a bit: Today, This week, This month, Last 2 months, Last 3 months,
 
938
        Forever.
 
939
 
 
940
        * mayanna/mayanna_base.py (Item.pretty_print_time_since): Add
 
941
        include_today flag to avoid including the "Today" part of dates
 
942
        from today.
 
943
 
 
944
        * mayanna/mayanna_gaim.py: Use DBusWrapper.  Connect to dbus signals
 
945
        to notify of buddy status change, and emit reload on the buddy.
 
946
        Do this instead of listing blist.xml changes and reloading
 
947
        everything.  Start tracking idle time when we receive a
 
948
        BuddyIdleChanged signal, and show this time in buddy Item
 
949
        description.
 
950
 
 
951
        * mayanna/mayanna_logout.py: More logout dialog awesomeness from
 
952
        maxx@krakoa.dk: use gnome-power-manager's dbus interface to
 
953
        suspend/hibernate. Patch from bug #407673.
 
954
 
 
955
        * mayanna/mayanna_util.py (DBusWrapper): New helper to handle
 
956
        raising a dbus.DBusException for older DBUS python bindings which
 
957
        don't use unknown interface proxies.
 
958
 
 
959
2007-02-18  Tony Tsui  <tsui.tony@gmail.com>
 
960
 
 
961
        * mayanna/sexy/sexy.override: Add "kwargs" to "override
 
962
        sexy_tooltip_position_to_rect" line. Fix bug #348658.
 
963
 
 
964
2007-02-16  Alex Graveley  <alex@beatniksoftware.com>
 
965
 
 
966
        * mayanna/mayanna_documents.py
 
967
        (NewDocumentMenuButton._add_template_item): Break out the "New
 
968
        Document" toolbar menu item into it's own subclass, and make
 
969
        NewFromTemplateDialog handle it's own response.
 
970
 
 
971
        * mayanna/mayanna_applet.py (TopicMenu._add_toolbar_items): Attach
 
972
        to "clicked" signal on ToolButton items and "activate" on the menu
 
973
        children of ToolMenuButton toolbar items, and in both cases hide
 
974
        the menu to cause an ungrab.
 
975
 
 
976
        * mayanna/mayanna_file.py (FileItem.get_mimetype): Return
 
977
        application/octet-stream if no mimetype could be found.
 
978
 
 
979
        * mayanna/mayanna_util.py (LaunchManager.make_recent_item): Rename
 
980
        from make_egg_recent, and assert if no mimetype is given.
 
981
 
 
982
        * mayanna/mayanna_computer.py (DriveItem.get_comment): Handle
 
983
        gnomevfs.get_volume_free_space raising gnomevfs.NotSupportedError.
 
984
 
 
985
        * mayanna/mayanna_util.py (LaunchManager.launch_uri):
 
986
        gtk_recent_manager_add_full requiresa mimetype for the URI, so
 
987
        look it up using xdg.Mime.
 
988
        (ToolMenuButton._get_menu_position): Fix to handle menus that
 
989
        would display off the bottom edge, by using size_request on the
 
990
        menu instead of get_size_request.
 
991
 
 
992
        * mayanna/mayanna_logout.py (LogoutDialog): Make the logout dialog
 
993
        match the Gnome default better, and avoid being modal so the menu
 
994
        does not steal the click.
 
995
 
 
996
2007-02-15  Alex Graveley  <alex@beatniksoftware.com>
 
997
 
 
998
        * mayanna/mayanna_topicwin.py (SparkLine): New class to add simple
 
999
        bar graphing of recent history next to the +/- zoom buttons.
 
1000
        (TimeBar.__init__): Pack in a SparkLine.
 
1001
        (TopicView.load_items): Resize the window to fit the icon view.
 
1002
        This has to work around GtkIconView's bunk size request by looking
 
1003
        at the scrolled window's vadjustment upper bound.  Currently the
 
1004
        window height is limited to 70% of the screen height.  Partial fix
 
1005
        for bug #406269.
 
1006
        (ItemIconView._set_item): Adjust sizing a bit to use smaller text
 
1007
        size for 40+ items.
 
1008
 
 
1009
        * mayanna/mayanna_applet.py (TopicMenu.show_hide_zoomer): Set
 
1010
        TimeBar's item list so the sparkline has correct data.
 
1011
 
 
1012
        * mayanna/mayanna_computer.py (ComputerTopic.__init__): Try to load
 
1013
        the new (as of Gnome 2.17.91) gnomecc.menu file.  This is
 
1014
        preferred over the old settings.menu file if available.  Fixes
 
1015
        bug #398997.
 
1016
 
 
1017
2007-02-08  Alex Graveley  <alex@beatniksoftware.com>
 
1018
 
 
1019
        * mayanna/mayanna_gmail.py (GmailContact): Open using GMail composer
 
1020
        URL instead of a mailto: URL.  Fixes bug #405599.
 
1021
 
 
1022
2007-02-06  Alex Graveley  <alex@beatniksoftware.com>
 
1023
 
 
1024
        * mayanna/mayanna_gaim.py: If the Gaim DBUS interface cannot be
 
1025
        found, use a simple helper class that raises dbus.DBusException on
 
1026
        any attribute access.  Fixes #404909.
 
1027
 
 
1028
        * configure.in: Bump to 0.2.3.
 
1029
 
 
1030
        * NEWS: Update.
 
1031
 
 
1032
2007-02-06  Alex Graveley  <alex@beatniksoftware.com>
 
1033
 
 
1034
        * configure.in: Bump to 0.2.2.
 
1035
 
 
1036
        * NEWS: Update for pending 0.2.2.
 
1037
 
 
1038
2007-02-05  Alex Graveley  <alex@beatniksoftware.com>
 
1039
 
 
1040
        * mayanna/mayanna_tomboy.py (NoteItem): Use file: URIs instead of
 
1041
        note: URIs so we can find the file for parsing if created as a
 
1042
        bookmark.
 
1043
 
 
1044
        * mayanna/mayanna_trash.py: Simplify trash handling by putting
 
1045
        directory monitoring into a TrashDirectory helper class.
 
1046
 
 
1047
        * mayanna/mayanna_applet.py
 
1048
        (GrabOnShowWindow.do_button_press_event): Call event on the
 
1049
        destination widget, instead of do_button_press_event, as some
 
1050
        widgets don't implement it.
 
1051
 
 
1052
        * mayanna/mayanna_file.py (FileItem.ensure_file_info): Pass
 
1053
        gnomevfs.FILE_INFO_GET_MIME_TYPE, so mimetypes for directories are
 
1054
        returned.  Fixes #398796.
 
1055
 
 
1056
2007-01-31  Alex Graveley  <alex@beatniksoftware.com>
 
1057
 
 
1058
        * mayanna/mayanna_applet.py: Add support for different panel
 
1059
        orientations.  Original patch from Markus Jonsson.
 
1060
 
 
1061
2007-01-30  Tony Tsui  <tsui.tony@gmail.com>
 
1062
 
 
1063
        * mayanna_util.py (LaunchManager.launch_command): Wait for child
 
1064
        process to terminate to prevent zombie processes.
 
1065
 
 
1066
2007-01-29  Tony Tsui  <tsui.tony@gmail.com>
 
1067
 
 
1068
        * mayanna_util.py (FileMonitor.event_mapping): Add
 
1069
        gnomevfs.MONITOR_EVENT_METADATA_CHANGED to event_mapping dict.
 
1070
        Fix bug #398863.
 
1071
 
 
1072
2007-01-27  Alex Graveley  <alex@beatniksoftware.com>
 
1073
 
 
1074
        * mayanna/mayanna_gaim.py (GaimBuddy.get_name_markup): Append heart
 
1075
        last if pinned item.
 
1076
        (GaimBuddyUri): Make this horribly complex.  Listen to gaim_reader
 
1077
        for changes to refind the buddy for this uri, and emit reload.
 
1078
        Override __getattribute__ to implement complex attr lookups:
 
1079
        Any attr which exists in object.GObject is returned, to allow for
 
1080
        signal connect.  Otherwise, return the attr from the gaim_buddy.
 
1081
 
 
1082
        * mayanna/mayanna_base.py (Item.pin): Emit reload on pin/unpin.
 
1083
 
 
1084
2007-01-26  Alex Graveley  <alex@beatniksoftware.com>
 
1085
 
 
1086
        * mayanna/mayanna_applet.py: Remove hash-bang initial line, and drop
 
1087
        executable perm.  People should run this via the generated wrapper
 
1088
        script.
 
1089
        * mayanna/mayanna.py: Ditto.
 
1090
 
 
1091
        * mayanna/mayanna.in: If the parent directory contains a
 
1092
        mayanna/mayanna[_applet].py file, add parent to PYTHONPATH.  This
 
1093
        enables running uninstalled out of the source tree.
 
1094
 
 
1095
2007-01-26  Alex Graveley  <alex@beatniksoftware.com>
 
1096
 
 
1097
        * mayanna_topicwin.py (TopicView.find_first_button): Add special
 
1098
        case handling for FavoritesSource so that it is always chosen
 
1099
        first, despite the number of items it contains.
 
1100
 
 
1101
        * mayanna_base.py (Item.get_name_markup): Append a red unicode
 
1102
        heart to the markup name if the item is pinned, as an indicator of
 
1103
        favorite items.
 
1104
 
 
1105
2007-01-25  Alex Graveley  <alex@beatniksoftware.com>
 
1106
 
 
1107
        * mayanna_applications.py (MenuLauncherItem.pin): Override to pin a
 
1108
        created DesktopFileItem for the same file URI.  This allows
 
1109
        bookmarking application menu items.
 
1110
 
 
1111
        * mayanna_gaim.py (GaimBuddy.pin): Override to pin a created
 
1112
        GaimBuddyUri.  GaimBuddyUri locates the GaimBuddy for a given uri,
 
1113
        and passes all calls along to it.  This allows bookmarking Gaim
 
1114
        buddies.
 
1115
 
 
1116
        * mayanna_base.py: Split set_is_pinned -> pin, unpin to allow
 
1117
        easier override of pin.  "Keep Around" -> "Add to Favorites". 
 
1118
 
 
1119
2007-01-26  Tony Tsui  <tsui.tony@gmail.com>
 
1120
 
 
1121
        * mayanna_util.py (BookmarkManager.get_bookmarks): Use the correct
 
1122
        variable to check if the mime type is in mime_type_list. Fix
 
1123
        bug #400149.
 
1124
 
 
1125
2007-01-24  Alex Graveley  <alex@beatniksoftware.com>
 
1126
 
 
1127
        * mayanna_recent.py (RecentlyUsed._model_changed): Work around
 
1128
        incompat in "changed" signal args between gtk/egg recent
 
1129
        implementations.
 
1130
        * mayanna_util.py (RecentlyUsedManager._model_changed): Ditto.
 
1131
 
 
1132
2007-01-24  Alex Graveley  <alex@beatniksoftware.com>
 
1133
 
 
1134
        * configure.in: Only check for egg.recent if gtk.RecentManager not
 
1135
        available.  This fixes Fedora 5, which doesn't include egg.recent
 
1136
        in it's python-gnome-extras package.
 
1137
 
 
1138
        * mayanna_util.py (RecentlyUsedManager): Add GTK 2.10 RecentManager
 
1139
        support, with fallback to egg.RecentModel.  Patch from James
 
1140
        Bowes.
 
1141
 
 
1142
        * mayanna_computer.py (FavoritesSource.do_reload): Use
 
1143
        DisabledItemSource if gnomecups not available.
 
1144
 
 
1145
2007-01-24  Alex Graveley  <alex@beatniksoftware.com>
 
1146
 
 
1147
        Add MAYANNA icons from Drew Kerr.
 
1148
 
 
1149
        * data/images/Makefile.am: Install MAYANNA icons into
 
1150
        /usr/share/pixmaps and hicolor icon dir.  Currently 32x32, 48x48,
 
1151
        and the svg are installed.
 
1152
 
 
1153
2007-01-24  Alex Graveley  <alex@beatniksoftware.com>
 
1154
 
 
1155
        * data/GNOME_MAYANNAApplet.server.in.in: Include bugzilla component
 
1156
        info.
 
1157
 
 
1158
        * mayanna_applet.py (main): Pass --window to run inside a window by
 
1159
        default when not run as an applet.
 
1160
 
 
1161
2007-01-24  Alex Graveley  <alex@beatniksoftware.com>
 
1162
 
 
1163
        * mayanna_util.py (BookmarkManager.DEFAULT_BOOKMARKS): Use the
 
1164
        classname as it will appear once installed, which includes a
 
1165
        "mayanna" prefix.
 
1166
 
 
1167
        * mayanna_computer.py (FavoritesSource.do_reload): Pass a fromlist
 
1168
        to __import__ so the correct submodule will be returned in the
 
1169
        case of "mayanna.mayanna_applications.DesktopFileItem".
 
1170
 
 
1171
2007-01-23  Alex Graveley  <alex@beatniksoftware.com>
 
1172
 
 
1173
        * configure.in: Drop pkg-config dependencies drastically: we now
 
1174
        only check for gtk+-2.0 and pygtk-2.0.  Make libgnomecups
 
1175
        optional.  Use AM_CHECK_PYMOD for all used python modules, so that
 
1176
        people don't need to install python dev packages.
 
1177
 
 
1178
        * Makefile.am (SUBDIRS): Conditionally include gnomecups.
 
1179
 
 
1180
        * mayanna_computer.py: Import gnomecups safely, and use an
 
1181
        EmptySource in it's place if not available.
 
1182
 
 
1183
        * mayanna_trash.py (TrashMonitor._find_directory): Check for
 
1184
        gnomevfs.GenericError which can happen with wonky NFS mounts.
 
1185
 
 
1186
2007-01-23  Alex Graveley  <alex@beatniksoftware.com>
 
1187
 
 
1188
        * mayanna_util.py (BookmarkManager): Set the classname of the
 
1189
        default bookmarks.
 
1190
 
 
1191
2007-01-22  Alex Graveley  <alex@beatniksoftware.com>
 
1192
 
 
1193
        * mayanna_topicwin.py (ItemIconView): IconView bug doesn't send
 
1194
        selection-changed when setting a new model, so call unselect_all
 
1195
        so the Favorite button sensitivity can update.
 
1196
        (ItemIconView._set_item): Show pinned/favorite/bookmark items with
 
1197
        a larger icon.
 
1198
 
 
1199
        * mayanna_util.py (BookmarkManager): Change the bookmark
 
1200
        serialization to include the Item classname used to represent the
 
1201
        bookmark (mayanna_file.FileItem by default), add API to support
 
1202
        fetching this.  Existing API needs to be reworked, and all the
 
1203
        callers updated to use the new version.
 
1204
 
 
1205
        * mayanna_computer.py (FavoritesSource): Add basic support for
 
1206
        favorites, by creating a class instance dynamically for the
 
1207
        bookmarked URI.
 
1208
 
 
1209
        * mayanna_applet.py (TopicMenu): Make the favorites button work, so
 
1210
        that clicking it adds the selected item as a favorite.
 
1211
        Desensitize the button when nothing is selected.  Make the icon
 
1212
        greyscale for unfavorited items, to make it a little more clear.
 
1213
 
 
1214
2007-01-20  Alex Graveley  <alex@beatniksoftware.com>
 
1215
 
 
1216
        * mayanna_util.py (PlacesManager.do_reload): Handle ioerror when
 
1217
        loading ~/.gtk-bookmarks.
 
1218
 
 
1219
        * mayanna_file.py (FileItem.ensure_file_info): Handle
 
1220
        gnomevfs.NotFoundError.  Should fix bug #398327.
 
1221
 
 
1222
        * mayanna_applet.py (TopicMenu._add_toolbar_items): Show the label
 
1223
        "Favorite" next to the heart tool item.
 
1224
 
 
1225
2007-01-20  Alex Graveley  <alex@beatniksoftware.com>
 
1226
 
 
1227
        * mayanna_topicwin.py (TopicWindow.__init__): Move TimeBar to here
 
1228
        from mayanna_applet.py.  Rename TopicWindowBase to TopicView, and
 
1229
        abstract duplicated zoom-related functions from it's two
 
1230
        subclasses.
 
1231
 
 
1232
2007-01-19  Christian Hammond <chipx86@chipx86.com>
 
1233
 
 
1234
        * mayanna_applet.py: Mark the background of the applet as transparent.
 
1235
 
 
1236
2007-01-18  Alex Graveley  <alex@beatniksoftware.com>
 
1237
 
 
1238
        * configure.in: Bump version to 0.2.1.
 
1239
 
 
1240
        * mayanna_applet.py (GrabOnShowWindow): Fix nasty bug where
 
1241
        submenus shown inside a topic window cause it to never ungrab
 
1242
        (without using Escape).
 
1243
 
 
1244
2007-01-18  Alex Graveley  <alex@beatniksoftware.com>
 
1245
 
 
1246
        * configure.in: Bump version to 0.2.0.
 
1247
 
 
1248
2006-01-18  Tony Tsui  <tsui.tony@gmail.com>
 
1249
 
 
1250
        * mayanna_gmail.py (GMailContact, GMailAccountReader): Add a class
 
1251
        for representing a GMail contact.  Add a class for connecting to
 
1252
        GMail account and retreiving contact information.
 
1253
 
 
1254
        * mayanna_people.py (GMailSource): Add GMailSource class for GMail
 
1255
        contacts.
 
1256
 
 
1257
        * mayanna_utils.py (GConfBridge): Add "gmail_accounts" setting.
 
1258
        Support int type.
 
1259
 
 
1260
2007-01-18  Alex Graveley  <alex@beatniksoftware.com>
 
1261
 
 
1262
        Install `mayanna` to start the standalone version.  Install
 
1263
        GNOME_MAYANNAApplet.server to start `mayanna_applet` in libexec.
 
1264
        Install all the .py and subdirectories into $(pyexecdir)/mayanna.
 
1265
 
 
1266
        * mayanna_applet.py: Add main(), which can be called by the
 
1267
        bug-buddy wrapper script.
 
1268
        * mayanna.py: Ditto.
 
1269
 
 
1270
2007-01-17  Alex Graveley  <alex@beatniksoftware.com>
 
1271
 
 
1272
        * mayanna_applet.py: Add this, the panel applet engine.  Test this
 
1273
        with `./mayanna_applet.py window` until we add a .server file.
 
1274
 
 
1275
        * mayanna_computer.py (ComputerTopic.do_reload): Add
 
1276
        FavoritesSource to sidebar, which doesn't do much, followed by a
 
1277
        separator.
 
1278
        (ComputerTopic.get_toolbar_items): Add Help toolbar submenu, hide
 
1279
        the Audio item if a panel applet (people already have an applet
 
1280
        for this).
 
1281
 
 
1282
        * mayanna_base.py (Topic.set_running_source_factory): Set a lamdba
 
1283
        for the running source instead of an instance so we don't create
 
1284
        running sources needlessly.
 
1285
 
 
1286
        * mayanna_people.py (PeopleTopic.get_toolbar_items): Remove "Add
 
1287
        Group" button: groups are lame.
 
1288
 
 
1289
2007-01-18  Alex Graveley  <alex@beatniksoftware.com>
 
1290
 
 
1291
        Remove egg, wnck, gnomedesktop, since most people have these now,
 
1292
        and the bugs have been fixed (I hope).
 
1293
        
 
1294
        Move egg to traymanager, and remove everything except the
 
1295
        TrayManager class.
 
1296
 
 
1297
        * mayanna.py: Don't import pygtk.
 
1298
 
 
1299
        * mayanna_util.py: Use egg.recent, instead of egg, which is what
 
1300
        gnome-python2-desktop calls it.
 
1301
 
 
1302
        * mayanna_computer.py (ComputerRunningSource.__init__): Handle
 
1303
        failure creating traymanager.TrayManager.
 
1304
 
 
1305
2007-01-10  Pema Geyleg  <pema.geyleg@gmail.com>
 
1306
 
 
1307
        * configure.in: Added 'dz' to ALL_LINGUAS.
 
1308
 
 
1309
2007-01-09  Ignacio Casal Quinteiro  <nacho.resa@gmail.com>
 
1310
 
 
1311
        * configure.in: Added 'gl' to ALL_LINGUAS.
 
1312
 
 
1313
2006-12-20  Tony Tsui  <tsui.tony@gmail.com>
 
1314
 
 
1315
        * mayanna_applications.py (RunningApplications):
 
1316
        * mayanna_file.py (FileItem, LauncherItem):
 
1317
        * mayanna_documents.py (RunningDocuments):
 
1318
        * mayanna_running.py (RunningItem): 
 
1319
        * mayanna_gaim.py (GaimBuddy):
 
1320
        * mayanna_people.py (RunningChat, RunningChats): Add
 
1321
        handle_drag_data_received() method to handle drag and drop.
 
1322
 
 
1323
        * mayanna_bar.py (MAYANNABarDock.layout): Set drag destination for
 
1324
        running_btn widget and connect drag-data-received signal. Also set
 
1325
        the window which FocusRaiser watches to running_btn so other drag
 
1326
        signals can be hooked into it.
 
1327
 
 
1328
        * mayanna_documents.py (RunningDocuments.get_item_for_uri): Return
 
1329
        None if item mime type is None.
 
1330
 
 
1331
        * mayanna_file.py (FileItem.get_mimetype): Only convert return
 
1332
        value of xdg.Mime.get_type_by_name() to string if it is not None.
 
1333
 
 
1334
        * mayanna_util.py (FocusRaiser._connect_drag): Don't set drag dest
 
1335
        set for watch_win because it is done elsewhere.
 
1336
 
 
1337
        * mayanna_util.py (FocusRaiser._drag_motion): Don't set drag status
 
1338
        or else we can't get drag data received signals.
 
1339
 
 
1340
        * mayanna_util.py (BookmarkManager.add_bookmark): Don't bookmark
 
1341
        duplicate uris.
 
1342
 
 
1343
        * mayanna_people.py (RunningChats.get_item_for_uri): Return None if
 
1344
        self._get_screenname_from_uri() returns None.
 
1345
 
 
1346
2006-11-08  Todd Berman  <tberman@imeem.com>
 
1347
 
 
1348
        * gimme_applications.py: Small fix to window creation to check for
 
1349
        the existance of gnome-app-install
 
1350
 
 
1351
2006-10-08  Dav  <dcoeurjo@liris.cnrs.fr>
 
1352
 
 
1353
        * mayanna_documents.py (RecentAggregate.get_items):
 
1354
        * mayanna_file.py (FileItem.get_name): Perform UTF-8 decoding for
 
1355
        filenames to avoid crashing on badly encoded files.
 
1356
 
 
1357
2006-10-08  David Trowbridge  <trowbrds@gmail.com>
 
1358
 
 
1359
        * mayanna_applications.py (MenuSource): don't assume that gmenu items
 
1360
        which aren't directories are entries.  This fixes bug #354415.
 
1361
 
 
1362
2006-10-08  Patrick Wagstrom  <pwagstro@andrew.cmu.edu>
 
1363
 
 
1364
        * mayanna.py: on some (most?) platforms ltihooks.py was not being
 
1365
        imported properly.
 
1366
 
 
1367
2006-10-08  David Trowbridge  <trowbrds@gmail.com>
 
1368
 
 
1369
        * po/Makefile.in.in: This file is autogenerated, so it shouldn't be in
 
1370
        the CVS repository.
 
1371
 
 
1372
2006-10-08  Patrick Wagstrom  <pwagstro@andrew.cmu.edu>
 
1373
 
 
1374
        * mayanna_computer.py (TrayManagerBox): squashed bug that misplaced
 
1375
        multiple icons in the tray.  Sorta looked at by David Trowbridge.
 
1376
 
 
1377
2006-09-13  David Lodge <dave@cirt.net>
 
1378
 
 
1379
        * configure.in: Added "en_GB" to ALL_LINGUAS.
 
1380
 
 
1381
2006-09-04  Tony Tsui  <tsui.tony@gmail.com>
 
1382
 
 
1383
        * mayanna_people.py (RunningChat.__init__): Listen to urgency hints
 
1384
        and add _win_state_changed() and get_demands_attention() method.
 
1385
 
 
1386
2006-08-21  Clytie Siddall <clytie@riverland.net.au>
 
1387
 
 
1388
        * configure.in  Added vi in ALL_LINGUAS line.
 
1389
 
 
1390
2006-08-06  Jovan Naumovski  <jovan@lugola.net>
 
1391
 
 
1392
        * configure.in: Added "mk" to ALL_LINGUAS.
 
1393
 
 
1394
2006-07-24  Alex Graveley  <alex@beatniksoftware.com>
 
1395
 
 
1396
        * mayanna_trash.py (TrashItem.do_empty): Use a single string for
 
1397
        secondary dlg text instead of several split into lines, so we
 
1398
        don't confuse the gettext parser.
 
1399
 
 
1400
2006-07-22  Tony Tsui  <tsui.tony@gmail.com>
 
1401
 
 
1402
        * mayanna_topicwin.py (ItemIconView): Add support for following
 
1403
        Nautilus' click_policy gconf value.
 
1404
        * mayanna_util.py (GConfBridge): Add more detailed comment about
 
1405
        "click_policy".
 
1406
 
 
1407
2006-07-21  Josep Puigdemont i Casamajó
 
1408
 
 
1409
        * configure.in: Added ca to ALL_LINGUAS.
 
1410
 
 
1411
2006-07-18  Sigurd Gartmann  <sigurdga@yahoo-inc.com>
 
1412
 
 
1413
        * configure.in: Added Norwegian BokmÃ¥l (nb) to ALL_LINGUAS.
 
1414
 
 
1415
2006-07-17  Takeshi AIHANA <aihana@gnome.gr.jp>
 
1416
 
 
1417
        * configure.in: Add 'ja' (Japanese) to ALL_LINGUAS.
 
1418
 
 
1419
2006-07-16  Alex Graveley  <alex@beatniksoftware.com>
 
1420
 
 
1421
        * mayanna_base.py (Topic.find_items): Do AND matching of all search
 
1422
        words.
 
1423
 
 
1424
2006-07-15  Tom Insam  <tom@jerakeen.org>
 
1425
 
 
1426
        * mayanna_computer.py (FriendlyPager._reload_workspaces): Hide the
 
1427
        pager if there is only one workspace.
 
1428
 
 
1429
2006-07-11  Francisco Javier F. Serrador  <serrador@openshine.com>
 
1430
 
 
1431
        * configure.in: Added Spanish to ALL_LINGUAS.
 
1432
 
 
1433
2006-07-07  Stu Hood  <stuhood@gmail.com>
 
1434
 
 
1435
        * mayanna_documents.py (DocumentsTopic._add_templates): Fix a crasher
 
1436
        when ~/Templates doesn't exist.
 
1437
 
 
1438
2006-07-05  Chris Scobell  <chris.scobell@gmail.com>
 
1439
 
 
1440
        * mayanna_documents.py: Implement "New Document".
 
1441
 
 
1442
2006-07-04  Johan Dahlin  <jdahlin@async.com.br>
 
1443
 
 
1444
        * mayanna_util.py (PlacesManager): Refactoring: Handle bookmark aliases
 
1445
        which have a space in them, bookmark files which don't exist, and broken
 
1446
        .gtk-bookmarks.  Always rebuild places, so removed bookmarks are
 
1447
        properly handled.  Mark instance private variables with a leading
 
1448
        underscore (PEP-8).  Do not save a reference to the FileMonitor.
 
1449
 
 
1450
2006-07-03  Ilkka Tuohela  <hile@iki.fi>
 
1451
 
 
1452
        * configure.in: Added Finnish "fi" to ALL_LINGUAS
 
1453
 
 
1454
2006-07-03  Tony Tsui  <tsui.tony@gmail.com>
 
1455
 
 
1456
        * mayanna_topicwin.py (ItemIconView): Connect button-release-event for
 
1457
        single click activation support.
 
1458
        * mayanna_util.py (GConfBridge): Add "click_policy".
 
1459
 
 
1460
2006-06-30  Alex Graveley  <alex@beatniksoftware.com>
 
1461
 
 
1462
        * mayanna_util.py (BookmarkManager.do_reload): Make the list
 
1463
        generator work for other versions of python.
 
1464
 
 
1465
        * README: Update a little bit.
 
1466
 
 
1467
2006-06-29  Hendrik Brandt  <heb@gnome-de.org>
 
1468
 
 
1469
        * configure.in: Added German "de" to ALL_LINGUAS.
 
1470
 
 
1471
2006-06-28  Alex Graveley  <alex@beatniksoftware.com>
 
1472
 
 
1473
        * mayanna_documents.py (RecentAggregate.get_items): Handle
 
1474
        UnicodeDecodeError when sorting items by calling decode on each
 
1475
        name and trying again.
 
1476
 
 
1477
        * mayanna_tomboy.py (TomboySource.do_reload): Name the error.
 
1478
 
 
1479
        * mayanna_file.py (FileItem.get_name): Use urllib.unquote when
 
1480
        falling back to URL for the name.
 
1481
 
 
1482
2006-06-28  Simos Xenitellis  <simos@gnome.org>
 
1483
 
 
1484
        * configure.in: Added el to ALL_LINGUAS.
 
1485
 
 
1486
2006-06-28  Alex Graveley  <alex@beatniksoftware.com>
 
1487
 
 
1488
        * configure.in: Update to 0.1.1.
 
1489
 
 
1490
        * NEWS: Update a bit.
 
1491
 
 
1492
        * mayanna_applications.py (DesktopFileItem.__init__): Call
 
1493
        gnomedesktop.item_new_from_basename if uri has no dirname.
 
1494
 
 
1495
        * mayanna_util.py (BookmarkManager.DEFAULT_BOOKMARKS): Add some
 
1496
        default bookmarks:  Firefox, Nautilus, MAYANNA's README, and
 
1497
        my orphennui AIM (me).
 
1498
 
 
1499
2006-06-28  Alex Graveley  <alex@beatniksoftware.com>
 
1500
 
 
1501
        * mayanna_base.py (Item.pretty_print_time_since): 
 
1502
        * mayanna_trash.py (TrashItem.__init__): gettext fixes from Zygmunt Krynicki.
 
1503
 
 
1504
2006-06-28  Alex Graveley  <alex@beatniksoftware.com>
 
1505
 
 
1506
        * mayanna_gui.py (EdgeWindow.do_size_request): Use up to 100% of
 
1507
        screen size.
 
1508
 
 
1509
        * mayanna_file.py (FileItem.get_location_comment): Use a more
 
1510
        public name.
 
1511
 
 
1512
        * mayanna_bar.py (MAYANNABarDock.layout): Just use padding between
 
1513
        topics, not above/below.
 
1514
 
 
1515
        * TODO: Update a little for release.
 
1516
 
 
1517
        * mayanna_gaim.py (gaim_dbus): Set to None on error.
 
1518
 
 
1519
        * mayanna_documents.py (DirectorySource): Monitor a directory for
 
1520
        changes and list all it's contents.
 
1521
        (DownloadsDirectorySource): A DirectorySource for $DOWNLOAD_PATH
 
1522
        or ~/Downloads.
 
1523
        (DocumentsTopic.do_reload): Use a DownloadsDirectorySource at
 
1524
        ~/Downloads.
 
1525
 
 
1526
2006-06-27  Alex Graveley  <alex@beatniksoftware.com>
 
1527
 
 
1528
        * mayanna_topicwin.py (TopicWindow.__init__): Remove one-page
 
1529
        notebook only used to create a bevel, after prodding from Karl
 
1530
        Lattimer.
 
1531
 
 
1532
2006-06-26  Pedro Villavicencio Garrido  <pvillavi@gnome.org>
 
1533
 
 
1534
        * configure.in: correct the recent Added "da".
 
1535
 
 
1536
2006-06-26  Martin Willemoes Hansen  <mwh@sysrq.dk>
 
1537
 
 
1538
        * configure.in: Addd "da" Danish to ALL_LINGUAS.
 
1539
 
 
1540
2006-06-26  Christian Rose  <menthos@menthos.com>
 
1541
 
 
1542
        * configure.in: Added "sv" to ALL_LINGUAS.
 
1543
 
 
1544
2006-06-25  Alex Graveley  <alex@beatniksoftware.com>
 
1545
 
 
1546
        * mayanna_people.py (RunningChats._get_screenname_from_uri): Be a
 
1547
        bit smarter about trimming quotes in URIs.
 
1548
        (RunningChats._get_buddy_for_screenname): Lowercase the screenname
 
1549
        before looking for a matching buddy.  Fixes bookmarking screenname
 
1550
        which are mixed case.
 
1551
 
 
1552
        * mayanna_gui.py (TopicButton.do_clicked): Call
 
1553
        do_set_wm_icon_geometry after creating window.  TopicWindows
 
1554
        weren't minimizing to the correct location initially.
 
1555
 
 
1556
2006-06-24  Alex Graveley  <alex@beatniksoftware.com>
 
1557
 
 
1558
        * mayanna_applications.py (DesktopFileItem.__init__): Raise
 
1559
        ValueError if gnomedesktop.item_new_from_uri returns None.
 
1560
 
 
1561
2006-06-24  Alex Graveley  <alex@beatniksoftware.com>
 
1562
 
 
1563
        * mayanna_computer.py (FriendlyPager._pager_scroll_event): Cycle
 
1564
        desktops on scroll event.  Patch originally from Frederic Back.
 
1565
 
 
1566
2006-06-24  David Trowbridge  <trowbrds@gmail.com>
 
1567
 
 
1568
        * mayanna_gui.py (TopicButton.do_button_press_event): Destroy the menu
 
1569
        on selection-done, to avoid leaking gtk.MenuItems
 
1570
 
 
1571
2006-06-22  Alex Graveley  <alex@beatniksoftware.com>
 
1572
 
 
1573
        * mayanna_util.py (IconFactory.colorshift): Add this to colorshit
 
1574
        pixbufs.
 
1575
 
 
1576
        * mayanna_gui.py (RunningItemTile._load_icons): Colorshift the
 
1577
        highlight icon for running items.
 
1578
        (DockWindow.do_set_wm_strut): Don't set the strut if it would
 
1579
        occupy the entire screen.
 
1580
        (TopicRunningList._reload): Only append items which are not
 
1581
        already present in the running item list.
 
1582
 
 
1583
        * mayanna_computer.py (RunningSettingsApplications): Subclass of
 
1584
        RunningApplications, but which masks items which are not settings.
 
1585
        Aggregate this into the running computer source.
 
1586
        (ComputerRunningSource.__init__): Create the pager, tray mgr, and
 
1587
        clock once here.
 
1588
        (ComputerTopic.get_toolbar_items): Hide the network item.
 
1589
 
 
1590
        * mayanna_applications.py (RunningNoSettingsApplications): Subclass
 
1591
        of RunningApplications, but which masks items which are settings.
 
1592
        Use this for the running applications source.
 
1593
 
 
1594
        * Makefile.am (mayanna_PYTHON): Update with missing files.
 
1595
        (CLEANFILES): Add mayanna_globals.py.
 
1596
        (EXTRA_DIST): Add mayanna_globals.py.in.
 
1597
 
 
1598
        * po/ChangeLog: Add this.  Needed for make dist.
 
1599
 
 
1600
2006-06-21  Alex Graveley  <alex@beatniksoftware.com>
 
1601
 
 
1602
        * mayanna_topicwin.py (HideOnDeleteWindow.do_delete_event): Hide
 
1603
        instead of iconify on delete.  New metacity (2.14.5) will think
 
1604
        the window is not responding.
 
1605
 
 
1606
        * mayanna_util.py (IconFactory.load_icon): Don't choke on unfound
 
1607
        icons.
 
1608
 
 
1609
2006-06-22  Tony Tsui  <tsui.tony@gmail.com>
 
1610
 
 
1611
        * gnomedesktop/_gnomedesktop.defs: Fix mem leak with GnomeDesktopItem.
 
1612
        * egg/_egg.defs: Fix mem leak with EggRecentItem objects.
 
1613
        
 
1614
2006-06-21  Alex Graveley  <alex@beatniksoftware.com>
 
1615
 
 
1616
        * mayanna_util.py (IconFactory.load_icon): Work around a Pixbuf
 
1617
        leak in gtk.IconTheme. Also work around broken
 
1618
        gtk.IconInfo.get_builtin_pixbuf.  Pixbufs no longer leak for me.
 
1619
        Yay!
 
1620
        (DebugHelper.count_running_objects): Add this helper which can
 
1621
        print the number of active objects of a list of types.
 
1622
        (DebugHelper.diff_running_objects): This helper prints the count
 
1623
        of newly created objects since the last call.
 
1624
 
 
1625
2006-06-20  Alex Graveley  <alex@beatniksoftware.com>
 
1626
 
 
1627
        * mayanna_gui.py (RunningItemTile): Disconnect the reload
 
1628
        connection on destroy, fixes leaking RunningItemTiles.
 
1629
        (TooltipRaiser.__init__): Cleanup on widget destroy, fixes leaking
 
1630
        RunningItemTiles.
 
1631
 
 
1632
2006-06-19  Alex Graveley  <alex@beatniksoftware.com>
 
1633
 
 
1634
        * mayanna.py (_setup_session_manager): Set the restart style after
 
1635
        the restart command.  I've been seeing two instances of mayanna
 
1636
        show up, and this was a random guess and now I don't see it
 
1637
        anymore :-)
 
1638
 
 
1639
        * mayanna_running.py (RunningItem.get_is_active): Implement this by
 
1640
        looking through the app group's windows for one that is currently
 
1641
        active.
 
1642
 
 
1643
2006-06-20  Tony Tsui  <tsui.tony@gmail.com>
 
1644
 
 
1645
        * mayanna.py: Handle broken Fedora gnome-python wrapper for session
 
1646
        managment set_restart_command() function.
 
1647
 
 
1648
2006-06-19  Alex Graveley  <alex@beatniksoftware.com>
 
1649
 
 
1650
        * mayanna_tomboy.py (TomboySource.__init__): Call
 
1651
        os.path.expanduser for TOMBOY_PATH.
 
1652
 
 
1653
        * mayanna.py: Don't restart after a SIGTERM.
 
1654
 
 
1655
2006-06-19  Alex Graveley  <alex@beatniksoftware.com>
 
1656
 
 
1657
        * mayanna.py: Recreate the mayannabar on relevent setting change.
 
1658
        Rather broken at the moment.
 
1659
 
 
1660
        * mayanna_bar.py (MAYANNABar.destroy): Store the edge window, and
 
1661
        destroy it here.
 
1662
 
 
1663
        * mayanna_computer.py (ComputerRunningSource): Manage clockapplet
 
1664
        display directly via gconf setting.
 
1665
        (ComputerTopic.get_button_content): Listen for clockapplet
 
1666
        settings changes, and display the time in the topic button if the
 
1667
        clockapplet is disabled.
 
1668
 
 
1669
2006-06-18  Alex Graveley  <alex@beatniksoftware.com>
 
1670
 
 
1671
        * mayanna_bar.py: Kill MAYANNABarButtonsOnEdge.
 
1672
 
 
1673
        * mayanna_util.py (GConfBridge.DEFAULTS): Add "clockapplet".
 
1674
 
 
1675
2006-06-19  Chris Lord  <chris@openedhand.com>
 
1676
 
 
1677
        * mayanna_bar.py (MAYANNABarDock.layout): Integrate
 
1678
        MAYANNABarButtonsOnEdge with MAYANNABarDock.
 
1679
 
 
1680
        * mayanna.py: Make the clock-applet visibility configurable and use
 
1681
        MAYANNABarDock instead of MAYANNABarButtonsOnEdge.
 
1682
 
 
1683
2006-06-18  Alex Graveley  <alex@beatniksoftware.com>
 
1684
 
 
1685
        * mayanna.py: Setup gnome.ui's session restart stuff, so mayanna is
 
1686
        restarted after logout or after a crash.  Ctrl-C on the command
 
1687
        line will avoid restarting.  Developers can run with --sm-disable
 
1688
        to avoid restart altogether.
 
1689
 
 
1690
        * mayanna_file.py (FileItem.get_comment): Show the hostname and
 
1691
        directory name of the file in the comment.
 
1692
 
 
1693
        * mayanna_util.py: egg.recent -> egg.
 
1694
        (GConfBridge): Some superficial variable name cleanups.
 
1695
 
 
1696
        * mayanna_computer.py (ComputerRunningSource.do_reload): Add an
 
1697
        hbox containing tray icons.
 
1698
 
 
1699
        * configure.in: Remove checks for python-bonobo.  We don't need
 
1700
        them any more with a simplified egg-recent.
 
1701
 
 
1702
2006-06-16  Alex Graveley  <alex@beatniksoftware.com>
 
1703
 
 
1704
        * mayanna_computer.py (PrinterItem.get_timestamp): Return the
 
1705
        recent manager's timestamp, so printers show up in recently used.
 
1706
        (PrinterItem.get_icon): Copy the icon before compositing emblems
 
1707
        to avoid a crash.
 
1708
        (RemoteMountItem): Add basic Item subclass to open a remote
 
1709
        mounted volumes.
 
1710
 
 
1711
2006-06-15  Alex Graveley  <alex@beatniksoftware.com>
 
1712
 
 
1713
        * mayanna_topicwin.py (TopicWindow._find_first_button): Set the
 
1714
        zoom level before loading the items.  This fixes the initial
 
1715
        auto-zooming of at least 5 items.
 
1716
 
 
1717
2006-06-14  Alex Graveley  <alex@beatniksoftware.com>
 
1718
 
 
1719
        * mayanna_file.py (FileItem.ensure_file_info): Check gnome-vfs can
 
1720
        parse the item URI before calling get_file_info.  This avoids the
 
1721
        null URI error spew which can exit for glib devel builds.
 
1722
 
 
1723
        * mayanna_computer.py (PrinterItem.get_comment): Don't repeat the
 
1724
        printer name in the comment.  The printer name is sometimes set as
 
1725
        the location.
 
1726
        (PrinterItem.get_uri): Don't call gnome_cups_printer_get_uri if
 
1727
        the printer doesn't have attributes yet.
 
1728
        (RecentComputerItems._listen_to_source): Use connect_after for
 
1729
        reload and reload-item signals.
 
1730
 
 
1731
        * mayanna_gaim.py (GaimBuddy.matches_text): Override
 
1732
        Item.matches_text to avoid searching the comment, since it can be
 
1733
        slow do fetch with D-BUS, and isn't reliable anyway.
 
1734
 
 
1735
2006-06-14  Alex Graveley  <alex@beatniksoftware.com>
 
1736
 
 
1737
        * mayanna_computer.py: Make add bluetooth, cd burner, add printer,
 
1738
        connect to, and windows network items special.
 
1739
 
 
1740
        * mayanna_tomboy.py (TomboySource.do_reload): List create note item
 
1741
        first, and make it special.
 
1742
 
 
1743
        * mayanna_topicwin.py (TopicWindow._filter_items_num_days_ago):
 
1744
        Always include special items.
 
1745
 
 
1746
        * mayanna_base.py (Item.is_special): New, tells if the item is
 
1747
        special.
 
1748
 
 
1749
2006-06-14  Alex Graveley  <alex@beatniksoftware.com>
 
1750
 
 
1751
        * mayanna_tomboy.py (TomboySource.do_reload): Sort the notes by
 
1752
        title, and lower the body text ahead of time.
 
1753
 
 
1754
        * mayanna_topicwin.py (TopicWindow._search): Sort search results
 
1755
        alphabetically.
 
1756
 
 
1757
        * mayanna_base.py (Topic.find_items): Handle items without a URI.
 
1758
 
 
1759
        * mayanna_applications.py (MenuLauncherItem.__init__): Prepend
 
1760
        "file://" to the desktop file path to make a real uri, so that
 
1761
        searching avoids duplicate launchers correctly.
 
1762
 
 
1763
2006-06-14  Alex Graveley  <alex@beatniksoftware.com>
 
1764
 
 
1765
        * mayanna_documents.py (DocumentsTopic.__init__): Create
 
1766
        TomboySource here, so worker thread has a chance to run.
 
1767
 
 
1768
        * mayanna_computer.py (PrinterItem.get_icon): Don't load emblems
 
1769
        for small (< 32px) icon sizes, as it crashes pixbuf composite.
 
1770
 
 
1771
2006-06-14  Alex Graveley  <alex@beatniksoftware.com>
 
1772
 
 
1773
        * mayanna_topicwin.py (TopicWindow._filter_items_num_days_ago): Do
 
1774
        filtering based on item's timestamp here, instead of in ItemSources.
 
1775
 
 
1776
        * mayanna_tomboy.py (TomboySource.__init__): Load NoteItems in a
 
1777
        worker thread.
 
1778
 
 
1779
        * mayanna_base.py (ItemSource.get_allow_filter_by_date): Drop
 
1780
        get/set_days_filter in favor of this, allowing get_items to be
 
1781
        stateless.
 
1782
 
 
1783
        * mayanna_applications.py (RunningApplications.do_reload): Try to
 
1784
        clean this up a little and handle a few corner cases.
 
1785
 
 
1786
2006-06-12  Alex Graveley  <alex@beatniksoftware.com>
 
1787
 
 
1788
        * mayanna_util.py (PlacesManager.do_reload): Filter duplicate
 
1789
        bookmarks.
 
1790
 
 
1791
        * mayanna_topicwin.py (Sidebar.add_sources): Use the ItemSource's
 
1792
        URI to reselect the previously active sidebar ItemSource.
 
1793
 
 
1794
        * mayanna_people.py: Add URIs for ItemSources, so they can be
 
1795
        reloaded without losing the focused sidebar.
 
1796
 
 
1797
        * mayanna_computer.py (ComputerRunningSource.set_orientation): Use
 
1798
        the orientation to set alignment manually.
 
1799
        (DevicesSource): Add Item to launch CD Creator.
 
1800
 
 
1801
        * mayanna_documents.py (RecentDocuments.include_recent_item):
 
1802
        Filter out "x-tomboy/note" recent entries.
 
1803
        (RecentAggregate): New class to aggregate multiple ItemSources
 
1804
        into a single listing, used for Recently Used.
 
1805
 
 
1806
2006-06-12  Alex Graveley  <alex@beatniksoftware.com>
 
1807
 
 
1808
        * Makefile.am: Update for recently added files.
 
1809
 
 
1810
        * W3CDate.py: Add this little helper to parse the ISO date formats
 
1811
        that Tomboy XML uses.  From
 
1812
        http://www.shearersoftware.com/software/developers/w3cdate/.
 
1813
 
 
1814
        * mayanna_tomboy.py (TomboySource.do_reload): Don't reload all the
 
1815
        notes on set_days_filter, but rather check the date in get_items.
 
1816
        Add "Create New Note" item that calls "tomboy --new-note".  Use
 
1817
        W3CDate to parse <last-change-date>.
 
1818
 
 
1819
2006-06-11  Tiago Cogumbreiro <cogumbreiro@users.sf.net>
 
1820
 
 
1821
        * mayanna_computer.py (DriveItem.get_comment): When GnomeVfs
 
1822
        doesn't know the URI it raises a TypeError, handle it gracefully.
 
1823
 
 
1824
        * mayanna_file.py (FileItem.ensure_file_info): Handle
 
1825
        gnomefvs.NotSupportedError.
 
1826
 
 
1827
        * mayanna_tomboy.py: Importing missing reference to 'launcher'.
 
1828
        (NoteItem.do_reload):
 
1829
        (TomboySource.do_reload): Handle malformed XML files.
 
1830
        (NoteItem.do_reload): Handle files with no 'last-change-date'
 
1831
        gracefully (use AttributeError when None is returned).
 
1832
 
 
1833
2006-06-11  David Trowbridge  <trowbrds@gmail.com>
 
1834
 
 
1835
        * mayanna_util.py (GConfVariable): Add a helper class for using gconf
 
1836
        without schemas
 
1837
 
 
1838
        * mayanna.py (main): Use the GConfBridge for swapbar, autohide and
 
1839
        vertical, rather than environment variables.
 
1840
 
 
1841
2006-06-11  David Trowbridge  <trowbrds@gmail.com>
 
1842
 
 
1843
        * mayanna_bar.py (MAYANNABarDock): Add size groups for each topic within
 
1844
        the mayannabar to fix sizing issues when running in dock mode.
 
1845
 
 
1846
2006-06-07  Alex Graveley  <alex@beatniksoftware.com>
 
1847
 
 
1848
        * mayanna_tomboy.py: New brute force attempt at a Tomboy
 
1849
        ItemSource.  Looks in $TOMBOY_PATH for notes, followed by ~/.tomboy.
 
1850
 
 
1851
        * mayanna_documents.py: Replace "Office Documents" item source with
 
1852
        a "Notes" TomboySource.
 
1853
 
 
1854
        * mayanna_applications.py (RecentLaunchers.get_items): Construct
 
1855
        DesktopFileItems with uris, not file paths, since the code handles
 
1856
        this and it is somewhat more correct.
 
1857
 
 
1858
        * mayanna_gaim.py (GaimBuddy.get_name_markup): Show unavailable
 
1859
        buddy names in italic, not grey.
 
1860
 
 
1861
2006-06-06  Alex Graveley  <alex@beatniksoftware.com>
 
1862
 
 
1863
        * mayanna_applications.py (RecentLaunchers.get_items): Handle
 
1864
        ValueError when adding items.
 
1865
 
 
1866
2006-06-05  Alex Graveley  <alex@beatniksoftware.com>
 
1867
 
 
1868
        * mayanna_gaim.py (GaimBuddy.get_icon): Greyscale the icon if a
 
1869
        dbus error occurs (or Gaim2 is not running).
 
1870
 
 
1871
2006-06-04  Alex Graveley  <alex@beatniksoftware.com>
 
1872
 
 
1873
        * mayanna_file.py (FileItem.is_local): gnome_vfs_uri_is_local can
 
1874
        hang, so just look it up in a hardcoded list for now.
 
1875
 
 
1876
        * mayanna_computer.py (FriendlyPager): Set 2px border, and show the
 
1877
        pager, silly.
 
1878
 
 
1879
2006-06-04  Alex Graveley  <alex@beatniksoftware.com>
 
1880
 
 
1881
        * mayanna_util.py (KillFocusPadding): Simple no-method helper class
 
1882
        to parse a no-padding style and apply it to the widget.
 
1883
 
 
1884
        * mayanna_gui.py (TopicButton): Use KillFocusPadding.
 
1885
        * mayanna_computer.py (FriendlyClock): Ditto.
 
1886
 
 
1887
2006-06-03  Alex Graveley  <alex@beatniksoftware.com>
 
1888
 
 
1889
        Dump lots of MAYANNABar and ther changes.
 
1890
 
 
1891
2006-05-31  Alex Graveley  <alex@beatniksoftware.com>
 
1892
 
 
1893
        * sexy/sexy.override (_wrap_sexy_tooltip_position_to_rect): Work
 
1894
        around segfault in pygdk_rectangle_from_pyobject.  Replace with
 
1895
        newer(?) version.
 
1896
 
 
1897
2006-05-31  Alex Graveley  <alex@beatniksoftware.com>
 
1898
 
 
1899
        * Makefile.am (SUBDIRS): Include sexy.
 
1900
        * configure.in: Ditto.
 
1901
 
 
1902
        * sexy/Makefile.am: Build and bind libsexy's tooltip and icon
 
1903
        entry classes.
 
1904
 
 
1905
2006-05-31  Alex Graveley  <alex@beatniksoftware.com>
 
1906
 
 
1907
        * mayanna_util.py (FocusRaiser.queue_raise): Simplify gravity
 
1908
        checking to support only NSEW.
 
1909
 
 
1910
        * mayanna_gaim.py (GaimBuddy.get_comment): Show Idle/Away if no
 
1911
        away message.  Remove last chat date.
 
1912
        (GaimBuddy.get_name_markup): Show offline buddies in italics.
 
1913
 
 
1914
        * mayanna_file.py (FileItem.is_local): Handle remote files better
 
1915
        by asyncronously loading the file info (for remote files).  Use
 
1916
        xdg.Mime to peek at mime-type for remote files, since pygnomevfs
 
1917
        does not bind the mime lookup calls yet.
 
1918
 
 
1919
2006-05-31  Alex Graveley  <alex@beatniksoftware.com>
 
1920
 
 
1921
        * mayanna_base.py (IOrientationAware): New interface.
 
1922
 
 
1923
        * mayanna_computer.py (FriendlyPager.__init__): Support setting an
 
1924
        orientation, and only show labels if horizontal.
 
1925
        (FriendlyClock): Add this clock widget which displays the day and
 
1926
        time, and allows showing a calendar on click.  No e-d-s
 
1927
        integration here yet.
 
1928
        (ComputerTopic.get_toolbar_items): Show the ~/.face icon in the
 
1929
        toolbar, and monitor it for changes.
 
1930
 
 
1931
2006-05-31  Alex Graveley  <alex@beatniksoftware.com>
 
1932
 
 
1933
        * mayanna_applications.py
 
1934
        (RunningApplications.munge_command_and_wmclass): Hack around gksu
 
1935
        applications.
 
1936
        (RunningApplications.do_reload): Skip windows with a non-launcher
 
1937
        startup-id set.  Skip gaim conversation windows.
 
1938
        (LauncherItem.get_comment_markup): Override to return the command
 
1939
        if there is no other comment.
 
1940
        (MenuTree): Add reload signal, so the topic window can reload on
 
1941
        menu changes.
 
1942
 
 
1943
2006-05-29  Alex Graveley  <alex@beatniksoftware.com>
 
1944
 
 
1945
        * mayanna_gaim.py (GaimBuddy.get_is_opened): Use
 
1946
        GaimFindConversationWithAccount.
 
1947
        (GaimBuddy.get_name_markup): Grey out name for away buddies, use
 
1948
        italic grey for offline buddies.
 
1949
        (GaimBuddy.get_comment): Remove away message html tags with a
 
1950
        '<.*?>' regexp replacement.
 
1951
 
 
1952
2006-05-24  Alex Graveley  <alex@beatniksoftware.com>
 
1953
 
 
1954
        * mayanna_topicwin.py (ItemIconView._set_item): Use
 
1955
        Item.get_name/comment_markup to get the display markup.  Clear the
 
1956
        search X button when cancelling a search by clicking a sidebar
 
1957
        button.
 
1958
 
 
1959
        * mayanna_gaim.py (GaimBuddy): Show the away message in the
 
1960
        comment, grey out the icon for offline buddies, markup the name
 
1961
        with a green/red dot to hint at availability and color it grey if
 
1962
        offline.
 
1963
 
 
1964
        * mayanna_base.py (Item): Add get_comment_markup and
 
1965
        get_name_markup to allow subclasses to override the display
 
1966
        formatting in the TopicWindow.
 
1967
 
 
1968
2006-05-15  Tony Tsui  <tsui.tony@gmail.com>
 
1969
 
 
1970
        * mayanna_base.py (Item): Add a default drag-recieved handler.
 
1971
 
 
1972
        * mayanna_gui.py (RunningItemTile): Set up drag-recieved handler.
 
1973
 
 
1974
        * mayanna_trash.py: Handle drag-to-trash.
 
1975
 
 
1976
2006-05-14  Alex Graveley  <alex@beatniksoftware.com>
 
1977
 
 
1978
        * mayanna_util.py (FocusRaiser): Add support for hiding the raised
 
1979
        window, and support fast raising for all gravity settings.
 
1980
 
 
1981
        * mayanna_people.py (OnlineBuddySource): DIRTY -> _DIRTY.
 
1982
 
 
1983
2006-05-14  Alex Graveley  <alex@beatniksoftware.com>
 
1984
 
 
1985
        * mayanna_documents.py (RecentDocuments.include_recent_item): Tweak
 
1986
        document filter to avoid octet-streams mimetypes, and ipp and
 
1987
        trash URIs.
 
1988
 
 
1989
        * mayanna_topicwin.py (SidebarButton): Let the button set it's own
 
1990
        sensitivity.
 
1991
 
 
1992
        * mayanna_people.py (RunningChats.do_reload): Hacky tabbed
 
1993
        conversation support.  Look for a new buddy match when the window
 
1994
        title changes.
 
1995
 
 
1996
2006-05-12  Alex Graveley  <alex@beatniksoftware.com>
 
1997
 
 
1998
        * mayanna_people.py (OnlineBuddySource.get_items): Avoid long DBUS
 
1999
        delays by marking the ItemSource dirty on Gaim file write (via the
 
2000
        do_reload signal handler), delaying the actual work of looking up
 
2001
        online people on-demand to here.
 
2002
        (RunningChats.do_reload): Strip parenthesis from window titles
 
2003
        which gaim uses to indicate offline-mode.  Match window titles to
 
2004
        bookmarked person's screenname or alias.
 
2005
 
 
2006
2006-05-10  Alex Graveley  <alex@beatniksoftware.com>
 
2007
 
 
2008
        * gnomecups/_gnomecups.override: Don't include
 
2009
        gnome-cups-permission.h which is supplied by libgnomecupsui, which
 
2010
        we don't use.
 
2011
 
 
2012
2006-05-07  Alex Graveley  <alex@beatniksoftware.com>
 
2013
 
 
2014
        * mayanna_gaim.py (GaimAccountReader.do_reload): Try to be a bit
 
2015
        faster when looking for buddy name clashes.
 
2016
 
 
2017
        * mayanna_base.py (Topic.find_items): Handle NotImplementedError,
 
2018
        so searching doesn't bork for ItemSources that don't implement
 
2019
        do_reload.
 
2020
 
 
2021
2006-05-01  Alex Graveley  <alex@beatniksoftware.com>
 
2022
 
 
2023
        * gnomecups/_gnomecups.override: Fix kwlist -> kwargs typo in the
 
2024
        method descriptors for notify functions, which caused crashes due
 
2025
        to using junk argument pointers.
 
2026
 
 
2027
2006-05-01  Alex Graveley  <alex@beatniksoftware.com>
 
2028
 
 
2029
        * mayanna_people.py (PeopleTopic): Disable "GMail" and
 
2030
        "Friendster".  Set Availability menu contents insensitive.
 
2031
 
 
2032
        * mayanna_documents.py (DocumentsTopic): Disable "Important Email",
 
2033
        "Attachments", "Downloads", and "Photos".
 
2034
 
 
2035
        * mayanna_topicwin.py (Sidebar.add_sources): Desensitize the
 
2036
        sidebar button if the sidebar source is not enabled.
 
2037
 
 
2038
        * mayanna_base.py (ItemSource): Add get_enabled.
 
2039
        (DisabledItemSource): ItemSource subclass that is always disabled,
 
2040
        used for unimplemented features.
 
2041
 
 
2042
2006-05-01  Alex Graveley  <alex@beatniksoftware.com>
 
2043
 
 
2044
        * mayanna_applications.py (RunningApplications.do_reload): Use
 
2045
        WnckWindow.is_on_workspace, since it accounts for pinnded windows.
 
2046
        * mayanna_documents.py (RunningDocuments.do_reload): Ditto.
 
2047
        * mayanna_people.py (RunningChats.do_reload): Ditto.
 
2048
        * mayanna_running.py (RunningItem.do_open): Ditto.
 
2049
 
 
2050
        * mayanna_gaim.py (GaimAccount.get_log_path): Jabber logdirs do not
 
2051
        include the jabber account resource, so strip it out.
 
2052
        (GaimBuddy): Use alias as the name if it exists, and show the
 
2053
        screenname in the comment if there are name clashes.
 
2054
 
 
2055
2006-04-29  Alex Graveley  <alex@beatniksoftware.com>
 
2056
 
 
2057
        * mayanna_util.py (FocusRaiser): Retweak this code to only queue a
 
2058
        raise of the window when the pointer is over the bottom two pixels
 
2059
        of the lower window, and drop the raise timeout to 100ms.
 
2060
 
 
2061
2006-04-29  Alex Graveley  <alex@beatniksoftware.com>
 
2062
 
 
2063
        * mayanna_util.py (FocusRaiser): Fiddle with auto-raising...  
 
2064
        - Make raising work when dragging an item over the button bar.
 
2065
        - Reset the timeout for raising whenever a motion even occurs,
 
2066
          meaning the pointer must stabalize before raising; hopefully
 
2067
          improving unintended raises when e.g. grabbing a window border.
 
2068
        - Up the raise timeout to 300ms.
 
2069
 
 
2070
2006-04-29  Alex Graveley  <alex@beatniksoftware.com>
 
2071
 
 
2072
        Drop libgnomecupsui dependecy, since the auth handling it was
 
2073
        being used for is commented out anyway, and printing a test page
 
2074
        is present in the Properties dialog.
 
2075
 
 
2076
        * gnomecups/Makefile.am (.defs.c): Don't include gtk defs.
 
2077
 
 
2078
        * gnomecups/_gnomecups.override: Don't include headers.
 
2079
 
 
2080
        * gnomecups/_gnomecupsmodule.c (init_gnomecups): Call
 
2081
        gnome_cups_init with a NULL auth function.
 
2082
 
 
2083
        * gnomecups/_gnomecups.defs (CupsPrinter): Remove defs.
 
2084
 
 
2085
        * mayanna_computer.py: Don't call gnomecups.ui_init.
 
2086
 
 
2087
        * configure.in: Require libgnomecups 0.2.2.
 
2088
 
 
2089
2006-04-29  Alex Graveley  <alex@beatniksoftware.com>
 
2090
 
 
2091
        * mayanna_topicwin.py (TopicWindow._find_first_button): Handle
 
2092
        None in the source list.
 
2093
 
 
2094
2006-04-28  Alex Graveley  <alex@beatniksoftware.com>
 
2095
 
 
2096
        * mayanna_base.py: Explicitly check self.items == None before
 
2097
        forcing an initial reload, this avoids a possible infinite
 
2098
        recursion if the reload sets the items to an empty list.
 
2099
 
 
2100
        * mayanna_computer.py (ComputerTopic._add_user_items): Add "About
 
2101
        Me" to username dropdown menu in toolbar.
 
2102
 
 
2103
2006-04-27  Alex Graveley  <alex@beatniksoftware.com>
 
2104
 
 
2105
        * mayanna_computer.py (RecentComputerItems): Clean this up by
 
2106
        making the item matching logic generic, and make it a subclass of
 
2107
        RecentlyUsedOfMimeType.
 
2108
        (PrinterItem.do_open): Add an egg.recent item with mime-type of
 
2109
        "x-mayanna/printer".
 
2110
 
 
2111
2006-04-27  Alex Graveley  <alex@beatniksoftware.com>
 
2112
 
 
2113
        * mayanna_topicwin.py: Reorganize this code by spliting the sidebar
 
2114
        logic into Sidebar and SidebarButton classes, and making the
 
2115
        interface between these and the TopicWindow very light.
 
2116
 
 
2117
2006-04-27  Alex Graveley  <alex@beatniksoftware.com>
 
2118
 
 
2119
        Original patch from Tom Insam <tom@jerakeen.org>.
 
2120
        
 
2121
        * mayanna_gaim.py (GaimBuddy): Look for an "alias" tag, and return
 
2122
        it in the comment.
 
2123
        * mayanna_people.py (RunningChats._get_buddy_for_screenname):
 
2124
        Support matching alias as screenname.
 
2125
 
 
2126
2006-04-26  Alex Graveley  <alex@beatniksoftware.com>
 
2127
 
 
2128
        * mayanna_computer.py (BonjourSource): Make this do something by
 
2129
        running nautilus-connect-server for the Connect To item, add a
 
2130
        Windows Network item which opens smb://, and list any mounted
 
2131
        volumes were the volumetype is "connected server".
 
2132
 
 
2133
2006-04-25  Alex Graveley  <alex@beatniksoftware.com>
 
2134
 
 
2135
        * mayanna_running.py (RunningItem._win_state_changed): Always emit
 
2136
        reload signal on window state change (don't filter for requesting
 
2137
        attention).
 
2138
 
 
2139
        * mayanna_base.py (Item.pretty_print_time_since): Don't include
 
2140
        time of day for timestamps older than 3 days, and get the day
 
2141
        right.
 
2142
 
 
2143
        * mayanna_file.py (FileItem.get_comment): Don't include "Last
 
2144
        seen/changed" in comment.
 
2145
 
 
2146
2006-04-25  Alex Graveley  <alex@beatniksoftware.com>
 
2147
 
 
2148
        * mayanna_people.py: Catch TypeError from older d-bus bindings.
 
2149
        * mayanna_gaim.py: Ditto.
 
2150
 
 
2151
        * mayanna_computer.py: Use the volume icon and display name if the
 
2152
        drive has only one volume.
 
2153
 
 
2154
2006-04-25  Alex Graveley  <alex@beatniksoftware.com>
 
2155
 
 
2156
        * mayanna_util.py (RecentlyUsedManager.add_full): Override
 
2157
        RecentModel's add_full call, to replace our cached RecentItem with
 
2158
        the newly added one.  This works around egg recent not signalling
 
2159
        a change for in-process adds.
 
2160
 
 
2161
2006-04-24  Alex Graveley  <alex@beatniksoftware.com>
 
2162
 
 
2163
        * mayanna_base.py (Topic): Cache sidebar sources, which speeds up
 
2164
        search considerably since all the sources aren't being recreated.
 
2165
        Call Topic.set_sidebar_sources in the reload handler for all
 
2166
        subclasses.
 
2167
        (Topic.get_topic_window): Creates and caches the TopicWindow for
 
2168
        the Topic.
 
2169
        (Topic.get_source_for_uri): Returns the source with the matching
 
2170
        URI.
 
2171
 
 
2172
        * mayanna_recent.py (RecentlyUsedOfMimeType): Move here from
 
2173
        mayanna_documents.py.
 
2174
 
 
2175
        * mayanna_computer.py (RecentComputerItems): New class to collate
 
2176
        all the recently used computer items.
 
2177
        (DriveItem.get_icon): Transparentize icon if drive not mounted.
 
2178
        (PrinterSource): List out printers using the newly added gnomecups
 
2179
        bindings.
 
2180
        (BonjourSource): Beginnings of Avahi computer listing.
 
2181
 
 
2182
        * mayanna_documents.py: Places -> Go, and list mounted drives using
 
2183
        the devices source.  Don't include folders as documents.
 
2184
 
 
2185
        * mayanna_topicwin.py (HideOnDeleteWindow.__init__): Override the
 
2186
        key-press-event signal so that handlers can interrupt the
 
2187
        escape-to-close behavior.
 
2188
        (SearchToolItem._entry_key_press): Implement wicked awesome Escape
 
2189
        behavior: clear the search text, or minimize the window if already
 
2190
        empty.
 
2191
        (TopicWindow._toggle_first_button): Set the
 
2192
        zoom level on the first item displayed, so that we avoid showing
 
2193
        an empty list if possible.
 
2194
        (mayanna_get_topic_window): Remove this and use
 
2195
        Topic.get_topic_window instead.
 
2196
 
 
2197
        * mayanna_documents.py (RecentDocuments.include_recent_item): Don't
 
2198
        include directories as Documents.  Rename Places tool menu to Go,
 
2199
        and list the drives, places, and trash.
 
2200
 
 
2201
        * mayanna_util.py (IconFactory.transparentize, greyscale): Move
 
2202
        here from RunningItemTile.
 
2203
 
 
2204
        * mayanna_running.py (RunningItem.get_is_user_visible): Add:
 
2205
        returns True if the window group has windows on the current
 
2206
        desktop.
 
2207
 
 
2208
        * mayanna_people.py (RunningChats): Don't look for gaim/log
 
2209
        bookmarks, since we don't use the log directory hack anymore.
 
2210
        People will have to update their ~/.mayanna-bookmarks files.
 
2211
 
 
2212
2006-04-20  Alex Graveley  <alex@beatniksoftware.com>
 
2213
 
 
2214
        * mayanna_file.py (FileItem.get_icon): If the url has a valid
 
2215
        failed icon, don't try to generate a new thumbnail.  Fix from Tom
 
2216
        Insam.
 
2217
 
 
2218
2006-04-14  Alex Graveley  <alex@beatniksoftware.com>
 
2219
 
 
2220
        * mayanna_applications.py: Add Settings toolbar item that opens the
 
2221
        Settings sidebar in Computer.
 
2222
 
 
2223
        * mayanna_base.py: Make Item a more abstract base, and most of the
 
2224
        file specific bits into FileItem (in mayanna_file.c).  Add an
 
2225
        "open" signal.  Add Item get_is_user_visible, get_can_pin,
 
2226
        set_screen_position.
 
2227
 
 
2228
        * mayanna_computer.py: Add a TrashItem to places.  Use gnomevfs's
 
2229
        Drives to populate the devices list, and make a bunch of bunk
 
2230
        guesses at kind of device.  Add URIs to Printers, Timeline, and
 
2231
        Settings source.
 
2232
 
 
2233
        * mayanna_documents.py: Use FileItem instead of RecentlyUsedItem.
 
2234
        Switch "New Smart Folder" for "New Document".  Open the Printers
 
2235
        sidebar when pressing the Printers toolbar button.
 
2236
 
 
2237
        * mayanna_gaim.py (GaimBuddy): Get the last chat time by looking at
 
2238
        the mtime of the log directory, use this in get_comment.
 
2239
 
 
2240
        * mayanna_gui.py (RunningItemTile): Call the item's
 
2241
        set_screen_position on size allocate.
 
2242
 
 
2243
        * mayanna_people.py: Use the gaim account reader for everything,
 
2244
        instead of manually reading the log files.  This makes people more
 
2245
        awesome, since search results are now unique.  Make add person and
 
2246
        add group just call the gaim dbus calls to present the relevent
 
2247
        dialogs.
 
2248
 
 
2249
        * mayanna_recent.py: Kill RecentlyUsedItem and use FileItem
 
2250
        instead.
 
2251
 
 
2252
        * mayanna_running.py (RunningItem): Implement set_screen_position()
 
2253
        to set the class group window's icon geometry.
 
2254
 
 
2255
        * mayanna_topicwin.py (TopicWindow): block the changed handler when
 
2256
        clearing "Seach" text.  Make search go fast by dropping the typing
 
2257
        timeout from 400 to 50ms, now that we load (mostly) asyncronously.
 
2258
        Don't set a default height.  Make "show timeline" focus the
 
2259
        timeline sidebar in Computer.  Reload the sidebar when the topic
 
2260
        emits reload.  Don't iconify windows initially.
 
2261
 
 
2262
        * mayanna_trash.py: Use names I can understand, and some code
 
2263
        cleanups.  Make TrashItem be awesome.
 
2264
 
 
2265
        * mayanna_util.py (ImplementMe): Helper to show a dialog for
 
2266
        unimplemented features, that lets users open an editor to the file
 
2267
        needing the feature.
 
2268
        (RecentlyUsedManager): Wrapper around egg.recent that supplies a
 
2269
        cache-backed get_item for a uri.
 
2270
        (IconFactory): Move make_icon_frame here from Item, allow blending
 
2271
        a 1 pixel grey border with the image's contents.  Default to
 
2272
        forcing icon sizing in load_image/icon.
 
2273
        (FocusRaiser): Raise after a 200ms timeout.  This doesn't work
 
2274
        quite right.
 
2275
 
 
2276
2006-04-06  David Trowbridge <trowbrds@gmail.com>
 
2277
 
 
2278
        * mayanna_logout.py (LogoutDialog): Get rid of the silly 10-second
 
2279
        quantization, because it was silly.
 
2280
 
 
2281
2006-04-05  Alex Graveley  <alex@beatniksoftware.com>
 
2282
 
 
2283
        * mayanna_logout.py (LogoutDialog): "System" -> "Computer".
 
2284
 
 
2285
2006-04-05  David Trowbridge <trowbrds@gmail.com>
 
2286
 
 
2287
        * mayanna_logout.py (LogoutDialog.__init__): Use set_markup instead
 
2288
        of the text property, since it's not bound properly.
 
2289
 
 
2290
2006-04-04  Alex Graveley  <alex@beatniksoftware.com>
 
2291
 
 
2292
        * mayanna_logout.py (LogoutDialog): Don't use a custom icon, as
 
2293
        this can crash Gtk (see bug #337306).  Instead use icons on the
 
2294
        buttons, where possible.  Set the "text" property instead of the
 
2295
        label, since it's really private and a binding bug that it is
 
2296
        exposed.  Rename some variables so I don't get confused.  Kill
 
2297
        current_logout, since the dialog is modal.
 
2298
 
 
2299
        * mayanna_computer.py (ComputerTopic.get_toolbar_items): Don't
 
2300
        switch user on click of the tool menu item.
 
2301
 
 
2302
2006-04-04  David Trowbridge <trowbrds@gmail.com>
 
2303
 
 
2304
        * mayanna_computer.py: Whoops -- unbreak
 
2305
 
 
2306
2006-04-04  David Trowbridge <trowbrds@gmail.com>
 
2307
 
 
2308
        * mayanna_logout.py: Add a LogoutDialog, ported from gnome-panel
 
2309
        * gdmlient/*: Add a small library for talking to GDM
 
2310
        * Makefile.am: Ditto
 
2311
        * configure.in: Ditto
 
2312
        * mayanna_computer.py: Use LogoutDialog to hook up all the
 
2313
        logout/shutdown buttons and context menu items.
 
2314
 
 
2315
2006-04-03  Alex Graveley  <alex@beatniksoftware.com>
 
2316
 
 
2317
        * mayanna_people.py (PeopleTopic.get_toolbar_items): Use
 
2318
        GaimBlistRequestAddGroup and GaimBlistRequestAddBuddy Gaim2 dbus
 
2319
        calls to do simple person adding.  Gaim2 handles presenting the
 
2320
        dialog.
 
2321
 
 
2322
2006-04-03  Alex Graveley  <alex@beatniksoftware.com>
 
2323
 
 
2324
        * mayanna_topicwin.py: More IconView tweaking...  Don't alter the
 
2325
        view's sizing until ready to set the model.  Use non-large text
 
2326
        for >60 items, and 24px icons for 31-60 items.
 
2327
 
 
2328
2006-04-03  Alex Graveley  <alex@beatniksoftware.com>
 
2329
 
 
2330
        * mayanna_topicwin.py: Create IconView subclass to handle loading
 
2331
        items asynchronously using an idle timeout. Alter layout to better
 
2332
        match Nautilus's horizonal mode, where icons are right aligned and
 
2333
        each column is of a uniform width.
 
2334
 
 
2335
        * mayanna_base.py (Item.make_icon_frame): Don't draw the border if
 
2336
        the icon_size is <24.
 
2337
 
 
2338
2006-03-31  Alex Graveley  <alex@beatniksoftware.com>
 
2339
 
 
2340
        * mayanna_gui.py (TopicRunningList._reload): Call destroy after
 
2341
        removing from the parent.
 
2342
 
 
2343
        * mayanna_gaim.py (GaimBuddy.do_open): Call GaimConversationPresent
 
2344
        to focus the tab if a conversation is already in progress.
 
2345
 
 
2346
2006-03-31  Alex Graveley  <alex@beatniksoftware.com>
 
2347
 
 
2348
        * mayanna_people.py (OnlineBuddySource): New simple online buddy
 
2349
        source.
 
2350
 
 
2351
        * mayanna_gaim.py: Bare bones support of Gaim2 through the D-BUS
 
2352
        interface.  Use it for getting buddy online status, and opening a
 
2353
        conversation.
 
2354
 
 
2355
        * mayanna_gui.py (TopicRunningList._reload): Hack to avoid a
 
2356
        memleak by calling destroy() on child items.
 
2357
 
 
2358
        * mayanna_computer.py (PlacesSource._get_timestamp): Quit the loop
 
2359
        early.
 
2360
 
 
2361
        * mayanna.py (topics): Use a single bottom bar.
 
2362
 
 
2363
2006-03-26  Alex Graveley  <alex@beatniksoftware.com>
 
2364
 
 
2365
        * mayanna_base.py (Item, ItemSource, Topic): Cleanup ungency hints
 
2366
        by adding an "reload-item" signal to ItemSource, which the Topic
 
2367
        listens to for it's running item source.  When recieved, the Topic
 
2368
        looks for a running item with urgency set, using
 
2369
        Item.get_demands_attention(), and updates it's label accordingly.
 
2370
 
 
2371
        * mayanna_running.py (RunningItem.get_demands_attention): Look in
 
2372
        the app-group's windows for one with urgency set.
 
2373
 
 
2374
        * tests/test_urgent.py: Add Mike's test application.
 
2375
 
 
2376
2006-03-25  Alex Graveley  <alex@beatniksoftware.com>
 
2377
 
 
2378
        Cleanup ungency hints by adding an "reload-item" signal to
 
2379
        ItemSource, which the Topic listens to for it's running item
 
2380
        source.  When recieved, the Topic iterates the children looking
 
2381
        for one with with urgency, and updates it's label accordingly.
 
2382
        
 
2383
2006-03-25  Alex Graveley  <alex@beatniksoftware.com>
 
2384
 
 
2385
        * mayanna_util.py (FileMonitor.__init__): Catch
 
2386
        gnomevfs.NotFoundError.
 
2387
 
 
2388
2006-03-23  Alex Graveley  <alex@beatniksoftware.com>
 
2389
 
 
2390
        * mayanna_people.py: Use the "gaim" icon for gaim groups.
 
2391
 
 
2392
        * mayanna_computer.py: Shuffle sidebar contents a little.
 
2393
 
 
2394
2006-03-23  Alex Graveley  <alex@beatniksoftware.com>
 
2395
 
 
2396
        Initial urgent notification support from Mike Hearn.
 
2397
 
 
2398
        * AUTHORS: Add Mike.
 
2399
 
 
2400
2006-03-22  Alex Graveley  <alex@beatniksoftware.com>
 
2401
 
 
2402
        * mayanna_util.py (PlacesManager): Rename _reload to do_reload, so
 
2403
        it becomes the default signal handler, and emit the reload signal
 
2404
        on change.
 
2405
 
 
2406
        * mayanna_people.py (EverybodySource.__init__): Emit reload signal
 
2407
        on Gaim account reader reload.
 
2408
        (RunningChats.__init__): Ditto.
 
2409
 
 
2410
        * mayanna_gaim.py (GaimAccountReader.__gsignals__): Emit reload
 
2411
        signal on ~/.gaim/accounts.xml or ~/.gaim/blist.xml alteration.
 
2412
 
 
2413
        * mayanna_computer.py (PlacesSource.__init__): Emit reload signal
 
2414
        on places reload.
 
2415
 
 
2416
2006-03-22  Alex Graveley  <alex@beatniksoftware.com>
 
2417
 
 
2418
        * mayanna_util.py: Random minor cleanups.
 
2419
        * mayanna_computer.py: Ditto.
 
2420
 
 
2421
2006-03-22  David Trowbridge <trowbrds@gmail.com>
 
2422
 
 
2423
        * mayanna_util.py: Add a FileMonitor object which can be used to
 
2424
        easily watch files on disk.  Add a PlacesManager object (and
 
2425
        associated global) for keeping a list of important places, using
 
2426
        ~/.gtk-bookmarks
 
2427
        * mayanna_documents.py (DocumentsTopic._add_places): Use new
 
2428
        PlacesManager to get list of places rather than parsing gtk-bookmarks.
 
2429
        * mayanna_computer.py: Add a places category inside the computer topic
 
2430
        which just contains places.
 
2431
 
 
2432
2006-03-21  Alex Graveley  <alex@beatniksoftware.com>
 
2433
 
 
2434
        * mayanna_applications.py (LauncherItem.__init__): Raise a
 
2435
        ValueError if the path does not exist.
 
2436
 
 
2437
2006-03-20  Alex Graveley  <alex@beatniksoftware.com>
 
2438
 
 
2439
        * mayanna_topicwin.py (TopicWindow._set_item): Use 32 as the
 
2440
        "normal" icon size.  Cap icon width to 2x the height.  Use icon
 
2441
        width and text wrap-width properties set in the model to minimize
 
2442
        whitespace.
 
2443
 
 
2444
        * mayanna_gui.py (RunningItemTile): Avoid loading icons twice, and
 
2445
        clean up the code somewhat.
 
2446
 
 
2447
        * mayanna.py: Comment out browser loading.
 
2448
 
 
2449
2006-03-20  Alex Graveley  <alex@beatniksoftware.com>
 
2450
 
 
2451
        * mayanna_browser.py (MAYANNABrowser): Flush this multi-pane browser
 
2452
        view I've had in my tree for a while.  It is very broken, but you
 
2453
        get the idea.
 
2454
 
 
2455
        * mayanna.py: Create a MAYANNABrowser, minimized, for the hell of it.
 
2456
 
 
2457
2006-03-19  Alex Graveley  <alex@beatniksoftware.com>
 
2458
 
 
2459
        * mayanna_gaim.py (GaimAccountReader): Clean up accounts.xml DOM immediately.
 
2460
        (GaimAccount): Add get_protocol and get_nice_protocol calls.
 
2461
 
 
2462
2006-03-19  Alex Graveley  <alex@beatniksoftware.com>
 
2463
 
 
2464
        * mayanna_computer.py (FriendlyPager): Add a friendly desktop pager
 
2465
        that shows the label "Desk #" above the workspace contents.  It
 
2466
        supports a compact layout (accessed from the context menu) which
 
2467
        uses 2 rows, and no labels, and defaults to this mode if the
 
2468
        number of workspaces exceeds 4.
 
2469
 
 
2470
        * mayanna_topicwin.py (TopicWindow.__init__): Use WORD_CHAR
 
2471
        wrap-mode in the icon view.
 
2472
 
 
2473
        * TODO: Update a bit.
 
2474
 
 
2475
2006-03-17  David Trowbridge <trowbrds@gmail.com>
 
2476
 
 
2477
        * mayanna_applications.py (LauncherItem): Use the recent-files
 
2478
        timestamp if available when initializing, and update the timestamp
 
2479
        when the launcher is opened.
 
2480
        * mayanna_topicwin.py: Listen to reload signals for items, and update
 
2481
        the contents of the icon view when they're fired.
 
2482
 
 
2483
2006-03-16  Alex Graveley  <alex@beatniksoftware.com>
 
2484
 
 
2485
        * mayanna_topicwin.py: pygtk before 2.8.4 (maybe 2.8.3?) doesn't
 
2486
        expose the CellLayout interface to GtkIconView, so revert to the
 
2487
        old buggier usage in this case.
 
2488
 
 
2489
2006-03-16  David Trowbridge <trowbrds@gmail.com>
 
2490
 
 
2491
        * autogen.sh: Fix problem with aclocal sometimes not looking in m4 for
 
2492
        macros.
 
2493
 
 
2494
2006-03-16  Alex Graveley  <alex@beatniksoftware.com>
 
2495
 
 
2496
        * mayanna_trash.py: Handle a gnomevfs.NotSupportedError by ignoring
 
2497
        the found directory.  Fixes running with my NFS home directory.
 
2498
 
 
2499
2006-03-16  David Trowbridge <trowbrds@gmail.com>
 
2500
 
 
2501
        * mayanna_topicwin.py (TopicWindow.__init__): Use custom cells rather
 
2502
        than gtk.IconView's default ones, to work around some bugs in the
 
2503
        layout.
 
2504
        (TopicWindow.load_items): Make icon sizes a little more robus.  Load
 
2505
        large icons at 48x48 and small icons at 24x24.  If there are more than
 
2506
        60 items, load large icons at 32x32 and small ones at 16x16.
 
2507
 
 
2508
2006-03-15  Alex Graveley  <alex@beatniksoftware.com>
 
2509
 
 
2510
        * mayanna_trash.py (TrashItem.populate_popup): Always show the
 
2511
        "Empty Trash" item, but set it's sensitivity correctly.
 
2512
        (TrashItem.do_empty): If dialog is not accepted, don't delete
 
2513
        anything, also make it a warning dialog.
 
2514
 
 
2515
2006-03-15  David Trowbridge <trowbrds@gmail.com>
 
2516
 
 
2517
        * mayanna_base.py (Item): Add a "reload" signal which causes the tile
 
2518
        in the mayannabar to update.
 
2519
        * mayanna_gui.py (RunningItemTile): Listen for "reload" on Items and
 
2520
        re-query the icon when appropriate.
 
2521
        * mayanna_trash.py: Add a TrashMonitor object (ported from the
 
2522
        gnome-applets trashapplet) and a TrashItem which uses it.
 
2523
        * mayanna_computer.py (ComputerItemSource): Use new TrashItem
 
2524
        * mayanna_documents.py (DocumentsTopic._add_places): Use TrashMonitor to
 
2525
        show the proper icon on the "trash" item in the places menu.
 
2526
        * mayanna_recent.py (RecentlyUsedItem): Use TrashMonitor to use the
 
2527
        show the proper icon.
 
2528
 
 
2529
2006-03-14  Alex Graveley  <alex@beatniksoftware.com>
 
2530
 
 
2531
        * mayanna_topicwin.py (HideOnDeleteWindow): Iconify on delete or on
 
2532
        Escape keypress, and hide from the tasklist when unmapped.  This
 
2533
        makes topic windows always minimize on close, but never clog up
 
2534
        the Alt-Tab list.
 
2535
 
 
2536
2006-03-14  Alex Graveley  <alex@beatniksoftware.com>
 
2537
 
 
2538
        * mayanna_gui.py (TopicButton.do_set_wm_icon_geometry): Set the
 
2539
        icon geometry of topic windows to the dimensions of the topic
 
2540
        button.
 
2541
 
 
2542
2006-03-12  Alex Graveley  <alex@beatniksoftware.com>
 
2543
 
 
2544
        * mayanna_gaim.py (GaimAccountReader): Free the accounts.xml and
 
2545
        blist.xml DOM trees after parsing to save memory.
 
2546
 
 
2547
        * mayanna_gui.py (DockWindow): Set _NET_WM_STRUT correctly for
 
2548
        east/west windows.
 
2549
 
 
2550
2006-03-10  Alex Graveley  <alex@beatniksoftware.com>
 
2551
 
 
2552
        * mayanna.py, mayanna_gui.py: Initial support for MAYANNABars with
 
2553
        East/West orientation.
 
2554
 
 
2555
        * mayanna_base.py: Rotate button labels for East/West orientation.
 
2556
 
 
2557
        * mayanna_applications.py: Remove outmoded context Loutout/Shutdown
 
2558
        menu items.
 
2559
 
 
2560
        * mayanna_computer.py: Use a single flat "Settings" sidebar entry.
 
2561
 
 
2562
2006-03-05  Alex Graveley  <alex@beatniksoftware.com>
 
2563
 
 
2564
        * mayanna_computer.py (ComputerTopic.get_sidebar_source_list): Move
 
2565
        Recently Used to the top.  Eventually this should list all the
 
2566
        objects in this topic.
 
2567
 
 
2568
        * mayanna_applications.py: Rename MenuItem to MenuLauncherItem.
 
2569
 
 
2570
2006-03-05  Alex Graveley  <alex@beatniksoftware.com>
 
2571
 
 
2572
        * mayanna_topicwin.py (TopicWindow._open_item): Iconfiy the topic
 
2573
        window when opening an item.  Not sure about this one.
 
2574
 
 
2575
        * mayanna_gui.py: Adjust icon height based on screensize, 48 for
 
2576
        bigger screens, 32 for smaller.  Support edge gravity placement,
 
2577
        instead of assuming bottom of screen.
 
2578
 
 
2579
        * mayanna_base.py (Item.pretty_print_time_since): Use gnomevfs to
 
2580
        get file mtime.
 
2581
 
 
2582
        * mayanna_applications.py (RunningApplications.do_reload): 
 
2583
 
 
2584
        * mayanna.py: Place computer topic in a separate bar the the south
 
2585
        east corner.  Fixup MAYANNABar to support different gravities.
 
2586
 
 
2587
        * mayanna_computer.py (ComputerTopic.get_sidebar_source_list): Add
 
2588
        Computer topic.
 
2589
 
 
2590
        * mayanna_applications.py: Sort MenuSource items alphabetically.
 
2591
        Drop the Settings sidebar items, and the switch-user/logout
 
2592
        toolbar items, all moved to mayanna_computer.py.  Add back
 
2593
        RecentApplicationLaunchers and RecentSettingsLaunchers classes, so
 
2594
        we can split out settings from applications.
 
2595
 
 
2596
        * mayanna_user.py: Delete in favor of Computer topic.  I find this
 
2597
        unfortunate, because a topic with a calendar/tasklist would be
 
2598
        really nice.
 
2599
 
 
2600
2006-03-02  Alex Graveley  <alex@beatniksoftware.com>
 
2601
 
 
2602
        * mayanna.py: If $MAYANNA_USER_TOPIC is set, show a "user topic",
 
2603
        spaced out a little from the other topics.
 
2604
 
 
2605
        * mayanna_user.py (UserTopic): New topic to support catch-all
 
2606
        stuff.  Currently this means a trashcan and a window switcher, and
 
2607
        soon a tray.  Show the username and date/time in the MAYANNAButton.
 
2608
 
 
2609
        * mayanna_gui.py (RunningItemTile._button_release): Check press_x
 
2610
        exists before checking the drag threshold.
 
2611
        (TopicRunningList._reload): If a source's child is a regular
 
2612
        widget, just add it.
 
2613
        (TopicButton.__init__): Call Topic.get_button_content() to get
 
2614
        the button's content.
 
2615
 
 
2616
        * mayanna_applications.py (ApplicationsTopic.get_toolbar_items):
 
2617
        Only add "Switch User" and "Log out" if not showing user topic.
 
2618
 
 
2619
        * mayanna_base.py: Add Topic.get_button_content() which can be
 
2620
        overridden to supply a custom label widget for the topic's
 
2621
        MAYANNABar button.
 
2622
 
 
2623
2006-03-01  Alex Graveley  <alex@beatniksoftware.com>
 
2624
 
 
2625
        * mayanna_topicwin.py (SearchToolItem): Patch from Mike Hearn:
 
2626
        Clear the "Search" string on focus in.
 
2627
 
 
2628
2006-02-28  Alex Graveley  <alex@beatniksoftware.com>
 
2629
 
 
2630
        * mayanna_gui.py (RunningItemTile.greyscale/transparentize): Cast
 
2631
        pixel values using int().  This fixes the crash some people found
 
2632
        with pygtk, where the pixel values seemed to require an additional
 
2633
        1-element array access.
 
2634
 
 
2635
2006-02-26  Alex Graveley  <alex@beatniksoftware.com>
 
2636
 
 
2637
        * mayanna_applications.py (MenuSource.__init__): Use
 
2638
        "gnome-fs-directory" for the icon if not defined for the menu
 
2639
        directory.
 
2640
 
 
2641
2006-02-25  Alex Graveley  <alex@beatniksoftware.com>
 
2642
 
 
2643
        * mayanna_people.py: Add some fixes from Mike Hearn, like opening a
 
2644
        chat for any kind of account using aim: URIs, and parsing the
 
2645
        screenname from logfile paths.
 
2646
 
 
2647
2006-02-24  Alex Graveley  <alex@beatniksoftware.com>
 
2648
 
 
2649
        * mayanna_gui.py (RunningItemTile): Make button press not interfere
 
2650
        with DnD.  Use 40% transparent drag icon.  Set the drag data as
 
2651
        uri-list containing the item's URI.
 
2652
 
 
2653
        * mayanna_topicwin.py (TopicWindow._item_drag_data_get): Set the
 
2654
        drag data as uri-list, instead of text.
 
2655
 
 
2656
2006-02-23  Alex Graveley  <alex@beatniksoftware.com>
 
2657
 
 
2658
        * mayanna_applications.py (ApplicationsTopic.__init__): Some
 
2659
        distros rename applications.menu and settings.menu in
 
2660
        /etc/xdg/menus to gnome- prefixed versions.
 
2661
 
 
2662
2006-02-22  Alex Graveley  <alex@beatniksoftware.com>
 
2663
 
 
2664
        * BUILDING: Update for simplified building instructions.  They are
 
2665
        pretty much drop-dead simple now.
 
2666
 
 
2667
2006-02-22  Alex Graveley  <alex@beatniksoftware.com>
 
2668
 
 
2669
        * mayanna_gaim.py (GaimBuddy.get_icon): Override to return the
 
2670
        buddy icon with a border if it exists, or "stock_person" of not.
 
2671
 
 
2672
        * mayanna_running.py: Beginnings of running item support, almost
 
2673
        entirely overridden by each topic.
 
2674
 
 
2675
        * mayanna_applications.py (RunningApplications): Subclass
 
2676
        RunningItemSource and reimplement do_reload, and add basic
 
2677
        bookmark support.
 
2678
        * mayanna_documents.py (RunningDocuments): Ditto.
 
2679
        
 
2680
        * mayanna_gui.py: Rename RunningItem to RunningItemTile.  Use new
 
2681
        Item.get_tooltip(), so Item subclasses can override.  If an item
 
2682
        is not running (a bookamrk), show it as greyscale and mostly
 
2683
        transparent, and switch with only greyscale version on mouseover.
 
2684
 
 
2685
        * mayanna_util.py: Add BookmarkManager class to
 
2686
        handle reading/writing bookmarks in ~/.mayanna-bookmarks, and
 
2687
        export an instance as "bookmarks".  Add Launcher.parse_startup_id.
 
2688
 
 
2689
2006-02-14  Alex Graveley  <alex@beatniksoftware.com>
 
2690
 
 
2691
        * mayanna_applications.py: Use gnomedesktop to parse desktop files
 
2692
        instead of ConfigParser.  Make LauncherItem baseclass of
 
2693
        DesktopFileItem and MenuItem, it provides setting a running app
 
2694
        and launching.
 
2695
 
 
2696
2006-02-13  Alex Graveley  <alex@beatniksoftware.com>
 
2697
 
 
2698
        * mayanna_base.py (ItemSource.get_items): Return empty list if no
 
2699
        items are set.
 
2700
 
 
2701
        * mayanna_util.py (Launcher.launch_command): Return the child pid
 
2702
        and startup id as a tuple.
 
2703
        * mayanna_people.py (RecentConversations.do_reload): Ditto.
 
2704
 
 
2705
        * mayanna_gaim.py (GaimAccountReader.__init__): Handle failure in
 
2706
        parsing ~/.gaim xml files.
 
2707
 
 
2708
2006-02-12  Alex Graveley  <alex@beatniksoftware.com>
 
2709
 
 
2710
        * mayanna_recent.py (RecentlyUsedItem.fixup_thumb): Don't constrain
 
2711
        thumbnail dimensions.
 
2712
 
 
2713
        * mayanna_gui.py: Make a RunningItem class, used for all the items
 
2714
        in the MAYANNABar.
 
2715
 
 
2716
        * mayanna_gaim.py (GaimBuddy.__init__): Quote screennames passed to
 
2717
        gaim-remote, because they may contain spaces.
 
2718
 
 
2719
        * mayanna_documents.py (RecentDocumentsByTimestamp.get_items): Hack
 
2720
        supporting running documents that works only for documents opened
 
2721
        via mayanna.  Change up the sidebar rather drastically.
 
2722
 
 
2723
        * mayanna_applications.py (RunningApp.get_icon): Hard code Gaim's icon.
 
2724
 
 
2725
        * mayanna_people.py (RecentConversation.get_icon): Simplify person
 
2726
        icon loading, and quote screennames passed to gaim-remote.  Add a
 
2727
        hack to support running Gaim chats, by looking at the window's
 
2728
        class group and window title.
 
2729
 
 
2730
        * mayanna_topicwin.py (TopicWindow._show_item_popup): Add item
 
2731
        right-click menu, and set up items to be draggable, sending their
 
2732
        URIs as a text/uri-list.
 
2733
 
 
2734
        * mayanna_base.py (Item.get_mimetype): Lookup mimetype with
 
2735
        gnomevfs if it isn't known.  Drop unused set_mimetype and
 
2736
        set_timestamp calls.  Add unused get_is_pinned.  Add
 
2737
        populate_popup, which defaults to adding "Open" and "Keep Around"
 
2738
        items.
 
2739
 
 
2740
2006-02-10  Alex Graveley  <alex@beatniksoftware.com>
 
2741
 
 
2742
        Import all external python dependencies (gnomedesktop, egg.recent,
 
2743
        wnck, iconentry), and generate bindings ourself.  The only
 
2744
        external python dependency is now the "gmenu" module.
 
2745
 
 
2746
        Call ltihooks.py from __init__ to allow loading uninstalled
 
2747
        libtool libraries.
 
2748
 
 
2749
        Reorg configure.in and autogen.sh, ripping off lots of stuff from
 
2750
        deskbar-applet.
 
2751
 
 
2752
2006-02-04  Alex Graveley  <alex@beatniksoftware.com>
 
2753
 
 
2754
        * mayanna_gui.py (ButtonWindow.do_size_request): Clamp mayannabar
 
2755
        width to >50% and <90% of screen width.
 
2756
 
 
2757
        * mayanna_applications.py: Drop separate Settings topicwin and
 
2758
        menubutton from toolbar, and add a sidebar source instead.  Add an
 
2759
        "Install & Update" toolbar button instead, which runs
 
2760
        gnome-app-install.
 
2761
 
 
2762
        * mayanna_topicwin.py: Make parts of the window draggable, like
 
2763
        chrome windows in OSX.  Make secondary icon text foreground
 
2764
        "darkgrey".  Add unusd code for an "+" button at the bottom of the
 
2765
        sidebar.
 
2766
 
 
2767
2006-01-16  Alex Graveley  <alex@beatniksoftware.com>
 
2768
 
 
2769
        * mayanna_recent.py (RecentlyUsedItem.get_icon): Handle trash://
 
2770
        specially (as usual).  Pass "" to icon_lookup for an item with no
 
2771
        mimetype.
 
2772
 
 
2773
        * mayanna_applications.py (LauncherItem.do_open): Use
 
2774
        launcher.launch_command_with_uris, which will escape the command.
 
2775
 
 
2776
        * mayanna_topicwin.py (TopicWindow): "Last 1 week" -> "Last week",
 
2777
        and never allow a horizontal scrollbar.
 
2778
 
 
2779
        * mayanna_util.py (Launcher): Outfit with simple (read: broken) Exec
 
2780
        escape handling, and setting of DESKTOP_STARTUP_ID.
 
2781
 
 
2782
2006-01-12  Alex Graveley  <alex@beatniksoftware.com>
 
2783
 
 
2784
        * mayanna_base.py (Item.pretty_print_time_since): Simple datetime
 
2785
        pretty printer, similar to the one used in Tomboy.
 
2786
        (Item.get_comment): Prefer seen to changed date if seen is more
 
2787
        recent.
 
2788
 
 
2789
        * mayanna_people.py (PeopleTopic.make_availability_menu): Move
 
2790
        "Accounts..." above the toggleable account items in the
 
2791
        Availability menu.
 
2792
        (RecentConversation.get_comment): Use
 
2793
        Item.pretty_print_time_since.
 
2794
 
 
2795
2006-01-11  Alex Graveley  <alex@beatniksoftware.com>
 
2796
 
 
2797
        * mayanna_applications.py (LauncherItem.__init__): Parse Categories
 
2798
        out of .desktop files.
 
2799
        (RecentApplicationLaunchers): New RecentLaunchers subclass which
 
2800
        lists only launchers which are not in the "Settings" category.
 
2801
        (RecentSettingsLaunchers): Ditto, but only launchers which are in
 
2802
        the "Settings" category.
 
2803
        (ApplicationsTopic): Use a MenuToolButton with the menu being a
 
2804
        fancy columned menu and the button opening a TopicWindow listing
 
2805
        only the settings launchers.
 
2806
        (SettingsTopic): Topic used to display launchers in the
 
2807
        settings.menu vfolder.
 
2808
 
 
2809
2006-01-11  Alex Graveley  <alex@beatniksoftware.com>
 
2810
 
 
2811
        * mayanna_base.py (Item.make_icon_frame): Only border with 1 pixel.
 
2812
        (Item.get_name): Handle trash:// urls specially, since they have
 
2813
        no intrinsic name.
 
2814
        (Item.get_comment): Show last seen time if last changed time
 
2815
        cannot be gotten.
 
2816
 
 
2817
        * mayanna_gaim.py: Fixup a few interface bugs.
 
2818
 
 
2819
        * mayanna_people.py (GroupSource): New class to wrap a Gaim group.
 
2820
        (PeopleTopic.get_sidebar_source_list): Add Gaim groups, as long as
 
2821
        they contain buddies that belong to accounts which are auto-login
 
2822
        (until this is hooked up to the menu items).  Fill out the
 
2823
        Availability menu with online status, a list of accounts, and away
 
2824
        message submenu, none of which yet do anything.
 
2825
        
 
2826
2006-01-05  Alex Graveley  <alex@beatniksoftware.com>
 
2827
 
 
2828
        * mayanna_util.py: Add Launcher class that handles spawning apps
 
2829
        and URIs correctly, and adding them to ~/.recently-used.  Add a
 
2830
        global Launcher instance.  Move the global recent_model instance
 
2831
        to here.
 
2832
 
 
2833
        * mayanna_topicwin.py: Major changes. Move TopicWindow here, add
 
2834
        helper toolbar item classes for a zoom drop-down menu, and a
 
2835
        search bar, and hook them up.  Use the iconentry class from
 
2836
        desktop, with find and clear icons, if it is installed, otherwise
 
2837
        fall back to a gtk.Entry.  Use smaller icons in the iconview for a
 
2838
        large number of items.
 
2839
 
 
2840
        * mayanna_recent.py (RecentlyUsed): Support setting a days filter.
 
2841
        (RecentlyUsedItem.get_icon): Clean up icon handling a bit.  Move
 
2842
        recent_model global to mayanna_utils.py.
 
2843
 
 
2844
        * mayanna_people.py (RecentConversation): Use launcher class to
 
2845
        open recent conversations with gaim-remote.  Clean up icon
 
2846
        handling a bit.
 
2847
        (RecentConversations): Support setting a days filter.
 
2848
 
 
2849
        * mayanna_gui.py: Clean up icon handling for icon list somewhat.
 
2850
        Show friendlier tooltips for file-based items in the mayannabar.
 
2851
        (DockWindow): Handle being placed explicitly to track sizing
 
2852
        changes, and force the move using override_redirect.
 
2853
        (ButtonWindow): Set the _NET_WM_STRUT property to cause the topic
 
2854
        buttons to be avoided when a window is maximized.  This rules.
 
2855
        (ItemWindow): Track the parent window resize and movements more
 
2856
        better.
 
2857
 
 
2858
        * mayanna_gaim.py (GaimBuddy.do_open): Use launcher class to call
 
2859
        gaim-remote.
 
2860
 
 
2861
        * mayanna_documents.py (RecentDocumentsByTimestamp): Add this
 
2862
        RecentDocuments subclass that sorts Items by timestamp, and use it
 
2863
        for listing in the mayannabar.
 
2864
        (DocumentsTopic.get_toolbar_items): Add Trash to the toolbar.  Use
 
2865
        the launcher class to start apps and uris.
 
2866
 
 
2867
        * mayanna_base.py (Item): Remove leading slashes in
 
2868
        get_local_path().  Use the launcher class to open documents.
 
2869
        (Item.matches_text): Default search impl looks for text substring
 
2870
        inside name or comment.
 
2871
        (ItemSource): Add get/set_days_filter default impls that raise
 
2872
        exceptions.
 
2873
        (Topic.find_items): Simple search implementation, calls
 
2874
        matches_text on each sidebar source's Items, and returns the
 
2875
        result list.
 
2876
 
 
2877
        * mayanna_applications.py (ApplicationsTopic): Dock window
 
2878
        appearance shouldn't cause a reload.  Use the launcher class to
 
2879
        start apps.
 
2880
 
 
2881
        * mayanna.py (MAYANNABar): Use separate windows for the icon lists.
 
2882
        This allows mousing over a topic button to not obscure the entire
 
2883
        bottom of the screen.
 
2884
 
 
2885
2005-12-20  Alex Graveley  <alex@beatniksoftware.com>
 
2886
 
 
2887
        * mayanna_applications.py
 
2888
        (ApplicationsTopic.get_context_menu_items): Add Show/Hide All to
 
2889
        the Applications right-click menu.  This is the same as "Show
 
2890
        Desktop".
 
2891
 
 
2892
        * mayanna_documents.py (DocumentsTopic._add_places): Add Trash to Places.
 
2893
 
 
2894
2005-12-20  Alex Graveley  <alex@beatniksoftware.com>
 
2895
 
 
2896
        * BUILDING: Add simple build instructions.
 
2897
 
 
2898
2005-12-20  Alex Graveley  <alex@beatniksoftware.com>
 
2899
 
 
2900
        * mayanna_gui.py (TopicButton): Pass a Topic to __init__.  Show a
 
2901
        context menu with items populated from the Topic's
 
2902
        get_context_menu_items().
 
2903
        (TopicWindow): Switch the More/Less tool items to a menu with
 
2904
        descriptions, and change the label to reflect the current zoom
 
2905
        setting.
 
2906
        (TopicWindow.__init__): Grudgingly, change the scroll policy to
 
2907
        automatic.  We really want to minimize scrollbar usage, but we
 
2908
        can't while GtkIconView is so broken.  Help needed here.
 
2909
        (TopicWindow._load_items): If more than 30 items, show only the
 
2910
        item name, and use a smaller icon.
 
2911
        (TopicWindow.add_sources): Call _reload_source on sidebar
 
2912
        ItemSource reload.  If the source has items, this calls
 
2913
        _load_items, or desensitizes the sidebar button if not.
 
2914
 
 
2915
        * mayanna_util.py (ToolMenuButton): Add get/set_label() methods.
 
2916
 
 
2917
        * mayanna_recent.py (RecentlyUsed.do_reload): Ignore private recent
 
2918
        items (porn).
 
2919
 
 
2920
        * mayanna_people.py (PeopleTopic.get_context_menu_items): Add
 
2921
        "Available" placeholder context menu items.  Add "GMail" and
 
2922
        "Friendster" sidebar placeholders.  Switch "Accounts" toolbar menu
 
2923
        to "Available", which should allow toggling online status.
 
2924
 
 
2925
        * mayanna_documents.py (DocumentsTopic.get_context_menu_items): Add
 
2926
        "Places" submenu, "New Document" submenu, and "Printers" context
 
2927
        menu items.
 
2928
 
 
2929
        * mayanna_base.py: Add get_context_menu_items() to Topic and Item
 
2930
        classes.
 
2931
 
 
2932
        * mayanna_applications.py
 
2933
        (ApplicationsTopic.get_context_menu_items): Add "Switch User" and
 
2934
        "Log Out" mayanna bar context menu items.
 
2935
 
 
2936
2005-12-13  Alex Graveley  <alex@beatniksoftware.com>
 
2937
 
 
2938
        * mayanna_applications.py (LauncherItem.do_open): Call popen in a
 
2939
        forked process, so apps don't die on MAYANNA exit.
 
2940
 
 
2941
2005-12-13  Alex Graveley  <alex@beatniksoftware.com>
 
2942
 
 
2943
        * mayanna_applications.py (LauncherItem.__init__): Handle parsing
 
2944
        .desktop file a tiny bit better.  Try $LANG variant of Name and
 
2945
        Comment, and if Comment doesn't exist, use GenericName.
 
2946
 
 
2947
        * mayanna_documents.py (DocumentsTopic._add_places): Unquote the
 
2948
        URLs in ~/.gtk-bookmarks.
 
2949
 
 
2950
2005-12-12  Alex Graveley  <alex@beatniksoftware.com>
 
2951
 
 
2952
        * mayanna_gui.py (TopicWindow.__init__): Default size of 730x530.
 
2953
 
 
2954
        * mayanna_recent.py (RecentlyUsed.do_reload): Use Python 2.4 "key"
 
2955
        sort on lists.  This is such an awesome feature.
 
2956
        * mayanna_people.py (EverybodySource.do_reload): Ditto.
 
2957
        * mayanna_applications.py (RecentLaunchers.get_items): Ditto.
 
2958
 
 
2959
        * mayanna_gaim.py (GaimBuddy.do_open): Fix typo.
 
2960
 
 
2961
        * mayanna_documents.py: Add gnumeric and ooimpress mime-types.
 
2962
 
 
2963
2005-12-11  Alex Graveley  <alex@beatniksoftware.com>
 
2964
 
 
2965
        * mayanna_gaim.py: Initial support for parsing GAIM's accounts.xml
 
2966
        and blist.xml files, to get a list of groups, accounts, and
 
2967
        contacts to be used in the People topic.
 
2968
 
 
2969
        * Makefile.am (mayanna_PYTHON): Add mayanna_gaim.py.
 
2970
 
 
2971
        * mayanna_people.py: Use the new GaimAccountReader to get a list of
 
2972
        all gaim contacts, and populate the "Everybody" source with it.
 
2973
        Use the new EmptySource for the other mockup groups, since these
 
2974
        don't work yet.  Add a toolbar menu placeholder to allow toggling
 
2975
        the accounts whose contacts we are showing.
 
2976
 
 
2977
2005-12-11  Alex Graveley  <alex@beatniksoftware.com>
 
2978
 
 
2979
        * mayanna_recent.py: Rename DocumentItem to RecentlyUsedItem.
 
2980
        Since we now rely on gnome-python-extras head, which has the
 
2981
        egg.recent bindings fixed, stop using the hand rolled
 
2982
        ~/.recently-used parser (for now).  The Egg version should be
 
2983
        faster, and less buggy.  
 
2984
        Pass EggRecentItem to include_recent_item, and if successful,
 
2985
        create a RecentlyUsedItem for it.
 
2986
 
 
2987
        * mayanna_documents.py (RecentDocuments.include_recent_item): Item
 
2988
        argument is now an EggRecentItem, so use
 
2989
        item.in_group("Launchers").
 
2990
        (RecentDocumentsOfMimeType): Move this here from mayanna_recent.py.
 
2991
        (DocumentsTopic.get_sidebar_source_list): Add
 
2992
        application/vnd.oasis.opendocument.presentation and
 
2993
        application/vnd.sun.xml.impress mime-types to "Presentations"
 
2994
        sidebar.
 
2995
 
 
2996
        * mayanna_applications.py (MenuSource.add_recurse): Fix typo to use
 
2997
        self.add_recurse, this was causing a crash for application menus
 
2998
        more than one level deep.
 
2999
        (RecentLaunchers.include_recent_item): Item argument is now an
 
3000
        EggRecentItem, so use item.in_group("Launchers").
 
3001
 
 
3002
2005-12-08  Alex Graveley  <alex@beatniksoftware.com>
 
3003
 
 
3004
        * configure.in: New file.
 
3005