Skip to content
This repository has been archived by the owner on Sep 6, 2021. It is now read-only.

Commit

Permalink
Fix API changes to not publicly expose things we shouldn't ;)
Browse files Browse the repository at this point in the history
  • Loading branch information
JakeStoeffler committed Jun 20, 2013
1 parent c047b0b commit d37f69b
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 12 deletions.
30 changes: 23 additions & 7 deletions src/document/Document.js
Original file line number Diff line number Diff line change
Expand Up @@ -425,22 +425,38 @@ define(function (require, exports, module) {
};

/**
* Sets the language of this document to the given language.
* @param {!Language} language The language to be set for this document
* Overrides the default language of this document and sets it to the given
* language.
* @param {?Language} language The language to be set for this document; if
* null, the language will be set back to the default.
*/
Document.prototype.setLanguage = function (language) {
Document.prototype.forceLanguage = function (language) {
var oldLanguage = this.language;
this.language = language;
if (oldLanguage && oldLanguage !== this.language) {
if (language) {
language.forced = true;
this.language = language;
$(this).triggerHandler("languageChanged", [oldLanguage, this.language]);
} else { // if language was null, reset to default language
if (oldLanguage.forced) {
delete oldLanguage.forced;
}
this._updateLanguage();
}
};

/**
* Updates the language according to the file extension
* Updates the language according to the file extension. If the current
* language was forced (set manually by user), don't change it.
*/
Document.prototype._updateLanguage = function () {
this.setLanguage(LanguageManager.getLanguageForPath(this.file.fullPath));
var oldLanguage = this.language;
if (oldLanguage && oldLanguage.forced) {
return;
}
this.language = LanguageManager.getLanguageForPath(this.file.fullPath);
if (oldLanguage && oldLanguage !== this.language) {
$(this).triggerHandler("languageChanged", [oldLanguage, this.language]);
}
};

/** Called when Document.file has been modified (due to a rename) */
Expand Down
7 changes: 3 additions & 4 deletions src/editor/EditorStatusBar.js
Original file line number Diff line number Diff line change
Expand Up @@ -185,13 +185,12 @@ define(function (require, exports, module) {
Dialogs.showModalDialogUsingTemplate(template)
.done(function (btnId) {
if (btnId === Dialogs.DIALOG_BTN_OK) {
document.setLanguage(
document.forceLanguage(
LanguageManager.getLanguage(selectedLanguage)
);
} else if (btnId === "reset") {
document.setLanguage( // set to default lang for this file
LanguageManager.getLanguageForPath(document.file.fullPath)
);
// set to default lang for this file
document.forceLanguage(null);
}
});
// set initial value and change handler for select box
Expand Down
2 changes: 1 addition & 1 deletion src/language/LanguageManager.js
Original file line number Diff line number Diff line change
Expand Up @@ -244,7 +244,7 @@ define(function (require, exports, module) {
* languages currently defined.
*/
function getLanguages() {
return _languages;
return $.extend({}, _languages); // copy to prevent modification
}

/**
Expand Down

0 comments on commit d37f69b

Please sign in to comment.