Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/Edit
diff options
context:
space:
mode:
authorJames <james@mackie.(none)>2007-03-20 20:14:31 (GMT)
committer James <james@mackie.(none)>2007-03-20 20:14:31 (GMT)
commit459ebc9be49821590ab9d81b3b1d098904f045c5 (patch)
treed86c8ee1aa92b8a694c1f57ec64c46e37c2f110e /Edit
parent7c42950444a423c95be9f578715f9a9ebf133266 (diff)
load/save
Diffstat (limited to 'Edit')
-rw-r--r--Edit/MainWindow.py72
1 files changed, 46 insertions, 26 deletions
diff --git a/Edit/MainWindow.py b/Edit/MainWindow.py
index 685c158..710648a 100644
--- a/Edit/MainWindow.py
+++ b/Edit/MainWindow.py
@@ -1212,41 +1212,61 @@ class MainWindow( SubActivity ):
# load and save functions
#-----------------------------------
def handleSave(self, widget):
+ def saveFile(filter):
+ chooser = gtk.FileChooserDialog(
+ title='Save TamTam Tune',
+ action=gtk.FILE_CHOOSER_ACTION_SAVE,
+ buttons=(gtk.STOCK_CANCEL,gtk.RESPONSE_CANCEL,gtk.STOCK_SAVE,gtk.RESPONSE_OK))
+ chooser.set_filter(filter)
+ for f in chooser.list_shortcut_folder_uris():
+ chooser.remove_shortcut_folder_uri(f)
+ if chooser.run() == gtk.RESPONSE_OK:
+ try:
+ print 'INFO: serialize to file %s' % chooser.get_filename()
+ ofile = open(chooser.get_filename(), 'w')
+ ofilestream = ControlStream.TamTamOStream (ofile)
+ self.noteDB.dumpToStream(ofilestream)
+ ofile.close()
+ except IOError:
+ print 'ERROR: failed to serialize to file %s' % chooser.get_filename()
+ chooser.destroy()
+ def loadFile(filter):
+ chooser = gtk.FileChooserDialog(
+ title='Load TamTam Tune',
+ action=gtk.FILE_CHOOSER_ACTION_OPEN,
+ buttons=(gtk.STOCK_CANCEL,gtk.RESPONSE_CANCEL,gtk.STOCK_OPEN,gtk.RESPONSE_OK))
+ chooser.set_filter(filter)
+ if chooser.run() == gtk.RESPONSE_OK:
+ try:
+ print 'DEBUG: clearing noteDB'
+ self.noteDB.deletePages( self.noteDB.pages.keys() )
+ # still leaves an empty page at start... grrr
+ print 'DEBUG: loading file: ', chooser.get_filename()
+ ifile = open(chooser.get_filename(), 'r')
+ ttt = ControlStream.TamTamTable ( self.noteDB )
+ ttt.parseFile(ifile)
+ ifile.close()
+ self.noteDB.deletePages( self.noteDB.tune[0:1] )
+ except IOError:
+ print 'ERROR: failed to serialize from file %s' % chooser.get_filename()
+
+ chooser.destroy()
+
+ filter = gtk.FileFilter()
+ filter.add_pattern('*.tam')
+
try:
if (self.handleSaveCount == 1):
- print 'DEBUG: clearing noteDB'
- self.noteDB.deletePages( self.noteDB.pages.keys() )
- # still leaves an empty page at start... grrr
- print 'DEBUG: loading ofile.tam'
- ifile = open('ofile.tam', 'r')
- ttt = ControlStream.TamTamTable ( self.noteDB )
- ttt.parseFile(ifile)
- ifile.close()
+ loadFile(filter)
self.handleSaveCount = 0
return
+
except AttributeError:
pass
- print 'DEBUG: saving to ofile.tam'
- ofile = open('ofile.tam', 'w')
- ofilestream = ControlStream.TamTamOStream (ofile)
- self.noteDB.dumpToStream(ofilestream)
- ofile.close()
+ saveFile(filter)
self.handleSaveCount = 1
- if False:
- chooser = gtk.FileChooserDialog(title=None,action=gtk.FILE_CHOOSER_ACTION_SAVE, buttons=(gtk.STOCK_CANCEL,gtk.RESPONSE_CANCEL,gtk.STOCK_SAVE,gtk.RESPONSE_OK))
-
- if chooser.run() == gtk.RESPONSE_OK:
- try:
- print 'INFO: serialize to file %s' % chooser.get_filename()
- f = open( chooser.get_filename(), 'w')
- pickle.dump( self._data, f )
- f.close()
- except IOError:
- print 'ERROR: failed to serialize to file %s' % chooser.get_filename()
-
- chooser.destroy()
def handleLoad(self, widget, data):
chooser = gtk.FileChooserDialog(title=None,action=gtk.FILE_CHOOSER_ACTION_OPEN, buttons=(gtk.STOCK_CANCEL,gtk.RESPONSE_CANCEL,gtk.STOCK_OPEN,gtk.RESPONSE_OK))