diff --git a/apps/common/main/lib/component/Mixtbar.js b/apps/common/main/lib/component/Mixtbar.js index eea3de7db..0798a0fe9 100644 --- a/apps/common/main/lib/component/Mixtbar.js +++ b/apps/common/main/lib/component/Mixtbar.js @@ -164,7 +164,7 @@ define([ }, collapseToolbar: function() { - if ( optsFold.$bar ) { + if ( this.isFolded && optsFold.$bar ) { optsFold.$bar.removeClass('expanded'); optsFold.$bar.find('.tabs .ribtab').removeClass('active'); } diff --git a/apps/common/main/lib/controller/Comments.js b/apps/common/main/lib/controller/Comments.js index 867fb158a..bf32c4481 100644 --- a/apps/common/main/lib/controller/Comments.js +++ b/apps/common/main/lib/controller/Comments.js @@ -584,9 +584,8 @@ define([ } }, onAppAddComment: function () { - if ( this.api.can_AddQuotedComment() !== false ) { - this.addDummyComment(); - } + if ( this.can_AddQuotedComment && this.api.can_AddQuotedComment() === false ) return; + this.addDummyComment(); }, // SDK diff --git a/apps/common/main/resources/img/controls/toolbarbig.png b/apps/common/main/resources/img/controls/toolbarbig.png index 988d87fdd..46aca94a1 100644 Binary files a/apps/common/main/resources/img/controls/toolbarbig.png and b/apps/common/main/resources/img/controls/toolbarbig.png differ diff --git a/apps/common/main/resources/img/controls/toolbarbig@2x.png b/apps/common/main/resources/img/controls/toolbarbig@2x.png index 073facaba..4b49b6d5d 100644 Binary files a/apps/common/main/resources/img/controls/toolbarbig@2x.png and b/apps/common/main/resources/img/controls/toolbarbig@2x.png differ diff --git a/apps/common/main/resources/less/toolbar.less b/apps/common/main/resources/less/toolbar.less index a75974f47..2484f0643 100644 --- a/apps/common/main/resources/less/toolbar.less +++ b/apps/common/main/resources/less/toolbar.less @@ -261,3 +261,23 @@ } .button-otherstates-icon2(btn-toolbar, @toolbar-icon-size); + +@toolbar-big-icon-size: 26px; +.button-normal-icon(btn-inserttable, 0, @toolbar-big-icon-size); +.button-normal-icon(btn-insertimage, 1, @toolbar-big-icon-size); +.button-normal-icon(btn-insertchart, 2, @toolbar-big-icon-size); +.button-normal-icon(btn-text, 3, @toolbar-big-icon-size); +.button-normal-icon(btn-insertshape, 4, @toolbar-big-icon-size); +.button-normal-icon(btn-ic-doclang, 5, @toolbar-big-icon-size); +.button-normal-icon(btn-textart, 6, @toolbar-big-icon-size); +.button-normal-icon(btn-insertequation, 7, @toolbar-big-icon-size); +.button-normal-icon(btn-notes, 8, @toolbar-big-icon-size); +.button-normal-icon(btn-inserthyperlink, 9, @toolbar-big-icon-size); +.button-normal-icon(~'x-huge .btn-menu-comments', 10, @toolbar-big-icon-size); +.button-normal-icon(btn-addslide, 11, @toolbar-big-icon-size); +.button-normal-icon(~'x-huge .btn-ic-docspell', 12, @toolbar-big-icon-size); +.button-normal-icon(~'x-huge .btn-ic-review', 13, @toolbar-big-icon-size); +.button-normal-icon(review-save, 14, @toolbar-big-icon-size); +.button-normal-icon(review-deny, 15, @toolbar-big-icon-size); +.button-normal-icon(review-next, 16, @toolbar-big-icon-size); +.button-normal-icon(review-prev, 17, @toolbar-big-icon-size); diff --git a/apps/documenteditor/main/app/controller/Main.js b/apps/documenteditor/main/app/controller/Main.js index 88f0fd42a..1b18ebcd6 100644 --- a/apps/documenteditor/main/app/controller/Main.js +++ b/apps/documenteditor/main/app/controller/Main.js @@ -2100,7 +2100,10 @@ define([ txtStyle_Subtitle: 'Subtitle', txtStyle_Quote: 'Quote', txtStyle_Intense_Quote: 'Intense Quote', - txtStyle_List_Paragraph: 'List Paragraph' + txtStyle_List_Paragraph: 'List Paragraph', + saveTextText: 'Saving document...', + saveTitleText: 'Saving Document' + } })(), DE.Controllers.Main || {})) }); \ No newline at end of file diff --git a/apps/documenteditor/main/app/controller/Toolbar.js b/apps/documenteditor/main/app/controller/Toolbar.js index a441ba4d2..023b12c95 100644 --- a/apps/documenteditor/main/app/controller/Toolbar.js +++ b/apps/documenteditor/main/app/controller/Toolbar.js @@ -728,6 +728,12 @@ define([ if (toolbar.listStylesAdditionalMenuItem && (frame_pr===undefined) !== toolbar.listStylesAdditionalMenuItem.isDisabled()) toolbar.listStylesAdditionalMenuItem.setDisabled(frame_pr===undefined); + need_disable = paragraph_locked || header_locked || in_chart || this.api.can_AddQuotedComment()===false; + if (this.btnsComment && this.btnsComment.length>0 && need_disable != this.btnsComment[0].isDisabled()) + _.each (this.btnsComment, function(item){ + item.setDisabled(need_disable); + }, this); + this._state.in_equation = in_equation; }, @@ -2787,7 +2793,7 @@ define([ var me = this; if ( config.canCoAuthoring && config.canComments ) { - var _btnsComment = []; + this.btnsComment = []; var slots = me.toolbar.$el.find('.slot-comment'); slots.each(function(index, el) { var _cls = 'btn-toolbar'; @@ -2799,13 +2805,13 @@ define([ caption: me.toolbar.capBtnComment }).render( slots.eq(index) ); - _btnsComment.push(button); + me.btnsComment.push(button); }); - if ( _btnsComment.length ) { + if ( this.btnsComment.length ) { var _comments = DE.getController('Common.Controllers.Comments').getView(); - Array.prototype.push.apply(me.toolbar.toolbarControls, _btnsComment); - _btnsComment.forEach(function (btn) { + Array.prototype.push.apply(me.toolbar.paragraphControls, this.btnsComment); + this.btnsComment.forEach(function (btn) { btn.updateHint( _comments.textAddComment ); btn.on('click', function (btn, e) { Common.NotificationCenter.trigger('app:comment:add', 'toolbar'); diff --git a/apps/documenteditor/main/locale/en.json b/apps/documenteditor/main/locale/en.json index 2f131614a..c19227237 100644 --- a/apps/documenteditor/main/locale/en.json +++ b/apps/documenteditor/main/locale/en.json @@ -282,8 +282,8 @@ "DE.Controllers.Main.saveErrorText": "An error has occurred while saving the file", "DE.Controllers.Main.savePreparingText": "Preparing to save", "DE.Controllers.Main.savePreparingTitle": "Preparing to save. Please wait...", - "del_DE.Controllers.Main.saveTextText": "Saving document...", - "del_DE.Controllers.Main.saveTitleText": "Saving Document", + "DE.Controllers.Main.saveTextText": "Saving document...", + "DE.Controllers.Main.saveTitleText": "Saving Document", "DE.Controllers.Main.sendMergeText": "Sending Merge...", "DE.Controllers.Main.sendMergeTitle": "Sending Merge", "DE.Controllers.Main.splitDividerErrorText": "The number of rows must be a divisor of %1.", diff --git a/apps/documenteditor/main/resources/less/toolbar.less b/apps/documenteditor/main/resources/less/toolbar.less index 20536ef62..eaaca90ff 100644 --- a/apps/documenteditor/main/resources/less/toolbar.less +++ b/apps/documenteditor/main/resources/less/toolbar.less @@ -225,7 +225,6 @@ } @toolbar-icon-size: 20px; -@toolbar-big-icon-size: 26px; .button-normal-icon(btn-align-center, 0, @toolbar-icon-size); .button-normal-icon(btn-align-just, 1, @toolbar-icon-size); .button-normal-icon(btn-align-left, 2, @toolbar-icon-size); @@ -302,24 +301,6 @@ //.button-normal-icon(review-save, 81, @toolbar-icon-size); //.button-normal-icon(review-deny, 82, @toolbar-icon-size); -.button-normal-icon(btn-inserttable, 0, @toolbar-big-icon-size); -.button-normal-icon(btn-insertimage, 1, @toolbar-big-icon-size); -.button-normal-icon(btn-insertshape, 2, @toolbar-big-icon-size); -.button-normal-icon(btn-text, 3, @toolbar-big-icon-size); -.button-normal-icon(btn-inserthyperlink, 4, @toolbar-big-icon-size); -.button-normal-icon(~'x-huge .btn-menu-comments', 5, @toolbar-big-icon-size); -.button-normal-icon(btn-textart, 6, @toolbar-big-icon-size); -.button-normal-icon(btn-insertequation, 7, @toolbar-big-icon-size); -.button-normal-icon(btn-insertchart, 9, @toolbar-big-icon-size); -.button-normal-icon(btn-notes, 8, @toolbar-big-icon-size); -.button-normal-icon(btn-ic-doclang, 11, @toolbar-big-icon-size); -.button-normal-icon(~'x-huge .btn-ic-docspell', 12, @toolbar-big-icon-size); -.button-normal-icon(~'x-huge .btn-ic-review', 13, @toolbar-big-icon-size); -.button-normal-icon(review-save, 14, @toolbar-big-icon-size); -.button-normal-icon(review-deny, 15, @toolbar-big-icon-size); -.button-normal-icon(review-next, 16, @toolbar-big-icon-size); -.button-normal-icon(review-prev, 17, @toolbar-big-icon-size); - @menu-icon-size: 22px; .menu-icon-normal(mnu-wrap-inline, 0, @menu-icon-size); .menu-icon-normal(mnu-wrap-square, 1, @menu-icon-size); diff --git a/apps/presentationeditor/main/app/controller/Toolbar.js b/apps/presentationeditor/main/app/controller/Toolbar.js index 9ee7a08ea..8131cce77 100644 --- a/apps/presentationeditor/main/app/controller/Toolbar.js +++ b/apps/presentationeditor/main/app/controller/Toolbar.js @@ -584,6 +584,8 @@ define([ ]}); this.toolbar.lockToolbar(PE.enumLock.noSlides, this._state.no_slides, { array: this.toolbar.btnsInsertImage.concat(this.toolbar.btnsInsertText, this.toolbar.btnsInsertShape) }); + if (this.btnsComment) + this.toolbar.lockToolbar(PE.enumLock.noSlides, this._state.no_slides, { array: this.btnsComment }); } }, @@ -648,9 +650,11 @@ define([ if (shape_locked!==undefined && this._state.shapecontrolsdisable !== shape_locked) { if (this._state.activated) this._state.shapecontrolsdisable = shape_locked; - this.toolbar.lockToolbar(PE.enumLock.shapeLock, shape_locked, {array: me.toolbar.shapeControls.concat(me.toolbar.paragraphControls)}); + this.toolbar.lockToolbar(PE.enumLock.shapeLock, shape_locked, {array: me.toolbar.shapeControls.concat(me.toolbar.paragraphControls).concat(me.btnsComment)}); } + this.toolbar.lockToolbar(PE.enumLock.commentLock, this.api.can_AddQuotedComment() === false, { array: this.btnsComment }); + if (this._state.no_object !== no_object ) { if (this._state.activated) this._state.no_object = no_object; this.toolbar.lockToolbar(PE.enumLock.noObjectSelected, no_object, {array: [me.toolbar.btnShapeAlign, me.toolbar.btnShapeArrange ]}); @@ -2059,8 +2063,9 @@ define([ onAppReady: function (config) { var me = this; + this.btnsComment = []; if ( config.canCoAuthoring && config.canComments ) { - var _btnsComment = []; + var _set = PE.enumLock; var slots = me.toolbar.$el.find('.slot-comment'); slots.each(function(index, el) { var _cls = 'btn-toolbar'; @@ -2068,22 +2073,25 @@ define([ var button = new Common.UI.Button({ cls: _cls, - iconCls: 'svgicon svg-btn-comments', + iconCls: 'btn-menu-comments', + lock: [_set.slideDeleted, _set.lostConnect, _set.noSlides, _set.shapeLock, _set.commentLock], caption: me.toolbar.capBtnComment }).render( slots.eq(index) ); - _btnsComment.push(button); + me.btnsComment.push(button); }); - if ( _btnsComment.length ) { + if ( this.btnsComment.length ) { var _comments = PE.getController('Common.Controllers.Comments').getView(); - // Array.prototype.push.apply(me.toolbar.toolbarControls, _btnsComment); - _btnsComment.forEach(function (btn) { + Array.prototype.push.apply(me.toolbar.lockControls, this.btnsComment); + Array.prototype.push.apply(me.toolbar.slideOnlyControls, this.btnsComment); + this.btnsComment.forEach(function (btn) { btn.updateHint( _comments.textAddComment ); btn.on('click', function (btn, e) { Common.NotificationCenter.trigger('app:comment:add', 'toolbar'); }); }, this); + this.toolbar.lockToolbar(PE.enumLock.noSlides, this._state.no_slides, { array: this.btnsComment }); } } diff --git a/apps/presentationeditor/main/app/view/Toolbar.js b/apps/presentationeditor/main/app/view/Toolbar.js index 63bc160cc..e09575257 100644 --- a/apps/presentationeditor/main/app/view/Toolbar.js +++ b/apps/presentationeditor/main/app/view/Toolbar.js @@ -79,7 +79,8 @@ define([ disableOnStart: 'on-start', cantPrint: 'cant-print', noTextSelected: 'no-text', - inEquation: 'in-equation' + inEquation: 'in-equation', + commentLock: 'can-comment' }; var buttonsArray = function (opts) { @@ -1016,7 +1017,7 @@ define([ slot: '.slot-inserttext', btnconfig: { cls : 'btn-toolbar x-huge icon-top', - iconCls : 'btn-inserttext', + iconCls : 'btn-text', caption : me.capInsertText, lock : [PE.enumLock.slideDeleted, PE.enumLock.lostConnect, PE.enumLock.noSlides, PE.enumLock.disableOnStart], enableToggle: true, diff --git a/apps/presentationeditor/main/resources/less/toolbar.less b/apps/presentationeditor/main/resources/less/toolbar.less index 6f6d55dba..687417ca8 100644 --- a/apps/presentationeditor/main/resources/less/toolbar.less +++ b/apps/presentationeditor/main/resources/less/toolbar.less @@ -258,13 +258,13 @@ .toolbar-btn-icon(btn-align-shape, 38, @toolbar-icon-size); //.toolbar-btn-icon(btn-insertshape, 39, @toolbar-icon-size); -.button-normal-icon(btn-insertshape, 39, @toolbar-icon-size); +//.button-normal-icon(btn-insertshape, 39, @toolbar-icon-size); -.toolbar-btn-icon(btn-inserttext, 40, @toolbar-icon-size); -.toolbar-btn-icon(btn-inserthyperlink, 41, @toolbar-icon-size); -.toolbar-btn-icon(btn-inserttable, 42, @toolbar-icon-size); -.toolbar-btn-icon(btn-insertimage, 43, @toolbar-icon-size); -.toolbar-btn-icon(btn-insertchart, 44, @toolbar-icon-size); +//.toolbar-btn-icon(btn-inserttext, 40, @toolbar-icon-size); +//.toolbar-btn-icon(btn-inserthyperlink, 41, @toolbar-icon-size); +//.toolbar-btn-icon(btn-inserttable, 42, @toolbar-icon-size); +//.toolbar-btn-icon(btn-insertimage, 43, @toolbar-icon-size); +//.toolbar-btn-icon(btn-insertchart, 44, @toolbar-icon-size); .toolbar-btn-icon(btn-colorschemas, 45, @toolbar-icon-size); .toolbar-btn-icon(btn-slidesize, 46, @toolbar-icon-size); .toolbar-btn-icon(btn-hidebars, 47, @toolbar-icon-size); @@ -272,21 +272,21 @@ .toolbar-btn-icon(btn-zoomin, 61, @toolbar-icon-size); .toolbar-btn-icon(btn-zoomout, 60, @toolbar-icon-size); .toolbar-btn-icon(btn-save-coauth, 69, @toolbar-icon-size); -.toolbar-btn-icon(btn-insertequation, 74, @toolbar-icon-size); +//.toolbar-btn-icon(btn-insertequation, 74, @toolbar-icon-size); // add slide -.btn-toolbar .btn-addslide {background-position: 0 -120px;} -.btn-toolbar.active > .btn-addslide, -.btn-toolbar:active > .btn-addslide {background-position: -20px -120px;} -.btn-toolbar.disabled:not(.active) > .btn-addslide {background-position: -40px -120px;} -.btn-toolbar.disabled > .btn-addslide {background-position: -20px -120px; opacity: 0.6;} +//.btn-toolbar .btn-addslide {background-position: 0 -120px;} +//.btn-toolbar.active > .btn-addslide, +//.btn-toolbar:active > .btn-addslide {background-position: -20px -120px;} +//.btn-toolbar.disabled:not(.active) > .btn-addslide {background-position: -40px -120px;} +//.btn-toolbar.disabled > .btn-addslide {background-position: -20px -120px; opacity: 0.6;} -.btn-toolbar.large .btn-addslide {background-position: 0px -5px;} -//.btn-group.open .btn-toolbar.large > .btn-addslide, -.btn-toolbar.large.active > .btn-addslide, -.btn-toolbar.large:active > .btn-addslide {background-position: 0px -45px;} -.btn-toolbar.large.disabled:not(.active) > .btn-addslide {background-position: 0px -85px;} -.btn-toolbar.large.disabled > .btn-addslide {background-position: 0px -45px; opacity: 0.6;} +//.btn-toolbar.large .btn-addslide {background-position: 0px -5px;} +////.btn-group.open .btn-toolbar.large > .btn-addslide, +//.btn-toolbar.large.active > .btn-addslide, +//.btn-toolbar.large:active > .btn-addslide {background-position: 0px -45px;} +//.btn-toolbar.large.disabled:not(.active) > .btn-addslide {background-position: 0px -85px;} +//.btn-toolbar.large.disabled > .btn-addslide {background-position: 0px -45px; opacity: 0.6;} @menu-icon-size: 22px; .menu-btn-icon(mnu-align-center, 0, @menu-icon-size); diff --git a/apps/spreadsheeteditor/main/app/controller/Toolbar.js b/apps/spreadsheeteditor/main/app/controller/Toolbar.js index fdefb84c9..a7cc464a5 100644 --- a/apps/spreadsheeteditor/main/app/controller/Toolbar.js +++ b/apps/spreadsheeteditor/main/app/controller/Toolbar.js @@ -1600,7 +1600,7 @@ define([ toolbar.mnuitemClearFilter, toolbar.btnNamedRange.menu.items[0], toolbar.btnNamedRange.menu.items[1] - ], + ].concat(this.btnsComment), merge: true, clear: [SSE.enumLock.editFormula, SSE.enumLock.editText] }); @@ -2090,6 +2090,8 @@ define([ toolbar.btnAddCell.menu.items[1].setDisabled(this._state.controlsdisabled.cells_down); toolbar.btnDeleteCell.menu.items[1].setDisabled(this._state.controlsdisabled.cells_down); } + + toolbar.lockToolbar(SSE.enumLock.commentLock, info.asc_getComments().length>0, { array: this.btnsComment }); }, onApiSelectionChanged_DiagramEditor: function(info) { @@ -2677,7 +2679,7 @@ define([ toolbar.mnuitemSortZA, toolbar.mnuitemAutoFilter, toolbar.mnuitemClearFilter - ], + ].concat(this.btnsComment), merge: true, clear: [_set.selImage, _set.selChart, _set.selChartText, _set.selShape, _set.selShapeText, _set.coAuth] }); @@ -2887,8 +2889,9 @@ define([ onAppReady: function (config) { var me = this; + this.btnsComment = []; if ( config.canCoAuthoring && config.canComments ) { - var _btnsComment = []; + var _set = SSE.enumLock; var slots = me.toolbar.$el.find('.slot-comment'); slots.each(function(index, el) { var _cls = 'btn-toolbar'; @@ -2896,17 +2899,18 @@ define([ var button = new Common.UI.Button({ cls: _cls, - iconCls: 'svgicon svg-btn-comments', + iconCls: 'btn-menu-comments', + lock: [_set.editCell, _set.selChart, _set.selChartText, _set.selShape, _set.selShapeText, _set.selImage, _set.lostConnect, _set.coAuth, _set.commentLock], caption: me.toolbar.capBtnComment }).render( slots.eq(index) ); - _btnsComment.push(button); + me.btnsComment.push(button); }); - if ( _btnsComment.length ) { + if ( this.btnsComment.length ) { var _comments = SSE.getController('Common.Controllers.Comments').getView(); - Array.prototype.push.apply(me.toolbar.lockControls, _btnsComment); - _btnsComment.forEach(function (btn) { + Array.prototype.push.apply(me.toolbar.lockControls, this.btnsComment); + this.btnsComment.forEach(function (btn) { btn.updateHint( _comments.textAddComment ); btn.on('click', function (btn, e) { Common.NotificationCenter.trigger('app:comment:add', 'toolbar'); diff --git a/apps/spreadsheeteditor/main/app/view/Toolbar.js b/apps/spreadsheeteditor/main/app/view/Toolbar.js index 0aa3852a1..43aeec780 100644 --- a/apps/spreadsheeteditor/main/app/view/Toolbar.js +++ b/apps/spreadsheeteditor/main/app/view/Toolbar.js @@ -77,7 +77,8 @@ define([ menuFileOpen: 'menu-file-open', cantPrint: 'cant-print', multiselect: 'is-multiselect', - cantHyperlink: 'cant-hyperlink' + cantHyperlink: 'cant-hyperlink', + commentLock: 'can-comment' }; SSE.Views.Toolbar = Common.UI.Mixtbar.extend(_.extend({ diff --git a/apps/spreadsheeteditor/main/resources/less/toolbar.less b/apps/spreadsheeteditor/main/resources/less/toolbar.less index f0ed5f470..f24c03c53 100644 --- a/apps/spreadsheeteditor/main/resources/less/toolbar.less +++ b/apps/spreadsheeteditor/main/resources/less/toolbar.less @@ -128,9 +128,9 @@ .toolbar-btn-icon(btn-border-center, 31, @toolbar-icon-size); .toolbar-btn-icon(btn-border-hmiddle, 32, @toolbar-icon-size); .toolbar-btn-icon(btn-border-vmiddle, 33, @toolbar-icon-size); -.toolbar-btn-icon(btn-insertimage, 34, @toolbar-icon-size); -.toolbar-btn-icon(btn-inserthyperlink, 35, @toolbar-icon-size); -.toolbar-btn-icon(btn-insertchart, 36, @toolbar-icon-size); +//.toolbar-btn-icon(btn-insertimage, 34, @toolbar-icon-size); +//.toolbar-btn-icon(btn-inserthyperlink, 35, @toolbar-icon-size); +//.toolbar-btn-icon(btn-insertchart, 36, @toolbar-icon-size); .toolbar-btn-icon(btn-copy, 37, @toolbar-icon-size); .toolbar-btn-icon(btn-paste, 38, @toolbar-icon-size); .toolbar-btn-icon(btn-synch, 39, @toolbar-icon-size); @@ -141,8 +141,8 @@ .toolbar-btn-icon(btn-incfont, 44, @toolbar-icon-size); .toolbar-btn-icon(btn-decfont, 45, @toolbar-icon-size); .toolbar-btn-icon(btn-text-orient, 46, @toolbar-icon-size); -.toolbar-btn-icon(btn-insertshape, 47, @toolbar-icon-size); -.toolbar-btn-icon(btn-text, 48, @toolbar-icon-size); +//.toolbar-btn-icon(btn-insertshape, 47, @toolbar-icon-size); +//.toolbar-btn-icon(btn-text, 48, @toolbar-icon-size); .toolbar-btn-icon(btn-sort-up, 49, @toolbar-icon-size); .toolbar-btn-icon(btn-clear-filter, 50, @toolbar-icon-size); .toolbar-btn-icon(btn-percent-style, 51, @toolbar-icon-size); @@ -164,7 +164,7 @@ .toolbar-btn-icon(btn-border-diagdown, 43, @toolbar-icon-size); .toolbar-btn-icon(btn-named-range, 77, @toolbar-icon-size); -.toolbar-btn-icon(btn-insertequation, 82, @toolbar-icon-size); +//.toolbar-btn-icon(btn-insertequation, 82, @toolbar-icon-size); @menu-icon-size: 22px; .menu-btn-icon(mnu-align-center, 0, @menu-icon-size);