Procházet zdrojové kódy

Compiler: cleaner output; improvements to TextElement and ImageElement, tooltips and fileManager

mjz před 10 roky
rodič
revize
471f6cb342

+ 1 - 1
src/allplatforms/classes/Compiler.js

@@ -56,7 +56,7 @@ SC.loadPackage({ 'Compiler': {
                     thePage += children[i].do('renderYourself', { indent: 4 })
 
                 }
-                            
+                
                 
                 thePage += '\n\t\t</div>\n\t</body>\n</html>';
 

+ 9 - 0
src/allplatforms/classes/CreationMenu.js

@@ -219,6 +219,15 @@ SC.loadPackage({ 'CreationMenu': {
                     height:     parseInt(myNodeStyle.height)
                 });
 
+                if(newElement.class() === 'ImageElement'){
+                    SuperGlue.get('fileManager').do('chooseFile', {
+                        oldPath:  '',
+                        callback: function(srcPath){
+                                        newElement.set({ imgSource: srcPath });
+                                    }
+                    });
+                }
+
                 (function(newElement){
 
                     SuperGlue.get('history').do('actionHasStarted', function(){

+ 15 - 3
src/allplatforms/classes/Element.js

@@ -247,11 +247,23 @@ SC.loadPackage({ 'Element': {
                                             : '')
                                         +'>'
 
-                            + '\n' +    (function(innerHTML){
+                                        + (function(innerHTML){
 
-                                            var renderedContent = innerHTML;
+                                            var renderedContent = innerHTML.split('\n').filter(function(line){ return line.trim() !== '' }),
+                                                whitespace      = [],
+                                                cutOff          = 0;
+
+                                            renderedContent.forEach(function(line){
+                                                whitespace.push( line.length - line.trimLeft().length );
+                                            });
+                                            cutOff = Math.min.apply(Math, whitespace);
+
+                                            for(var i = 0, l = renderedContent.length; i < l; i++){
+
+                                                renderedContent[i] = indent + '\t' + renderedContent[i].substr(cutOff);
+
+                                            }
 
-                                            renderedContent = renderedContent.split('\n').filter(function(line){ return line.trim() !== '' });
 
                                             return renderedContent.join('\n')
 

+ 19 - 1
src/allplatforms/classes/FileManagerWindow.js

@@ -373,6 +373,7 @@ SC.loadPackage({ 'FileManagerWindow': {
                 // Go UP one directory button
                 var optionDirectoryUp = document.createElement('div');
                     optionDirectoryUp.classList.add('sg-filemanager-operation', 'directory-up');
+                    optionDirectoryUp.setAttribute('title', 'up')
                     optionDirectoryUp.addEventListener('click', function() {
                         
                         if ( self.get('currentPath') == '/' ) {
@@ -381,6 +382,11 @@ SC.loadPackage({ 'FileManagerWindow': {
 
                         var path = self.get('currentPath');
                         var pathArray = path.split('/');
+
+                        if(pathArray.length === 1){
+                            return;
+                        }
+
                         pathArray.pop();
                         
                         var newPath;
@@ -412,6 +418,7 @@ SC.loadPackage({ 'FileManagerWindow': {
                 // Upload file button
                 var optionUploadFile = document.createElement('div');
                     optionUploadFile.classList.add('sg-filemanager-operation', 'file-upload', 'active');
+                    optionUploadFile.setAttribute('title', 'upload a file...');
                     optionUploadFile.addEventListener('click', function(evt) {                                
                         
                         self.set({ isFileSelected: false });
@@ -435,6 +442,7 @@ SC.loadPackage({ 'FileManagerWindow': {
                 // Add new directory button (in current directory)
                 var optionNewDirectory = document.createElement('div');
                     optionNewDirectory.classList.add('sg-filemanager-operation', 'directory-new', 'active');
+                    optionNewDirectory.setAttribute('title', 'create new folder');
                     optionNewDirectory.addEventListener('click', function() {
                         
                         self.get('directoryListing').scrollTop = 0;
@@ -492,6 +500,7 @@ SC.loadPackage({ 'FileManagerWindow': {
                 // Rename button (file or folder)
                 var optionRename = document.createElement('div');
                     optionRename.classList.add('sg-filemanager-operation', 'rename');
+                    optionRename.setAttribute('title', 'rename');
                     optionRename.addEventListener('click', function(evt) {
                         
                         if ( !this.classList.contains('active') ) {
@@ -548,6 +557,7 @@ SC.loadPackage({ 'FileManagerWindow': {
                 // Copy button (file or folder)
                 var optionCopy = document.createElement('div');
                     optionCopy.classList.add('sg-filemanager-operation', 'copy');
+                    optionCopy.setAttribute('title', 'copy');
                     optionCopy.addEventListener('click', function(evt) {
                         
                         if ( !this.classList.contains('active') ) {
@@ -561,6 +571,7 @@ SC.loadPackage({ 'FileManagerWindow': {
                 // Paste button (file or folder)
                 var optionPaste = document.createElement('div');
                     optionPaste.classList.add('sg-filemanager-operation', 'paste');
+                    optionPaste.setAttribute('title', 'paste');
                     optionPaste.addEventListener('click', function(evt) {
                         
                         if ( !this.classList.contains('active') || !self.get('copiedFilePath') ) {
@@ -580,6 +591,7 @@ SC.loadPackage({ 'FileManagerWindow': {
                 // Delete button (file or folder)
                 var optionDelete = document.createElement('div');
                     optionDelete.classList.add('sg-filemanager-operation', 'delete');
+                    optionDelete.setAttribute('title', 'delete');
                     optionDelete.addEventListener('click', function(evt) {
                         
                         if ( !this.classList.contains('active') ) {
@@ -683,8 +695,14 @@ SC.loadPackage({ 'FileManagerWindow': {
                 SuperGlue.get('server').do('directoryListing', {
                     path: arg.path,
                     onerror: function() {
+
+                        if(this.status === 401){
+                            SuperGlue.get('windowManager').do('closeWindow', self);
+                            return;
+                        }
+
                         alert('Directory listing failed.\nSee console for error message.');
-                        console.log(arguments);
+                        console.log(this);
                     },
                     onsuccess: function() { 
 

+ 40 - 18
src/allplatforms/classes/ImageElement.js

@@ -7,7 +7,7 @@ SC.loadPackage({ 'ImageElement': {
 
     sharedProperties: {
         protoHTML:          { initValue: '<div class="sg-element" data-superglue-type="ImageElement" style="left: 0px; top: 0px; width: 0px; height: 0px;">'
-                                        +'\t<img src="/resources/img/defaultImage.png" style="min-width: 100%; min-height: 100%;">'
+                                        +'\t<img src="/resources/img/defaultImage.png">'
                                         +'</div>' },
         applicableWidgets:  { initValue: [ 'WidgetBackgroundColor', 'WidgetBorderColor', 'WidgetBorder', 'WidgetBorderRadius', 'WidgetPadding', 'WidgetOpacity', 'WidgetImgLink', 'WidgetImgDimensions', 'WidgetImgSrc' ] },
         creationMenuItem:   { initValue: '<div class="sg-editing-creation-menu-container"><button id="sg-editing-creation-menu-imageElement" class="sg-editing-creation-menu-button" title="image"></button></div>' }
@@ -39,7 +39,7 @@ SC.loadPackage({ 'ImageElement': {
         },
 
         dimensions: {
-            comment: 'An ImageElement can have 6 enumerative dimension options: tile, tileX, tileY, stretch, stretchAspectRatio, aspectRatio',
+            comment: 'An ImageElement can have 7 enumerative dimension options: tile, tileX, tileY, stretch, stretchAspectRatio, fitAspectRatio, original',
             transform: function(aSymbolicString){
 
                 var contentNode   = this.get('node'),
@@ -92,7 +92,14 @@ SC.loadPackage({ 'ImageElement': {
                         newImgDomElement.src = imgSrc;
                         break;
 
-                    case 'aspectRatio':
+                    case 'fitAspectRatio':
+                        newImgDomElement = document.createElement('img');
+                        newImgDomElement.style.maxWidth  = '100%';
+                        newImgDomElement.style.maxHeight = '100%';
+                        newImgDomElement.src = imgSrc;
+                        break;
+
+                    case 'original':
                         newImgDomElement = document.createElement('img');
                         newImgDomElement.src = imgSrc;
                         break;
@@ -155,19 +162,7 @@ SC.loadPackage({ 'ImageElement': {
             code: function(config){
 
                 var indent = '\n' + Array(config.indent).join('\t'),
-                    thisElement,
-                    contentNode;
-
-                contentNode = (this.get('node').innerHTML
-                                        .split('\n')
-                                        .filter(function(line){ return line.trim() !== '' })
-                                        .join('\n'));
-
-                if(document.location.origin !== "null"){
-                    contentNode = contentNode.replace(document.location.origin, '')
-                }
-                
-                contentNode = contentNode.replace('url("', 'url(').replace('");', ');');
+                    thisElement;
 
 
                 thisElement = indent + '<div class="sg-element" data-superglue-type="ImageElement" style="'
@@ -178,9 +173,36 @@ SC.loadPackage({ 'ImageElement': {
                                             : '')
                                         +'>'
 
-                            + '\n' +    contentNode
+                                        +   (function(innerHTML){
+
+                                                var whitespace      = [],
+                                                    cutOff          = 0,
+                                                    renderedContent = innerHTML.replace('url("', 'url(').replace('");', ');');
+
+                                                if(document.location.origin !== "null"){
+                                                    renderedContent = renderedContent.replace(document.location.origin, '')
+                                                }
+                                                
+                                                renderedContent = renderedContent.split('\n').filter(function(line){ 
+                                                    return line.trim() !== '' 
+                                                });
+                                                
+                                                renderedContent.forEach(function(line){
+                                                    whitespace.push( line.length - line.trimLeft().length );
+                                                });
+                                                cutOff = Math.min.apply(Math, whitespace);
+
+                                                for(var i = 0, l = renderedContent.length; i < l; i++){
+
+                                                    renderedContent[i] = indent + '\t' + renderedContent[i].substr(cutOff);
+
+                                                }
+
+                                                return renderedContent.join('\n')
+
+                                            }).call(this, this.get('node').innerHTML)
                             
-                            + indent + '</div>';
+                                        + indent + '</div>';
 
 
                 return thisElement;

+ 1 - 1
src/allplatforms/classes/MenuItemCenter.js

@@ -6,7 +6,7 @@ SC.loadPackage({ 'MenuItemCenter': {
 
     sharedProperties: {
 
-        menuContainer:  { initValue: '<div class="sg-editing-menu-container"><button id="sg-editing-menu-center" class="sg-editing-menu-button" title="centered/infinite layout"></button></div>' }
+        menuContainer:  { initValue: '<div class="sg-editing-menu-container"><button id="sg-editing-menu-center" class="sg-editing-menu-button" title="centered layout / infinite layout"></button></div>' }
 
     },
 

+ 54 - 0
src/allplatforms/classes/MenuItemEditCSS.js

@@ -0,0 +1,54 @@
+SC.loadPackage({ 'MenuItemEditCSS': {
+
+    comment: 'I am the MenuItem for editing costum CSS in the page\'s head.',
+
+    traits:  ['MenuItem'],
+
+    sharedProperties: {
+
+        menuContainer:  { initValue: '<div class="sg-editing-menu-container"><button id="sg-editing-menu-editCSS" class="sg-editing-menu-button" title="edit costum CSS"></button></div>' }
+
+    },
+
+    methods: {
+
+    	init: { 
+    		comment: 	'I init the MenuItem.',
+    		code: 		function(theDocumentMenu){
+
+                this.delegate('MenuItem', 'init', theDocumentMenu);
+                this.set({ isActionButton: true });
+
+                var self = this;
+                
+                this.get('menuContainer').firstChild.addEventListener('mouseup', function(evt){
+
+                    var myDocument  = SuperGlue.get('document'),
+                        createState = function(myDocument){
+                                            var savedLayout = myDocument.get('layout');
+                                            return function(){
+                                                myDocument.set({ layout: savedLayout });
+                                            }
+                                        };
+
+                    SuperGlue.get('history').do('actionHasStarted', createState(myDocument));
+
+                    
+
+                    
+                    
+                    SuperGlue.get('history').do('actionHasSucceeded', createState(myDocument));
+                    
+
+                }, false);
+
+
+    		}
+
+    	}
+
+
+    }
+
+
+}});

+ 1 - 1
src/allplatforms/classes/MenuItemSaveRemote.js

@@ -6,7 +6,7 @@ SC.loadPackage({ 'MenuItemSaveRemote': {
 
     sharedProperties: {
 
-        menuContainer:  { initValue: '<div class="sg-editing-menu-container"><button id="sg-editing-menu-saveRemote" class="sg-editing-menu-button" title="save to other server"></button></div>' },
+        menuContainer:  { initValue: '<div class="sg-editing-menu-container"><button id="sg-editing-menu-saveRemote" class="sg-editing-menu-button" title="save page to other server"></button></div>' },
 
         menuPanel:    { initValue:   '<div id="sg-editing-menu-saveRemote-panel">'
                                             +'<div class="sg-editing-menu-panel">'

+ 1 - 1
src/allplatforms/classes/SuperGlue.js

@@ -6,7 +6,7 @@ SC.loadPackage({ 'SuperGlue': {
     sharedProperties: {
 
         version: {  comment:   'SuperGlue\'s current version is...', 
-                    initValue: '1.0' 
+                    initValue: '1.0.1' 
                  }
 
     },

+ 1 - 1
src/allplatforms/classes/TextEditor.js

@@ -14,7 +14,7 @@ SC.loadPackage({ 'TextEditor': {
         editGroupHyperlink:     { initValue: '<a class="btn hyperlink" title="Hyperlink" data-wysihtml5-command="createLink"><i class="icon-link"></i></a><div class="hyperlink-dropdown input-append" data-wysihtml5-dialog="createLink" style="display: none;"><input data-wysihtml5-dialog-field="href" value="http://" class="text"><a data-wysihtml5-dialog-action="save"></a><a data-wysihtml5-command="removeLink"></a><a data-wysihtml5-dialog-action="cancel"></a></div>' },
         //editGroupHyperlink:     { initValue: '<a class="btn dropdown-toggle hyperlink" title="Hyperlink"><i class="icon-link"></i>&nbsp;<b class="caret"></b></a><div class="dropdown-menu input-append" style="display: none;"><input value="http://" class="text"><a data-wysihtml5-command="createLink" data-wysihtml5-command-value=""></a><a data-wysihtml5-command="removeLink"></a><a data-wysihtml5-dialog-action="cancel"></a></div>' },
         activeEditGroups:       { initValue: ['editGroupIndention', 'editGroupAlignment', 'editGroupFontSize', 'editGroupFontFamily', 'editGroupFontColor', 'editGroupHyperlink', 'editGroupFontStyle', 'editGroupLists'] },
-        activeFonts:            { initValue: ['Serif', 'Sans', 'Arial', 'Arial Black', 'Courier', 'Courier New', 'Comic Sans MS','Dosis', 'Helvetica', 'Impact', 'Lucida Grande', 'Lucida Sans', 'Montserrat', 'Tahoma', 'Times', 'Times New Roman', 'TitilliumWeb', 'Verdana'] },
+        activeFonts:            { initValue: ['Arial', 'Arial Black', 'Courier', 'Courier New', 'Dosis', 'Lucida Console', 'Helvetica', 'Impact', 'Lucida Grande', 'Lucida Sans', 'Montserrat', 'Tahoma', 'Times', 'Times New Roman', 'TitilliumWeb', 'Verdana'] },
         activeFontSizes:        { initValue: ['8px', '9px', '10px', '11px', '12px', '13px', '14px', '15px', '16px', '17px', '18px', '20px', '22px', '26px', '28px', '30px', '32px', '34px', '36px', '38px', '40px', '46px', '50px', '60px', '70px'] }
 
 

+ 3 - 2
src/allplatforms/classes/WidgetImgDimensions.js

@@ -6,17 +6,18 @@ SC.loadPackage({ 'WidgetImgDimensions': {
 
     sharedProperties: {
 
-        widgetMenu:  { initValue: '<div class="sg-editing-widget-container"><button id="sg-editing-widget-imgDimensions" class="sg-editing-widget-button" title="dimensions"></button></div>' },
+        widgetMenu:  { initValue: '<div class="sg-editing-widget-container"><button id="sg-editing-widget-imgDimensions" class="sg-editing-widget-button" title="image dimensions"></button></div>' },
 
         widgetPanel: { initValue: '<div id="sg-editing-widget-imgDimensions-panel">'
                                         +'<div class="sg-editing-widget-panel">'
                                             +'<div class="sg-widget-triangle-up"></div>'
+                                            +'<button id="sg-editing-widget-imgDimensions-original"           title="original size"               data-superglue-imgDimensions="original" class="sg-editing-widget-button"></button>'
+                                            +'<button id="sg-editing-widget-imgDimensions-fitAspectRatio"     title="fit to frame + keep aspect ratio" data-superglue-imgDimensions="fitAspectRatio" class="sg-editing-widget-button"></button>'
                                             +'<button id="sg-editing-widget-imgDimensions-stretchAspectRatio" title="stretch + keep aspect ratio" data-superglue-imgDimensions="stretchAspectRatio" class="sg-editing-widget-button"></button>'
                                             +'<button id="sg-editing-widget-imgDimensions-stretch"            title="stretch"                     data-superglue-imgDimensions="stretch" class="sg-editing-widget-button"></button>'
                                             +'<button id="sg-editing-widget-imgDimensions-tile"               title="repeat"                      data-superglue-imgDimensions="tile" class="sg-editing-widget-button"></button>'
                                             +'<button id="sg-editing-widget-imgDimensions-tileX"              title="repeat horizontally"         data-superglue-imgDimensions="tileX" class="sg-editing-widget-button"></button>'
                                             +'<button id="sg-editing-widget-imgDimensions-tileY"              title="repeat vertically"           data-superglue-imgDimensions="tileY" class="sg-editing-widget-button"></button>'
-                                            +'<button id="sg-editing-widget-imgDimensions-aspectRatio"        title="original size"               data-superglue-imgDimensions="aspectRatio" class="sg-editing-widget-button"></button>'
                                         +'</div>'
                                     +'</div>' 
                      }

+ 7 - 3
src/allplatforms/css/WidgetImgDimensions.css

@@ -6,7 +6,7 @@
 	position: 			absolute;
 	top: 				26px;
 	left: 				-20px;
-	width: 				192px;
+	width: 				222px;
 }
 
 #sg-editing-widget-imgDimensions-panel > .sg-editing-widget-panel {
@@ -51,6 +51,10 @@
 	background-image: url("icons/imgStretchAspectRatio.svg");
 }
 
-#sg-editing-widget-imgDimensions-aspectRatio {
-	background-image: url("icons/imgAspectRatio.svg");
+#sg-editing-widget-imgDimensions-fitAspectRatio {
+	background-image: url("icons/imgFitAspectRatio.svg");
+}
+
+#sg-editing-widget-imgDimensions-original {
+	background-image: url("icons/imgOriginal.svg");
 }

+ 65 - 0
src/allplatforms/css/icons/imgFitAspectRatio.svg

@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.1"
+   id="Layer_1"
+   x="0px"
+   y="0px"
+   width="30px"
+   height="30px"
+   viewBox="0 0 30 30"
+   enable-background="new 0 0 30 30"
+   xml:space="preserve"
+   inkscape:version="0.48.5 r10040"
+   sodipodi:docname="imgStretchAspectRatio.svg"><metadata
+     id="metadata17"><rdf:RDF><cc:Work
+         rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+     id="defs15" /><sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1018"
+     inkscape:window-height="829"
+     id="namedview13"
+     showgrid="false"
+     inkscape:zoom="7.8666667"
+     inkscape:cx="15"
+     inkscape:cy="25.169492"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="Layer_1" /><g
+     id="g3"
+     transform="translate(-2.6694915,0)"><path
+       d="M 9,21 H 21 V 9 H 9 v 12 z m 2,-6 1.293,1.293 4,-3.999 L 15,11 h 4 l -0.001,4 -1.292,-1.292 -4,3.999 L 15,18.999 11,19 v -4 z"
+       id="path5"
+       inkscape:connector-curvature="0"
+       style="fill:none" /><g
+       id="g7"><path
+         d="M 23,7 H 7 V 23 H 23 V 7 z M 21,21 H 9 V 9 h 12 v 12 z"
+         id="path9"
+         inkscape:connector-curvature="0"
+         style="fill:#ffffff" /><polygon
+         points="18.999,15 19,11 15,11 16.293,12.294 12.293,16.293 11,15 11,19 15,18.999 13.707,17.707 17.707,13.708 "
+         id="polygon11"
+         style="fill:#ffffff" /></g></g><path
+     id="path5-5"
+     d="M 0.9915254,12.483051 H 12.991525 V 0.4830508 H 0.9915254 V 12.483051 z m 2,-6.0000002 1.293,1.293 4,-3.999 -1.293,-1.294 h 3.9999996 l -10e-4,4 -1.2919996,-1.292 -4,3.999 1.293,1.2920002 -4,10e-4 V 6.4830508 z"
+     inkscape:connector-curvature="0"
+     style="fill:none" /><path
+     style="fill:#ffffff"
+     inkscape:connector-curvature="0"
+     d="M 25.415253,6.9999999 H 3.5677966 V 23.000001 H 25.415253 V 6.9999999 z M 22.684321,21.000001 H 6.2987288 V 8.9999999 H 22.684321 V 21.000001 z"
+     id="path9-8" /></svg>

+ 0 - 0
src/allplatforms/css/icons/imgAspectRatio.svg → src/allplatforms/css/icons/imgOriginal.svg


+ 21 - 13
src/allplatforms/css/icons/imgRepeat.svg

@@ -1,18 +1,26 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+
 <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
 <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
 	 width="30px" height="30px" viewBox="0 0 30 30" enable-background="new 0 0 30 30" xml:space="preserve">
-<path fill="none" d="M9,11H7V9h2V11z M12,11h-2V9h2V11z M13,11V9h2v2H13z"/>
-<polyline fill="none" points="6,14 6,23 23,23 23,14 "/>
-<rect x="13" y="9" fill="#FFFFFF" width="2" height="2"/>
-<rect x="10" y="9" fill="#FFFFFF" width="2" height="2"/>
-<rect x="7" y="9" fill="#FFFFFF" width="2" height="2"/>
-<path fill="#FFFFFF" d="M23,14v9H6v-9h12v-2H6V8h14l2-2H4v19h21V11L23,14L23,14z"/>
-<path fill="#FFFFFF" d="M6,21.282l2.928-1.143l3.045,1.726l7.499-3.844L23,20.031v-2.053L19.528,16l-7.501,3.845L9.072,18.17
-	L6,19.574V21.282z"/>
-<path fill="#FFFFFF" d="M11.983,18.232c0.967,0,1.75-0.783,1.75-1.75c0-0.966-0.783-1.75-1.75-1.75s-1.75,0.784-1.75,1.75
-	C10.233,17.449,11.017,18.232,11.983,18.232z M11.983,15.926c0.307,0,0.557,0.25,0.557,0.557s-0.25,0.557-0.557,0.557
-	s-0.557-0.25-0.557-0.557S11.677,15.926,11.983,15.926z"/>
-<polygon fill="#FFFFFF" points="26.404,3.661 25.158,5.196 20.48,10.843 20,13 22.014,12.09 26.691,6.444 27.941,4.908 "/>
+<g>
+	<polygon fill="none" points="8.521,9.813 12,7.726 12,7 5,7 5,9.61 6.73,8.626 	"/>
+	<polygon fill="none" points="6.67,10.386 5,11.335 5,12 12,12 12,9.475 8.479,11.587 	"/>
+	<polygon fill="none" points="21.521,20.813 25,18.726 25,18 18,18 18,20.61 19.73,19.626 	"/>
+	<polygon fill="none" points="19.67,21.386 18,22.335 18,23 25,23 25,20.475 21.479,22.587 	"/>
+	<polygon fill="none" points="8.521,20.813 12,18.726 12,18 5,18 5,20.61 6.73,19.626 	"/>
+	<polygon fill="none" points="21.521,9.813 25,7.726 25,7 18,7 18,9.61 19.73,8.626 	"/>
+	<polygon fill="none" points="6.67,21.386 5,22.335 5,23 12,23 12,20.475 8.479,22.587 	"/>
+	<polygon fill="none" points="19.67,10.386 18,11.335 18,12 25,12 25,9.475 21.479,11.587 	"/>
+	<g>
+		<path fill="#FFFFFF" d="M14,5H3v9h11V5z M5,7h7v0.726L8.521,9.813L6.73,8.626L5,9.61V7z M12,12H5v-0.665l1.67-0.95l1.81,1.201
+			L12,9.475V12z"/>
+		<path fill="#FFFFFF" d="M16,14h11V5H16V14z M25,12h-7v-0.665l1.67-0.95l1.81,1.201L25,9.475V12z M18,7h7v0.726l-3.479,2.088
+			l-1.79-1.188L18,9.61V7z"/>
+		<path fill="#FFFFFF" d="M14,16H3v9h11V16z M5,18h7v0.726l-3.479,2.088l-1.79-1.188L5,20.61V18z M12,23H5v-0.665l1.67-0.95
+			l1.81,1.201L12,20.475V23z"/>
+		<path fill="#FFFFFF" d="M16,25h11v-9H16V25z M25,23h-7v-0.665l1.67-0.95l1.81,1.201L25,20.475V23z M18,18h7v0.726l-3.479,2.088
+			l-1.79-1.188L18,20.61V18z"/>
+	</g>
+</g>
 </svg>

+ 68 - 19
src/allplatforms/css/icons/imgRepeatY.svg

@@ -1,19 +1,68 @@
-<?xml version="1.0" encoding="utf-8"?>
-
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="30px" height="30px" viewBox="0 0 30 30" enable-background="new 0 0 30 30" xml:space="preserve">
-<g>
-	<polygon fill="none" points="9.67,21.386 8,22.335 8,23 15,23 15,20.475 11.48,22.587 	"/>
-	<polygon fill="none" points="11.52,9.815 15,7.728 15,7.002 8,7.002 8,9.612 9.73,8.628 	"/>
-	<polygon fill="none" points="11.52,20.813 15,18.726 15,18 8,18 8,20.61 9.73,19.626 	"/>
-	<polygon fill="none" points="9.67,10.388 8,11.337 8,12.002 15,12.002 15,9.477 11.48,11.589 	"/>
-	<g>
-		<polygon fill="#FFFFFF" points="22,8 19,12 21,12 21,22 23,22 23,12 25,12 		"/>
-		<path fill="#FFFFFF" d="M6,14.002h11v-9H6V14.002z M15,12.002H8v-0.665l1.67-0.949l1.81,1.201L15,9.477V12.002z M8,7.002h7v0.726
-			l-3.48,2.088L9.73,8.628L8,9.612V7.002z"/>
-		<path fill="#FFFFFF" d="M6,25h11v-9H6V25z M15,23H8v-0.665l1.67-0.949l1.81,1.201L15,20.475V23z M8,18h7v0.726l-3.48,2.088
-			l-1.79-1.188L8,20.61V18z"/>
-	</g>
-</g>
-</svg>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.1"
+   id="Layer_1"
+   x="0px"
+   y="0px"
+   width="30px"
+   height="30px"
+   viewBox="0 0 30 30"
+   enable-background="new 0 0 30 30"
+   xml:space="preserve"
+   inkscape:version="0.48.5 r10040"
+   sodipodi:docname="imgRepeatY.svg"><metadata
+     id="metadata25"><rdf:RDF><cc:Work
+         rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+     id="defs23" /><sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="805"
+     inkscape:window-height="694"
+     id="namedview21"
+     showgrid="false"
+     inkscape:zoom="7.8666667"
+     inkscape:cx="15"
+     inkscape:cy="15"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="Layer_1" /><g
+     id="g3015"><polygon
+       points="8,23 15,23 15,20.475 11.48,22.587 9.67,21.386 8,22.335 "
+       id="polygon5"
+       style="fill:none" /><polygon
+       points="15,7.002 8,7.002 8,9.612 9.73,8.628 11.52,9.815 15,7.728 "
+       id="polygon7"
+       style="fill:none" /><polygon
+       points="15,18 8,18 8,20.61 9.73,19.626 11.52,20.813 15,18.726 "
+       id="polygon9"
+       style="fill:none" /><polygon
+       points="8,12.002 15,12.002 15,9.477 11.48,11.589 9.67,10.388 8,11.337 "
+       id="polygon11"
+       style="fill:none" /><polygon
+       transform="matrix(-1,0,0,-1,44,30)"
+       style="fill:#ffffff"
+       id="polygon15"
+       points="25,12 22,8 19,12 21,12 21,22 23,22 23,12 " /><path
+       style="fill:#ffffff"
+       inkscape:connector-curvature="0"
+       id="path17"
+       d="m 6,14.002 h 11 v -9 H 6 v 9 z m 9,-2 H 8 V 11.337 L 9.67,10.388 11.48,11.589 15,9.477 v 2.525 z m -7,-5 h 7 V 7.728 L 11.52,9.816 9.73,8.628 8,9.612 v -2.61 z" /><path
+       style="fill:#ffffff"
+       inkscape:connector-curvature="0"
+       id="path19"
+       d="M 6,25 H 17 V 16 H 6 v 9 z m 9,-2 H 8 V 22.335 L 9.67,21.386 11.48,22.587 15,20.475 V 23 z M 8,18 h 7 v 0.726 L 11.52,20.814 9.73,19.626 8,20.61 V 18 z" /></g></svg>