Browse Source

6.0.1.7 release

Former-commit-id: 8624c0275ef48eafda7829ab656e4057524952af
Gaudenz Alder 8 years ago
parent
commit
b5e1fcbcf4

+ 7 - 0
ChangeLog

@@ -1,3 +1,10 @@
+23-NOV-2016: 6.0.1.7
+
+- Fixes links to same domain for viewer in iframes
+- Fixes automatic loading of libraries
+- Fixes sidebar title overlap with buttons
+- Fixes lost names, delete order in library dialog
+
 21-NOV-2016: 6.0.1.6
 
 - Fixes missing auth header in Google client API

+ 1 - 1
VERSION

@@ -1 +1 @@
-6.0.1.6
+6.0.1.7

+ 1 - 1
etc/sandstorm/README.md

@@ -9,4 +9,4 @@
 - Log into the vagrant box `vagrant-spk vm ssh`
 - `sudo apt-get install g++`
 - [Install latest capnp](https://capnproto.org/install.html)
-- In the build directory `vagrant-spk dev`
+- In the build directory `vagrant-spk dev`

+ 1 - 0
etc/sandstorm/rootFiles

@@ -1,5 +1,6 @@
 description.md
 Makefile
+pgp-keyring
 pgp-signature
 sandstorm-pkgdef.capnp
 server.c++

+ 1 - 1
etc/sandstorm/stage.sh

@@ -43,4 +43,4 @@ cp -rf ../../war/templates/* build/.sandstorm/client/templates/
 echo "Creating file list"
 cd build/.sandstorm
 gfind ./client -type f -printf "%p\n" | cut -c 3- >  sandstorm-files.list
-cat ../../rootFiles >> sandstorm-files.list
+cat ../../rootFiles >> sandstorm-files.list

+ 9 - 1
src/com/mxgraph/io/gliffy/importer/GliffyDiagramConverter.java

@@ -291,6 +291,14 @@ public class GliffyDiagramConverter
 		return xml;
 	}
 
+	/**
+	 * Returns true if the gradient is ignored for this shape.
+	 */
+	private boolean isGradientIgnored(GliffyObject gliffyObject, GliffyObject parent)
+	{
+		return false; //gliffyObject.tid == null || gliffyObject.tid.startsWith("com.gliffy.shape.venn.outline.default");
+	}
+	
 	/**
 	 * Performs the object conversion
 	 * 
@@ -347,7 +355,7 @@ public class GliffyDiagramConverter
 				if(style.lastIndexOf("strokeColor") == -1)
 					style.append("strokeColor=" + shape.strokeColor).append(";");
 
-				if (shape.gradient)
+				if (shape.gradient && !isGradientIgnored(gliffyObject, parent))
 				{
 					style.append("gradientColor=#FFFFFF;gradientDirection=north;");
 				}

+ 1 - 1
war/cache.manifest

@@ -1,7 +1,7 @@
 CACHE MANIFEST
 
 # THIS FILE WAS GENERATED. DO NOT MODIFY!
-# 11/21/2016 09:53 AM
+# 11/23/2016 01:33 PM
 
 /app.html
 /index.html?offline=1

File diff suppressed because it is too large
+ 661 - 660
war/js/app.min.js


File diff suppressed because it is too large
+ 289 - 288
war/js/atlas-viewer.min.js


File diff suppressed because it is too large
+ 379 - 378
war/js/atlas.min.js


+ 8 - 3
war/js/diagramly/App.js

@@ -3249,11 +3249,11 @@ App.prototype.loadFile = function(id, sameWindow, file)
  */
 App.prototype.getLibraryStorageHint = function(file)
 {
-	var tip = '';
+	var tip = file.getTitle();
 	
 	if (file.constructor != LocalLibrary)
 	{
-		tip += file.getHash();
+		tip += '\n' + file.getHash();
 	}
 	
 	if (file.constructor == DriveLibrary)
@@ -3309,7 +3309,8 @@ App.prototype.restoreLibraries = function()
 					
 					(mxUtils.bind(this, function(id)
 					{
-						if (this.pendingLibraries[id] == null && this.sidebar.palettes[id] == null)
+						if (id != null && id.length > 0 && this.pendingLibraries[id] == null &&
+							this.sidebar.palettes[id] == null)
 						{
 							this.pendingLibraries[id] = true;
 							var service = id.substring(0, 1);
@@ -3419,6 +3420,10 @@ App.prototype.restoreLibraries = function()
 										ignore(id);
 									});
 								}
+								else
+								{
+									delete this.pendingLibraries[id];
+								}
 							}
 						}
 					}))(name);

+ 15 - 8
war/js/diagramly/Dialogs.js

@@ -7743,6 +7743,7 @@ var LibraryDialog = function(editorUi, name, library, initialImages, file, mode)
 
 	// For converting image URLs
 	var converter = new mxUrlConverter();
+	var errorShowed = false;
 	
 	function addButton(data, mimeType, x, y, w, h, img, aspect, title)
 	{
@@ -7833,16 +7834,16 @@ var LibraryDialog = function(editorUi, name, library, initialImages, file, mode)
 						rem.style.position = 'relative';
 					}
 					
-					(function(wrapperDiv, dataParam)
+					(function(wrapperDiv, dataParam, imgParam)
 					{
 						mxEvent.addListener(rem, 'click', function(evt)
 						{
-							entries[data] = null;
+							entries[dataParam] = null;
 							
 							for (var i = 0; i < images.length; i++)
 							{
-								if ((data != null && images[i].data == dataParam) ||
-									(img != null && images[i].xml == img.xml))
+								if ((images[i].data != null && images[i].data == dataParam) ||
+									(images[i].xml != null && images[i].xml == imgParam.xml))
 								{
 									images.splice(i, 1);
 									break;
@@ -8046,9 +8047,9 @@ var LibraryDialog = function(editorUi, name, library, initialImages, file, mode)
 						mxUtils.setPrefixedStyle(wrapper.style, 'transform', null);
 					});
 				}
-				else
+				else if (!errorShowed)
 				{
-					//editorUi.spinner.stop();
+					errorShowed = true;
 					editorUi.handleError({message: mxResources.get('fileExists')})
 				}
 			}
@@ -8108,7 +8109,7 @@ var LibraryDialog = function(editorUi, name, library, initialImages, file, mode)
 		for (var i = 0; i < initialImages.length; i++)
 		{
 			var img = initialImages[i];
-			addButton(img.data, null, 0, 0, img.w, img.h, img);
+			addButton(img.data, null, 0, 0, img.w, img.h, img, img.aspect, img.title);
 		}
 	}
 	
@@ -8142,6 +8143,7 @@ var LibraryDialog = function(editorUi, name, library, initialImages, file, mode)
 	{
 		evt.stopPropagation();
 	    evt.preventDefault();
+    	errorShowed = false;
 	    
 	    dropTargetIndex = getIndexForEvent(evt);
 		
@@ -8163,7 +8165,8 @@ var LibraryDialog = function(editorUi, name, library, initialImages, file, mode)
 	    {
 	    	editorUi.importFiles(evt.dataTransfer.files, 0, 0, editorUi.maxImageSize, function(data, mimeType, x, y, w, h, img)
 	    	{
-	    		addButton(data, mimeType, x, y, w, h, img, 'fixed', (mxEvent.isAltDown(evt)) ? null : img.substring(0, img.lastIndexOf('.')).replace(/_/g, ' '));
+	    		addButton(data, mimeType, x, y, w, h, img, 'fixed', (mxEvent.isAltDown(evt)) ?
+		    		null : img.substring(0, img.lastIndexOf('.')).replace(/_/g, ' '));
 	    	});
 		}
 	    else if (mxUtils.indexOf(evt.dataTransfer.types, 'text/uri-list') >= 0)
@@ -8247,6 +8250,8 @@ var LibraryDialog = function(editorUi, name, library, initialImages, file, mode)
 	{
 		mxEvent.addListener(fileInput, 'change', function(evt)
 		{
+	    	errorShowed = false;
+				
 	    	editorUi.importFiles(fileInput.files, 0, 0, editorUi.maxImageSize, function(data, mimeType, x, y, w, h, img)
 	    	{
 	    		addButton(data, mimeType, x, y, w, h, img, 'fixed');
@@ -8282,6 +8287,8 @@ var LibraryDialog = function(editorUi, name, library, initialImages, file, mode)
 		
 		editorUi.showImageDialog(mxResources.get('addImageUrl'), '', function(url, w, h)
 		{
+	    	errorShowed = false;
+			
 			if (url != null)
 			{
 				// Image dialog returns modified data URLs which

+ 27 - 7
war/js/diagramly/EditorUi.js

@@ -1408,6 +1408,17 @@
 		}
 	};
 	
+	/**
+	 * Translates this point by the given vector.
+	 * 
+	 * @param {number} dx X-coordinate of the translation.
+	 * @param {number} dy Y-coordinate of the translation.
+	 */
+	EditorUi.prototype.getLibraryStorageHint = function(file)
+	{
+		return '';
+	};
+
 	/**
 	 * Translates this point by the given vector.
 	 * 
@@ -1506,16 +1517,18 @@
 	    buttons.style.position = 'absolute';
 	    buttons.style.right = '0px';
 	    buttons.style.top = '5px';
+	    buttons.style.backgroundColor = 'inherit';
 	    title.style.position = 'relative';
 	    
+	    var btnWidth = 18;
 		var btn = document.createElement('img');
 		btn.setAttribute('src', Dialog.prototype.closeImage);
 		btn.setAttribute('title', mxResources.get('close'));
 		btn.setAttribute('align', 'top');
 		btn.setAttribute('border', '0');
-		btn.style.cursor = 'pointer';
-		btn.style.marginRight = '8px';
-		btn.style.marginTop = '3px';
+		btn.className = 'geButton';
+		btn.style.marginRight = '1px';
+		btn.style.marginTop = '-1px';
 		buttons.appendChild(btn);
 		
 		var saveBtn = null;
@@ -1579,15 +1592,17 @@
 					spinBtn.setAttribute('src', EditorUi.spinImage);
 					spinBtn.setAttribute('title', mxResources.get('saving'));
 					spinBtn.style.cursor = 'default';
-					spinBtn.style.marginRight = '6px';
-					spinBtn.style.marginTop = '2px';
+					spinBtn.style.marginRight = '2px';
+					spinBtn.style.marginTop = '-2px';
 					buttons.insertBefore(spinBtn, buttons.firstChild);
+					title.style.paddingRight = (buttons.childNodes.length * btnWidth) + 'px';
 					
 					this.saveLibrary(file.getTitle(), images, file, file.getMode(), true, true, function()
 					{
 						if (spinBtn != null && spinBtn.parentNode != null)
 						{
 							spinBtn.parentNode.removeChild(spinBtn);
+							title.style.paddingRight = (buttons.childNodes.length * btnWidth) + 'px';
 						}
 					});
 				}
@@ -1603,9 +1618,12 @@
 						this.saveLibrary(file.getTitle(), images, file, file.getMode(), true, true);
 						saveBtn.parentNode.removeChild(saveBtn);
 						saveBtn = null;
+						title.style.paddingRight = (buttons.childNodes.length * btnWidth) + 'px';
 						
 						mxEvent.consume(evt);
 					}));
+					
+					title.style.paddingRight = (buttons.childNodes.length * btnWidth) + 'px';
 				}
 			});
 			
@@ -1900,11 +1918,12 @@
 			btn.setAttribute('title', mxResources.get('add'));
 			buttons.insertBefore(btn, buttons.firstChild);
 			
-			if (!this.isOffline())
+			if (!this.isOffline() && file.title == '.scratchpad')
 			{
 				var link = document.createElement('span');
 				link.setAttribute('title', mxResources.get('help'));
-				link.style.cssText = 'color:gray;text-decoration:none;margin-right:8px;';
+				link.style.cssText = 'color:gray;text-decoration:none;';
+				link.className = 'geButton';
 				mxUtils.write(link, '?');
 				
 				mxEvent.addGestureListeners(link, mxUtils.bind(this, function(evt)
@@ -1922,6 +1941,7 @@
 		}
 		
 		title.appendChild(buttons);
+		title.style.paddingRight = (buttons.childNodes.length * btnWidth) + 'px';
 	};
 
 	/**

File diff suppressed because it is too large
+ 2 - 2
war/js/embed-static.min.js


+ 2 - 2
war/js/mxgraph/Dialogs.js

@@ -3144,7 +3144,7 @@ var LayersWindow = function(editorUi, x, y, w, h)
 						
 						img2.className = 'geButton';
 						img2.style.cssFloat = 'none';
-						img2.innerHTML = '&#9650;';
+						img2.innerHTML = '&#9660;';
 						img2.style.width = '14px';
 						img2.style.height = '14px';
 						img2.style.fontSize = '14px';
@@ -3171,7 +3171,7 @@ var LayersWindow = function(editorUi, x, y, w, h)
 						
 						img1.className = 'geButton';
 						img1.style.cssFloat = 'none';
-						img1.innerHTML = '&#9660;';
+						img1.innerHTML = '&#9650;';
 						img1.style.width = '14px';
 						img1.style.height = '14px';
 						img1.style.fontSize = '14px';

+ 1 - 1
war/js/mxgraph/Graph.js

@@ -4405,7 +4405,7 @@ if (typeof mxVertexHandler != 'undefined')
 							{
 								links[i].setAttribute('target', '_top');
 								
-								if (href.charAt('#'))
+								if (href.charAt(0) === '#')
 								{
 									links[i].setAttribute('href', this.baseUrl + href);
 								}

File diff suppressed because it is too large
+ 2 - 2
war/js/reader.min.js


File diff suppressed because it is too large
+ 288 - 287
war/js/viewer.min.js


+ 48 - 48
war/resources/dia_pt-br.txt

@@ -1,7 +1,7 @@
 # *DO NOT DIRECTLY EDIT THIS FILE, IT IS AUTOMATICALLY GENERATED AND IT IS BASED ON:*
 # https://docs.google.com/spreadsheet/ccc?key=0AmQEO36liL4FdDJLWVNMaVV2UmRKSnpXU09MYkdGbEE
 aboutDrawio=Sobre draw.io
-accessDenied=Access Denied
+accessDenied=Acesso Negado
 actualSize=Tamanho real 
 add=Adicionar
 addImages=Adicionar imagens
@@ -10,12 +10,12 @@ addLayer=Adicionar camada
 addProperty=Adicionar propriedade
 addToExistingDrawing=Adicionar ao desenho existente
 addWaypoint=Adicionar ponto de notificação
-adjustTo=Adjust to
+adjustTo=Ajustar para
 advanced=Avançado
 align=Alinhar 
 alignment=Alinhamento
 allChangesLost=Todas as modificações serão perdidas! 
-allPages=All Pages
+allPages=Todas as páginas
 android=Android
 angle=Ângulo
 areYouSure=Tem certeza?
@@ -31,7 +31,7 @@ arrow=Seta
 arrows=Setas
 asNew=Como novo
 atlas=Atlas
-author=Author
+author=Autor
 authorizationRequired=Autorização necessária
 authorizeThisAppIn=Autorize esse aplicativo em {1}:
 authorize=Autorizar
@@ -63,7 +63,7 @@ bpmn=BPMN
 browser=Navegador
 bulletedList=Lista com marcadores
 business=Business
-busy=Operation in progress
+busy=Operação em andamento
 cabinets=Cabinets
 cancel=Cancelar 
 center=Centro 
@@ -106,7 +106,7 @@ connectionArrows=Connection Arrows
 connectionPoints=Pontos de conexão
 constrainProportions=Restringir proporções
 containsValidationErrors=Contém erros de validação 
-copiedToClipboard=Copied to clipboard
+copiedToClipboard=Copiado para a área de transferência
 copy=Copiar
 copyConnect=Copiar ao conectar
 copyOf=Cópia de {1}
@@ -116,7 +116,7 @@ create=Criar
 createNewDiagram=Criar novo diagrama
 createRevision=Criar revisão
 createShape=Criar forma
-crop=Crop
+crop=Recortar
 curved=Curvado
 custom=Personalizado
 current=Atual
@@ -126,21 +126,21 @@ decideLater=Decidir mais tarde
 default=Default
 delete=Excluir
 deleteColumn=Excluir coluna
-deleteLibrary401=Insufficient permissions to delete this library
-deleteLibrary404=Selected library could not be found
-deleteLibrary500=Error deleting library
+deleteLibrary401=Permissões insuficientes para excluir esta biblioteca
+deleteLibrary404=Biblioteca selecionada não foi encontrada
+deleteLibrary500=Erro ao excluir o biblioteca
 deleteLibraryConfirm=You are about to permanently delete this library. Are you sure you want to do this?
 deleteRow=Excluir linha
-description=Description
-device=Aparelho
+description=Descrição
+device=Dispositivo
 diagram=Diagrama
 diagramLocked=Diagrama travado para previnir futuras perdas de dados.
 diagramName=Nome do diagrama
 diamond=Diamante
-diamondThin=Diamante (Fino)
+diamondThin=Diamante (fino)
 didYouKnow=Você sabia...
 direction=Direção 
-discard=Discard
+discard=Descartar
 discardChangesAndReconnect=Descartar mudanças e reconectar
 googleDriveMissing=Google Drive ausente?
 disconnected=Desconectado
@@ -151,25 +151,25 @@ doubleClickOrientation=Clique duas vezes para mudar de orientação 
 doubleClickTooltip=Clique duas vezes para inserir texto
 download=Baixar
 downloadAs=Baixar como
-clickHereToSave=Click here to save.
-draftDiscarded=Draft discarded
-draftSaved=Draft saved
-dragElementsHere=Drag elements here
+clickHereToSave=Clique aqui para salvar.
+draftDiscarded=Rascunho descartado
+draftSaved=Rascunho salvo
+dragElementsHere=Arraste elementos aqui
 dragImagesHere=Arraste imagens ou URLs aqui
 dragUrlsHere=Arraste URLs aqui
 draw.io=draw.io
 drawing=Desenho{1}
 drawingEmpty=Desenho está vazio
 drawingTooLarge=O desenho é muito grande 
-drawioForWork=Draw.io for Work
+drawioForWork=Draw.io para Trabalho
 dropbox=Dropbox
 duplicate=Duplicar
 duplicateIt=Duplicar {1]
 divider=Dividir
 east=Leste
 edit=Editar 
-editData=Edit Data
-editDiagram=Edit Diagram
+editData=Editar dados
+editDiagram=Editar diagrama
 editGeometry=Editar geometria
 editImage=Editar imagem
 editImageUrl=Editar URL de Imagem
@@ -193,12 +193,12 @@ enterPropertyName=Inserir nome de propriedade
 enterValue=Inserir o valor 
 entityRelation=Relação de entidade
 error=Erro 
-errorDeletingFile=Error Deleting File
+errorDeletingFile=Erro ao excluir o aquivo
 errorLoadingFile=Erro ao carregar o arquivo
 errorRenamingFile=Erro ao renomear o arquivo.
 errorRenamingFileNotFound=Erro ao renomear o arquivo. Arquivo não encontrado.
 errorRenamingFileForbidden=Erro ao renomear o arquivo. Direitos de acesso insuficientes.
-errorSavingDraft=Error saving draft
+errorSavingDraft=Erro ao salvar o rascunho
 errorSavingFile=Erro ao salvar o arquivo
 errorSavingFileUnknown=Erro ao autorizar com servidores do Google. Por favor, atualize a página para tentar novamente.
 errorSavingFileForbidden=Erro ao salvar o arquivo. Direitos de acesso insuficientes.
@@ -210,7 +210,7 @@ exit=Sair
 exitGroup=Sair do Grupo
 expand=Expandir
 export=Exportar
-exporting=Exporting
+exporting=Exportando
 exportAs=Exportar como
 exportOptionsDisabled=Export options disabled
 exportOptionsDisabledDetails=The owner has disabled options to download, print or copy for commenters and viewers on this file.
@@ -389,7 +389,7 @@ nextPage=Next Page
 noColor=Sem cor
 noFiles=Nenhum arquivo
 noFileSelected=Nenhum arquivo selecionado
-noLibraries=No libraries found
+noLibraries=Nenhuma biblioteca encontrada
 noMoreResults=Sem mais resultados
 none=Nada
 noOtherViewers=Nenhum outro usuário
@@ -418,7 +418,7 @@ openArrow=Abrir seta
 openExistingDiagram=Abrir diagrama existente
 openFile=Abrir arquivo 
 openFrom=Abrir de
-openLibrary=Open Library
+openLibrary=Abrir biblioteca
 openLibraryFrom=Abrir biblioteca de
 openLink=Abrir link
 openInNewWindow=Abrir numa outra janela
@@ -433,8 +433,8 @@ otherViewer=outro usuário
 otherViewers=outros usuários
 outline=Contorno
 oval=Oval 
-page=Page
-pageWithNumber=Page-{1}
+page=Página
+pageWithNumber=Página-{1}
 pages=Páginas
 pageView=Layout da Página 
 pageSetup=Configuração da Página
@@ -462,17 +462,17 @@ position=Posição 
 posterPrint=Imprimir Cartaz 
 preferences=Preferências
 preview=Pré-visualizar 
-previousPage=Previous Page
+previousPage=Página anterior
 print=Imprimir 
-printAllPages=Print All Pages
+printAllPages=Imprimir todas as páginas
 procEng=Proc. Eng.
 properties=Propriedades
-publish=Publish
+publish=Publicar
 publishConfirmation=This will make your diagram public on imgur.com.
-published=Published
-publishedAt=Published at {1}
-publishing=Publishing
-deleteUrl=Link to delete: {1}
+published=Publicado
+publishedAt=Publicado em {1}
+publishing=Publicando
+deleteUrl=Link para excluir: {1}
 quickStart=Introdução rápida vídeo
 rack=Rack
 radialTree=Árvore radial
@@ -492,7 +492,7 @@ rename=Renomear
 renamed=Renomeado
 renameIt=Renomear {1}
 renaming=Renomeando
-replace=Replace
+replace=Substituir
 replaceIt={1} já existe. Você deseja substituí-lo? 
 replaceExistingDrawing=Substituir desenho já existente
 required=obrigatório
@@ -500,7 +500,7 @@ reset=Reset
 resetView=Reset View
 resize=Redimensionar
 retina=Retina
-responsive=Responsive
+responsive=Responsivo
 restore=Restaurar
 restoring=Restaurando
 retryingIn=Tentando novamente em {1} segundo(s)
@@ -523,7 +523,7 @@ saveDiagramsTo=Salvar diagramas em
 saveLibrary403=Insufficient permissions to edit this library
 saveLibrary500=There was an error while saving the library
 saving=Salvando
-scratchpad=Scratchpad
+scratchpad=Bloco de rascunho
 scrollbars=Barras de rolagem
 search=Buscar
 searchShapes=Search Shapes
@@ -550,11 +550,11 @@ showStartScreen=Show Start Screen
 sidebarTooltip=Click to expand. Drag and drop shapes into the diagram. Shift+click to change selection. Alt+click to insert and connect.
 signs=Signs
 signOut=Sair
-simple=Simple
+simple=Simples
 simpleArrow=Seta simples
 size=Tamanho 
-solid=Solid
-sourceSpacing=Espaçamento Fonte
+solid=Sólido
+sourceSpacing=Espaçamento entre fontes
 south=Sul
 software=Software
 spacing=Espaçamento 
@@ -577,7 +577,7 @@ textAlignment=Alinhamento de texto 
 textOpacity=Opacidade do Texto
 theme=Tema
 timeout=Tempo esgotado
-title=Title
+title=Título
 to=to
 toBack=Para trás 
 toFront=Para a frente 
@@ -587,7 +587,7 @@ topAlign=Alinhar ao topo
 topLeft=Top Left
 topRight=Top Right
 transparent=Transparente
-transparentBackground=Transparent Background
+transparentBackground=Fundo Transparente
 tryAgain=Tentar novamente
 tryOpeningViaThisPage=Try opening via this page.
 turn=Virar
@@ -598,9 +598,9 @@ undo=Desfazer 
 ungroup=Desagrupar 
 unsavedChanges=Mudanças não salvas
 unsavedChangesClickHereToSave=Unsaved changes. Click here to save.
-untitled=Untitled
+untitled=Sem título
 untitledDiagram=Diagrama sem título
-untitledLayer=Untitled Layer
+untitledLayer=Camada sem título
 untitledLibrary=Biblioteca sem título
 unknownError=Erro desconhecido
 updatingDocument=Atualizando documento. Por favor, aguarde... 
@@ -608,13 +608,13 @@ updatingPreview=Atualizando pré-visualização. Por favor, aguarde...
 updatingSelection=Atualizando seleção. Por favor, aguarde... 
 upload=Carregar
 url=URL
-userManual=User Manual
+userManual=Manual do Usuário
 vertical=Vertical 
 verticalFlow=Fluxo vertical
 verticalTree=Árvore vertical
 view=Visualização
 viewUrl=Link to view: {1}
-voiceAssistant=Voice Assistant (beta)
+voiceAssistant=Assistente de Voz (beta)
 warning=Warning
 waypoints=Pontos de notificação
 west=Oeste
@@ -632,7 +632,7 @@ charts=Gráficos
 engineering=Engenharia
 flowcharts=Fluxograma
 gmdl=Material Design
-mindmaps=Mapas da mente
+mindmaps=Mapas mentais
 mockups=Maquetes
 networkdiagrams=Rede de diagramas
 nothingIsSelected=Nenhuma seleção

+ 9 - 1
war/styles/grapheditor.css

@@ -351,7 +351,15 @@ div.mxWindow .geButton {
 }
 .geTitle img:hover {
 	opacity:1;
-	_filter:alpha(opacity=100);	
+	_filter:alpha(opacity=100);
+}
+.geTitle .geButton {
+	border:1px solid transparent;
+	padding:3px;
+	border-radius:2px;
+}
+.geTitle .geButton:hover {
+	border:1px solid gray;
 }
 .geSidebar .geItem {
 	display:inline-block;