Forgot to mention with the change in the way we save bookmarks, you might have to clear the settings. I didn't test this with previous data in the db. Just a forewarning.
Nate L. On Thu, Sep 25, 2008 at 9:48 AM, Nate Lowrie <[EMAIL PROTECTED]> wrote: > dabo Commit > Revision 4525 > Date: 2008-09-25 08:48:56 -0700 (Thu, 25 Sep 2008) > Author: Nate > Trac: http://svn.dabodev.com/trac/dabo/changeset/4525 > > Changed: > U trunk/dabo/ui/uiwx/dEditor.py > > Log: > Ok, this fixes the error I was getting on deletion of the editor object in > relation to the bookmarks. I eliminated the timer. We didn't need it. In > addition, I eliminated the bookmark saves on deletion and on saving the > file. The were irrelevant and unnecessary considering we save the bookmarks > after every bookmark operation (clear, clear all, and set). > > This solved the error, but I was still having some issues with the saving > bookmarks. No matter what I did, I could only get the UserSettingProvider > to save one bookmark key. Not sure of the problem, but the solution was to > save the bookmarks as a list of tuples. It works out better anyway because > there is less database reading and writing and allowed me to eliminate some > clunky code. > > Tested the IDE tools with the change and they work as expected. > > Diff: > Modified: trunk/dabo/ui/uiwx/dEditor.py > =================================================================== > --- trunk/dabo/ui/uiwx/dEditor.py 2008-09-23 15:31:02 UTC (rev 4524) > +++ trunk/dabo/ui/uiwx/dEditor.py 2008-09-25 15:48:56 UTC (rev 4525) > @@ -328,11 +328,6 @@ > self._bookmarks = {} > # This holds the last saved bookmark status > self._lastBookmarks = [] > - # Create a timer to regularly flush the bookmarks > - self._bookmarkTimer = bmt = dTimer.dTimer(self) > - bmt.Interval = 20000 # 20 sec. > - bmt.bindEvent(dEvents.Hit, self._saveBookmarks) > - bmt.start() > > if self.UseStyleTimer: > self._styleTimer.mode = "container" > @@ -346,7 +341,6 @@ > > > def __del__(self): > - self._saveBookmarks() > self._unRegisterFunc(self) > super(dEditor, self).__del__() > > @@ -1424,8 +1418,6 @@ > app = self.Application > app.setUserSetting("editor.fontsize", self._fontSize) > app.setUserSetting("editor.fontface", self._fontFace) > - # Save the bookmarks > - self._saveBookmarks() > > #if the file extension changed, automatically set the > language if extension is known. > fext = os.path.splitext(fname)[1] > @@ -1435,8 +1427,6 @@ > > > def _saveBookmarks(self, evt=None): > - if not self._useBookmarks: > - self._bookmarkTimer.stop() > app = self.Application > fname = self._fileName > if not fname: > @@ -1449,15 +1439,7 @@ > self._lastBookmarks = currBmks > justFname = os.path.split(fname)[1] > base = ".".join(("bookmark", justFname)) > - # Clear any existing settings. > - app.deleteAllUserSettings(base) > - newsettings = {} > - for nm, hnd in self._bookmarks.items(): > - ln = self.MarkerLineFromHandle(hnd) > - setName = ".".join((base, nm)) > - newsettings[setName] = ln > - if newsettings: > - app.setUserSettings(newsettings) > + app.setUserSetting(base, currBmks) > > > def isChanged(self): > @@ -1556,10 +1538,10 @@ > app = self.Application > fname = os.path.split(fileSpec)[1] > keyspec = ".".join(("bookmark", fname)).lower() > - keys = app.getUserSettingKeys(keyspec) > - for key in keys: > - val = app.getUserSetting(".".join((keyspec, key))) > - self.setBookmark(key, val) > + bmks = app.getUserSetting(keyspec) > + if bmks: > + for (nm,line) in bmks: > + self.setBookmark(nm, line) > # Restore the appearance > self._fontFace = app.getUserSetting("editor.fontface") > self._fontSize = app.getUserSetting("editor.fontsize") > @@ -2293,10 +2275,6 @@ > def _setUseBookmarks(self, val): > if self._constructed(): > self._useBookmarks = val > - if val: > - self._bookmarkTimer.start() > - else: > - self._bookmarkTimer.stop() > else: > self._properties["UseBookmarks"] = val > > > > > [excessive quoting removed by server] _______________________________________________ Post Messages to: [email protected] Subscription Maintenance: http://leafe.com/mailman/listinfo/dabo-dev Searchable Archives: http://leafe.com/archives/search/dabo-dev This message: http://leafe.com/archives/byMID/[EMAIL PROTECTED]
