loleaflet/src/control/Control.ColumnHeader.js |   20 +++++++++++++++++++
 loleaflet/src/control/Control.Header.js       |   16 +++++++++++++--
 loleaflet/src/control/Control.RowHeader.js    |   27 ++++++++++++++++++++++++++
 loleaflet/src/layer/tile/CalcTileLayer.js     |    3 ++
 4 files changed, 64 insertions(+), 2 deletions(-)

New commits:
commit 2757adc3c69ce345a9ba8a82166d75665b7e1ef1
Author: Henry Castro <hcas...@collabora.com>
Date:   Wed Aug 17 09:11:18 2016 -0400

    loleaflet: add dblclick row/column to process optimal height/width

diff --git a/loleaflet/src/control/Control.ColumnHeader.js 
b/loleaflet/src/control/Control.ColumnHeader.js
index ba928eb..88a5b9f 100644
--- a/loleaflet/src/control/Control.ColumnHeader.js
+++ b/loleaflet/src/control/Control.ColumnHeader.js
@@ -226,6 +226,26 @@ L.Control.ColumnHeader = L.Control.Header.extend({
                this._map.removeLayer(this._vertLine);
        },
 
+       onDragClick: function (item, clicks, e) {
+               this._map.removeLayer(this._vertLine);
+
+               if (clicks === 2) {
+                       var command = {
+                               Col: {
+                                       type: 'unsigned short',
+                                       value: item.column - 1
+                               },
+                               Modifier: {
+                                       type: 'unsigned short',
+                                       value: 0
+                               }
+                       };
+
+                       this._map.sendUnoCommand('.uno:SelectColumn ', command);
+                       
this._map.sendUnoCommand('.uno:SetOptimalColumnWidthDirect');
+               }
+       },
+
        _onUpdatePermission: function (e) {
                if (this._map.getDocType() !== 'spreadsheet') {
                        return;
diff --git a/loleaflet/src/control/Control.Header.js 
b/loleaflet/src/control/Control.Header.js
index 3a56fc5..cbd8b53 100644
--- a/loleaflet/src/control/Control.Header.js
+++ b/loleaflet/src/control/Control.Header.js
@@ -7,6 +7,10 @@ L.Control.Header = L.Control.extend({
                cursor: 'col-resize'
        },
 
+       initialize: function () {
+               this._clicks = 0;
+       },
+
        mouseInit: function (element) {
                L.DomEvent.on(element, 'mousedown', this._onMouseDown, this);
        },
@@ -61,12 +65,20 @@ L.Control.Header = L.Control.extend({
                L.DomUtil.enableImageDrag();
                L.DomUtil.enableTextSelection();
 
-               this.onDragEnd(this._item, this._start, this._offset, e);
+               if (this._dragging) {
+                       this.onDragEnd(this._item, this._start, this._offset, 
e);
+                       this._clicks = 0;
+               } else {
+                       this.onDragClick(this._item, ++this._clicks, e);
+                       setTimeout(L.bind(this.initialize, this), 200);
+               }
+
                this._target = this._cursor = this._item = this._start = 
this._offset = null;
                this._dragging = false;
        },
 
        onDragStart: function () {},
        onDragMove: function () {},
-       onDragEnd: function () {}
+       onDragEnd: function () {},
+       onDragClick: function () {}
 });
diff --git a/loleaflet/src/control/Control.RowHeader.js 
b/loleaflet/src/control/Control.RowHeader.js
index c4ced20..53bc3a5 100644
--- a/loleaflet/src/control/Control.RowHeader.js
+++ b/loleaflet/src/control/Control.RowHeader.js
@@ -208,6 +208,33 @@ L.Control.RowHeader = L.Control.Header.extend({
                this._map.removeLayer(this._horzLine);
        },
 
+       onDragClick: function (item, clicks, e) {
+               this._map.removeLayer(this._horzLine);
+
+               if (clicks === 2) {
+                       var command = {
+                               Row: {
+                                       type: 'long',
+                                       value: item.row - 1
+                               },
+                               Modifier: {
+                                       type: 'unsigned short',
+                                       value: 0
+                               }
+                       };
+
+                       var extra = {
+                               aExtraHeight: {
+                                       type: 'unsigned short',
+                                       value: 
this._map._docLayer.STD_EXTRA_WIDTH
+                               }
+                       };
+
+                       this._map.sendUnoCommand('.uno:SelectRow', command);
+                       this._map.sendUnoCommand('.uno:SetOptimalRowHeight', 
extra);
+               }
+       },
+
        _onUpdatePermission: function (e) {
                if (this._map.getDocType() !== 'spreadsheet') {
                        return;
diff --git a/loleaflet/src/layer/tile/CalcTileLayer.js 
b/loleaflet/src/layer/tile/CalcTileLayer.js
index 2641a12..1a23681 100644
--- a/loleaflet/src/layer/tile/CalcTileLayer.js
+++ b/loleaflet/src/layer/tile/CalcTileLayer.js
@@ -3,6 +3,9 @@
  */
 
 L.CalcTileLayer = L.TileLayer.extend({
+       STD_EXTRA_WIDTH: 113, /* 2mm extra for optimal width,
+                              * 0.1986cm with TeX points,
+                              * 0.1993cm with PS points. */
 
        beforeAdd: function (map) {
                map._addZoomLimit(this);
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to