Changeset 25

Show
Ignore:
Timestamp:
06/26/08 09:38:52 (2 months ago)
Author:
simon
Message:

This should give us per-playlist CSS, but I haven't been able to test it because of some locking issues with the database file.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • chrome/songbee/edit-pl.xul

    r17 r25  
    2828    <toolbar id="add-toolbar"> 
    2929        <toolbarbutton label="&editPlaylist.save;" oncommand="saveDOC()"/> 
     30                <toolbarbutton label="Display Settings" oncommand="preferences()"/> 
    3031    </toolbar> 
    3132</toolbox> 
     
    237238} 
    238239 
    239  
     240function preferences() { 
     241        window.openDialog("chrome://songbee/content/preferences.xul", 
     242        "preferences", "chrome, dialog", pl._id); 
     243
    240244 
    241245</script> 
  • chrome/songbee/preferences.js

    r23 r25  
    6363} 
    6464 
    65 function savechanges() {  
    66     var file = userCSS(); 
    67     var foStream = Components.classes["@mozilla.org/network/file-output-stream;1"]  
     65function savechanges(where) {  
     66        var css = dumpCSS(); 
     67        if (where) { // Saving to database 
     68                Playlist.retrieve(where).css(css); 
     69        } else { // Global settings, saving to file. 
     70                var file = userCSS(); 
     71                var foStream = Components.classes["@mozilla.org/network/file-output-stream;1"]  
    6872                         .createInstance(Components.interfaces.nsIFileOutputStream); 
    69     foStream.init(file, 0x02 | 0x08 | 0x20, 0666, 0); 
    70     var css = dumpCSS(); 
    71     foStream.write(css, css.length)
    72     foStream.close
    73     window.close(); 
     73               foStream.init(file, 0x02 | 0x08 | 0x20, 0666, 0); 
     74               foStream.write(css, css.length); 
     75               foStream.close
     76               window.close()
     77        } 
    7478} 
    7579 
  • chrome/songbee/preferences.xul

    r1 r25  
    4343            <button label="Reset" oncommand="if(window.confirm('Really reset?')) reset();"/> 
    4444            <spacer flex="1"/> 
    45             <button label="&songbee.save;" oncommand="savechanges();"/> 
     45            <button label="&songbee.save;" oncommand="savechanges(window.arguments[0]);"/> 
    4646        </hbox> 
    4747    </vbox> 
  • chrome/songbee/songbee.js

    r1 r25  
    6666        c++; 
    6767    }); 
    68     addUserStylesheet(windows.projector.document); 
     68        var css = plData.playlist.css(); 
     69        if (css) { 
     70                var elem = doc.createElement("style"); 
     71                elem.innerHTML = css; 
     72                windows.projector.document.getElementById("headElem").appendChild(elem); 
     73        } else { 
     74                addUserStylesheet(windows.projector.document); 
     75        } 
    6976    switchSong(0,1); 
    7077}