diff options
author | Hans Oesterholt <hans@oesterholt.net> | 2013-01-14 23:01:42 +0100 |
---|---|---|
committer | Hans Oesterholt <hans@oesterholt.net> | 2013-01-14 23:01:42 +0100 |
commit | 0485e3ba5531303ee2a8679e61ec06454a23302e (patch) | |
tree | 9f12bee82c8e245e85598310159254db97318d6f | |
parent | 3ba49d76e2b89933c7bfea7b62d82ae4743e6c67 (diff) |
Added some more stuff. Like Cue Sheet editing, etc.
-rw-r--r-- | src/CueSheets/Banshee.CueSheets/CueSheetEditor.cs | 35 |
1 files changed, 23 insertions, 12 deletions
diff --git a/src/CueSheets/Banshee.CueSheets/CueSheetEditor.cs b/src/CueSheets/Banshee.CueSheets/CueSheetEditor.cs index 20f78f0..7533255 100644 --- a/src/CueSheets/Banshee.CueSheets/CueSheetEditor.cs +++ b/src/CueSheets/Banshee.CueSheets/CueSheetEditor.cs @@ -59,7 +59,8 @@ namespace Banshee.CueSheets String offset=String.Format ("{0:00}",m)+":"+ String.Format ("{0:00}",s)+"."+ String.Format ("{0:00}",hs); - _store.AppendValues (i+1,_sheet.entry (i).title (),_sheet.entry (i).getComposer (),_sheet.entry (i).getPiece (),offset); + _store.AppendValues (i+1,_sheet.entry (i).title (),_sheet.entry (i).performer (), + _sheet.entry (i).getComposer (),_sheet.entry (i).getPiece (),offset); } } @@ -104,7 +105,7 @@ namespace Banshee.CueSheets _save=new Gtk.Button(icn_save); _save.Clicked+=OnSave; - _store=new Gtk.ListStore(typeof(int),typeof(string),typeof(string),typeof(string),typeof(string)); + _store=new Gtk.ListStore(typeof(int),typeof(string),typeof(string),typeof(string),typeof(string),typeof(string)); _tracks=new Gtk.TreeView(); { Gtk.CellRendererText cr0=new Gtk.CellRendererText(); @@ -118,24 +119,32 @@ namespace Banshee.CueSheets setCell(1,args.NewText,new Gtk.TreePath(args.Path)); }); _tracks.AppendColumn ("Title", cr_title, "text", 1); - + + Gtk.CellRendererText cr_artist=new Gtk.CellRendererText(); + cr_artist.Editable=true; + cr_artist.Scale=0.8; + cr_artist.Edited+=new Gtk.EditedHandler(delegate(object sender,Gtk.EditedArgs args) { + setCell(2,args.NewText,new Gtk.TreePath(args.Path)); + }); + _tracks.AppendColumn ("Artist", cr_artist, "text", 2); + Gtk.CellRendererText cr_composer=new Gtk.CellRendererText(); cr_composer.Editable=true; cr_composer.Scale=0.8; cr_composer.Edited+=new Gtk.EditedHandler(delegate(object sender,Gtk.EditedArgs args) { - setCell(2,args.NewText,new Gtk.TreePath(args.Path)); + setCell(3,args.NewText,new Gtk.TreePath(args.Path)); }); - _tracks.AppendColumn ("Composer", cr_composer, "text", 2); + _tracks.AppendColumn ("Composer", cr_composer, "text", 3); Gtk.CellRendererText cr_piece=new Gtk.CellRendererText(); cr_piece.Editable=true; cr_piece.Scale=0.8; cr_piece.Edited+=new Gtk.EditedHandler(delegate(object sender,Gtk.EditedArgs args) { - setCell(3,args.NewText,new Gtk.TreePath(args.Path)); + setCell(4,args.NewText,new Gtk.TreePath(args.Path)); }); - _tracks.AppendColumn ("Piece", cr_piece, "text", 3); + _tracks.AppendColumn ("Piece", cr_piece, "text", 4); - _tracks.AppendColumn ("Offset", cr0, "text", 4); + _tracks.AppendColumn ("Offset", cr0, "text", 5); } //_tracks.CursorChanged += new EventHandler(EvtCursorChanged); @@ -225,18 +234,20 @@ namespace Banshee.CueSheets if (_store.GetIterFirst(out iter)) { do { string title=(string) _store.GetValue (iter,1); - string composer=(string) _store.GetValue (iter,2); + string perf=(string) _store.GetValue (iter,2); + string composer=(string) _store.GetValue (iter,3); if (composer.Trim ()=="") { composer=nComposer; } - string piece=(string) _store.GetValue (iter,3); + string piece=(string) _store.GetValue (iter,4); piece=piece.Trim (); - string offset=(string) _store.GetValue (iter,4); + string offset=(string) _store.GetValue (iter,5); string []parts=Regex.Split(offset,"[.:]"); double e_offset; int min=Convert.ToInt32(parts[0]); int secs=Convert.ToInt32(parts[1]); int hsecs=Convert.ToInt32(parts[2]); e_offset=min*60+secs+(hsecs/100.0); - CueSheetEntry e=_sheet.AddTrack(title,nPerformer,e_offset); + if (perf.Trim ()=="") { perf=nPerformer; } + CueSheetEntry e=_sheet.AddTrack(title,perf,e_offset); e.setComposer (composer); e.setPiece (piece); } while(_store.IterNext (ref iter)); |