diff --git a/apps/common/main/resources/less/toolbar.less b/apps/common/main/resources/less/toolbar.less index c90ccf813..f633706bc 100644 --- a/apps/common/main/resources/less/toolbar.less +++ b/apps/common/main/resources/less/toolbar.less @@ -323,3 +323,4 @@ .button-normal-icon(btn-controls, 54, @toolbar-big-icon-size); .button-normal-icon(~'x-huge .btn-select-pivot', 55, @toolbar-big-icon-size); .button-normal-icon(~'x-huge .btn-bookmarks', 56, @toolbar-big-icon-size); +.button-normal-icon(btn-print-area, 56, @toolbar-big-icon-size); \ No newline at end of file diff --git a/apps/spreadsheeteditor/main/app/controller/Toolbar.js b/apps/spreadsheeteditor/main/app/controller/Toolbar.js index 4c4714a43..e10d7f998 100644 --- a/apps/spreadsheeteditor/main/app/controller/Toolbar.js +++ b/apps/spreadsheeteditor/main/app/controller/Toolbar.js @@ -354,6 +354,8 @@ define([ toolbar.btnPageOrient.menu.on('item:click', _.bind(this.onPageOrientSelect, this)); toolbar.btnPageMargins.menu.on('item:click', _.bind(this.onPageMarginsSelect, this)); toolbar.mnuPageSize.on('item:click', _.bind(this.onPageSizeClick, this)); + toolbar.btnPrintArea.menu.on('item:click', _.bind(this.onPrintAreaClick, this)); + toolbar.btnPrintArea.menu.on('show:after', _.bind(this.onPrintAreaMenuOpen, this)); toolbar.btnImgGroup.menu.on('item:click', _.bind(this.onImgGroupSelect, this)); toolbar.btnImgBackward.menu.on('item:click', _.bind(this.onImgArrangeSelect, this)); toolbar.btnImgForward.menu.on('item:click', _.bind(this.onImgArrangeSelect, this)); @@ -3260,6 +3262,20 @@ define([ Common.component.Analytics.trackEvent('ToolBar', 'Objects Align'); }, + onPrintAreaClick: function(menu, item) { + if (this.api) { + this.api.asc_ChangePrintArea(item.value); + Common.component.Analytics.trackEvent('ToolBar', 'Print Area'); + } + + Common.NotificationCenter.trigger('edit:complete', this.toolbar); + }, + + onPrintAreaMenuOpen: function() { + if (this.api) + this.toolbar.btnPrintArea.menu.items[2].setVisible(this.api.asc_CanAddPrintArea()); + }, + textEmptyImgUrl : 'You need to specify image URL.', warnMergeLostData : 'Operation can destroy data in the selected cells.
Continue?', textWarning : 'Warning', diff --git a/apps/spreadsheeteditor/main/app/template/Toolbar.template b/apps/spreadsheeteditor/main/app/template/Toolbar.template index 708cb7936..d6054321a 100644 --- a/apps/spreadsheeteditor/main/app/template/Toolbar.template +++ b/apps/spreadsheeteditor/main/app/template/Toolbar.template @@ -141,6 +141,7 @@ +
diff --git a/apps/spreadsheeteditor/main/app/view/Toolbar.js b/apps/spreadsheeteditor/main/app/view/Toolbar.js index dcee358b6..b1bac7699 100644 --- a/apps/spreadsheeteditor/main/app/view/Toolbar.js +++ b/apps/spreadsheeteditor/main/app/view/Toolbar.js @@ -1406,6 +1406,31 @@ define([ }); me.mnuPageSize = me.btnPageSize.menu; + me.btnPrintArea = new Common.UI.Button({ + id: 'tlbtn-printarea', + cls: 'btn-toolbar x-huge icon-top', + iconCls: 'btn-print-area', + caption: me.capBtnPrintArea, + lock : [_set.selChart, _set.selChartText, _set.selShape, _set.selShapeText, _set.selImage, _set.editCell, _set.selRangeEdit, _set.docPropsLock, _set.lostConnect, _set.coAuth], + menu: new Common.UI.Menu({ + cls: 'ppm-toolbar', + items: [ + { + caption: me.textSetPrintArea, + value: Asc.c_oAscChangePrintAreaType.set + }, + { + caption: me.textClearPrintArea, + value: Asc.c_oAscChangePrintAreaType.clear + }, + { + caption: me.textAddPrintArea, + value: Asc.c_oAscChangePrintAreaType.add + } + ] + }) + }); + me.btnImgAlign = new Common.UI.Button({ cls: 'btn-toolbar x-huge icon-top', iconCls: 'btn-img-align', @@ -1461,7 +1486,7 @@ define([ me.btnInsertChart, me.btnColorSchemas, me.btnAutofilter, me.btnCopy, me.btnPaste, me.listStyles, me.btnPrint, /*me.btnSave,*/ me.btnClearStyle, me.btnCopyStyle, - me.btnPageMargins, me.btnPageSize, me.btnPageOrient, me.btnImgAlign, me.btnImgBackward, me.btnImgForward, me.btnImgGroup + me.btnPageMargins, me.btnPageSize, me.btnPageOrient, me.btnPrintArea, me.btnImgAlign, me.btnImgBackward, me.btnImgForward, me.btnImgGroup ]; var _temp_array = [me.cmbFontName, me.cmbFontSize, me.btnAlignLeft,me.btnAlignCenter,me.btnAlignRight,me.btnAlignJust,me.btnAlignTop, @@ -1630,6 +1655,7 @@ define([ _injectComponent('#slot-btn-pageorient', this.btnPageOrient); _injectComponent('#slot-btn-pagemargins', this.btnPageMargins); _injectComponent('#slot-btn-pagesize', this.btnPageSize); + _injectComponent('#slot-btn-printarea', this.btnPrintArea); _injectComponent('#slot-img-align', this.btnImgAlign); _injectComponent('#slot-img-group', this.btnImgGroup); _injectComponent('#slot-img-movefrwd', this.btnImgForward); @@ -1706,6 +1732,7 @@ define([ _updateHint(this.btnPageOrient, this.tipPageOrient); _updateHint(this.btnPageSize, this.tipPageSize); _updateHint(this.btnPageMargins, this.tipPageMargins); + _updateHint(this.btnPrintArea, this.tipPrintArea); // set menus if (this.btnBorders && this.btnBorders.rendered) { @@ -2409,6 +2436,11 @@ define([ textBottom: 'Bottom: ', textRight: 'Right: ', textPortrait: 'Portrait', - textLandscape: 'Landscape' + textLandscape: 'Landscape', + capBtnPrintArea: 'Print Area', + textSetPrintArea: 'Set Print Area', + textClearPrintArea: 'Clear Print Area', + textAddPrintArea: 'Add to Print Area', + tipPrintArea: 'Print Area' }, SSE.Views.Toolbar || {})); }); \ No newline at end of file diff --git a/apps/spreadsheeteditor/main/locale/en.json b/apps/spreadsheeteditor/main/locale/en.json index 69d286e4b..852f289d8 100644 --- a/apps/spreadsheeteditor/main/locale/en.json +++ b/apps/spreadsheeteditor/main/locale/en.json @@ -2074,6 +2074,11 @@ "SSE.Views.Toolbar.txtTime": "Time", "SSE.Views.Toolbar.txtUnmerge": "Unmerge Cells", "SSE.Views.Toolbar.txtYen": "¥ Yen", + "SSE.Views.Toolbar.capBtnPrintArea": "Print Area", + "SSE.Views.Toolbar.textSetPrintArea": "Set Print Area", + "SSE.Views.Toolbar.textClearPrintArea": "Clear Print Area", + "SSE.Views.Toolbar.textAddPrintArea": "Add to Print Area", + "SSE.Views.Toolbar.tipPrintArea": "Print Area", "SSE.Views.Top10FilterDialog.cancelButtonText": "Cancel", "SSE.Views.Top10FilterDialog.okButtonText": "OK", "SSE.Views.Top10FilterDialog.textType": "Show",