Commit 1f94bf50 authored by Alexander.Trofimov's avatar Alexander.Trofimov

move change theme to model

parent c26e1c3d
...@@ -2887,22 +2887,9 @@ var editor; ...@@ -2887,22 +2887,9 @@ var editor;
var t = this; var t = this;
var onChangeColorScheme = function (res) { var onChangeColorScheme = function (res) {
if (res) { if (res) {
var theme = t.wbModel.theme; if (t.wbModel.changeColorScheme(index)) {
var scheme = AscCommon.getColorThemeByIndex(index); t.asc_AfterChangeColorScheme();
if (!scheme) {
index -= AscCommon.g_oUserColorScheme.length;
if (index < 0 || index >= theme.extraClrSchemeLst.length) {
return;
}
scheme = theme.extraClrSchemeLst[index].clrScheme.createDuplicate();
} }
History.Create_NewPoint();
//не делаем Duplicate потому что предполагаем что схема не будет менять частями, а только обьектом целиком.
History.Add(AscCommonExcel.g_oUndoRedoWorkbook, AscCH.historyitem_Workbook_ChangeColorScheme, null,
null, new AscCommonExcel.UndoRedoData_ClrScheme(theme.themeElements.clrScheme, scheme));
theme.themeElements.clrScheme = scheme;
t.asc_AfterChangeColorScheme();
} }
}; };
// ToDo поправить заглушку, сделать новый тип lock element-а // ToDo поправить заглушку, сделать новый тип lock element-а
...@@ -2912,7 +2899,6 @@ var editor; ...@@ -2912,7 +2899,6 @@ var editor;
this._getIsLockObjectSheet(lockInfo, onChangeColorScheme); this._getIsLockObjectSheet(lockInfo, onChangeColorScheme);
}; };
spreadsheet_api.prototype.asc_AfterChangeColorScheme = function() { spreadsheet_api.prototype.asc_AfterChangeColorScheme = function() {
this.wbModel.rebuildColors();
this.asc_CheckGuiControlColors(); this.asc_CheckGuiControlColors();
this.asc_ApplyColorScheme(true); this.asc_ApplyColorScheme(true);
}; };
......
...@@ -2868,6 +2868,7 @@ UndoRedoWorkbook.prototype = { ...@@ -2868,6 +2868,7 @@ UndoRedoWorkbook.prototype = {
wb.theme.themeElements.clrScheme = Data.oldVal; wb.theme.themeElements.clrScheme = Data.oldVal;
else else
wb.theme.themeElements.clrScheme = Data.newVal; wb.theme.themeElements.clrScheme = Data.newVal;
wb.rebuildColors();
wb.oApi.asc_AfterChangeColorScheme(); wb.oApi.asc_AfterChangeColorScheme();
} }
else if (AscCH.historyitem_Workbook_DefinedNamesChange === Type || AscCH.historyitem_Workbook_DefinedNamesChangeUndo === Type) { else if (AscCH.historyitem_Workbook_DefinedNamesChange === Type || AscCH.historyitem_Workbook_DefinedNamesChangeUndo === Type) {
......
...@@ -2248,6 +2248,24 @@ ...@@ -2248,6 +2248,24 @@
var sheetId = this.getSheetIdByIndex(ascName.LocalSheetId); var sheetId = this.getSheetIdByIndex(ascName.LocalSheetId);
return new UndoRedoData_DefinedNames(ascName.Name, ascName.Ref, sheetId, ascName.isTable); return new UndoRedoData_DefinedNames(ascName.Name, ascName.Ref, sheetId, ascName.isTable);
}; };
Workbook.prototype.changeColorScheme = function (index) {
var scheme = AscCommon.getColorThemeByIndex(index);
if (!scheme) {
index -= AscCommon.g_oUserColorScheme.length;
if (index < 0 || index >= this.theme.extraClrSchemeLst.length) {
return false;
}
scheme = this.theme.extraClrSchemeLst[index].clrScheme.createDuplicate();
}
History.Create_NewPoint();
//не делаем Duplicate потому что предполагаем что схема не будет менять частями, а только обьектом целиком.
History.Add(AscCommonExcel.g_oUndoRedoWorkbook, AscCH.historyitem_Workbook_ChangeColorScheme, null,
null, new AscCommonExcel.UndoRedoData_ClrScheme(this.theme.themeElements.clrScheme, scheme));
this.theme.themeElements.clrScheme = scheme;
this.rebuildColors();
return true;
};
//------------------------------------------------------------------------------------------------- //-------------------------------------------------------------------------------------------------
/** /**
* @constructor * @constructor
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment