diff --git a/apps/common/main/lib/component/Menu.js b/apps/common/main/lib/component/Menu.js
index 42fafc2e6..0ddfc79c8 100644
--- a/apps/common/main/lib/component/Menu.js
+++ b/apps/common/main/lib/component/Menu.js
@@ -607,7 +607,7 @@ define([
if (this.options.additionalAlign)
this.options.additionalAlign.call(this, menuRoot, left, top);
else
- menuRoot.css({left: left, top: top});
+ menuRoot.css({left: Math.ceil(left), top: Math.ceil(top)});
},
clearAll: function() {
diff --git a/apps/common/main/resources/img/toolbar/shapetypes.svg b/apps/common/main/resources/img/toolbar/shapetypes.svg
new file mode 100644
index 000000000..da2a7ac9f
--- /dev/null
+++ b/apps/common/main/resources/img/toolbar/shapetypes.svg
@@ -0,0 +1,605 @@
+
diff --git a/apps/common/main/resources/less/toolbar.less b/apps/common/main/resources/less/toolbar.less
index 5978e804f..5f8c54c07 100644
--- a/apps/common/main/resources/less/toolbar.less
+++ b/apps/common/main/resources/less/toolbar.less
@@ -493,4 +493,20 @@
.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-blankpage, 57, @toolbar-big-icon-size);
-.button-normal-icon(btn-print-area, 58, @toolbar-big-icon-size);
\ No newline at end of file
+.button-normal-icon(btn-print-area, 58, @toolbar-big-icon-size);
+
+.item-shape {
+ .icon {
+ width: 20px;
+ height: 20px;
+ }
+
+ svg.icon {
+ display: inline-block;
+ vertical-align: middle;
+ fill: #444444;
+ }
+
+ width: 20px;
+ height: 20px;
+}
diff --git a/apps/documenteditor/main/app/controller/Main.js b/apps/documenteditor/main/app/controller/Main.js
index fe3fd490a..ce84eadbe 100644
--- a/apps/documenteditor/main/app/controller/Main.js
+++ b/apps/documenteditor/main/app/controller/Main.js
@@ -1792,7 +1792,6 @@ define([
_.each(shapes[index], function(shape, idx){
store.add({
- imageUrl : shape.Image,
data : {shapeType: shape.Type},
tip : me['txtShape_' + shape.Type] || (me.textShape + ' ' + (idx+1)),
allowSelected : true,
diff --git a/apps/documenteditor/main/app/controller/Toolbar.js b/apps/documenteditor/main/app/controller/Toolbar.js
index 4bd68ba8f..36ffd3609 100644
--- a/apps/documenteditor/main/app/controller/Toolbar.js
+++ b/apps/documenteditor/main/app/controller/Toolbar.js
@@ -2281,7 +2281,7 @@ define([
store: shapeGroup.get('groupStore'),
parentMenu: menuItem.menu,
showLast: false,
- itemTemplate: _.template('

')
+ itemTemplate: _.template('')
});
shapePicker.on('item:click', function(picker, item, record, e) {
diff --git a/apps/documenteditor/main/app/view/ShapeSettings.js b/apps/documenteditor/main/app/view/ShapeSettings.js
index ce9931af6..b7079382f 100644
--- a/apps/documenteditor/main/app/view/ShapeSettings.js
+++ b/apps/documenteditor/main/app/view/ShapeSettings.js
@@ -1541,7 +1541,7 @@ define([
parentMenu: me.textureMenu,
showLast: false,
store: new Common.UI.DataViewStore(texturearray),
- itemTemplate: _.template('')
+ itemTemplate: _.template('')
});
mnuTexturePicker.on('item:click', _.bind(this.onSelectTexture, this));
}
@@ -1612,7 +1612,7 @@ define([
store: store,
parentMenu: menuItem.menu,
showLast: false,
- itemTemplate: _.template('')
+ itemTemplate: _.template('')
});
shapePicker.on('item:click', function(picker, item, record, e) {
@@ -1844,8 +1844,8 @@ define([
textRotation: 'Rotation',
textRotate90: 'Rotate 90°',
textFlip: 'Flip',
- textHint270: 'Rotate Left 90°',
- textHint90: 'Rotate Right 90°',
+ textHint270: 'Rotate 90° Counterclockwise',
+ textHint90: 'Rotate 90° Clockwise',
textHintFlipV: 'Flip Vertically',
textHintFlipH: 'Flip Horizontally'
}, DE.Views.ShapeSettings || {}));
diff --git a/apps/documenteditor/main/index.html b/apps/documenteditor/main/index.html
index eb828a57d..442aff941 100644
--- a/apps/documenteditor/main/index.html
+++ b/apps/documenteditor/main/index.html
@@ -262,6 +262,7 @@
+
diff --git a/apps/documenteditor/main/index.html.deploy b/apps/documenteditor/main/index.html.deploy
index 58c504339..b02b7ed29 100644
--- a/apps/documenteditor/main/index.html.deploy
+++ b/apps/documenteditor/main/index.html.deploy
@@ -293,6 +293,7 @@
+
diff --git a/apps/presentationeditor/main/app/controller/Main.js b/apps/presentationeditor/main/app/controller/Main.js
index f63c9fdec..596403e8c 100644
--- a/apps/presentationeditor/main/app/controller/Main.js
+++ b/apps/presentationeditor/main/app/controller/Main.js
@@ -1587,7 +1587,6 @@ define([
_.each(shapes[index], function(shape, idx){
store.add({
- imageUrl : shape.Image,
data : {shapeType: shape.Type},
tip : me['txtShape_' + shape.Type] || (me.textShape + ' ' + (idx+1)),
allowSelected : true,
diff --git a/apps/presentationeditor/main/app/view/ShapeSettings.js b/apps/presentationeditor/main/app/view/ShapeSettings.js
index 32ce9c75e..46c1751fa 100644
--- a/apps/presentationeditor/main/app/view/ShapeSettings.js
+++ b/apps/presentationeditor/main/app/view/ShapeSettings.js
@@ -1415,7 +1415,7 @@ define([
parentMenu: me.textureMenu,
showLast: false,
store: new Common.UI.DataViewStore(texturearray),
- itemTemplate: _.template('')
+ itemTemplate: _.template('')
});
mnuTexturePicker.on('item:click', _.bind(this.onSelectTexture, this));
}
@@ -1468,7 +1468,7 @@ define([
store: store,
parentMenu: menuItem.menu,
showLast: false,
- itemTemplate: _.template('')
+ itemTemplate: _.template('')
});
shapePicker.on('item:click', function(picker, item, record, e) {
@@ -1708,8 +1708,8 @@ define([
textRotation: 'Rotation',
textRotate90: 'Rotate 90°',
textFlip: 'Flip',
- textHint270: 'Rotate Left 90°',
- textHint90: 'Rotate Right 90°',
+ textHint270: 'Rotate 90° Counterclockwise',
+ textHint90: 'Rotate 90° Clockwise',
textHintFlipV: 'Flip Vertically',
textHintFlipH: 'Flip Horizontally'
}, PE.Views.ShapeSettings || {}));
diff --git a/apps/presentationeditor/main/app/view/SlideSettings.js b/apps/presentationeditor/main/app/view/SlideSettings.js
index 16e55a5ea..900517ec0 100644
--- a/apps/presentationeditor/main/app/view/SlideSettings.js
+++ b/apps/presentationeditor/main/app/view/SlideSettings.js
@@ -849,7 +849,7 @@ define([
parentMenu: me.textureMenu,
showLast: false,
store: new Common.UI.DataViewStore(texturearray),
- itemTemplate: _.template('')
+ itemTemplate: _.template('')
});
mnuTexturePicker.on('item:click', _.bind(this.onSelectTexture, this));
}
diff --git a/apps/presentationeditor/main/app/view/Toolbar.js b/apps/presentationeditor/main/app/view/Toolbar.js
index 99b8f77f2..39becbb96 100644
--- a/apps/presentationeditor/main/app/view/Toolbar.js
+++ b/apps/presentationeditor/main/app/view/Toolbar.js
@@ -1588,7 +1588,7 @@ define([
store: group.get('groupStore'),
parentMenu: menuitem.menu,
showLast: false,
- itemTemplate: _.template('')
+ itemTemplate: _.template('')
})).on('item:click', function (picker, item, record, e) {
if (e.type !== 'click') Common.UI.Menu.Manager.hideAll();
if (record)
diff --git a/apps/presentationeditor/main/index.html b/apps/presentationeditor/main/index.html
index 27f64755b..58e91ad76 100644
--- a/apps/presentationeditor/main/index.html
+++ b/apps/presentationeditor/main/index.html
@@ -268,6 +268,7 @@
+