diff --git a/.gitignore b/.gitignore
index acf91f9d8be7..89af9b162b81 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,10 +1,10 @@
src/Bloom.suo
*.user
-lib/GeckoFx/Skybound.Gecko/*
-output/*
+lib/GeckoFx/Skybound.Gecko/
+output/
*/.svn
-*/bin/*
-*/obj
+bin/
+obj/
userProject
templates/A4LandscapeBooklet/starter.pdf
src/_ReSharper.Bloom/*
@@ -89,6 +89,6 @@ DistFiles/ReleaseNotes.html
ReadMe_*.html
B3.sln
B2.sln
-node_modules/*
+node_modules/
*.usertasks
Andika-R.ttf
diff --git a/src/BloomBrowserUI/bookEdit/readerSetup/readerSetup.ui.js b/src/BloomBrowserUI/bookEdit/readerSetup/readerSetup.ui.js
index 4555d5ffb53c..cbd5a2ddcd8d 100644
--- a/src/BloomBrowserUI/bookEdit/readerSetup/readerSetup.ui.js
+++ b/src/BloomBrowserUI/bookEdit/readerSetup/readerSetup.ui.js
@@ -594,19 +594,6 @@ function firstSetupLetters() {
return false;
}
-/**
-* Fires an event for C# to handle.
-* The listeners in C# are set up in EditingModel.cs, in the function "DocumentCompleted()", and using this
-* syntax: _view.AddMessageEventListener("nameOfEvent", FunctionThatHandlesTheEvent);
-* @param {String} eventName
-* @param {String} eventData Note: use JSON.stringify if passing object data.
-*/
-function fireCSharpSetupEvent(eventName, eventData) {
- //noinspection TaskProblemsInspection
- var event = new MessageEvent(eventName, { 'view': window, 'bubbles': true, 'cancelable': true, 'data': eventData });
- document.dispatchEvent(event);
-}
-
/**
* Event handlers
*
@@ -617,7 +604,7 @@ function fireCSharpSetupEvent(eventName, eventData) {
function attachEventHandlers() {
if (typeof ($) === "function") {
$("#open-text-folder").onOnce('click', function () {
- fireCSharpSetupEvent('openTextsFolderEvent', 'open');
+ getIframeChannel().simpleAjaxNoCallback('/bloom/readers/openTextsFolder');
return false;
});
diff --git a/src/BloomBrowserUI/bookEdit/readerSetup/readerSetup.ui.ts b/src/BloomBrowserUI/bookEdit/readerSetup/readerSetup.ui.ts
index e5826f6056fa..ef376548baa4 100644
--- a/src/BloomBrowserUI/bookEdit/readerSetup/readerSetup.ui.ts
+++ b/src/BloomBrowserUI/bookEdit/readerSetup/readerSetup.ui.ts
@@ -610,20 +610,6 @@ function firstSetupLetters(): boolean {
return false;
}
-/**
- * Fires an event for C# to handle.
- * The listeners in C# are set up in EditingModel.cs, in the function "DocumentCompleted()", and using this
- * syntax: _view.AddMessageEventListener("nameOfEvent", FunctionThatHandlesTheEvent);
- * @param {String} eventName
- * @param {String} eventData Note: use JSON.stringify if passing object data.
- */
-function fireCSharpSetupEvent(eventName: string, eventData: any) {
-
- //noinspection TaskProblemsInspection
- var event = new MessageEvent(eventName, {'view' : window, 'bubbles' : true, 'cancelable' : true, 'data' : eventData});
- document.dispatchEvent(event);
-}
-
/**
* Event handlers
*
@@ -636,7 +622,7 @@ function attachEventHandlers(): void {
if (typeof ($) === "function") {
$("#open-text-folder").onOnce('click', function() {
- fireCSharpSetupEvent('openTextsFolderEvent', 'open');
+ getIframeChannel().simpleAjaxNoCallback('/bloom/readers/openTextsFolder');
return false;
});
diff --git a/src/BloomExe/Edit/EditingModel.cs b/src/BloomExe/Edit/EditingModel.cs
index 4d9c51a68906..a37bc35e09ce 100644
--- a/src/BloomExe/Edit/EditingModel.cs
+++ b/src/BloomExe/Edit/EditingModel.cs
@@ -565,7 +565,6 @@ void OnIdleAfterDocumentSupposedlyCompleted(object sender, EventArgs e)
}
// listen for events raised by javascript
_view.AddMessageEventListener("saveAccordionSettingsEvent", SaveAccordionSettings);
- _view.AddMessageEventListener("openTextsFolderEvent", OpenTextsFolder);
_view.AddMessageEventListener("setModalStateEvent", SetModalState);
_view.AddMessageEventListener("preparePageForEditingAfterOrigamiChangesEvent", PreparePageForEditingAfterOrigamiChanges);
}
@@ -695,16 +694,6 @@ private static string CleanUpJsonDataForJavascript(string jsonData)
return CleanUpDataForJavascript(jsonData);
}
- /// Opens Explorer (or Linux equivalent) displaying the contents of the Sample Texts directory
- /// Not Used, but required because it is being called by a javascrip MessageEvent
- private void OpenTextsFolder(string arg)
- {
- if (_collectionSettings.SettingsFilePath == null) return;
- var path = Path.Combine(Path.GetDirectoryName(_collectionSettings.SettingsFilePath), "Sample Texts");
- if (!Directory.Exists(path)) Directory.CreateDirectory(path);
- Process.Start(path);
- }
-
private string MakeAccordionContent()
{
var path = FileLocator.GetFileDistributedWithApplication("BloomBrowserUI/bookEdit/accordion", "Accordion.htm");
diff --git a/src/BloomExe/web/ReadersHandler.cs b/src/BloomExe/web/ReadersHandler.cs
index d6a0aab724fc..8a2d6f27546a 100644
--- a/src/BloomExe/web/ReadersHandler.cs
+++ b/src/BloomExe/web/ReadersHandler.cs
@@ -81,6 +81,12 @@ public static bool HandleRequest(string localPath, IRequestInfo info, Collection
info.ContentType = "text/plain";
info.WriteCompleteOutput("OK");
return true;
+
+ case "openTextsFolder":
+ OpenTextsFolder();
+ info.ContentType = "text/plain";
+ info.WriteCompleteOutput("OK");
+ return true;
}
return false;
@@ -275,5 +281,13 @@ private static string SaveReaderToolsWordsFile(string jsonString)
return "OK";
}
+
+ private static void OpenTextsFolder()
+ {
+ if (CurrentBook.CollectionSettings.SettingsFilePath == null) return;
+ var path = Path.Combine(Path.GetDirectoryName(CurrentBook.CollectionSettings.SettingsFilePath), "Sample Texts");
+ if (!Directory.Exists(path)) Directory.CreateDirectory(path);
+ Process.Start(path);
+ }
}
}