diff --git a/pd/nw/index.js b/pd/nw/index.js index 6e58c37f53208ee15fba1fadd001823e058a8c9b..cb72431e496c9a3f7d6fd05de0dc36d89733c127 100644 --- a/pd/nw/index.js +++ b/pd/nw/index.js @@ -11,6 +11,9 @@ pdgui.set_pwd(pwd); pdgui.set_gui_dir(gui_dir); pdgui.set_pd_window(this); pdgui.set_app_quitfn(app_quit); +pdgui.set_open_html_fn(open_html); +pdgui.set_open_textfile_fn(open_textfile); +pdgui.set_open_external_doc_fn(open_external_doc); // gui preset pdgui.skin.apply(this); @@ -23,6 +26,18 @@ function app_quit () { gui.App.quit(); } +function open_html(target) { + gui.Shell.openItem(target); +} + +function open_textfile(target) { + gui.Shell.openItem(target); +} + +function open_external_doc(target) { + gui.Shell.openExternal(target); +} + var chooser = document.querySelector("#fileDialog"); chooser.addEventListener("change", function(evt) { var file_array = this.value; @@ -627,7 +642,7 @@ function nw_create_pd_window_menus () { helpMenu.append(new gui.MenuItem({ label: l("menu.about"), click: function() { -// pd_doc_open("doc/1.manual", "1.introduc + pdgui.pd_doc_open("doc/1.manual", "1.introduction.txt"); }, //key: "c", //modifiers: "ctrl", @@ -636,7 +651,9 @@ function nw_create_pd_window_menus () { helpMenu.append(new gui.MenuItem({ label: l("menu.manual"), - click: pdmenu_manual, + click: function() { + pdgui.pd_doc_open("doc/1.manual", "index.htm"); + }, //key: "a", //modifiers: "ctrl", tooltip: l("menu.manual_tt") @@ -656,7 +673,9 @@ function nw_create_pd_window_menus () { helpMenu.append(new gui.MenuItem({ label: l("menu.l2ork_list"), - click: pdmenu_l2ork_mailinglist, + click: function() { + pdgui.external_doc_open("http://disis.music.vt.edu/listinfo/l2ork-dev"); + }, //key: "a", //modifiers: "ctrl", tooltip: l("menu.l2ork_list_tt") @@ -664,7 +683,9 @@ function nw_create_pd_window_menus () { helpMenu.append(new gui.MenuItem({ label: l("menu.pd_list"), - click: pdmenu_pd_mailinglists, + click: function() { + pdgui.external_doc_open("http://puredata.info/community/lists"); + }, //key: "a", //modifiers: "ctrl", tooltip: l("menu.pd_list_tt") @@ -672,19 +693,23 @@ function nw_create_pd_window_menus () { helpMenu.append(new gui.MenuItem({ label: l("menu.forums"), - click: pdmenu_forums, + click: function() { + pdgui.external_doc_open("http://forum.pdpatchrepo.info/"); + }, //key: "a", //modifiers: "ctrl", tooltip: l("menu.forums_tt") })); - helpMenu.append(new gui.MenuItem({ - label: l("menu.irc"), - click: pdmenu_irc, - //key: "a", - //modifiers: "ctrl", - tooltip: l("menu.irc_tt") - })); + //helpMenu.append(new gui.MenuItem({ + // label: l("menu.irc"), + // click: function() { + // pdgui.external_doc_open("irc://irc.freenode.net/dataflow"); + // }, + // //key: "a", + // //modifiers: "ctrl", + // tooltip: l("menu.irc_tt") + //})); // Assign to window gui.Window.get().menu = windowMenu; diff --git a/pd/nw/pdgui.js b/pd/nw/pdgui.js index b68c9862b81ace328ebe0163280eb304ecb75f33..0966edc206e247d6058a6bc1240e12d2ee24658c 100644 --- a/pd/nw/pdgui.js +++ b/pd/nw/pdgui.js @@ -40,6 +40,9 @@ exports.set_pd_window = function(win) { var nw_create_window; var nw_close_window; var nw_app_quit; +var nw_open_html; +var nw_open_textfile; +var nw_open_external_doc; exports.set_new_window_fn = function (nw_context_fn) { nw_create_window = nw_context_fn; @@ -49,6 +52,18 @@ exports.set_close_window_fn = function (nw_context_fn) { nw_close_window = nw_context_fn; } +exports.set_open_html_fn = function (nw_context_fn) { + nw_open_html = nw_context_fn; +} + +exports.set_open_textfile_fn = function (nw_context_fn) { + nw_open_textfile = nw_context_fn; +} + +exports.set_open_external_doc_fn = function (nw_context_fn) { + nw_open_external_doc = nw_context_fn; +} + // Global variables from tcl var pd_myversion, // Pd version string pd_apilist, // Available Audio APIs (tcl list) @@ -515,6 +530,14 @@ function gui_open_files_via_unique(filenames) } } +function open_html(target) { + nw_open_html(target); +} + +function open_textfile(target) { + nw_open_textfile(target); +} + // Think about renaming this and pd_doc_open... // Open a file-- html, text, or Pd. @@ -523,11 +546,12 @@ function doc_open (dir, basename) { var norm_path = path.normalize(dir); if (basename.slice(-4) === ".txt" || basename.slice(-2) === ".c") { - open_text(path.join(norm_path, basename)); + open_textfile(path.join(norm_path, basename)); } else if (basename.slice(-5) === ".html" || basename.slice(-4) === ".htm" || basename.slice(-4) === ".pdf") { open_html(path.join(norm_path, basename)); + } else { pdsend("pd open", enquote(basename), enquote(norm_path)); } @@ -540,6 +564,12 @@ function pd_doc_open(dir, basename) { exports.pd_doc_open = pd_doc_open; +function external_doc_open(url) { + nw_open_external_doc(url); +} + +exports.external_doc_open = external_doc_open; + function gui_build_filelist(file) { startup_files.push(file); }