[freeplane] 01/04: Imported Upstream version 1.5.13

Felix Natter fnatter-guest at moszumanska.debian.org
Sun Jul 31 17:06:07 UTC 2016


This is an automated email from the git hooks/post-receive script.

fnatter-guest pushed a commit to branch master
in repository freeplane.

commit 0b94366752e44d06b2ea9c5581df868cb5a1317a
Author: Felix Natter <fnatter at gmx.net>
Date:   Sun Jul 31 18:49:18 2016 +0200

    Imported Upstream version 1.5.13
---
 freeplane/build.gradle                             |   2 +-
 freeplane/doc/history_en.txt                       |  15 +
 freeplane/external-resources/xml/preferences.xml   |   1 +
 .../resources/translations/Resources_da.properties |  57 ++-
 .../resources/translations/Resources_de.properties |  10 +-
 .../resources/translations/Resources_es.properties |   2 +-
 .../resources/translations/Resources_eu.properties | 400 +++++++++++++++++++++
 .../resources/translations/Resources_fr.properties |  10 +
 .../resources/translations/Resources_hr.properties |  10 +
 .../resources/translations/Resources_ja.properties |  14 +-
 .../resources/translations/Resources_nl.properties |  29 +-
 .../translations/Resources_pt_PT.properties        |  10 +
 .../resources/translations/Resources_sv.properties |   2 +-
 .../translations/Resources_uk_UA.properties        |  11 +
 .../org/freeplane/core/ui/components/UITools.java  |   6 +
 .../features/attribute/AttributeRegistry.java      |  37 +-
 .../mindmapmode/MClipboardController.java          |  91 +++--
 .../java/org/freeplane/features/link/MapLinks.java |  10 +
 .../org/freeplane/features/map/MapController.java  |  24 +-
 .../features/map/mindmapmode/MMapController.java   |  56 +--
 .../org/freeplane/features/mode/Controller.java    |  50 ++-
 .../text/mindmapmode/SHTMLEditLinkAction.java      |   4 +-
 .../org/freeplane/features/ui/CloseAction.java     |   2 +-
 .../org/freeplane/features/ui/FrameController.java |  41 ++-
 .../org/freeplane/features/ui/IMapViewManager.java |  10 +-
 .../url/mindmapmode/FileRevisionsDialog.java       |  12 +-
 .../freeplane/main/addons/AddOnsController.java    |   4 +-
 .../org/freeplane/main/applet/FreeplaneApplet.java |   2 +-
 .../main/application/FreeplaneGUIStarter.java      |   7 +-
 .../main/application/MapViewDockingWindows.java    |   5 +-
 .../headlessmode/HeadlessMapViewController.java    |  24 +-
 .../mindmapmode/stylemode/EditStylesAction.java    |   2 +-
 .../swing/features/filepreview/ImageAdder.java     |  76 ++++
 .../filepreview/ImageObserverCallback.java         |  49 +++
 .../time/mindmapmode/nodelist/NodeList.java        |  15 +-
 .../java/org/freeplane/view/swing/map/MapView.java |  19 +-
 .../view/swing/map/MapViewController.java          |  88 +++--
 .../org/freeplane/view/swing/map/NodeView.java     |  26 +-
 .../swing/map/mindmapmode/EditNodeTextField.java   |  23 +-
 freeplane/viewer-resources/freeplane.properties    |  29 +-
 .../translations/Resources_en.properties           |  10 +
 freeplane/viewer-resources/version.properties      |   2 +-
 .../mac-appbundler/mac_info_plist.xslt             |   4 -
 .../windows-installer/Freeplane_without_Java.iss   |   2 +-
 .../windows-portable/App/AppInfo/appinfo.ini       |   4 +-
 .../org/freeplane/plugin/script/GroovyScript.java  |  25 +-
 .../freeplane/plugin/script/proxy/MapProxy.java    |   7 +-
 .../org/freeplane/plugin/script/proxy/Proxy.java   |  33 +-
 freeplane_plugin_script/src/overview.html          |   2 +-
 gitinfo.properties                                 |   2 +-
 gitinfo.txt                                        |   2 +-
 mac.dist.gradle                                    |  15 +-
 52 files changed, 1145 insertions(+), 248 deletions(-)

diff --git a/freeplane/build.gradle b/freeplane/build.gradle
index 3751282..768982d 100644
--- a/freeplane/build.gradle
+++ b/freeplane/build.gradle
@@ -15,7 +15,7 @@ dependencies {
             'com.jgoodies:jgoodies-forms:1.6.0',
             'com.jgoodies:jgoodies-common:1.4.0'
 
-	compile  ('com.lightdev.app.shtm.simplyhtml:SimplyHTML:0.16.17') {
+	compile  ('com.lightdev.app.shtm.simplyhtml:SimplyHTML:0.16.18') {
 		exclude module: 'javahelp'
 		exclude module: 'mnemonicsetter'
 	}
diff --git a/freeplane/doc/history_en.txt b/freeplane/doc/history_en.txt
index d940c3f..ff828e0 100644
--- a/freeplane/doc/history_en.txt
+++ b/freeplane/doc/history_en.txt
@@ -1,4 +1,19 @@
 ===============================
+1.5.13
+===============================
+Support High Density Monitors by scaling UI elements
+New SimplyHTML actions and short cuts for color and font size changes
+Improve posisioning of inline editing field for left side nodes
+Performance optimizations for filtered maps
+Performance optimizations for huge maps
+
+===============================
+1.5.12
+===============================
+Improvements in launcher for Mac OS
+Bug fixes
+
+===============================
 1.5.11
 ===============================
 Restore old default map template
diff --git a/freeplane/external-resources/xml/preferences.xml b/freeplane/external-resources/xml/preferences.xml
index df0d95a..91a7444 100644
--- a/freeplane/external-resources/xml/preferences.xml
+++ b/freeplane/external-resources/xml/preferences.xml
@@ -80,6 +80,7 @@
 				<group name="lookandfeel" />
 				<boolean name="apply_system_screen_resolution" />
 				<number name="user_defined_screen_resolution" min="72" max="1200" />
+				<boolean name="lookandfeel.scaleuifonts" />
 				<boolean name="resources_use_default_font_for_notes_too" />
 				<boolean name="resources_use_margin_top_zero_for_notes" />
 				<number name="max_menu_item_count" min="10" />
diff --git a/freeplane/resources/translations/Resources_da.properties b/freeplane/resources/translations/Resources_da.properties
index 828c661..5f6baa2 100644
--- a/freeplane/resources/translations/Resources_da.properties
+++ b/freeplane/resources/translations/Resources_da.properties
@@ -150,7 +150,7 @@ AutomaticLayout.COLUMNS=for kolonner
 AutomaticLayout.HEADINGS=for ikke blade knudepunkter
 AutomaticLayout.level=Niveau {0}
 AutomaticLayout.level.root=Roden
-AutomaticLayoutAction.text=Anvend niveau typografier
+AutomaticLayoutAction.text=Anvend niveautypografier
 AutomaticLayoutAction.tooltip=<html>Fasts\u00E6tter layoutet af MindMap.<br>Det f\u00F8rste niveau er sort, det andet bl\u00E5, osv.</html>
 AutomaticLayoutControllerAction.ALL.text=for alle knudepunkter
 AutomaticLayoutControllerAction.COLUMNS.text=for kolonner
@@ -208,7 +208,7 @@ choose_node_background_color=V\u00E6lg knudepunktsbaggrundsfarve:
 choose_node_color=V\u00E6lg knudepunktsfarve:
 ClearLinkAnchorAction.text=Ryd link anker
 ClearLinkAnchorAction.tooltip=<html>slet tidligere angivet knudepunktsanker</html>
-CloneAction.text=Inds\u00E6t som klon
+CloneAction.text=Inds\u00E6t klon
 close_btn=Luk
 CloseAction.text=Luk aktuelle MindMap
 cloud_shapes=Skyfigurer
@@ -242,13 +242,14 @@ corrupt_map=MindMap indhold er beskadiget
 CreateConjunctConditionAction.text=Og
 CreateDisjunctConditionAction.text=Eller
 CreateNotSatisfiedConditionAction.text=Ikke
-CreationModificationPluginAction.text=Vis modifikations tidspunkter
+CreationModificationPluginAction.text=Vis redigeringstidspunkter
 CreationModificationPluginAction.tooltip=<html>Denne funktion holder styr p\u00E5 knudepunkt oprettelse og modifikations tidspunkter.</html>
 current_dir=Mindmaps
 CutAction.text=Klip
 decrease_branch_font_size=Mindre skrifttype
 DecreaseNodeFontAction.text=Mindre skrifttype
 default=Standard
+defaultAuxiliaryWordList=en, den, af
 DefaultColorAction.text=Standardfarve
 defaultstyle.attributes=Attributter
 defaultstyle.details=Detaljer
@@ -406,10 +407,12 @@ FileRevisionsDialog.question=Fundet revisioner af {0}
 FileRevisionsDialog.restore=Gendan
 FileRevisionsDialog.restore.tooltip=Erstat {0} med {1}
 FileRevisionsDialog.title=Fil versioner
-filter=Filter
+filter=F&ilter
 filter_add=Tilf\u00F8j
 filter_and=AND
 filter_any_text=Kerne, detaljer eller note
+filter_clone_snapshot=Gemte kloner af udvalg
+filter_clones=Kloner af udvalg
 filter_conditions=Filtre
 filter_contains=Indeholder
 filter_created_after=Oprettet efter
@@ -469,14 +472,15 @@ fit_background_to_page=Tilpas baggrundsbillede til \u00E9n side
 fit_map_to_page=Tilpas til \u00E9n side
 fit_map_to_page_height=Tilpas h\u00F8jde til \u00E9n side
 fit_map_to_page_width=Tilpas bredde til \u00E9n side
-FitToPage.text=Zoom til passer til siden
+FitToPage.text=Zoom tilpasset til siden
 FitToPage.tooltip=Justerer zoomen s\u00E5 hele mindmappen kan v\u00E6re i det nuv\u00E6rende vindue.
 fold=Fold ind
 FoldAllAction.text=Fold alt
 FoldAllAction.tooltip=<html>Folder de valgte knudepunkter og alle underknudepunkter.</html>
 FoldOneLevelAction.text=Fold et niveau
 FoldOneLevelAction.tooltip=<html>Folder det valgte knudepunkt ind med et niveau.</html>
-follow_graphical_link=G\u00E5 til:
+follow_clone=Indenfor '' {0}''
+follow_graphical_link=G\u00E5 til ''{0}'
 FollowLinkAction.text=F\u00F8lg link
 font=Skrifttype
 FontFamilyAction.text=Skrifttype familie
@@ -517,6 +521,7 @@ FreeplaneHelpStarter.text=Hj\u00E6lp...
 FreeplaneHelpStarter.tooltip=Freeplane udviddet hj\u00E6lp
 GettingStartedAction.text=Tutorial
 goto=G\u00E5 til
+goto.noActions=Ingen m\u00E5lknudepunktet
 GotoLinkNodeAction.text=G\u00E5 til Link
 GotoNodeAction.text=G\u00E5 til knudepunkt med ID\u2026
 GrabKeyDialog.common.cancel=Annuller
@@ -679,7 +684,7 @@ image_covertLink=Konvertere link til billede
 ImageFlavorHandler=Billede (brug separat fil)
 import=Import
 import_linked_branch_no_link=Det valgte knudepunkthar ingen link at importere fra.
-ImportAction.text=Import
+ImportAction.text=Importer MindMap
 ImportBranchAction.text=Forgrening\u2026
 ImportExplorerFavoritesAction.text=Explorer favoritter\u2026
 ImportFolderStructureAction.text=Mappestruktur\u2026
@@ -886,6 +891,7 @@ node=Knudepunkt
 node_changed_discard_changes=Du har \u00E6ndret knudepunktet. Slet \u00E6ndringer?
 node_is_write_protected=Destinationsknudepunktet er skrivebeskyttet.
 node_location_help=Tr\u00E6k \u00E6ndrer knudepunkt placering, ctrl+tr\u00E6kke \u00E6ndrer afstande, dobbeltklik og ctrl+dobbeltklik nulstille dem.
+node_popup_scripting=Scripts
 node_selector=Knudepunktsudvalg
 node_selector_message=Dobbeltklik for at v\u00E6lge knudepunkt
 node_styles=Knudepunkt typografi
@@ -1042,6 +1048,7 @@ OptionPanel.en=Engelsk/English
 OptionPanel.Environment=Omgivelser
 OptionPanel.es=Spansk, castiliansk/espa\u00F1ol, castellano
 OptionPanel.et=Estisk/eesti, eesti keel
+OptionPanel.eu=Baskisk
 OptionPanel.execute_scripts_without_asking=Skriptudf\u00F8relse aktiveret
 OptionPanel.execute_scripts_without_asking.tooltip=<html>Freeplane scripts er hovedsagelig stand til at udf\u00F8re en handling p\u00E5 din computer. <br>S\u00E5ledes, du b\u00F8r ikke udf\u00F8re scripts du ikke kender til at v\u00E6re sikker.</html>
 OptionPanel.execute_scripts_without_exec_restriction=Tillad andre programmer at k\u00F8re (anbefales IKKE)
@@ -1131,6 +1138,8 @@ OptionPanel.load_last_map=\u00C5ben automatisk sidste MindMap
 OptionPanel.load_last_map.tooltip=<html>N\u00E5r Freeplane startes, hentes det sidst \u00E5bnede MindMap, hvis afkrydset.</html>
 OptionPanel.load_last_maps=Indl\u00E6s alle sidste MindMaps
 OptionPanel.lookandfeel=Udseende
+OptionPanel.lookandfeel.scaleuifonts=Skaler UI skrifttyper
+OptionPanel.lookandfeel.scaleuifonts.tooltip=Nyttigt for sk\u00E6rme med h\u00F8j densitet
 OptionPanel.lookandfeel.tooltip=<htm>Look&Feel til brug. 'metal','windows','motif', 'gtk' er underst\u00F8ttede, 'mac' er kun valgbar p\u00E5 MacOS. default betyder, at default look and feel bliver brugt. Hvis du \u00F8nsker at inds\u00E6tte din egen L&F, s\u00E5 indskriv class name her og sikre dig at den tilh\u00F8rende jar fil(er) er loaded. Hvis der er problemer med look and feel, s\u00E5 v\u00E6lg 'ingenting' her. Det virker p\u00E5 applets</html>
 OptionPanel.lt=Litauisk/kalba
 OptionPanel.max_displayed_node_count=Maks antal viste knudepunkter
@@ -1232,6 +1241,7 @@ OptionPanel.script_user_key_name_for_signing=Valgfri brugern\u00F8gle alias til
 OptionPanel.script_user_key_name_for_signing.tooltip=<html>Hvis du \u00F8nsker at signere din skripts, Angiv aliaset p\u00E5 n\u00F8glen her. <br>N\u00F8glen forventes at opholde sig i standard keystore. <br>Adgangskode af key's hemmelige n\u00F8gle skal falde sammen med keystore adgangskode (dette er standard).</html>
 OptionPanel.scrollbar_increment=Hastighed
 OptionPanel.scrolling_speed=Automatisk rulle hastighed
+OptionPanel.scrollOnUnfold=Rul kort efter udfoldning af knudepunkt
 OptionPanel.selection_method=Metode for valg
 OptionPanel.selection_method.tooltip=<html> med den f\u00F8lgende kontakt kan du enable/disable det forsinkede skemavalg. Auto options. rediger dem ikke da de vil blive gemt i auto.properties under alle omst\u00E6ndigheder.</html>
 OptionPanel.selection_method_by_click=Ved klik
@@ -1265,6 +1275,7 @@ OptionPanel.separator.icon_properties=Ikoner
 OptionPanel.separator.icons=Ikoner i "V\u00E6lg ikon\u2026"
 OptionPanel.separator.initial_map_size=Initial MindMap st\u00F8rrelse
 OptionPanel.separator.inline_editor=I linje knudepunkt editor
+OptionPanel.separator.JoinNodesAction=Sammenf\u00F8jer knudepunkter
 OptionPanel.separator.key_typing=Tastetur
 OptionPanel.separator.language=Sprog
 OptionPanel.separator.latex=LaTeX
@@ -1361,6 +1372,7 @@ OptionPanel.standardselectednodecolor.tooltip=<html>Standard knudepunktsfarve er
 OptionPanel.standardselectednoderectanglecolor=Valgte knudepunkt boble farve
 OptionPanel.standardselectednoderectanglecolor.tooltip=<html>Farve af buble m\u00E6rkning valgte knudepunkter. I HTML-notation (#RRGGBB i hex v\u00E6rdier)</html>
 OptionPanel.STAR=Stjerne
+OptionPanel.statesymbolwidth=Tilstand symbolbredde
 OptionPanel.structured_html_import=Importer HTML som knudepunkt struktur
 OptionPanel.structured_icon_toolbar=Struktureret ikon v\u00E6rkt\u00F8jslinie
 OptionPanel.summary=Resum\u00E9
@@ -1373,9 +1385,10 @@ OptionPanel.time_for_delayed_selection=Tid for forsinket valg
 OptionPanel.time_for_delayed_selection.tooltip=<html>Valg af tidsforsinkelse p\u00E5 knudepunktet n\u00E5r musen er over (i msek). \u00C6ndre denne v\u00E6rdi til 1, hvis du \u00F8nsker direkte selektion ved mus over.</html>
 OptionPanel.toolTipManager.dismissDelay=Afvis forsinkelse, ms
 OptionPanel.toolTipManager.initialDelay=Indledende forsinkelse, ms
+OptionPanel.toolTipManager.max_tooltip_height=Maksimal h\u00F8jde p\u00E5 knudepunktets v\u00E6rkt\u00F8jstip
 OptionPanel.toolTipManager.max_tooltip_height.tooltip=Maksimal h\u00F8jde p\u00E5 v\u00E6rkt\u00F8jstip i pixels.
-OptionPanel.toolTipManager.max_tooltip_width=V\u00E6rkt\u00F8jstip bredde
-OptionPanel.toolTipManager.max_tooltip_width.tooltip=<html>Standard v\u00E6rkt\u00F8jstip bredde i pixels.</html>
+OptionPanel.toolTipManager.max_tooltip_width=Maksimal bredde p\u00E5 knudepunktets \u00E6rkt\u00F8jstip
+OptionPanel.toolTipManager.max_tooltip_width.tooltip=Maksimale bredde p\u00E5 v\u00E6rkt\u00F8jstip i pixels.
 OptionPanel.toolTipManager.reshowDelay=Genvisning forsinkelse, ms
 OptionPanel.tr=Tyrkisk / T\u00FCrk\u00E7e
 OptionPanel.uk_UA=Ukrainsk/\u0423\u043A\u0440\u0430\u0457\u043D\u0441\u044C\u043A\u0430
@@ -1541,7 +1554,7 @@ replace_shortcut_title=Erstat genvej?
 ReportBugAction.text=Rapporter en fejl
 RequestFeatureAction.text=Anmod om en funktion
 reset_to_default=Brug standard
-ResetNodeLocationAction.text=Reset position
+ResetNodeLocationAction.text=Reset knudepunkt position
 ResetStyleAction.text=Nulstil knudepunkt typografi
 RevertAction.text=Gendan fra lokal historik
 RevisionPluginAction.text=\u00C6ndre baggrundsfarve for revisioner
@@ -1550,14 +1563,14 @@ save_failed=Kunne ikke gemme MindMap {0}.
 save_unsaved=Gem MindMap?
 save_unsaved_styles=Gem typografier?
 SaveAcceleratorPresetsAction.text=Gem genvejstaster\u2026
-SaveAction.text=Gem
+SaveAction.text=Gem MindMap
 SaveAction_readonlyMsg=Mindmap er skrivebeskyttet. Brug 'Fil-> Gem mindap som...' for at gemme.
 SaveAction_readonlyTitle=Fors\u00F8g p\u00E5 at gemme skrivebeskyttet mindmap
-SaveAll.text=Gem alle \u00E5bne MindMap
+SaveAll.text=Gem &alle \u00E5bne MindMap
 SaveAll.tooltip=Gemmer alle \u00E5bne MindMaps
 SaveAs_toReadonlyMsg={0} er skrivebeskyttet. Gem til en anden fil.
 SaveAs_toReadonlyTitle=Fors\u00F8g p\u00E5 at gemme til skrivebeskyttet fil
-SaveAsAction.text=Gem som\u2026
+SaveAsAction.text=Gem MindMap som\u2026
 saved=Gemt
 saving_canceled=Gem afbrudt
 scanners_not_loaded=Scannere kunne ikke indl\u00E6ses, fil beskadiget
@@ -1566,19 +1579,22 @@ script_execution_disabled=Skriptudf\u00F8relse er deaktiveret, se v\u00E6rkt\u00
 ScriptEditor.text=Script Editor...
 ScriptEditor.tooltip=Tillader at skrive st\u00F8rre scripts inden i Freeplane.
 ScriptEditorPanel.changed_cancel=Scriptene er blevet \u00E6ndret. \u00D8nsker du virkelig at forlade disse \u00E6ndringer?
+scripting=Scripts
 scripting_api_generator_legend=Tegnforklaring
 scripting_api_generator_proxy=Proxy
 scripting_api_generator_title=Skripting API
 scripting_api_generator_utilities=Hj\u00E6lpeprogrammer
 scripting_api_generator_web=Webressourcer
+ScriptsRunToggleAction.ON_SELECTED_NODE.text=Udf\u00F8r scripts p\u00E5 alle markerede knudepunkter
 ScriptsRunToggleAction.ON_SELECTED_NODE_RECURSIVELY.text=Udf\u00F8r skripts p\u00E5 markerede noder, rekursivt
+ScriptsRunToggleAction.ON_SINGLE_NODE.text=Udf\u00F8r scripts p\u00E5 et markeret knudepunkt
 select_favorites_folder=V\u00E6lg mappen, med dine favoritter
 select_file_export_to=V\u00E6lg fil at eksporterer til
 select_folder_for_importing=V\u00E6lg mappen som skal importeres
 select_icon=V\u00E6lg et ikon
 select_menu_item_dialog=V\u00E6lg et menupunkt
 select_menu_item_root_node=Menu
-SelectAllAction.text=V\u00E6lg alt synligt
+SelectAllAction.text=V\u00E6lg alle synlige knudepunkter
 SelectBranchAction.text=V\u00E6lg synlig forgrening
 SelectedPasteAction.text=Inds\u00E6t som\u2026
 selection_method_by_click=Enkelt-klik for at v\u00E6lge
@@ -1590,6 +1606,8 @@ set_accelerator_on_next_click_action=For at oprette en ny tastaturgenvej: Tryk p
 SetAccelerator.dialogTitle=Tildeling af genvejstaster
 SetAccelerator.keystrokeDetected=Taste "{0}" er ikke tildelt til noget menupunkt.
 SetAcceleratorOnNextClickAction.text=Tildel genvejstast\u2026
+SetAlwaysUnfoldedNodeFlagsAction.text=Hold udfoldede knuderpunktet
+SetAlwaysUnfoldedNodeFlagsAction.tooltip=Forhindrer foldning af aktuelt udfoldede knudepunkter
 SetImageByFileChooserAction.text=Billede - filh\u00E5ndtering eller link\u2026
 SetLinkAnchorAction.text=Angiv link anker
 SetLinkAnchorAction.tooltip=<html>angiv valgte knudepunkt som anker for fremtidige<br/>oprettelser af lokale eller globale links.
@@ -1628,6 +1646,8 @@ simplyhtml.appendTableColLabel=Tilf\u00F8j kolonne
 simplyhtml.appendTableRowLabel=Tilf\u00F8j r\u00E6kke
 simplyhtml.applyCellAttrLabel=Anvend p\u00E5
 simplyhtml.backgroundLabel=Baggrund:
+simplyhtml.blackFontColorLabel=Sort
+simplyhtml.blueFontColorLabel=Bl\u00E5
 simplyhtml.boldItalicName=fed kursiv
 simplyhtml.boldName=fed
 simplyhtml.borderColorLabel=Farve:
@@ -1657,6 +1677,7 @@ simplyhtml.cTagNamePara=Afsnit
 simplyhtml.cTagNameUL=Usorteret liste
 simplyhtml.cutLabel=Klip
 simplyhtml.cutTip=klip
+simplyhtml.decreaseFontSizeLabel=Mindre
 simplyhtml.defaultDocName=Unavngivet
 simplyhtml.deleteTableColLabel=Slet kolonne
 simplyhtml.deleteTableRowLabel=Slet r\u00E6kke
@@ -1689,9 +1710,11 @@ simplyhtml.formatParaLabel=Afsnit...
 simplyhtml.formatParaTip=\u00C6ndre afsnits format
 simplyhtml.formatTableLabel=Tabel...
 simplyhtml.formatTableTip=Format tabel
+simplyhtml.greenFontColorLabel=Gr\u00F8n
 simplyhtml.helpLabel=Hj\u00E6lp
 simplyhtml.htmlTabTitle=HTML kode visning
 simplyhtml.imageFileDesc=Billed filer
+simplyhtml.increaseFontSizeLabel=St\u00F8rre
 simplyhtml.insertTableColLabel=Inds\u00E6t kolonne
 simplyhtml.insertTableLabel=Tabel...
 simplyhtml.insertTableMsg=Hvor mange kolonner?
@@ -1743,8 +1766,10 @@ simplyhtml.previewLabel=Forh\u00E5ndsvisning
 simplyhtml.previewText=Forh\u00E5ndsvis tekst
 simplyhtml.prevTableCellLabel=Forrige celle
 simplyhtml.printLabel=Udskriv\u2026
+simplyhtml.redFontColorLabel=R\u00F8d
 simplyhtml.redoLabel=Gendan
 simplyhtml.redoTip=gendan
+simplyhtml.removeFontColorLabel=Fjern farve
 simplyhtml.replace=Erstat...
 simplyhtml.replaceAll=Alt
 simplyhtml.replaceDone=F\u00E6rdig
@@ -1760,6 +1785,7 @@ simplyhtml.searchFromStart.tooltip=Begynd at s\u00F8ge fra toppen i stedet for v
 simplyhtml.searchUp=S\u00F8g opefter
 simplyhtml.searchUp.tooltip=S\u00F8g fra top til bund.
 simplyhtml.selectAllLabel=V\u00E6lg alt
+simplyhtml.selectedFontColorLabel=Valgte skrifttypefarve
 simplyhtml.sizeLabel=St\u00F8rrelse
 simplyhtml.standardStyleName=standard
 simplyhtml.strikeLabel=Gennemstreg
@@ -1798,8 +1824,9 @@ SortNodes.text=Sorter b\u00F8rn
 SortNodes.tooltip=Sorter alle underknudepunkter alfabetisk.
 split=&Opdel
 SplitConditionAction.text=Opdel
-SplitNode.text=Opdel knudepunktet
+SplitNode.text=Opdel knudepunkt
 SplitNode.tooltip=<html>Knudepunkt er opdelt</html>
+SplitToWordsAction.text=Opdel med {0} ord i linje
 STANDARD_FORMAT=Standard
 stop_processing=Stop
 StringFlavorHandler=Almindelig tekst som knudepunkt hierarki
diff --git a/freeplane/resources/translations/Resources_de.properties b/freeplane/resources/translations/Resources_de.properties
index 8ce54b1..021a411 100644
--- a/freeplane/resources/translations/Resources_de.properties
+++ b/freeplane/resources/translations/Resources_de.properties
@@ -1400,7 +1400,7 @@ org.freeplane.plugin.bugreport.lastreport=Letzer Empfangener Report
 org.freeplane.plugin.bugreport.never=Niemals nach Hilfe fragen
 org.freeplane.plugin.bugreport.question=Freeplane hat eine automatische Fehlerr\u00FCckverfolgungs-Funktion.
 org.freeplane.plugin.bugreport.report=Derzeitiger Report
-org.freeplane.plugin.bugreport.wanted_bug=Ein Fehler ist aufgetreten und wurde automatisch weitergemeldet.\nWir brauchen aber noch mehr Informationen, um dieses unerwartete Verhalten reproduzieren zu k\u00F6nnen.\n\nBitte helfen Sie uns dabei, indem Sie einen Fehlerbericht in userem Mantis-Fehlerverfolgungstool eingeben.\nErkl\u00E4ren Sie auch, was Sie getan haben, als der Fehler auftrat, so dass wir Ihn reproduzieren k\u00F6nnen.\n\nWenn Sie OK dr\u00FCcken, wird automatisch das Fehler [...]
+org.freeplane.plugin.bugreport.wanted_bug=Ein Fehler ist aufgetreten und wurde automatisch weitergemeldet.\nWir brauchen aber noch mehr Informationen, um dieses unerwartete Verhalten reproduzieren zu k\u00F6nnen.\n\nBitte helfen Sie uns dabei, indem Sie einen Fehlerbericht in unserem Fehlerverfolgungstool eingeben.\nErkl\u00E4ren Sie auch, was Sie getan haben, als der Fehler auftrat, so dass wir Ihn reproduzieren k\u00F6nnen.\n\nWenn Sie OK dr\u00FCcken, wird automatisch das Fehlerverfol [...]
 org.freeplane.plugin.script.NodeIdHighlighter.node_is_not_defined=Der Knoten {0} ist nicht definiert
 out_of_memory=Zu wenig Speicher.
 overwrite_keyset_question=Bestehende Tastaturk\u00FCrzel-Sammlung \u00FCberschrieben?
@@ -1623,6 +1623,8 @@ simplyhtml.appendTableColLabel=Spalte anh\u00E4ngen
 simplyhtml.appendTableRowLabel=Zeile anh\u00E4ngen
 simplyhtml.applyCellAttrLabel=Anwenden auf
 simplyhtml.backgroundLabel=Hintergrund:
+simplyhtml.blackFontColorLabel=Schwarz
+simplyhtml.blueFontColorLabel=Blau
 simplyhtml.boldItalicName=Fett kursiv
 simplyhtml.boldName=Fett
 simplyhtml.borderColorLabel=Farbe:
@@ -1652,6 +1654,7 @@ simplyhtml.cTagNamePara=Absatz
 simplyhtml.cTagNameUL=Bullet-Liste
 simplyhtml.cutLabel=Ausschneiden
 simplyhtml.cutTip=Ausschneiden
+simplyhtml.decreaseFontSizeLabel=Kleiner
 simplyhtml.defaultDocName=Ohne Titel
 simplyhtml.deleteTableColLabel=Spalte l\u00F6schen
 simplyhtml.deleteTableRowLabel=Zeile l\u00F6schen
@@ -1684,9 +1687,11 @@ simplyhtml.formatParaLabel=Absatz...
 simplyhtml.formatParaTip=Absatzformat \u00E4ndern
 simplyhtml.formatTableLabel=Tabelle...
 simplyhtml.formatTableTip=Tabelle formatieren
+simplyhtml.greenFontColorLabel=Gr\u00FCn
 simplyhtml.helpLabel=Hilfe
 simplyhtml.htmlTabTitle=HTML-Code-Ansicht
 simplyhtml.imageFileDesc=Bilddateien
+simplyhtml.increaseFontSizeLabel=Gr\u00F6\u00DFer
 simplyhtml.insertTableColLabel=Spalte einf\u00FCgen
 simplyhtml.insertTableLabel=Tabelle...
 simplyhtml.insertTableMsg=Wieviele Spalten?
@@ -1738,8 +1743,10 @@ simplyhtml.previewLabel=Vorschau
 simplyhtml.previewText=Dies ist ein Test
 simplyhtml.prevTableCellLabel=Vorige Zelle
 simplyhtml.printLabel=Drucken...
+simplyhtml.redFontColorLabel=Rot
 simplyhtml.redoLabel=Wiederherstellen
 simplyhtml.redoTip=Wiederholen
+simplyhtml.removeFontColorLabel=Farbe entfernen
 simplyhtml.replace=Ersetzen...
 simplyhtml.replaceAll=Alles
 simplyhtml.replaceDone=Fertig
@@ -1755,6 +1762,7 @@ simplyhtml.searchFromStart.tooltip=Von Anfang an (und nicht ab der Cursorpositio
 simplyhtml.searchUp=Nach oben suchen
 simplyhtml.searchUp.tooltip=Von unten nach oben suchen.
 simplyhtml.selectAllLabel=Alles Ausw\u00E4hlen
+simplyhtml.selectedFontColorLabel=Selektierte Textfarbe
 simplyhtml.sizeLabel=Gr\u00F6\u00DFe
 simplyhtml.standardStyleName=Standard
 simplyhtml.strikeLabel=Durchgestrichen
diff --git a/freeplane/resources/translations/Resources_es.properties b/freeplane/resources/translations/Resources_es.properties
index 7e9f8e1..0171872 100644
--- a/freeplane/resources/translations/Resources_es.properties
+++ b/freeplane/resources/translations/Resources_es.properties
@@ -1310,7 +1310,7 @@ org.freeplane.plugin.bugreport.lastreport=El informe recibido
 org.freeplane.plugin.bugreport.never=Que nunca me pidan ayuda
 org.freeplane.plugin.bugreport.question=Freeplane incluye un gestor autom\u00E1tico de seguimiento de errores. \nNo se enviar\u00E1n datos personales o el contenido del mapa.\nInformar de los errores nos permitir\u00E1 mejorar el programa.
 org.freeplane.plugin.bugreport.report=Informe actual
-org.freeplane.plugin.bugreport.wanted_bug=Se produjo un error interno y se inform\u00F3 autom\u00E1ticamente.\nNos gustar\u00EDa algo m\u00E1s de informaci\u00F3n para poder reproducir el error.\nPor favor, ay\u00FAdenos envi\u00E1ndonos un informe de error a nuestro gestor de seguimiento de errores Mantis:\nexplique lo que estaba haciendo en ese momento, para que podamos reproducirlo.\n\nPulse en OK para abrir la p\u00E1gina de seguimiento de errores en su navegador.\n\nGracias por ayud [...]
+org.freeplane.plugin.bugreport.wanted_bug=Se produjo un error interno y se inform\u00F3 autom\u00E1ticamente.\nNos gustar\u00EDa algo m\u00E1s de informaci\u00F3n para poder reproducir el error.\nPor favor, ay\u00FAdenos envi\u00E1ndonos un informe de error a nuestro gestor de seguimiento de errores:\nexplique lo que estaba haciendo en ese momento, para que podamos reproducirlo.\n\nPulse en OK para abrir la p\u00E1gina de seguimiento de errores en su navegador.\n\nGracias por ayudarnos a [...]
 org.freeplane.plugin.script.NodeIdHighlighter.node_is_not_defined=El nodo {0} no est\u00E1 definido
 out_of_memory=Sin espacio en la memoria.
 overwrite_keyset_question=\u00BFSobrescribir la configuraci\u00F3n de teclas existente?
diff --git a/freeplane/resources/translations/Resources_eu.properties b/freeplane/resources/translations/Resources_eu.properties
index 853e3e5..6fecd01 100644
--- a/freeplane/resources/translations/Resources_eu.properties
+++ b/freeplane/resources/translations/Resources_eu.properties
@@ -498,3 +498,403 @@ formula.error.attributeValueIsNull="{0}" berezitasunaren balioa ebaluaketa ondor
 formula.error.circularReference=Erreferentzi zirkularra. "{0}" adabegiaren formulak bere burua erreferentziatzen du.
 formula.EvaluateAllAction.text=Guztiak ebaluatu
 formula.EvaluateAllAction.tooltip=Mapa hontako formula guztiak ebaluatu
+formula.menuname=Formulak
+formula_editor=Formula editatu
+ForwardAction.text=Aurrerantz joan
+ForwardAction.tooltip=Aukeratutako katean aurreruntz egiten du jauzi
+FreeNodeAction.text=Aske kokatutako adabegia(ezarri/ezabatu)
+Freeplane.progress.buildScreen=Eraiki pantaila...
+Freeplane.progress.createController=Kontroladorea sortu...
+Freeplane.progress.createInitialMode=Hasierako modua sortu...
+Freeplane.progress.endStartup=Abiaraztea amaitu.
+Freeplane.progress.gettingPreferenceDirectories=Lehentasunen direktorioa lortzen...
+Freeplane.progress.gettingPreferences=Lehentasunak lortzen...
+Freeplane.progress.loadMaps=Mapak kargatu...
+Freeplane.progress.propagateLookAndFeel=Itxura hedatu...
+Freeplane.progress.settingPreferences=Lehentasunak ezartzen...
+Freeplane.progress.startCreateController=Kontroladore sorketa hasi...
+Freeplane.progress.updateLookAndFeel=Itxura eguneratu...
+freeplane_reverted=Freeplane_berera_itzulita_
+FreeplaneHelpStarter.text=Laguntza...
+FreeplaneHelpStarter.tooltip=Freeplane-ren laguntza zabaldua
+GettingStartedAction.text=Tutoriala
+goto=Joan
+goto.noActions=Helburu adabegirik ez
+GotoLinkNodeAction.text=Loturara joan
+GotoNodeAction.text=ID hontako adabegira joan
+GrabKeyDialog.common.cancel=Ezeztatu
+GrabKeyDialog.common.ok=OK
+GrabKeyDialog.grab-key.assigned-to=-ri esleitua
+GrabKeyDialog.grab-key.assigned-to.none=Oraindik esleitu gabe
+GrabKeyDialog.grab-key.clear=Garbitu
+GrabKeyDialog.grab-key.remove=Ezabatu
+GrabKeyDialog.grab-key.remove-ask=Tekla mugimendu hau ezabatzeaz ziur al zaude?
+GrabKeyDialog.grab-key.title=Tekla berri bat sartu
+green=Berdea
+help=&Laguntza
+HideableAction.tooltip=<html>Adabegi bakoitzaren atzealdea markatzen du.</html>
+HideAllAttributesAction.text=Ezaugarri guztiak  ezkutatu
+HierarchicalIcons2Action.text=Haur ikonoen elkargunean erakutsi
+HierarchicalIconsAction.text=Ikonoak era jerarkikoan azaldu
+HierarchicalIconsAction.tooltip=Nire haur edo bilobaren batek ikono bat baldin badu, ikono hori ere formatu txikiak azalduko dut.
+hot_keys=Tekla azkarrak
+hot_keys_table=Tekla azkarren taula
+HotKeyInfoAction.text=Teklen erreferentziak
+html_export_based_on_headings=HTML Esportaketa - Goiburuak oinarritzat hartuz
+html_export_fold_all=HTML Esportatu - Guztiak tolestu
+html_export_fold_currently_folded=HTML Esportatu - Dagoeneko tolestuak tolestu
+html_export_no_folding=HTML Esportatu - Tolestu gabe
+html_problem=<html>Ezin html azaldu (render arazoak)<br><br>{0}
+icon_0%=%0
+icon_100%=%100
+icon_25%=%25
+icon_50%=%50
+icon_75%=%75
+icon_addition=Gehiketa
+icon_attach=Hemen begiratu
+icon_audio=Audioa
+icon_back=Atzera
+icon_bee=Freeplane
+icon_bell=Gogoan izan
+icon_bookmark=Ederki
+icon_broken-line=Hautsita
+icon_button_cancel=OK ez
+icon_button_ok=OK
+icon_calendar=Eguna, Data
+icon_checked=Gainbegiratuta
+icon_clanbomber=Arriskutsua
+icon_clock=Ordua
+icon_clock2=Gogoratzailea
+icon_closed=Sarrerarik ez
+icon_decrypted=Askatuta
+icon_desktop_new=Ez ahaztu
+icon_division=Zatiketa
+icon_down=Beherantz
+icon_edit=Findu
+icon_encrypted=Lotua
+icon_executable=Exekutagarria
+icon_family=Famlia
+icon_fema=Gizonezko eta Emakumezko
+icon_female1=Emakumezko1
+icon_female2=Emakumezko2
+icon_females=Emakumezkoak
+icon_flag=Bandera gorria
+icon_flag-black=Bandera beltza
+icon_flag-blue=Bandera urdina
+icon_flag-green=Bandera berdea
+icon_flag-orange=Bandera laranja
+icon_flag-pink=Bandera arrosa
+icon_flag-yellow=Bandera horia
+icon_folder=Direktorioa
+icon_forward=Aurrerantz
+icon_freemind_butterfly=FreeMind
+icon_full-0=Lehentasuna 0
+icon_full-1=Lehentasuna 1
+icon_full-2=Lehentasuna 2
+icon_full-3=Lehentasuna 3
+icon_full-4=Lehentasuna 4
+icon_full-5=Lehentasuna 5
+icon_full-6=Lehentasuna 6
+icon_full-7=Lehentasuna 7
+icon_full-8=Lehentasuna 8
+icon_full-9=Lehentasuna 9
+icon_go=Semaforo berdea
+icon_gohome=Etxea
+icon_group=Taldea
+icon_help=Galdera
+icon_hourglass=Itxaroten
+icon_icon_not_found=Ikonoa aurkitu ez
+icon_idea=Burutapena
+icon_image=Irudia
+icon_info=Informazioa
+icon_internet=Internet
+icon_internet_warning=Interneteko jakinarazpena
+icon_kaddressbook=Telefonoa
+icon_kmail=E-Posta
+icon_knotify=Musika
+icon_korn=Postontzia
+icon_ksmiletris=Pozik nago
+icon_launch=Bazkaria
+icon_licq=Atsegina
+icon_list=Zerrenda
+icon_Mail=Posta
+icon_male1=Gizonezkoa1
+icon_male2=Gizonezkoa2
+icon_males=Gizonezkoak
+icon_menu=I&konoa
+icon_messagebox_warning=Garrantzitsua
+icon_mindmap=Adimen Mapa
+icon_multiplication=Biderkea
+icon_narrative=Narratiba
+icon_negative=Negatiboa
+icon_neutral=Neutrala
+icon_password=Giltza
+icon_pencil=Fintzeko
+icon_penguin=Linux
+icon_positive=Positiboa
+icon_prepare=Semaforo horia
+icon_revision=Berrikuspena
+icon_smiley-angry=Haserre
+icon_smiley-neutral=Ajolik ez
+icon_smiley-oh=Ezustekoa
+icon_smily_bad=Ez nago pozik
+icon_stop=Semaforo gorria
+icon_stop-sign=Stop
+icon_subtraction=Kenketa
+icon_unchecked=Gainbegiratu gabe
+icon_up=Goruntz
+icon_user_icon=Erabiltzailearen ikonoak
+icon_very_negative=Oso Negatiboa
+icon_very_positive=Oso Positiboa
+icon_video=Bideoa
+icon_wizard=Magia
+icon_xmag=Eztabaidatzeko
+icon_yes=Garrantzitsua
+IconGroupPopupAction.arrows.text=Geziak
+IconGroupPopupAction.docs_folders.text=Dokumentu eta Direktorioak
+IconGroupPopupAction.flags.text=Banderak
+IconGroupPopupAction.math.text=Matematika
+IconGroupPopupAction.media.text=Media
+IconGroupPopupAction.miscellaneous.text=Denetik pixkat
+IconGroupPopupAction.nature.text=Natura
+IconGroupPopupAction.numbers.text=Zenbakiak
+IconGroupPopupAction.office.text=Bulegoa
+IconGroupPopupAction.people.text=Jendea
+IconGroupPopupAction.rating.text=Sailkapena
+IconGroupPopupAction.signs.text=Ikurrak
+IconGroupPopupAction.smiley.text=Smiley
+IconGroupPopupAction.time.text=Denbora
+IconGroupPopupAction.user.text=Erabiltzaileen ikonoak
+IconProgressExtended10Action.text=Hedatutako aurrerabidea %10
+IconProgressExtended10Action.tooltip=<html>Aurrerabide ikurra %10 igotzen dut ezker klik bikoitza egitean. <br> Control + ezker klik bikoitzak jeitsi/kendu egiten du. </html>
+IconProgressExtended25Action.text=Hedatutako aurrerabidea %25
+IconProgressExtended25Action.tooltip=<html>Aurrerabide ikurra %25 igotzen dut ezker klik bikoitza egitean. <br> Control + ezker klik bikoitzak jeitsi/kendu egiten du. </html>
+IconProgressIconDownAction.text=Aurrerapena behera
+IconProgressIconDownAction.tooltip=Aurrerabide ikonoak, jeitsi/sartu/kentzen ditu (%100 -> %75 -> %50 -> %25 -> %0 -> ezabatu).
+IconProgressIconUpAction.text=Aurrerabidea gora
+IconProgressIconUpAction.tooltip=Aurrerabide ikonoak igo/sartzen ditu (%0 -> %25 -> %50 -> %75 -> %100 + OK).
+IconProgressRemoveAction.text=Aurrerabidea ezabatu
+IconProgressRemoveAction.tooltip=Aurrerabide eta hedatutako aurrerabide ikonoak ezabatzen ditu
+icons=Ikonoak
+IconSelectionPlugin.text=Ikonoak taulatik...
+IconSelectionPlugin.tooltip=<html>Hemen azpileiho bat erabiliz ikono bat aukera zenezake.</html>
+image_covertLink=Lotura irudi bihurtu
+ImageFlavorHandler=Irudia (beste fitxategi bat erabili)
+import=I&nportatu
+import_linked_branch_no_link=Aukeratutako adabegiak ez du nondik inportatzeko loturarik
+ImportAction.text=Mapa inportatu
+ImportBranchAction.text=Adarra...
+ImportExplorerFavoritesAction.text=Gustokoenen esploratzailea...
+ImportFolderStructureAction.text=Direktorio egitura...
+ImportLinkedBranchAction.text=Lotutako adarra
+ImportLinkedBranchWithoutRootAction.text=Errorik gabeko lotutako adarra...
+ImportMindmanagerFiles.text=MindManager X5 mapa...
+ImportXmlFile.text=XML fitxategia inportatu
+increase_branch_font_size=Hizki neurri haundiagoa
+IncreaseNodeFontAction.text=Hizki neurri haundiagoa
+internal_error_tooltip=Barne akatsak gertatu dira. Informazio gehiagorako log.0 azken log fitxategia ireki.
+invalid_export_file=Esportatzeko fitxategi izen okerra
+invalid_file_msg=Ezin fitxategirik aurikitu {0}rentzat
+invalid_uri={0} URI okerra
+invalid_url=Ezin balio duen URL-rik sortu
+invalid_url_msg=Ezin {0}-rentzat balio duen URL-rik sortu
+ItalicAction.text=Italika
+italicise_branch=Italika eran ipini
+java_version=Java bertsioa: {0}
+JoinNodesAction.separator.format=Adabegiak "{0}"rekin elkartu
+lastOpenedMaps=Azken mapak
+lastOpenedMaps.noActions=Maparik ez historian
+latex_editor=LaTeX Formula editatu
+LatexDeleteLatexAction.text=LaTeX Formula ezabatu
+LatexEditLatexAction.text=LaTeX formula editatu...
+LatexInsertLatexAction.msg1=<html>Era zaharkitu batetan ari zara LaTeX formula sartzen saiatzen. <br/>Orri honetan daukazu LaTeX formula(k) idazteko era berria:</html>
+LatexInsertLatexAction.msg2=<html>Motzean:<ul><li>"\\latex" aurrizkia erabili adabegiak edota</li><li><i>Ikusi->Berezitasunen panela</i>, orduan <i> Testu nukleoa->Formatua->LaTeX</i></li></ul></html>
+LatexInsertLatexAction.text=LaTeX formula gehitu...
+latexPatternFormat=LaTeX
+LengthUnits.cm=zm
+LengthUnits.in=hazbete
+LengthUnits.mm=mm
+LengthUnits.pt=pt
+LengthUnits.px=px
+less_than_two_selected_nodes=Gutxienez bi adabegi aukeratu behar dituzu loturak ezartzeko
+license=Lizentzia: GPL 2 edo geroagokoa
+license_text=<html>Programa hau doako softwarea da; zabaldu edo <br> aldatu egin zenezake beti ere GNU General Public License-ek <br> aipatzen dituen balditzen pean Free Software Foundation-ek azaltzen duen moduan; Bere 2. bertsioa edo berriago baten arabera (zeure aukeran). <br><br> Programa hau erabilgarria izateko ustean banatzen da, <br> BAINA INONGO BERMERIK GABE; ezta MERKANTILIZAZIO edota HELBURU ZEATZ BATETARAKO EGOKITZEAren ustean ere. Ikus <br> GNU General Public License xeheta [...]
+link_error="{0}" lotura okerra, ez da kargatu
+link_not_available_any_more=Lotura honek ez du gehiago balio. Bitartean adabegia ezabatua izan zen.
+link_not_found={0} lotura ez da aurkitu
+links=Lotura
+load=&Kargatu
+load_accelerator_presets=Kargatu
+load_accelerator_presets.noActions=Aurre konfiguraziorik ez
+LoadAcceleratorPresetsAction.textPatterns.text=Testu patroiak
+locking_failed_by_open=Akatsa {0} mapa lotzean. Soilik irakurtzeko moduan irekitzen.
+locking_failed_by_save_as=Akatsa {0} mapa lotzean. ...bezala gorde akzioa bertan behera geratu da.
+locking_old_lock_removed={0} mapa {1} erabiltzaileak giltzatuta dauka. Giltzadura hori zaharra delako ezabatua izan da.
+long_node_changed_cancel=Adabegia aldatu egin duzu. Aldaketak gorde gabe utzi nahi al dituzu?
+long_node_changed_submit=Adabegia aldatu egin duzu. Aldaketak gorde nahi al dituzu?
+lots_of_links_warning=Adabegi berdinera lotura asko sortzera zoaz. Benetan nahi al dituzu lotura horiek sortu?
+main_menu=Menua
+main_resource_directory=Instalazio baliabidea: {0}
+MainView.errorUpdateText=Akatsa ondorengo sarreraren testua ezartzean: {0}.
+MakeLinkFromAnchorAction.text=Ainguratik lotura egin
+MakeLinkFromAnchorAction.tooltip=<html> lotura global edo tokiko bat sortu <br/> aingura adabegitik aukeratutako adabegira </html>
+MakeLinkToAnchorAction.text=Aingurara lotura egin
+MakeLinkToAnchorAction.tooltip=<html>aingura adabegiaren aukeratutako oharrera <br/>lotura global bat sortu</html>
+ManageAddOnsAction.text=Add-on-ak
+ManageAddOnsDialog.activate=Aktibatu
+ManageAddOnsDialog.activation.success={0} Freeplane berrabiarazi ondoren aktibatuko da.
+ManageAddOnsDialog.authored.by={0}-k
+ManageAddOnsDialog.cannot.activate=Ezin aktibatu: {0} aktibatuta dago dagoeneko.
+ManageAddOnsDialog.cannot.configure=Ezin da {0} konfiguratu.
+ManageAddOnsDialog.cannot.deactivate=Ezin da desaktibatu: {0} ez dago aktibo.
+ManageAddOnsDialog.cannot.deinstall=Ezin da {0} desisntalatu.
+ManageAddOnsDialog.configure=Konfiguratu
+ManageAddOnsDialog.deactivate=Desaktibatu
+ManageAddOnsDialog.deactivation.success={0} Freeplane berrabiaraztean desaktibatuko da.
+ManageAddOnsDialog.deinstall=Desinstalatu
+ManageAddOnsDialog.deinstallation.success={0} Freeplane berrabiaraztean desinstalatuko da.
+ManageAddOnsDialog.error=Akatsa instalazioan: {0}
+ManageAddOnsDialog.install=&Installatu
+ManageAddOnsDialog.install.from.known.location=Add-on-a leku ezagun batetatik instalatu
+ManageAddOnsDialog.install.tooltip=Add-on-a instalatzeko fitxategiaren URL-a hemen sartu
+ManageAddOnsDialog.map.not.opened=Badirudi {0} mapa ez dela ireki.
+ManageAddOnsDialog.really.deinstall=Benetan {0} desinstalatu?
+ManageAddOnsDialog.search=Add-on-ak bilatu
+ManageAddOnsDialog.search.file=Bilatu
+ManageAddOnsDialog.select.tooltip=Fitxategia aukeratu
+ManageAddOnsDialog.status.downloading=Fitxategia jeisten...
+ManageAddOnsDialog.status.installing=Add-on-a instalatzen...
+ManageAddOnsDialog.status.success={0} behar bezala instalatu da.
+ManageAddOnsDialog.tab.install=Bilatu eta instalatu
+ManageAddOnsDialog.tab.install.tooltip=Add-on berriak bilatu eta instalatu
+ManageAddOnsDialog.tab.manage=Add-on-ak
+ManageAddOnsDialog.tab.manage.themes=Gaiak
+ManageAddOnsDialog.tab.manage.themes.tooltip=Instalatutako gaiak kudeatu
+ManageAddOnsDialog.tab.manage.tooltip=Instalatutako add-on-ak kudeatu
+ManageAddOnsDialog.visit.addon.page=Add-on orrira joan...
+ManageConditionalStylesAction.text=Maparentzat baldintzatutako estiloak kudeatu
+ManageNodeConditionalStylesAction.text=Adabegiarentzat baldintzatutako estiloak kudeatu
+map_already_exists=Mapa existitzen da dagoeneko. Gainetik berridatzi nahi?
+map_background=Maparen atzealdea
+map_background_image=Atzealdeko irudia
+map_corrupted=Mapa izorratuta dago. Xehetasunak ikusi nahi?
+map_load_error=Ezin {0} mapa kargatu
+map_locked_by_open={0} mapa dagoeneko {1} erabiltzailea ari da editatzen. Irakurtzeko moduan soilik irekitzen.
+map_locked_by_save_as={0} mapa  {1} erabiltzailea ari da editatzen. Gordetzeko ekitnza bertan behera.
+map_not_saved=Mapa ez da aurretik gordea izan.
+MapBackgroundClearAction.text=Garbitu
+MapBackgroundColorAction.text=Atzealde kolorea
+MapBackgroundImageAction.text=Atzealde irudia...
+maps=Mapak
+MaxNodeWidth.text=Adabegiaren zabalera maximoa ezarri
+menu_applyStyle=Estiloa aplikatu
+menu_attributes=Ez&augarriak
+menu_clouds=Hodeiak
+menu_copy=Kopiatu
+menu_coreFormat=Adabegi nukleoak
+menu_details=Xehetasunak
+menu_displayAttributes=Adabegiaren ezaugarriak
+menu_encryption=Pasahitz babesa
+menu_error=Akatsa erabiltzaileak definitutako {0} egituran:\n{1}\nBertan behera utziz
+menu_extensions=Adabegi hedadurak
+menu_group=Adabegi taldea
+menu_hoverView=Lanabesaren informazio etiketa (Tool tip)
+menu_iconByCategory=Ikonoa kategoriaz...
+menu_iconView=Ikonoak
+menu_image=Irudia
+menu_insert=&Txertatu
+menu_latex_formula=LaTeX formula
+menu_manageStyles=&Estiloak Kudeatu
+menu_moveNode=Mugitu eta ordenatu
+menu_newNode=Adabegi berria
+menu_node=Adabegia
+menu_node_features=Adabegi berezitas&unak
+menu_nodes=&Adabegiak
+menu_nodeView=Adabegi nukleoa
+menu_noteView=Oharrak
+menu_openmaps=Mapak
+menu_remove_icons=Ikonoak ezabatu
+menu_removeAttribute=Ezaugarria ezabatu
+menu_select=Aukeratu
+menu_time=Denbora kudeaketa
+menu_title=Adabegi nukleoa
+menu_viewmode=Ikusteko konfigurazioa
+MenuUtils.invalid_menuitem={0} ez da balioko menu elementu tekla.
+mindmap=Mapa
+MindMapNodesFlavorHandler=Adabegi hierarkia
+mindmaps=&Mapak
+mindmaps_desc=Mapak (*.mm)
+mindmaps_filter_desc=Filtroak (*.mmfilter)
+MinNodeWidth.text=Adabegiaren gutxieneko zabalera ezarri
+mode_Browse=Nabigatzeko modua
+mode_File=Fitlro modua
+mode_MindMap=Adimen mapa modua
+mode_na=Modua ez dago eskuragarri
+mode_status=Modua {0}-ra aldatu da
+mode_StyleMap=Estiloa editatzen
+mode_title=Freeplane - {0}
+modes=Moduak
+ModesMenuAction.Browse.text=Mapa nabigatzailea
+ModesMenuAction.File.text=Fitxategi esploratzailea
+ModesMenuAction.MindMap.text=Adimen mapa editorea
+most_recent_files=Arestiko mapak
+MoveAction.text=Mugitu
+MoveToRootAction.text=Errora joan
+NameConditionAction.text=Izena ezarri
+navigate=&Nabigatu
+NavigationNextMapAction.text=Hurrengo mapa
+NavigationPreviousMapAction.text=Aurreko mapa
+new=&Berria
+new_map_from_user_templates.text=Txantilloian oinarrituz mapa berria...
+new_mindmap=Adimen mapa berria
+new_node=Adabegi berria
+new_node_as_sibling_not_possible_for_the_root=Errotik ezin da senide erako adabegirik atera
+new_version_available="{0}" bertsio berria eskuragarri
+NewChildAction.text=Haur adabegi berria
+NewerFileRevisionsFoundDialog.cancel=&Ez aintzat hartu
+NewerFileRevisionsFoundDialog.cancel.tooltip=Fitxategi hau ez ireki
+NewerFileRevisionsFoundDialog.file_last_modified=Denbora zigilua
+NewerFileRevisionsFoundDialog.file_name=Fitxategia
+NewerFileRevisionsFoundDialog.file_size=Byte-ak
+NewerFileRevisionsFoundDialog.open=&Ireki
+NewerFileRevisionsFoundDialog.open.tooltip=Zaharkituta badago ere fitxategia ireki
+NewerFileRevisionsFoundDialog.question={0}-ren berrikuspen berriagoak aurkitu dira!
+NewerFileRevisionsFoundDialog.restore=Leheng&oratu
+NewerFileRevisionsFoundDialog.restore.tooltip={0} {1}-z ordezkatu
+NewerFileRevisionsFoundDialog.title=Fitxategiaren berrikuspen berriagoak aurkitu dira!
+NewFreeNodeAction.text=Adabegi mugikor berria
+NewLevelStyleAction.text=Maila estiloa gehitu
+newmap.install.addon.question={0}-k add-on pakete bat dirud\nInstalatu nahi al duzu?\n("Ez" aukeratu normalki irekitzeko.)
+newmap.install.addon.title=Add-on-a instalatu?
+NewMapAction.text=Mapa berria
+NewMapViewAction.text=Maparen ikuspegi berria
+NewParentNode.text=Guraso adabegi berria
+NewParentNode.tooltip=<html>Aukeratutako guztiak guraso berri batetara bidaliko dira.</html>
+NewPreviousSiblingAction.text=Aurreko senide adabegi berria
+NewSiblingAction.text=Senide adabegi berria
+NewSummaryAction.text=Laburpen adabegi berria (aukeratutako adabegiak)
+NewUserStyleAction.text=Aukeratik estilo berria
+NextNodeAction.BACK.text=Aurreko adabegira joan
+NextNodeAction.BACK_N_FOLD.text=Aurreko adabegira joan (Tolestu)
+NextNodeAction.FORWARD.text=Hurrengo adabegira joan
+NextNodeAction.FORWARD_N_FOLD.text=Hurrengo adabegira joan (tolestu)
+NextPresentationItemAction.text=Hurrengo aurkezpen elementua ireki
+no=Ez
+no_copy_attributes_before_paste_attributes=Ezin dituzu ezaugarriak itsatsi lehendik batzuk kopiatu ez badituzu
+NO_FORMAT=Testua
+no_format_copy_before_format_paste=Ezin duzu formatu itsatsi aurretik bat kopiatu ez baduzu.
+no_found_from=<html> <u>{0}</u> ez da "{1}"-n aurkitu.</html>
+no_more_found_from=<html> Ez da <u>{0}</u> gehiagorik "{1}"-n aurkitu.</html>
+no_previous_find=Aurreko bilaketarik ez.
+no_styles_found_in_map=Mapan ez da estilorik aurkitu
+node=Adabegia
+node_changed_discard_changes=Adabegia aldatu duzu. Aldaketak ezeztatu egin nahi al dituzu?
+node_is_write_protected=Helburutzat jotako adabegiak idazteko babesa du
+node_location_help=Aldaketen adabegiaren lekua herrestan eramanez, ctrl+herrestatzeak distantziak aldatzen ditu. Klik bikoitzak eta ctrl+klik bikoitzak lehengora eramaten ditu.
+node_popup_scripting=Skript-ak
+node_selector=Adabegi aukeraketa
+node_selector_message=Adabegi gainean klik bikoitza
+node_styles=Adabegi estiloak
+NodeBackgroundColorAction.text=Adabegiaren atzealde kolorea...
+NodeColorAction.text=Adabegi kolorea
+NodeColorBlendAction.text=Nahasketa kolorea
diff --git a/freeplane/resources/translations/Resources_fr.properties b/freeplane/resources/translations/Resources_fr.properties
index 6a47652..654e3c6 100644
--- a/freeplane/resources/translations/Resources_fr.properties
+++ b/freeplane/resources/translations/Resources_fr.properties
@@ -1134,6 +1134,8 @@ OptionPanel.load_last_map=D\u00E9marrer en affichant la derni\u00E8re carte util
 OptionPanel.load_last_map.tooltip=Au d\u00E9marrage ouvrir automatiquement la derni\u00E8re carte utilis\u00E9e
 OptionPanel.load_last_maps=D\u00E9marrer en affichant toutes les cartes ouvertes lors de l'arr\u00EAt
 OptionPanel.lookandfeel=Th\u00E8me
+OptionPanel.lookandfeel.scaleuifonts=\u00C9chelle pour les polices de caract\u00E8res
+OptionPanel.lookandfeel.scaleuifonts.tooltip=Utile pour les \u00E9crans haute densit\u00E9
 OptionPanel.lookandfeel.tooltip=<html>Les <em>th\u00E8mes</em> disponibles.<br>\n"M\u00E9tal", "Windows", "Motif" "GTk" sont support\u00E9s, "Mac" n'est disponible que sur syst\u00E8me Mac OS.<br>\n"D\u00E9faut" indique d'utiliser le th\u00E8me par d\u00E9faut pour la machine virtuelle.<br>\nPour utiliser votre propre th\u00E8me, merci de saisir le nom de la classe et assurez-vous que le fichier JAR est correctement charg\u00E9.<br>\nS'il y a un probl\u00E8me de th\u00E8me, choisissez "P [...]
 OptionPanel.lt=Lituanien
 OptionPanel.max_displayed_node_count=Nombre maximum de n\u0153uds affich\u00E9s
@@ -1639,6 +1641,8 @@ simplyhtml.appendTableColLabel=Ajouter une colonne
 simplyhtml.appendTableRowLabel=Ajouter une ligne
 simplyhtml.applyCellAttrLabel=Tout appliquer
 simplyhtml.backgroundLabel=Arri\u00E8re plan
+simplyhtml.blackFontColorLabel=Noir
+simplyhtml.blueFontColorLabel=Bleu
 simplyhtml.boldItalicName=Gras italique
 simplyhtml.boldName=Gras
 simplyhtml.borderColorLabel=Couleur
@@ -1668,6 +1672,7 @@ simplyhtml.cTagNamePara=Paragraphe
 simplyhtml.cTagNameUL=Liste non ordonn\u00E9e
 simplyhtml.cutLabel=Couper
 simplyhtml.cutTip=Couper
+simplyhtml.decreaseFontSizeLabel=Plus petit
 simplyhtml.defaultDocName=Sans titre
 simplyhtml.deleteTableColLabel=Supprimer une colonne
 simplyhtml.deleteTableRowLabel=Supprimer une ligne
@@ -1700,9 +1705,11 @@ simplyhtml.formatParaLabel=Paragraphe...
 simplyhtml.formatParaTip=Changer la mise en forme du paragraphe
 simplyhtml.formatTableLabel=Tableau...
 simplyhtml.formatTableTip=Mise en forme de tableau
+simplyhtml.greenFontColorLabel=Vert
 simplyhtml.helpLabel=Aide
 simplyhtml.htmlTabTitle=Code HTML
 simplyhtml.imageFileDesc=Fichiers images
+simplyhtml.increaseFontSizeLabel=Plus grand
 simplyhtml.insertTableColLabel=Ins\u00E9rer une colonne
 simplyhtml.insertTableLabel=Tableau...
 simplyhtml.insertTableMsg=Nombre de colonnes ?
@@ -1754,8 +1761,10 @@ simplyhtml.previewLabel=Pr\u00E9visualisation
 simplyhtml.previewText=Texte d'exemple
 simplyhtml.prevTableCellLabel=Cellule pr\u00E9c\u00E9dente
 simplyhtml.printLabel=Imprimer...
+simplyhtml.redFontColorLabel=Rouge
 simplyhtml.redoLabel=R\u00E9tablir
 simplyhtml.redoTip=R\u00E9tablir
+simplyhtml.removeFontColorLabel=Retirer la couleur
 simplyhtml.replace=Remplacer...
 simplyhtml.replaceAll=Tout
 simplyhtml.replaceDone=Terminer
@@ -1771,6 +1780,7 @@ simplyhtml.searchFromStart.tooltip=Chercher depuis le d\u00E9but sans tenir comp
 simplyhtml.searchUp=Chercher vers le haut
 simplyhtml.searchUp.tooltip=Chercher vers le haut
 simplyhtml.selectAllLabel=S\u00E9lectionner tout
+simplyhtml.selectedFontColorLabel=Couleur s\u00E9lectionn\u00E9e pour la police
 simplyhtml.sizeLabel=Taille
 simplyhtml.standardStyleName=standard
 simplyhtml.strikeLabel=Barr\u00E9
diff --git a/freeplane/resources/translations/Resources_hr.properties b/freeplane/resources/translations/Resources_hr.properties
index cd24818..7d55e83 100644
--- a/freeplane/resources/translations/Resources_hr.properties
+++ b/freeplane/resources/translations/Resources_hr.properties
@@ -1133,6 +1133,8 @@ OptionPanel.load_last_map=Automatski otvori posljednju mapu
 OptionPanel.load_last_map.tooltip=<html>Ako je ova opcija odabran, Freeplane \u0107e prilikom pokretanja automatski otvoriti posljednju kori\u0161tenu mapu.</html>
 OptionPanel.load_last_maps=U\u010Ditaj sve posljednje mape
 OptionPanel.lookandfeel=Izgled i ugo\u0111aj
+OptionPanel.lookandfeel.scaleuifonts=Mjerilo veli\u010Dine UI slova
+OptionPanel.lookandfeel.scaleuifonts.tooltip=Korisno za monitore visoke rezolucije
 OptionPanel.lookandfeel.tooltip=<html>'Izgled i ugo\u0111aj' koji \u0107e biti upotrebljen. Podr\u017Eani su 'metal','windows','motiv', 'gtk' , 'mac' je dostupan samo za  MacOS. zadano zna\u010Di, da je upotrebljen zadani Izgled i ugo\u0111aj. \u017Delite li umetnuti svoj vlastiti Izgled i ugo\u0111aj, molimo upi\u0161ite ime razreda ovdje i osigurajte da odgovaraju\u0107a datoteka /datoteke .jar bude u\u010Ditana. Ako postoje problemi s postavkama Izgled i ugo\u0111aj odaberite ovdje 'n [...]
 OptionPanel.lt=litvanski
 OptionPanel.max_displayed_node_count=Maksimalni broj prikazanih \u010Dvorova
@@ -1639,6 +1641,8 @@ simplyhtml.appendTableColLabel=Dodaj stupac pokraj
 simplyhtml.appendTableRowLabel=Dodaj red ispod
 simplyhtml.applyCellAttrLabel=Primijeni na
 simplyhtml.backgroundLabel=Boja pozadine:
+simplyhtml.blackFontColorLabel=Crno
+simplyhtml.blueFontColorLabel=Plavo
 simplyhtml.boldItalicName=Uko\u0161/Podebljano
 simplyhtml.boldName=Podebljano
 simplyhtml.borderColorLabel=Boja:
@@ -1668,6 +1672,7 @@ simplyhtml.cTagNamePara=Odlomak
 simplyhtml.cTagNameUL=Neure\u0111en popis
 simplyhtml.cutLabel=Izre\u017Ei
 simplyhtml.cutTip=Izre\u017Ei
+simplyhtml.decreaseFontSizeLabel=Manje
 simplyhtml.defaultDocName=Bez naslova
 simplyhtml.deleteTableColLabel=Obri\u0161i stupac
 simplyhtml.deleteTableRowLabel=Obri\u0161i red
@@ -1700,9 +1705,11 @@ simplyhtml.formatParaLabel=Odlomak...
 simplyhtml.formatParaTip=Promijeni oblik odlomka
 simplyhtml.formatTableLabel=Tabela...
 simplyhtml.formatTableTip=Oblikovanje tabele
+simplyhtml.greenFontColorLabel=Zeleno
 simplyhtml.helpLabel=Pomo\u0107
 simplyhtml.htmlTabTitle=HTML prikaz
 simplyhtml.imageFileDesc=Slikovne datoteke
+simplyhtml.increaseFontSizeLabel=Ve\u0107i
 simplyhtml.insertTableColLabel=Umetni stupac
 simplyhtml.insertTableLabel=Tabela...
 simplyhtml.insertTableMsg=Broj kolona?
@@ -1754,8 +1761,10 @@ simplyhtml.previewLabel=Pretpregled
 simplyhtml.previewText=Tekst pretpregleda
 simplyhtml.prevTableCellLabel=Prethodna \u0107elija
 simplyhtml.printLabel=Ispis...
+simplyhtml.redFontColorLabel=Crveno
 simplyhtml.redoLabel=Ponovi
 simplyhtml.redoTip=Ponovi
+simplyhtml.removeFontColorLabel=Bez boje
 simplyhtml.replace=Zamijeni...
 simplyhtml.replaceAll=Sve
 simplyhtml.replaceDone=Gotovo
@@ -1771,6 +1780,7 @@ simplyhtml.searchFromStart.tooltip=Po\u010Dni tra\u017Eiti od vrha, bez obzira n
 simplyhtml.searchUp=Tra\u017Ei prema gore
 simplyhtml.searchUp.tooltip=Tra\u017Ei od dna prema vrhu.
 simplyhtml.selectAllLabel=Odaberi sve
+simplyhtml.selectedFontColorLabel=Odabrana boja slova
 simplyhtml.sizeLabel=Veli\u010Dina
 simplyhtml.standardStyleName=Standardno
 simplyhtml.strikeLabel=Precrtano
diff --git a/freeplane/resources/translations/Resources_ja.properties b/freeplane/resources/translations/Resources_ja.properties
index f734f5f..41fc454 100644
--- a/freeplane/resources/translations/Resources_ja.properties
+++ b/freeplane/resources/translations/Resources_ja.properties
@@ -1128,6 +1128,8 @@ OptionPanel.load_last_map=\u524D\u56DE\u7D42\u4E86\u6642\u306E\u30DE\u30C3\u30D7
 OptionPanel.load_last_map.tooltip=\u30C1\u30A7\u30C3\u30AF\u3059\u308B\u3068\u3001Freeplane \u306E\u30B9\u30BF\u30FC\u30C8\u6642\u306B\u3001\u524D\u56DE\u7D42\u4E86\u6642\u306E\u30DE\u30C3\u30D7\u3092\u81EA\u52D5\u7684\u306B\u958B\u304D\u307E\u3059\u3002
 OptionPanel.load_last_maps=\u524D\u56DE\u7D42\u4E86\u6642\u306E\u30DE\u30C3\u30D7\u3092\u3059\u3079\u3066\u958B\u304F
 OptionPanel.lookandfeel=\u30EB\u30C3\u30AF\uFF06\u30D5\u30A3\u30FC\u30EB
+OptionPanel.lookandfeel.scaleuifonts=UI\u30D5\u30A9\u30F3\u30C8\u3092\u62E1\u5927\u7E2E\u5C0F\u3059\u308B
+OptionPanel.lookandfeel.scaleuifonts.tooltip=\u9AD8\u5BC6\u5EA6\u30E2\u30CB\u30BF\u306E\u5834\u5408\u306B\u6709\u7528\u3067\u3059
 OptionPanel.lookandfeel.tooltip=<html>\u4F7F\u7528\u3059\u308B\u30EB\u30C3\u30AF\uFF06\u30D5\u30A3\u30FC\u30EB\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002'metal' 'windows' 'motif' 'gtk'\u3092\u30B5\u30DD<br>\u30FC\u30C8\u3057\u3066\u3044\u307E\u3059\u3002'mac' \u306F\u3001MacOS \u4E0A\u3067 \u3057\u304B\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093\u3002\u30C7\u30D5\u30A9\u30EB\u30C8\u3067\u306F\u3001\u6A19\u6E96\u7684\u306A<br>\u30EB\u30C3\u30AF\uFF06\u30D5\u30A3\u30FC\u30EB [...]
 OptionPanel.lt=\u30EA\u30C8\u30A2\u30CB\u30A2\u8A9E\uFF0Fkalba
 OptionPanel.max_displayed_node_count=\u30CE\u30FC\u30C9\u306E\u6700\u5927\u8868\u793A\u6570
@@ -1301,7 +1303,7 @@ OptionPanel.separator.tooltip=\u30C4\u30FC\u30EB\u30C1\u30C3\u30D7\u8868\u793A\u
 OptionPanel.separator.undo=\u5143\u306B\u623B\u3059
 OptionPanel.separator.updates=\u30D7\u30ED\u30B0\u30E9\u30E0\u306E\u66F4\u65B0
 OptionPanel.set_property_text=\u5909\u66F4
-OptionPanel.set_property_text.tooltip=\u7A7A\u767D\uFF1A\u4F55\u3082\u3057\u306A\u3044\u3002\u3000\u3000\u300C\uFF0D\u300D\uFF1A\u30D7\u30ED\u30D1\u30C6\u30A3\u306E\u524A\u9664 (\u30C7\u30D5\u30A9\u30EB\u30C8\u5024\u306B\u8A2D\u5B9A)\u3000\u3000\u300C\uFF0B\u300D\uFF1A\u30D7\u30ED\u30D1\u30C6\u30A3\u306E\u5909\u66F4
+OptionPanel.set_property_text.tooltip=\u3053\u306E\u30B9\u30BF\u30A4\u30EB\u30D7\u30ED\u30D1\u30C6\u30A3\u3092\u5909\u66F4\u3059\u308B\u5834\u5408\u306B\u30C1\u30A7\u30C3\u30AF
 OptionPanel.setscript=<html>\u30B9\u30AF\u30EA\u30D7\u30C8\u3092<br>\u5909\u66F4\u3057\u307E\u3059\u304B\uFF1F</html>
 OptionPanel.setscript.tooltip=\u30B9\u30BF\u30A4\u30EB\u306B\u95A2\u9023\u3065\u3051\u3066\u30B9\u30AF\u30EA\u30D7\u30C8\u3092\u8A18\u8FF0\u3059\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002
 OptionPanel.shape_horizontal_margin=\u6A2A\u306E\u4F59\u767D
@@ -1631,6 +1633,8 @@ simplyhtml.appendTableColLabel=\u5217\u306E\u8FFD\u52A0
 simplyhtml.appendTableRowLabel=\u884C\u306E\u8FFD\u52A0
 simplyhtml.applyCellAttrLabel=\u9069\u7528\uFF1A
 simplyhtml.backgroundLabel=\u80CC\u666F\uFF1A
+simplyhtml.blackFontColorLabel=\u9ED2
+simplyhtml.blueFontColorLabel=\u9752
 simplyhtml.boldItalicName=\u592A\u5B57 \u659C\u4F53
 simplyhtml.boldName=\u592A\u5B57
 simplyhtml.borderColorLabel=\u8272\uFF1A
@@ -1660,6 +1664,7 @@ simplyhtml.cTagNamePara=\u6BB5\u843D
 simplyhtml.cTagNameUL=\u756A\u53F7\u306A\u3057\u30EA\u30B9\u30C8
 simplyhtml.cutLabel=\u5207\u308A\u53D6\u308A
 simplyhtml.cutTip=\u5207\u308A\u53D6\u308A
+simplyhtml.decreaseFontSizeLabel=\u5C0F\u3055\u304F
 simplyhtml.defaultDocName=\u7121\u984C
 simplyhtml.deleteTableColLabel=\u5217\u306E\u524A\u9664
 simplyhtml.deleteTableRowLabel=\u884C\u306E\u524A\u9664
@@ -1692,9 +1697,11 @@ simplyhtml.formatParaLabel=\u6BB5\u843D...
 simplyhtml.formatParaTip=\u6BB5\u843D\u66F8\u5F0F\u306E\u5909\u66F4
 simplyhtml.formatTableLabel=\u30C6\u30FC\u30D6\u30EB...
 simplyhtml.formatTableTip=\u30C6\u30FC\u30D6\u30EB\u306E\u66F8\u5F0F
+simplyhtml.greenFontColorLabel=\u7DD1
 simplyhtml.helpLabel=\u30D8\u30EB\u30D7
 simplyhtml.htmlTabTitle=HTML \u30B3\u30FC\u30C9\u8868\u793A
 simplyhtml.imageFileDesc=\u753B\u50CF\u30D5\u30A1\u30A4\u30EB
+simplyhtml.increaseFontSizeLabel=\u5927\u304D\u304F
 simplyhtml.insertTableColLabel=\u5217\u306E\u633F\u5165
 simplyhtml.insertTableLabel=\u30C6\u30FC\u30D6\u30EB...
 simplyhtml.insertTableMsg=\u5217\u6570
@@ -1746,8 +1753,10 @@ simplyhtml.previewLabel=\u30D7\u30EC\u30D3\u30E5\u30FC
 simplyhtml.previewText=\u30C6\u30AD\u30B9\u30C8\u30D7\u30EC\u30D3\u30E5\u30FC
 simplyhtml.prevTableCellLabel=\u524D\u306E\u30BB\u30EB
 simplyhtml.printLabel=\u5370\u5237...
+simplyhtml.redFontColorLabel=\u8D64
 simplyhtml.redoLabel=\u3084\u308A\u76F4\u3059
 simplyhtml.redoTip=\u3084\u308A\u76F4\u3059
+simplyhtml.removeFontColorLabel=\u8272\u306E\u9664\u53BB
 simplyhtml.replace=\u7F6E\u63DB...
 simplyhtml.replaceAll=\u3059\u3079\u3066
 simplyhtml.replaceDone=\u5B8C\u4E86
@@ -1763,6 +1772,7 @@ simplyhtml.searchFromStart.tooltip=\u30AB\u30FC\u30BD\u30EB\u4F4D\u7F6E\u3067\u3
 simplyhtml.searchUp=\u4E0A\u3078\u691C\u7D22
 simplyhtml.searchUp.tooltip=\u4E0A\u306B\u5411\u304B\u3063\u3066\u691C\u7D22\u3057\u307E\u3059\u3002
 simplyhtml.selectAllLabel=\u3059\u3079\u3066\u3092\u9078\u629E
+simplyhtml.selectedFontColorLabel=\u9078\u629E\u6E08\u307F\u306E\u30D5\u30A9\u30F3\u30C8\u8272
 simplyhtml.sizeLabel=\u30B5\u30A4\u30BA
 simplyhtml.standardStyleName=\u6A19\u6E96
 simplyhtml.strikeLabel=\u53D6\u308A\u6D88\u3057\u7DDA
@@ -1844,7 +1854,7 @@ summary_not_possible=\u73FE\u5728\u306E\u9078\u629E\u72B6\u6CC1\u3067\u306F\u300
 svg=SVG
 template_dir=\u6A19\u6E96\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8
 TextAlignAction.CENTER.text=\u4E2D\u592E\u63C3\u3048
-TextAlignAction.DEFAULT.text=\u898F\u5B9A\u5024
+TextAlignAction.DEFAULT.text=\u65E2\u5B9A\u5024
 TextAlignAction.LEFT.text=\u5DE6\u63C3\u3048
 TextAlignAction.RIGHT.text=\u53F3\u63C3\u3048
 textalignment=\u6587\u5B57\u63C3\u3048
diff --git a/freeplane/resources/translations/Resources_nl.properties b/freeplane/resources/translations/Resources_nl.properties
index 9760b41..69d3868 100644
--- a/freeplane/resources/translations/Resources_nl.properties
+++ b/freeplane/resources/translations/Resources_nl.properties
@@ -233,7 +233,7 @@ CopyAttributes.text=Kopi\u00EBren attributen
 CopyIDAction.text=Kopi\u00EBren knoop-ID
 CopyMapStylesAction.text=kopieer Mindmapstijl van\u2026
 CopyNodeURIAction.text=Kopieer URI van knoop
-copyright=Copyright \u00A9 2000-2014 Freeplane team en anderen
+copyright=Copyright \u00A9 2000-2016 Freeplane team en anderen
 CopySingleAction.text=Kopi\u00EBren zonder zijtakken
 CopySingleAction.tooltip=Kopieer alleen de geselecteerde knoop
 CopyStyleExtensionsAction.text=Toevoegen uit stijlsjabloon
@@ -248,7 +248,9 @@ CutAction.text=Knippen
 decrease_branch_font_size=Lettertype verkleinen
 DecreaseNodeFontAction.text=Lettertype verkleinen
 default=Standaardstijl
+defaultAuxiliaryWordList=een, de, van
 DefaultColorAction.text=Standaardkleur
+defaultstyle.attributes=Attributen
 defaultstyle.details=Knoopdetails
 defaultstyle.floating=Zwevende knoop
 defaultstyle.note=Knoopnotitie
@@ -276,7 +278,9 @@ edge=Tak
 edge_is_formatted_by_style=Takopmaak bepaald door stijl...
 edge_style=Vorm tak
 edge_width=Dikte tak
+edge_widths=Tak Breedtes
 EdgeColorAction.text=rand kleur...
+EdgeProperties=Tak eigenschappen
 EdgeStyleAction.bezier.text=Ronde bocht
 EdgeStyleAction.bezier.tooltip=<html>Toon de tak als bocht.</html>
 EdgeStyleAction.hide_edge.text=Verborgen
@@ -317,9 +321,11 @@ EditLongAction.text=Bewerken knoopkern in apart venster
 EditNoteInDialogAction.text=Bewerken knoopnotitie
 EditScript=Bewerken script...
 EditStylesAction.text=Bewerken knoopstijlen
-EncryptedMap.text=Nieuwe beveiligde mindmap ...
+EncryptedMap.text=Nieuwe (beveiligde) mindmap ...
 EncryptedMap.tooltip=Maken beveiligde mindmap
+encryption=Encryptie
 enter_base_url=Ik ga relatieve koppelingen plakken. Geef uw basis URL op.
+enter_command=Voer commando in
 enter_condition_name=Voer niewe naam in voor de conditie
 enter_confirms=&Entertoets bevestigt
 enter_keyset_name=Invoeren naam voor set met sneltoetsen
@@ -333,6 +339,8 @@ error_applying_template=Fout bij het toepassen van XSL template.
 error_creating_directory=Kan geen map voor export maken.
 error_in_template=Fouten in standaard mindmap template {0}. Probeer dit bestand te verwijderen.
 errornumber={0} fouten
+ExecuteScript.available_modes_tooltip={0} is beschikbaar voor
+ExecuteScript.script=Script
 ExecuteScriptError.text=Fout bij uitvoeren script :\n{0}
 ExecuteScriptForAllNodes.text=Uitvoeren alle scripts
 ExecuteScriptForSelectionAction.text=Uitvoeren scripts van geselecteerde knopen
@@ -401,6 +409,8 @@ filter=Filteren
 filter_add=&Toevoegen
 filter_and=&En
 filter_any_text=Kern, details of notitie
+filter_clone_snapshot=Opgeslagen klonen van selectie
+filter_clones=Klonen van selectie
 filter_conditions=Filters
 filter_contains=Bevat
 filter_created_after=Gemaakt na
@@ -447,11 +457,16 @@ filter_selected_node_view=Huidige geselecteerde knopen
 filter_selected_node_view_snapshot=Opgeslagen selectie
 filter_style=Opmaakstijl
 filter_time=Tijdstip
+FilterCondition=Filter condities
+filterConditions=Door gebruiker gedefinieerde filters
+filterConditions.noActions=Geen filters met naam
 filters_not_loaded=Filter kon niet worden geladen, bestand is beschadigd
+find=Zoek
 find_what=Zoek welke
 FindAction.text=Zoeken...
 FindNextAction.text=Volgende zoeken
 FindPreviousAction.text=Vorige zoeken
+fit_background_to_page=Pas achtergrondafbeelding op \u00E9\u00E9n pagina
 fit_map_to_page=Op \u00E9\u00E9n pagina laten passen
 fit_map_to_page_height=Maak de hoogte passend op de pagina
 fit_map_to_page_width=Maak de breedte passend op de pagina
@@ -462,7 +477,8 @@ FoldAllAction.text=Alle afstammelingen dichtvouwen
 FoldAllAction.tooltip=<html> Alle afstammelingen dichtvouwen.</html>
 FoldOneLevelAction.text=E\u00E9n niveau dichtvouwen
 FoldOneLevelAction.tooltip=<html>  E\u00E9n niveau dichtvouwen.</html>
-follow_graphical_link=Ga naar:
+follow_clone=Binnen ''{0}''
+follow_graphical_link=Ga naar ''{0}''
 FollowLinkAction.text=Openen hyperlink
 font=Lettertype
 FontFamilyAction.text=Lettertypenaam (font)
@@ -502,6 +518,8 @@ freeplane_reverted=Freeplane_Teruggezet_
 FreeplaneHelpStarter.text=On line help...
 FreeplaneHelpStarter.tooltip=Uitgebreide help voor Freeplane
 GettingStartedAction.text=Handleiding
+goto=Ga naar
+goto.noActions=Geen doelknopen
 GotoLinkNodeAction.text=Open snelkoppeling
 GotoNodeAction.text=Naar knoop met ID...
 GrabKeyDialog.common.cancel=Annuleren
@@ -517,7 +535,7 @@ help=&Help
 HideableAction.tooltip=<html>Markeren van de achtergrond van elke gewijzigde knoop.</html>
 HideAllAttributesAction.text=Verbergen van alle atributen
 HierarchicalIcons2Action.text=Toon kruispunt kind-pictogrammen
-HierarchicalIconsAction.text=Pictogrammenhi\u00EBrarchie
+HierarchicalIconsAction.text=Toon pictogrammenhi\u00EBrarchie
 HierarchicalIconsAction.tooltip=Als \u00E9\u00E9n van mijn onderliggende mappen een icoontje heeft, dan zal ik dat ook in het klein tonen.
 hot_keys=Sneltoetsen
 hot_keys_table=Overzicht sneltoetsen
@@ -657,6 +675,7 @@ IconProgressIconUpAction.text=Vermeerderen %
 IconProgressIconUpAction.tooltip=Verhoog/voeg vorderingspictogrammen toe (0%->25%->50%->100% + OK).
 IconProgressRemoveAction.text=Verwijder schijfpunt
 IconProgressRemoveAction.tooltip=Verwijder %schijf (pictogram en grote schijf).
+icons=Iconen
 IconSelectionPlugin.text=Kiezen pictogram uit tabel...
 IconSelectionPlugin.tooltip=<html> Hier kun je een pictogram kiezen..</html>
 image_covertLink=Converteer koppeling naar afbeelding
@@ -1329,7 +1348,7 @@ org.freeplane.plugin.bugreport.lastreport=De ontvangen melding
 org.freeplane.plugin.bugreport.never=Vraag me nooit om hulp
 org.freeplane.plugin.bugreport.question=Freeplane verstuurt automatisch een melding in het geval van een fout (bug).\nEr zullen nooit persoonlijke gegevens of de inhoud van een mindmap verstuurd worden.\nMeldingen over fouten helpen ons de software te verbeteren.
 org.freeplane.plugin.bugreport.report=Huidige melding
-org.freeplane.plugin.bugreport.wanted_bug=Er deed zich een interne fout voor en deze werd automatisch gemeld.\nWe zouden graag meer informatie willen hebben om dit onverwachte gedrag te kunnen reproduceren\nHelp ons alsjeblieft door een melding op te voeren in onze Mantis bug tracker:\nleg uit wat je op dat moment aan het doen was, zodat we de bug kunnen reproduceren.\n\nSelecteer OK om de bug tracker pagina in je web browser te kunnen openen.\nBedankt voor je hulp bij het oplossen van e [...]
+org.freeplane.plugin.bugreport.wanted_bug=Er deed zich een interne fout voor en deze werd automatisch gemeld.\nWe zouden graag meer informatie willen hebben om dit onverwachte gedrag te kunnen reproduceren\nHelp ons alsjeblieft door een melding op te voeren in onze bug tracker:\nleg uit wat je op dat moment aan het doen was, zodat we de bug kunnen reproduceren.\n\nSelecteer OK om de bug tracker pagina in je web browser te kunnen openen.\nBedankt voor je hulp bij het oplossen van een bug. [...]
 org.freeplane.plugin.script.NodeIdHighlighter.node_is_not_defined=Knoop {0} is niet gedefinieerd
 out_of_memory=Onvoldoende geheugen beschikbaar.
 overwrite_keyset_question=Bestaande set met sneltoetsen overschrijven?
diff --git a/freeplane/resources/translations/Resources_pt_PT.properties b/freeplane/resources/translations/Resources_pt_PT.properties
index ebcfaf0..3b2abe5 100644
--- a/freeplane/resources/translations/Resources_pt_PT.properties
+++ b/freeplane/resources/translations/Resources_pt_PT.properties
@@ -1135,6 +1135,8 @@ OptionPanel.load_last_map=Abrir automaticamente o \u00FAltimo mapa
 OptionPanel.load_last_map.tooltip=<html>Quando o Freeplane inicia, tenta abrir automaticamente o \u00FAltimo mapa utilizado.</html>
 OptionPanel.load_last_maps=Carregar todos os \u00FAltimos mapas
 OptionPanel.lookandfeel=Aspeto visual
+OptionPanel.lookandfeel.scaleuifonts=Escalar letra do UI
+OptionPanel.lookandfeel.scaleuifonts.tooltip=\u00DAtil para monitores de alta densidade
 OptionPanel.lookandfeel.tooltip=<html>O aspeto visual a utilizar. S\u00E3o aceites 'metal','windows','motif', 'gtk' s\u00E3o suportados, 'mac' s\u00F3 est\u00E1 dispon\u00EDvel em MacOS. Predefinido significa que ser\u00E1 usado o aspeto visual predefinido. Se quiser usar o seu pr\u00F3prio aspeto visual, indique o nome de classe e assegure-se que os correspondentes ficheiros .jar est\u00E3o carregados. Se tiver problemas, escolha 'Nada'. Funciona para applets</html>
 OptionPanel.lt=Lituano / kalba
 OptionPanel.max_displayed_node_count=N\u00FAmero m\u00E1ximo de n\u00F3s mostrados
@@ -1641,6 +1643,8 @@ simplyhtml.appendTableColLabel=Anexar coluna
 simplyhtml.appendTableRowLabel=Anexar linha
 simplyhtml.applyCellAttrLabel=Aplicar a
 simplyhtml.backgroundLabel=Fundo:
+simplyhtml.blackFontColorLabel=Preto
+simplyhtml.blueFontColorLabel=Azul
 simplyhtml.boldItalicName=negrito it\u00E1lico
 simplyhtml.boldName=negrito
 simplyhtml.borderColorLabel=Cor:
@@ -1670,6 +1674,7 @@ simplyhtml.cTagNamePara=Par\u00E1grafo
 simplyhtml.cTagNameUL=Lista n\u00E3o ordenada
 simplyhtml.cutLabel=Cortar
 simplyhtml.cutTip=cortar
+simplyhtml.decreaseFontSizeLabel=Menor
 simplyhtml.defaultDocName=Sem t\u00EDtulo
 simplyhtml.deleteTableColLabel=Eliminar coluna
 simplyhtml.deleteTableRowLabel=Eliminar linha
@@ -1702,9 +1707,11 @@ simplyhtml.formatParaLabel=Par\u00E1grafo...
 simplyhtml.formatParaTip=Alterar o formato do par\u00E1grafo
 simplyhtml.formatTableLabel=Tabela...
 simplyhtml.formatTableTip=Formatar tabela
+simplyhtml.greenFontColorLabel=Verde
 simplyhtml.helpLabel=Ajuda
 simplyhtml.htmlTabTitle=C\u00F3digo HTML
 simplyhtml.imageFileDesc=Ficheiros de imagem
+simplyhtml.increaseFontSizeLabel=Maior
 simplyhtml.insertTableColLabel=Inserir coluna
 simplyhtml.insertTableLabel=Tabela...
 simplyhtml.insertTableMsg=Quantas colunas?
@@ -1756,8 +1763,10 @@ simplyhtml.previewLabel=Pr\u00E9-visualizar
 simplyhtml.previewText=Pr\u00E9-visualizar texto
 simplyhtml.prevTableCellLabel=C\u00E9lula anterior
 simplyhtml.printLabel=Imprimir...
+simplyhtml.redFontColorLabel=Vermelho
 simplyhtml.redoLabel=Refazer
 simplyhtml.redoTip=refazer
+simplyhtml.removeFontColorLabel=Remover cor
 simplyhtml.replace=Substituir...
 simplyhtml.replaceAll=Todos
 simplyhtml.replaceDone=Feito
@@ -1773,6 +1782,7 @@ simplyhtml.searchFromStart.tooltip=Come\u00E7ar procura no in\u00EDcio e n\u00E3
 simplyhtml.searchUp=Procurar para cima
 simplyhtml.searchUp.tooltip=Procurar de baixo para cima.
 simplyhtml.selectAllLabel=Selecionar tudo
+simplyhtml.selectedFontColorLabel=Cor da letra selecionada
 simplyhtml.sizeLabel=Tamanho
 simplyhtml.standardStyleName=padr\u00E3o
 simplyhtml.strikeLabel=Rasurado
diff --git a/freeplane/resources/translations/Resources_sv.properties b/freeplane/resources/translations/Resources_sv.properties
index 26fde16..f879245 100644
--- a/freeplane/resources/translations/Resources_sv.properties
+++ b/freeplane/resources/translations/Resources_sv.properties
@@ -947,7 +947,7 @@ org.freeplane.plugin.bugreport.lastreport=Senaste rapport mottagen
 org.freeplane.plugin.bugreport.never=Fr\u00E5ga aldrig om hj\u00E4lp
 org.freeplane.plugin.bugreport.question=Freeplane has an automatic bug tracking engine.\nNo personal data or map content will ever be transmitted.\nBug reports will help us improve the software.
 org.freeplane.plugin.bugreport.report=Nuvarande rapport
-org.freeplane.plugin.bugreport.wanted_bug=An internal error occurred and was automatically reported.\nWe would like more information in order to reproduce the unexpected behavior.\nPlease help us by submitting a Bug Report to our Mantis bug tracker:\nexplain what you were doing at the time, so that we may reproduce the bug.\n\nPress OK to open the bug tracker page in your web browser.\n\nThank you for your help in making a bug fix possible.\nYour Freeplane Team
+org.freeplane.plugin.bugreport.wanted_bug=An internal error occurred and was automatically reported.\nWe would like more information in order to reproduce the unexpected behavior.\nPlease help us by submitting a Bug Report to our bug tracker:\nexplain what you were doing at the time, so that we may reproduce the bug.\n\nPress OK to open the bug tracker page in your web browser.\n\nThank you for your help in making a bug fix possible.\nYour Freeplane Team
 out_of_memory=Slut p\u00E5 minne.
 overwrite_keyset_question=Skriv \u00F6ver nuvarande upps\u00E4ttning?
 PageAction.text=Utskriftsinst\u00E4llningar...
diff --git a/freeplane/resources/translations/Resources_uk_UA.properties b/freeplane/resources/translations/Resources_uk_UA.properties
index 9318887..fc91a31 100644
--- a/freeplane/resources/translations/Resources_uk_UA.properties
+++ b/freeplane/resources/translations/Resources_uk_UA.properties
@@ -1045,6 +1045,7 @@ OptionPanel.en=\u0410\u043D\u0433\u043B\u0456\u0439\u0441\u044C\u043A\u0430 / En
 OptionPanel.Environment=\u041E\u0442\u043E\u0447\u0435\u043D\u043D\u044F
 OptionPanel.es=\u0406\u0441\u043F\u0430\u043D\u0441\u044C\u043A\u0430, \u041A\u0430\u0441\u0442\u0438\u043B\u0456\u044F / espa\u00F1ol, castellano
 OptionPanel.et=\u0415\u0441\u0442\u043E\u043D\u0441\u044C\u043A\u0430 / eesti, eesti keel
+OptionPanel.eu=\u0411\u0430\u0441\u043A\u0441\u044C\u043A\u0430
 OptionPanel.execute_scripts_without_asking=\u0412\u0438\u043A\u043E\u043D\u0430\u043D\u043D\u044F \u0441\u043A\u0440\u0438\u043F\u0442\u0456\u0432 \u0434\u043E\u0437\u0432\u043E\u043B\u0435\u043D\u043E
 OptionPanel.execute_scripts_without_asking.tooltip=<html>\u0421\u043A\u0440\u0438\u043F\u0442\u0438 Freeplane \u0432 \u043F\u0440\u0438\u043D\u0446\u0438\u043F\u0456 \u043C\u043E\u0436\u0443\u0442\u044C \u0432\u0438\u043A\u043E\u043D\u0430\u0442\u0438 \u0431\u0443\u0434\u044C-\u044F\u043A\u0456 \u0434\u0456\u0457 \u043D\u0430 \u0432\u0430\u0448\u043E\u043C\u0443 \u043A\u043E\u043C\u043F'\u044E\u0442\u0435\u0440\u0456. <br>\u0422\u043E\u043C\u0443 \u043D\u0435 \u0441\u043B\u0456\u0434 \u0 [...]
 OptionPanel.execute_scripts_without_exec_restriction=\u0414\u043E\u0437\u0432\u043E\u043B\u0438\u0442\u0438 \u0437\u0430\u043F\u0443\u0441\u043A \u0456\u043D\u0448\u0438\u0445 \u043F\u0440\u043E\u0433\u0440\u0430\u043C (\u041D\u0415 \u0440\u0435\u043A\u043E\u043C\u0435\u043D\u0434\u043E\u0432\u0430\u043D\u043E)
@@ -1132,6 +1133,8 @@ OptionPanel.load_last_map=\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447
 OptionPanel.load_last_map.tooltip=<html>\u042F\u043A\u0449\u043E \u043F\u043E\u0437\u043D\u0430\u0447\u0435\u043D\u043E, \u0442\u043E \u043F\u0440\u0438 \u0437\u0430\u043F\u0443\u0441\u043A\u0443 Freeplane \u043F\u043E\u043A\u0430\u0437\u0443\u0432\u0430\u0442\u0438\u043C\u0435 \u043E\u0441\u0442\u0430\u043D\u043D\u044E \u0432\u0456\u0434\u043A\u0440\u0438\u0442\u0443 \u043A\u0430\u0440\u0442\u0443.</html>
 OptionPanel.load_last_maps=\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438 \u0432\u0441\u0456 \u043E\u0441\u0442\u0430\u043D\u043D\u0456 \u043A\u0430\u0440\u0442\u0438
 OptionPanel.lookandfeel=\u041F\u0440\u0438\u043A\u0438\u0434
+OptionPanel.lookandfeel.scaleuifonts=\u041C\u0430\u0441\u0448\u0442\u0430\u0431 \u0448\u0440\u0438\u0444\u0442\u0443 \u0456\u043D\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0443
+OptionPanel.lookandfeel.scaleuifonts.tooltip=\u0417\u0440\u0443\u0447\u043D\u043E \u0434\u043B\u044F \u043C\u043E\u043D\u0456\u0442\u043E\u0440\u0456\u0432 \u0437 \u0432\u0438\u0441\u043E\u043A\u043E\u044E \u0440\u043E\u0437\u0434\u0456\u043B\u044C\u043D\u0456\u0441\u0442\u044E
 OptionPanel.lookandfeel.tooltip=<html> \u041F\u0440\u0438 \u043F\u0440\u043E\u0431\u043B\u0435\u043C\u0430\u0445 \u0432\u0438\u0431\u0438\u0440\u0430\u0439\u0442\u0435  '\u043D\u0456\u0447\u043E\u0433\u043E' ('nothing'). </html>
 OptionPanel.lt=\u041B\u0438\u0442\u043E\u0432\u0441\u044C\u043A\u0430 / kalba
 OptionPanel.max_displayed_node_count=\u041D\u0430\u0439\u0431\u0456\u043B\u044C\u0448\u0430 \u043A\u0456\u043B\u044C\u043A\u0456\u0441\u0442\u044C \u043F\u043E\u043A\u0430\u0437\u0430\u043D\u0438\u0445 \u0432\u0443\u0437\u043B\u0456\u0432
@@ -1636,6 +1639,8 @@ simplyhtml.appendTableColLabel=\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u0438
 simplyhtml.appendTableRowLabel=\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u0438 \u0440\u044F\u0434\u043E\u043A
 simplyhtml.applyCellAttrLabel=\u0417\u0430\u0441\u0442\u043E\u0441\u0443\u0432\u0430\u0442\u0438 \u0434\u043E
 simplyhtml.backgroundLabel=\u0422\u043B\u043E:
+simplyhtml.blackFontColorLabel=\u0427\u043E\u0440\u043D\u0438\u0439
+simplyhtml.blueFontColorLabel=\u0421\u0438\u043D\u0456\u0439
 simplyhtml.boldItalicName=\u0436\u0438\u0440\u043D\u0438\u0439 \u043A\u0443\u0440\u0441\u0438\u0432
 simplyhtml.boldName=\u0436\u0438\u0440\u043D\u0438\u0439
 simplyhtml.borderColorLabel=\u041A\u043E\u043B\u0456\u0440:
@@ -1665,6 +1670,7 @@ simplyhtml.cTagNamePara=\u0410\u0431\u0437\u0430\u0446
 simplyhtml.cTagNameUL=\u041D\u0435\u0432\u043F\u043E\u0440\u044F\u0434\u043A\u043E\u0432\u0430\u043D\u0438\u0439 \u0441\u043F\u0438\u0441\u043E\u043A
 simplyhtml.cutLabel=\u0412\u0438\u0440\u0456\u0437\u0430\u0442\u0438
 simplyhtml.cutTip=\u0432\u0438\u0440\u0456\u0437\u0430\u0442\u0438
+simplyhtml.decreaseFontSizeLabel=\u041C\u0435\u043D\u0448\u0435
 simplyhtml.defaultDocName=\u0411\u0435\u0437 \u043D\u0430\u0437\u0432\u0438
 simplyhtml.deleteTableColLabel=\u0412\u0438\u0434\u0430\u043B\u0438\u0442\u0438 \u0441\u0442\u043E\u0432\u043F\u0447\u0438\u043A
 simplyhtml.deleteTableRowLabel=\u0412\u0438\u0434\u0430\u043B\u0438\u0442\u0438 \u0440\u044F\u0434\u043E\u043A
@@ -1697,9 +1703,11 @@ simplyhtml.formatParaLabel=\u0410\u0431\u0437\u0430\u0446...
 simplyhtml.formatParaTip=\u0417\u043C\u0456\u043D\u0438\u0442\u0438 \u0444\u043E\u0440\u043C\u0430\u0442 \u0430\u0431\u0437\u0430\u0446\u0443
 simplyhtml.formatTableLabel=\u0422\u0430\u0431\u043B\u0438\u0446\u044F...
 simplyhtml.formatTableTip=\u0424\u043E\u0440\u043C\u0430\u0442\u0443\u0432\u0430\u0442\u0438 \u0442\u0430\u0431\u043B\u0438\u0446\u044E
+simplyhtml.greenFontColorLabel=\u0417\u0435\u043B\u0435\u043D\u0438\u0439
 simplyhtml.helpLabel=\u0414\u043E\u043F\u043E\u043C\u043E\u0433\u0430
 simplyhtml.htmlTabTitle=\u041A\u043E\u0434 HTML
 simplyhtml.imageFileDesc=\u0424\u0430\u0439\u043B\u0438 \u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u044C
+simplyhtml.increaseFontSizeLabel=\u0411\u0456\u043B\u044C\u0448\u0435
 simplyhtml.insertTableColLabel=\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u0438 \u0441\u0442\u043E\u0432\u043F\u0447\u0438\u043A
 simplyhtml.insertTableLabel=\u0422\u0430\u0431\u043B\u0438\u0446\u044F...
 simplyhtml.insertTableMsg=\u0421\u043A\u0456\u043B\u044C\u043A\u0438 \u0441\u0442\u043E\u0432\u043F\u0447\u0438\u043A\u0456\u0432?
@@ -1751,8 +1759,10 @@ simplyhtml.previewLabel=\u041F\u0435\u0440\u0435\u0433\u043B\u044F\u043D\u0443\u
 simplyhtml.previewText=\u041F\u0435\u0440\u0435\u0433\u043B\u044F\u043D\u0443\u0442\u0438 \u0442\u0435\u043A\u0441\u0442
 simplyhtml.prevTableCellLabel=\u041F\u043E\u043F\u0435\u0440\u0435\u0434\u043D\u044F \u043A\u043E\u043C\u0456\u0440\u043A\u0430
 simplyhtml.printLabel=\u0414\u0440\u0443\u043A...
+simplyhtml.redFontColorLabel=\u0427\u0435\u0440\u0432\u043E\u043D\u0438\u0439
 simplyhtml.redoLabel=\u041F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u0438
 simplyhtml.redoTip=\u043F\u043E\u0432\u0435\u0440\u043D\u0443\u0442\u0438
+simplyhtml.removeFontColorLabel=\u0412\u0438\u043B\u0443\u0447\u0438\u0442\u0438 \u043A\u043E\u043B\u0456\u0440
 simplyhtml.replace=\u0417\u0430\u043C\u0456\u043D\u0438\u0442\u0438...
 simplyhtml.replaceAll=\u0412\u0441\u0435
 simplyhtml.replaceDone=\u0417\u0440\u043E\u0431\u043B\u0435\u043D\u043E
@@ -1768,6 +1778,7 @@ simplyhtml.searchFromStart.tooltip=\u0420\u043E\u0437\u043F\u043E\u0447\u0430\u0
 simplyhtml.searchUp=\u041F\u043E\u0448\u0443\u043A \u0432\u0433\u043E\u0440\u0443
 simplyhtml.searchUp.tooltip=\u0428\u0443\u043A\u0430\u0442\u0438 \u0437\u043D\u0438\u0437\u0443 \u0432\u0433\u043E\u0440\u0443.
 simplyhtml.selectAllLabel=\u0412\u0438\u0431\u0440\u0430\u0442\u0438 \u0432\u0441\u0435
+simplyhtml.selectedFontColorLabel=\u0412\u0438\u0431\u0440\u0430\u043D\u0438\u0439 \u043A\u043E\u043B\u0456\u0440 \u0448\u0440\u0438\u0444\u0442\u0443
 simplyhtml.sizeLabel=\u0420\u043E\u0437\u043C\u0456\u0440
 simplyhtml.standardStyleName=\u0441\u0442\u0430\u043D\u0434\u0430\u0440\u0442\u043D\u0438\u0439
 simplyhtml.strikeLabel=\u0417\u0430\u043A\u0440\u0435\u0441\u043B\u0435\u043D\u043E
diff --git a/freeplane/src/main/java/org/freeplane/core/ui/components/UITools.java b/freeplane/src/main/java/org/freeplane/core/ui/components/UITools.java
index 8e1a743..0798ac8 100644
--- a/freeplane/src/main/java/org/freeplane/core/ui/components/UITools.java
+++ b/freeplane/src/main/java/org/freeplane/core/ui/components/UITools.java
@@ -616,6 +616,12 @@ public class UITools {
 	public static Font scale(Font font) {
 		return font.deriveFont(font.getSize2D()*FONT_SCALE_FACTOR);
 	}
+	
+	public static Font scaleFontInt(Font font, double additionalFactor) {
+		return font.deriveFont(font.getStyle(), Math.round(font.getSize2D()*UITools.FONT_SCALE_FACTOR * additionalFactor));
+	}
+	
+	
 	public static Font invertScale(Font font) {
 		return font.deriveFont(font.getSize2D()/FONT_SCALE_FACTOR);
 	}
diff --git a/freeplane/src/main/java/org/freeplane/features/attribute/AttributeRegistry.java b/freeplane/src/main/java/org/freeplane/features/attribute/AttributeRegistry.java
index b54c6d4..48b0a54 100644
--- a/freeplane/src/main/java/org/freeplane/features/attribute/AttributeRegistry.java
+++ b/freeplane/src/main/java/org/freeplane/features/attribute/AttributeRegistry.java
@@ -20,6 +20,7 @@
 package org.freeplane.features.attribute;
 
 import java.io.IOException;
+import java.util.HashSet;
 import java.util.NoSuchElementException;
 
 import javax.swing.ComboBoxModel;
@@ -64,7 +65,8 @@ public class AttributeRegistry implements IExtension {
 	protected SortedMapVector elements;
 	protected boolean isAttributeLayoutChanged;
 	private boolean isRestricted;
-	private EventListenerList listenerList = null;
+	private HashSet<IAttributesListener> attributeListeners = null;
+	private HashSet<ChangeListener> changeListeners = null;
 	private AttributeRegistryComboBoxColumnModel myComboBoxColumnModel = null;
 	private AttributeRegistryTableModel myTableModel = null;
 	private Boolean restrictionModel;
@@ -79,7 +81,8 @@ public class AttributeRegistry implements IExtension {
 
 	public AttributeRegistry(final AttributeController attributeController) {
 		super();
-		listenerList = new EventListenerList();
+		attributeListeners = new HashSet<IAttributesListener>();
+		changeListeners = new HashSet<ChangeListener>();
 		isAttributeLayoutChanged = false;
 		this.attributeController = attributeController;
 		visibleElementsNumber = 0;
@@ -91,11 +94,11 @@ public class AttributeRegistry implements IExtension {
 	}
 
 	public void addAttributesListener(final IAttributesListener l) {
-		listenerList.add(IAttributesListener.class, l);
+		attributeListeners.add(l);
 	}
 
 	public void addChangeListener(final ChangeListener l) {
-		listenerList.add(ChangeListener.class, l);
+		changeListeners.add(l);
 	}
 
 	public void applyChanges() {
@@ -138,26 +141,20 @@ public class AttributeRegistry implements IExtension {
 	}
 
 	protected void fireAttributesChanged() {
-		final Object[] listeners = listenerList.getListenerList();
-		for (int i = listeners.length - 2; i >= 0; i -= 2) {
-			if (listeners[i] == IAttributesListener.class) {
-				if (attributesEvent == null) {
-					attributesEvent = new ChangeEvent(this);
-				}
-				((IAttributesListener) listeners[i + 1]).attributesChanged(changeEvent);
+		for (IAttributesListener l : attributeListeners) {
+			if (attributesEvent == null) {
+				attributesEvent = new ChangeEvent(this);
 			}
+			l.attributesChanged(changeEvent);
 		}
 	}
 
 	public void fireStateChanged() {
-		final Object[] listeners = listenerList.getListenerList();
-		for (int i = listeners.length - 2; i >= 0; i -= 2) {
-			if (listeners[i] == ChangeListener.class) {
-				if (changeEvent == null) {
-					changeEvent = new ChangeEvent(this);
-				}
-				((ChangeListener) listeners[i + 1]).stateChanged(changeEvent);
+		for (ChangeListener l : changeListeners) {
+			if (changeEvent == null) {
+				changeEvent = new ChangeEvent(this);
 			}
+			l.stateChanged(changeEvent);
 		}
 	}
 
@@ -304,11 +301,11 @@ public class AttributeRegistry implements IExtension {
 	}
 
 	public void removeAttributesListener(final IAttributesListener l) {
-		listenerList.remove(IAttributesListener.class, l);
+		attributeListeners.remove(l);
 	}
 
 	public void removeChangeListener(final ChangeListener l) {
-		listenerList.remove(ChangeListener.class, l);
+		changeListeners.remove(l);
 	}
 
 	/**
diff --git a/freeplane/src/main/java/org/freeplane/features/clipboard/mindmapmode/MClipboardController.java b/freeplane/src/main/java/org/freeplane/features/clipboard/mindmapmode/MClipboardController.java
index 3b816be..b49113e 100644
--- a/freeplane/src/main/java/org/freeplane/features/clipboard/mindmapmode/MClipboardController.java
+++ b/freeplane/src/main/java/org/freeplane/features/clipboard/mindmapmode/MClipboardController.java
@@ -20,6 +20,7 @@
 package org.freeplane.features.clipboard.mindmapmode;
 
 import java.awt.Graphics2D;
+import java.awt.Image;
 import java.awt.datatransfer.DataFlavor;
 import java.awt.datatransfer.Transferable;
 import java.awt.datatransfer.UnsupportedFlavorException;
@@ -79,6 +80,7 @@ import org.freeplane.features.text.mindmapmode.MTextController;
 import org.freeplane.features.url.UrlManager;
 import org.freeplane.n3.nanoxml.XMLException;
 import org.freeplane.view.swing.features.filepreview.ExternalResource;
+import org.freeplane.view.swing.features.filepreview.ImageAdder;
 import org.freeplane.view.swing.features.filepreview.ViewerController;
 import org.freeplane.view.swing.features.filepreview.ViewerController.PasteMode;
 
@@ -387,18 +389,13 @@ public class MClipboardController extends ClipboardController {
 		}
 	}
 
-    private class ImageFlavorHandler implements IDataFlavorHandler {
-    	private static final String IMAGE_FORMAT = "png";
-		final private BufferedImage image;
+	private class ImageFlavorHandler implements IDataFlavorHandler {
 
-		public ImageFlavorHandler(BufferedImage img) {
+		final private Image image;
+
+		public ImageFlavorHandler(Image img) {
 			super();
-			BufferedImage fixedImg = new BufferedImage(img.getWidth(), img.getHeight(), BufferedImage.TYPE_INT_ARGB);
-			Graphics2D fig = fixedImg.createGraphics();
-			fig.drawImage(img, 0, 0, null);
-			fig.dispose();
-			fixedImg.flush();
-			this.image = fixedImg;
+			image = img;
 		}
 
         public void paste(Transferable t, NodeModel target, boolean asSibling, boolean isLeft, int dropAction) {
@@ -406,50 +403,48 @@ public class MClipboardController extends ClipboardController {
 			final MMapController mapController = (MMapController) modeController.getMapController();
             File mindmapFile = target.getMap().getFile();
             if(mindmapFile == null) {
-                UITools.errorMessage(TextUtils.getRawText("map_not_saved"));
-                return;
+            	UITools.errorMessage(TextUtils.getRawText("map_not_saved"));
+            	return;
             }
-			final String mmFileName = mindmapFile.getName();
-			String fileNameTemplate = mmFileName.substring(0, mmFileName.lastIndexOf('.')) + "_";
-			while (fileNameTemplate.length() < 3)
-				fileNameTemplate = fileNameTemplate + '_';
-			//file that we'll save to disk.
+            final String mmFileName = mindmapFile.getName();
+            String fileNameTemplate = mmFileName.substring(0, mmFileName.lastIndexOf('.')) + "_";
+            while (fileNameTemplate.length() < 3)
+            	fileNameTemplate = fileNameTemplate + '_';
+            //file that we'll save to disk.
             File file;
             try {
-	            final File dir = mindmapFile.getParentFile();
-				file = File.createTempFile(fileNameTemplate, "."+IMAGE_FORMAT, dir);
-	            String imgfilepath=file.getAbsolutePath();
-	            File tempFile = file = new File(imgfilepath);
-	            final JFileChooser fileChooser = new JFileChooser(file);		
-	            final ExampleFileFilter filter = new ExampleFileFilter();
-	    		filter.addExtension(IMAGE_FORMAT);
-	    		fileChooser.setAcceptAllFileFilterUsed(false);
-	    		fileChooser.setFileFilter(filter);
-	    		fileChooser.setSelectedFile(file);
-	    		int returnVal = fileChooser.showSaveDialog(UITools.getCurrentRootComponent());
-	    		if (returnVal != JFileChooser.APPROVE_OPTION) {
-	    			tempFile.delete();
-	    			return;
-	    		}
-	    		file = fileChooser.getSelectedFile();
-	    		if(tempFile.exists() && ! file.getAbsoluteFile().equals(tempFile)){
-	    			tempFile.delete();
-	    		}
-	    		if(file.isDirectory())
-	    			return;
-	    		if(! FileUtils.getExtension(file.getName()).equals(IMAGE_FORMAT))
-	    			file = new File(file.getPath() + '.' + IMAGE_FORMAT);
-	    		final URI uri = LinkController.toLinkTypeDependantURI(mindmapFile, file);
-	            ImageIO.write(image, IMAGE_FORMAT, file);
-				final NodeModel node = mapController.newNode(file.getName(), target.getMap());
-				final ExternalResource extension = new ExternalResource(uri);
-				node.addExtension(extension);
-				mapController.insertNode(node, target, asSibling, isLeft, isLeft);
+            	final File dir = mindmapFile.getParentFile();
+            	file = File.createTempFile(fileNameTemplate, "."+ImageAdder.IMAGE_FORMAT, dir);
+            	String imgfilepath=file.getAbsolutePath();
+            	File tempFile = file = new File(imgfilepath);
+            	final JFileChooser fileChooser = new JFileChooser(file);		
+            	final ExampleFileFilter filter = new ExampleFileFilter();
+            	filter.addExtension(ImageAdder.IMAGE_FORMAT);
+            	fileChooser.setAcceptAllFileFilterUsed(false);
+            	fileChooser.setFileFilter(filter);
+            	fileChooser.setSelectedFile(file);
+            	int returnVal = fileChooser.showSaveDialog(UITools.getCurrentRootComponent());
+            	if (returnVal != JFileChooser.APPROVE_OPTION) {
+            		tempFile.delete();
+            		return;
+            	}
+            	file = fileChooser.getSelectedFile();
+            	if(tempFile.exists() && ! file.getAbsoluteFile().equals(tempFile)){
+            		tempFile.delete();
+            	}
+            	if(file.isDirectory())
+            		return;
+            	if(! FileUtils.getExtension(file.getName()).equals(ImageAdder.IMAGE_FORMAT))
+            		file = new File(file.getPath() + '.' + ImageAdder.IMAGE_FORMAT);
+            	final NodeModel node = mapController.newNode(file.getName(), target.getMap());
+            	mapController.insertNode(node, target, asSibling, isLeft, isLeft);
+            	new ImageAdder(image, mapController, mindmapFile, file).attachImageToNode(node);
             }
             catch (IOException e) {
-	            e.printStackTrace();
+            	e.printStackTrace();
             }
         }
+
     }
 	private static final Pattern HEADER_REGEX = Pattern.compile("h(\\d)", Pattern.CASE_INSENSITIVE);
 	private static final Pattern HREF_PATTERN = Pattern
@@ -590,7 +585,7 @@ public class MClipboardController extends ClipboardController {
 		}
 		if (t.isDataFlavorSupported(DataFlavor.imageFlavor)) {
 			try {
-				BufferedImage image = (BufferedImage) t.getTransferData(DataFlavor.imageFlavor);
+				Image image = (Image) t.getTransferData(DataFlavor.imageFlavor);
 				return new ImageFlavorHandler(image);
 			}
 			catch (final UnsupportedFlavorException e) {
diff --git a/freeplane/src/main/java/org/freeplane/features/link/MapLinks.java b/freeplane/src/main/java/org/freeplane/features/link/MapLinks.java
index dd08262..ec4f811 100644
--- a/freeplane/src/main/java/org/freeplane/features/link/MapLinks.java
+++ b/freeplane/src/main/java/org/freeplane/features/link/MapLinks.java
@@ -83,4 +83,14 @@ public class MapLinks implements IExtension {
 	public static MapLinks getLinks(final MapModel map) {
 		return (MapLinks) map.getExtension(MapLinks.class);
 	}
+
+
+	public static boolean hasLinks(final MapModel map) {
+		final MapLinks mapLinks = (MapLinks) map.getExtension(MapLinks.class);
+		return mapLinks != null &&mapLinks.getSize() > 0;
+	}
+
+	private int getSize() {
+		return links.size();
+	}
 }
diff --git a/freeplane/src/main/java/org/freeplane/features/map/MapController.java b/freeplane/src/main/java/org/freeplane/features/map/MapController.java
index 633f4d4..95f724e 100644
--- a/freeplane/src/main/java/org/freeplane/features/map/MapController.java
+++ b/freeplane/src/main/java/org/freeplane/features/map/MapController.java
@@ -289,6 +289,7 @@ public class MapController extends SelectionController implements IExtension{
 		modeController.setMapController(this);
 		this.modeController = modeController;
 		mapLifeCycleListeners = new LinkedList<IMapLifeCycleListener>();
+		addMapLifeCycleListener(modeController.getController());
 		writeManager = new WriteManager();
 		mapWriter = new MapWriter(this);
 		readManager = new ReadManager();
@@ -480,13 +481,26 @@ public class MapController extends SelectionController implements IExtension{
 		return node.getChildren();
 	}
 
-	/**
-	 * Return false if user has canceled.
-	 */
-	public boolean close(final MapModel map, final boolean force) {
+	public boolean close(final MapModel map) {
+		closeWithoutSaving(map);
+		return true;
+	}
+	
+	public boolean closeAllMaps() {
+		final Controller controller = getModeController().getController();
+		for (MapModel map = controller.getMap(); map != null; map = controller.getMap()){
+			final boolean closingNotCancelled = close(map);
+			if (!closingNotCancelled) {
+				return false;
+			}
+			
+		}
+		return true;
+	}
+
+	public void closeWithoutSaving(final MapModel map) {
 		fireMapRemoved(map);
 		map.destroy();
-		return true;
 	}
 
 	/**
diff --git a/freeplane/src/main/java/org/freeplane/features/map/mindmapmode/MMapController.java b/freeplane/src/main/java/org/freeplane/features/map/mindmapmode/MMapController.java
index e8d88e1..9697d58 100644
--- a/freeplane/src/main/java/org/freeplane/features/map/mindmapmode/MMapController.java
+++ b/freeplane/src/main/java/org/freeplane/features/map/mindmapmode/MMapController.java
@@ -346,33 +346,35 @@ public class MMapController extends MapController {
 	 * Return false if user has canceled.
 	 */
 	@Override
-	public boolean close(final MapModel map, final boolean force) {
-		if (!force && !map.isSaved()) {
-			final List<Component> views = Controller.getCurrentController().getMapViewManager().getViews(map);
-			if (views.size() == 1) {
-				final String text = TextUtils.getText("save_unsaved") + "\n" + map.getTitle();
-				final String title = TextUtils.getText("SaveAction.text");
-				Component dialogParent;
-				final Frame viewFrame = JOptionPane.getFrameForComponent(views.get(0));
-				if(viewFrame != null && viewFrame.isShowing() && viewFrame.getExtendedState() != Frame.ICONIFIED)
-					dialogParent = viewFrame;
-				else
-					dialogParent = UITools.getCurrentRootComponent();
-				final int returnVal = JOptionPane.showOptionDialog(dialogParent, text, title,
-				    JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE, null, null, null);
-				if (returnVal == JOptionPane.YES_OPTION) {
-					final boolean savingNotCancelled = ((MFileManager) UrlManager.getController())
-					    .save(map);
-					if (!savingNotCancelled) {
-						return false;
-					}
-				}
-				else if ((returnVal == JOptionPane.CANCEL_OPTION) || (returnVal == JOptionPane.CLOSED_OPTION)) {
+	public boolean close(final MapModel map) {
+		if (!map.isSaved()) {
+			final String text = TextUtils.getText("save_unsaved") + "\n" + map.getTitle();
+			final String title = TextUtils.getText("SaveAction.text");
+			Component dialogParent;
+			final Frame viewFrame = UITools.getCurrentFrame();
+			if(viewFrame != null && viewFrame.isShowing() && viewFrame.getExtendedState() != Frame.ICONIFIED)
+				dialogParent = viewFrame;
+			else
+				dialogParent = UITools.getCurrentRootComponent();
+			final int returnVal = JOptionPane.showOptionDialog(dialogParent, text, title,
+					JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE, null, null, null);
+			if (returnVal == JOptionPane.YES_OPTION) {
+				final boolean savingNotCancelled = ((MFileManager) UrlManager.getController())
+						.save(map);
+				if (!savingNotCancelled) {
 					return false;
 				}
 			}
+			else if ((returnVal == JOptionPane.CANCEL_OPTION) || (returnVal == JOptionPane.CLOSED_OPTION)) {
+				return false;
+			}
 		}
-		return super.close(map, force);
+		closeWithoutSaving(map);
+		return true;
+	}
+
+	public void closeWithoutSaving(final MapModel map) {
+		super.closeWithoutSaving(map);
 	}
 
 	private void createActions(ModeController modeController) {
@@ -1009,26 +1011,26 @@ public class MMapController extends MapController {
         }
 
 		if(map.containsExtension(DocuMapAttribute.class)){
-			controller.close(true);
+			closeWithoutSaving(map);
 			return newDocumentationMap(url);
 		}
 
 		final URL alternativeURL = MFileManager.getController(getMModeController()).getAlternativeURL(url, AlternativeFileMode.ALL);
 		if(alternativeURL == null)
 			return false;
-		Controller.getCurrentController().getViewController().setWaitingCursor(true);
+		controller.getViewController().setWaitingCursor(true);
 		try{
 			final MapModel newModel = new MMapModel();
 			((MFileManager)MFileManager.getController()).loadAndLock(alternativeURL, newModel);
 			newModel.setURL(url);
 			newModel.setSaved(alternativeURL.equals(url));
 			fireMapCreated(newModel);
-			controller.close(true);
+			closeWithoutSaving(map);
 			newMapView(newModel);
 			return true;
 		}
 		finally {
-			Controller.getCurrentController().getViewController().setWaitingCursor(false);
+			controller.getViewController().setWaitingCursor(false);
 		}
 	}
 	
diff --git a/freeplane/src/main/java/org/freeplane/features/mode/Controller.java b/freeplane/src/main/java/org/freeplane/features/mode/Controller.java
index 2a529d1..764be2b 100644
--- a/freeplane/src/main/java/org/freeplane/features/mode/Controller.java
+++ b/freeplane/src/main/java/org/freeplane/features/mode/Controller.java
@@ -24,9 +24,11 @@ import java.awt.event.ActionEvent;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Collection;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.LinkedHashMap;
+import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -38,6 +40,7 @@ import org.freeplane.core.resources.OptionPanelController;
 import org.freeplane.core.resources.ResourceController;
 import org.freeplane.core.resources.components.IValidator;
 import org.freeplane.core.util.LogUtils;
+import org.freeplane.features.map.IMapLifeCycleListener;
 import org.freeplane.features.map.IMapSelection;
 import org.freeplane.features.map.MapModel;
 import org.freeplane.features.ui.IMapViewManager;
@@ -48,7 +51,7 @@ import org.freeplane.main.application.ApplicationLifecycleListener;
  * Provides the methods to edit/change a Node. Forwards all messages to
  * MapModel(editing) or MapView(navigation).
  */
-public class Controller extends AController implements FreeplaneActions{
+public class Controller extends AController implements FreeplaneActions, IMapLifeCycleListener{
 	private final ExtensionContainer extensionContainer;
 	/**
 	 * Converts from a local link to the real file URL of the documentation map.
@@ -63,12 +66,14 @@ public class Controller extends AController implements FreeplaneActions{
 	private final OptionPanelController optionPanelController;
 	private IMapViewManager mapViewManager;
 	private List<ApplicationLifecycleListener> applicationLifecycleListeners = new ArrayList<ApplicationLifecycleListener>(0);
+	final private Collection<IMapLifeCycleListener> mapLifeCycleListeners;
 
 	public Controller(ResourceController resourceController) {
 		super();
 		if(currentController == null){
 			currentController = this;
 		}
+		mapLifeCycleListeners = new LinkedList<IMapLifeCycleListener>();
 		this.resourceController = resourceController; 
 		this.optionPanelController = new OptionPanelController();
 		extensionContainer = new ExtensionContainer(new HashMap<Class<? extends IExtension>, IExtension>());
@@ -84,14 +89,16 @@ public class Controller extends AController implements FreeplaneActions{
 		modeControllers.put(modeController.getModeName(), modeController);
 	}
 
-	/**
-	 * Closes the actual map.
-	 * 
-	 * @param withoutSave
-	 *            true= without save.
-	 */
-	public void close(final boolean withoutSave) {
-		getMapViewManager().close(withoutSave);
+	public void addMapLifeCycleListener(final IMapLifeCycleListener listener) {
+		mapLifeCycleListeners.add(listener);
+	}
+	
+	public void removeMapLifeCycleListener(final IMapLifeCycleListener listener) {
+		mapLifeCycleListeners.remove(listener);
+	}
+
+	public void close() {
+		getMapViewManager().close();
 	}
 
 	public <T extends IExtension> T getExtension(final Class<T> clazz){
@@ -289,4 +296,29 @@ public class Controller extends AController implements FreeplaneActions{
 	public void addApplicationLifecycleListener(ApplicationLifecycleListener applicationLifecycleListener) {
 		this.applicationLifecycleListeners.add(applicationLifecycleListener);
 	}
+	
+	public void fireMapCreated(final MapModel map) {
+		final IMapLifeCycleListener[] list = mapLifeCycleListeners.toArray(new IMapLifeCycleListener[]{});
+		for (final IMapLifeCycleListener next : list) {
+			next.onCreate(map);
+		}
+	}
+
+	protected void fireMapRemoved(final MapModel map) {
+		final IMapLifeCycleListener[] list = mapLifeCycleListeners.toArray(new IMapLifeCycleListener[]{});
+		for (final IMapLifeCycleListener next : list) {
+			next.onRemove(map);
+		}
+	}
+
+	@Override
+	public void onCreate(MapModel map) {
+		fireMapCreated(map);
+	}
+
+	@Override
+	public void onRemove(MapModel map) {
+		fireMapRemoved(map);
+		
+	}
 }
diff --git a/freeplane/src/main/java/org/freeplane/features/text/mindmapmode/SHTMLEditLinkAction.java b/freeplane/src/main/java/org/freeplane/features/text/mindmapmode/SHTMLEditLinkAction.java
index 3d4446b..eecfc0b 100644
--- a/freeplane/src/main/java/org/freeplane/features/text/mindmapmode/SHTMLEditLinkAction.java
+++ b/freeplane/src/main/java/org/freeplane/features/text/mindmapmode/SHTMLEditLinkAction.java
@@ -27,6 +27,7 @@ public class SHTMLEditLinkAction extends AFreeplaneAction implements SHTMLAction
    public SHTMLEditLinkAction(final SHTMLPanelImpl panel) {
        super("SetLinkByTextFieldAction");
        this.panel = panel;
+       SHTMLPanelImpl.getActionProperties(this, "setLinkByTextField");
    }
 
    public void actionPerformed(final ActionEvent ae) {
@@ -86,7 +87,4 @@ public class SHTMLEditLinkAction extends AFreeplaneAction implements SHTMLAction
            this.setEnabled(false);
        }
    }
-
-   public void getProperties() {
-   }
 }
diff --git a/freeplane/src/main/java/org/freeplane/features/ui/CloseAction.java b/freeplane/src/main/java/org/freeplane/features/ui/CloseAction.java
index ef8c64e..d6b138b 100644
--- a/freeplane/src/main/java/org/freeplane/features/ui/CloseAction.java
+++ b/freeplane/src/main/java/org/freeplane/features/ui/CloseAction.java
@@ -39,6 +39,6 @@ public class CloseAction extends AFreeplaneAction {
 	}
 
 	public void actionPerformed(final ActionEvent e) {
-		Controller.getCurrentController().close(false);
+		Controller.getCurrentController().close();
 	}
 }
diff --git a/freeplane/src/main/java/org/freeplane/features/ui/FrameController.java b/freeplane/src/main/java/org/freeplane/features/ui/FrameController.java
index 35b3477..e1925d1 100644
--- a/freeplane/src/main/java/org/freeplane/features/ui/FrameController.java
+++ b/freeplane/src/main/java/org/freeplane/features/ui/FrameController.java
@@ -25,14 +25,13 @@ import java.awt.Component;
 import java.awt.Dimension;
 import java.awt.EventQueue;
 import java.awt.FlowLayout;
+import java.awt.Font;
 import java.awt.Frame;
 import java.awt.GraphicsConfiguration;
-import java.awt.KeyEventDispatcher;
 import java.awt.KeyboardFocusManager;
 import java.awt.LayoutManager;
 import java.awt.Rectangle;
 import java.awt.Window;
-import java.awt.event.KeyEvent;
 import java.io.IOException;
 import java.lang.reflect.InvocationTargetException;
 import java.net.URI;
@@ -44,6 +43,7 @@ import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 
 import javax.swing.BorderFactory;
 import javax.swing.Box;
@@ -57,13 +57,14 @@ import javax.swing.JLabel;
 import javax.swing.JPanel;
 import javax.swing.LookAndFeel;
 import javax.swing.RootPaneContainer;
+import javax.swing.UIDefaults;
 import javax.swing.UIManager;
 import javax.swing.UIManager.LookAndFeelInfo;
 import javax.swing.plaf.basic.BasicComboBoxEditor;
 import javax.swing.plaf.metal.MetalFileChooserUI;
 
-import org.freeplane.core.resources.TranslatedObject;
 import org.freeplane.core.resources.ResourceController;
+import org.freeplane.core.resources.TranslatedObject;
 import org.freeplane.core.ui.FixedBasicComboBoxEditor;
 import org.freeplane.core.ui.IUserInputListenerFactory;
 import org.freeplane.core.ui.components.ContainerComboBoxEditor;
@@ -489,7 +490,7 @@ abstract public class FrameController implements ViewController {
 		return propertyKeyPrefix;
 	}
 
-	public static void setLookAndFeel(final String lookAndFeel) {
+	public static void setLookAndFeel(final String lookAndFeel, boolean supportHidpi) {
 		try {
 			if (lookAndFeel.equals("default")) {
 				UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
@@ -525,6 +526,9 @@ abstract public class FrameController implements ViewController {
 		}
 
 		UIManager.put("Button.defaultButtonFollowsFocus", Boolean.TRUE);
+		
+		if(supportHidpi)
+			scaleDefaultUIFonts();
 
 		// Workaround for http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7077418
 		// NullPointerException in WindowsFileChooserUI when system icons missing/invalid
@@ -544,6 +548,30 @@ abstract public class FrameController implements ViewController {
 		if(color != null && color.getAlpha() < 255)
 			UIManager.getDefaults().put("control", Color.LIGHT_GRAY);
 	}
+	
+	private static void scaleDefaultUIFonts() {
+        Set<Object> keySet = UIManager.getLookAndFeelDefaults().keySet();
+		Object[] keys = keySet.toArray(new Object[keySet.size()]);
+		final UIDefaults uiDefaults = UIManager.getDefaults();
+		final UIDefaults lookAndFeelDefaults = UIManager.getLookAndFeel().getDefaults();
+		
+		for (Object key : keys) {
+		    if (isFontKey(key)) {
+				Font font = uiDefaults.getFont(key);
+				if (font != null) {
+				    font = UITools.scaleFontInt(font, 0.8);
+				    UIManager.put(key, font);
+				    lookAndFeelDefaults.put(key, font);
+				}
+		    }
+		
+		}
+    }
+
+	private static boolean isFontKey(Object key) {
+		return key != null && key.toString().toLowerCase().endsWith("font");
+	}
+
 
 	public void addObjectTypeInfo(Object value) {
 		if (value instanceof FormattedObject) {
@@ -638,7 +666,10 @@ abstract public class FrameController implements ViewController {
 	}
 
 	public boolean quit() {
-	    return getController().getMapViewManager().closeAllMaps();
+		final boolean allMapsClosed = Controller.getCurrentModeController().getMapController().closeAllMaps();
+	    if(allMapsClosed)
+	    	getController().getMapViewManager().onQuitApplication();
+	    return allMapsClosed;
     }
 
 	public boolean isDispatchThread() {
diff --git a/freeplane/src/main/java/org/freeplane/features/ui/IMapViewManager.java b/freeplane/src/main/java/org/freeplane/features/ui/IMapViewManager.java
index 9327bde..76939a8 100644
--- a/freeplane/src/main/java/org/freeplane/features/ui/IMapViewManager.java
+++ b/freeplane/src/main/java/org/freeplane/features/ui/IMapViewManager.java
@@ -74,8 +74,8 @@ public interface IMapViewManager {
 	 * @param withoutSave
 	 *            forces the closing without any save actions.
 	 */
-	public boolean close(final boolean withoutSave);
-	public boolean close(final Component view, final boolean force);
+	public boolean close();
+	public boolean close(final Component view);
 	
 	public String createHtmlMap();
 
@@ -141,8 +141,10 @@ public interface IMapViewManager {
 	public void setMapTitles();
 	public Object setEdgesRenderingHint(final Graphics2D g);
 	public void setTextRenderingHint(final Graphics2D g);
-	public boolean closeAllMaps();
-
 	public JComboBox createZoomBox();
 
+	public void onQuitApplication();
+
+	public void closeWithoutSaving();
+
 }
diff --git a/freeplane/src/main/java/org/freeplane/features/url/mindmapmode/FileRevisionsDialog.java b/freeplane/src/main/java/org/freeplane/features/url/mindmapmode/FileRevisionsDialog.java
index 5d11c96..a9fa9d3 100644
--- a/freeplane/src/main/java/org/freeplane/features/url/mindmapmode/FileRevisionsDialog.java
+++ b/freeplane/src/main/java/org/freeplane/features/url/mindmapmode/FileRevisionsDialog.java
@@ -191,6 +191,15 @@ class FileRevisionsDialog extends JDialog {
 		}
 	}
 
+
+	@SuppressWarnings("serial")
+	private class EscapeAction extends AbstractAction {
+		public void actionPerformed(final ActionEvent e) {
+			cancelled = true;
+			dispose();
+		}
+	}
+	
 	public FileRevisionsDialog(final File file, final File[] revisions, AlternativeFileMode mode) {
 		super((Frame) UITools.getMenuComponent(), true);
 		if(mode == AlternativeFileMode.ALL)
@@ -202,7 +211,6 @@ class FileRevisionsDialog extends JDialog {
 		this.selectedFile = this.file = file;
 		setBackground(Color.white);
 		setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
-		UITools.addEscapeActionToDialog(this);
 		getContentPane().setLayout(new BoxLayout(getContentPane(), BoxLayout.Y_AXIS));
 		final JTable table = createTable(revisions);
 		final JScrollPane scrollPane = new JScrollPane(table);
@@ -233,6 +241,8 @@ class FileRevisionsDialog extends JDialog {
 					table.setRowSelectionInterval(newSelectedRow, newSelectedRow);
 			}
 		});
+		UITools.addEscapeActionToDialog(this, new EscapeAction());
+
 		pack();
 		UITools.showFrame();
 		setLocationRelativeTo(UITools.getMenuComponent());
diff --git a/freeplane/src/main/java/org/freeplane/main/addons/AddOnsController.java b/freeplane/src/main/java/org/freeplane/main/addons/AddOnsController.java
index 8ff243d..7bbaf56 100644
--- a/freeplane/src/main/java/org/freeplane/main/addons/AddOnsController.java
+++ b/freeplane/src/main/java/org/freeplane/main/addons/AddOnsController.java
@@ -99,14 +99,14 @@ public class AddOnsController {
 		final ResourceController resourceController = ResourceController.getResourceController();
 		if (addOn.getDefaultProperties() != null)
 			resourceController.addDefaults(addOn.getDefaultProperties());
+		if (addOn.getTranslations() != null)
+			registerAddOnResources(addOn, resourceController);
 		if (addOn.getPreferencesXml() != null) {
 			final ModeController modeController = Controller.getCurrentModeController();
 			if (modeController instanceof MModeController) {
 				((MModeController)modeController).getOptionPanelBuilder().load(new StringReader(addOn.getPreferencesXml()));
 			}
 		}
-		if (addOn.getTranslations() != null)
-			registerAddOnResources(addOn, resourceController);
 	}
 
 	/** make the translations of this add-on known system-wide.
diff --git a/freeplane/src/main/java/org/freeplane/main/applet/FreeplaneApplet.java b/freeplane/src/main/java/org/freeplane/main/applet/FreeplaneApplet.java
index d7fd588..dabbdeb 100644
--- a/freeplane/src/main/java/org/freeplane/main/applet/FreeplaneApplet.java
+++ b/freeplane/src/main/java/org/freeplane/main/applet/FreeplaneApplet.java
@@ -193,7 +193,7 @@ public class FreeplaneApplet extends JApplet {
 		String lookAndFeel = "";
 		appletResourceController.setPropertyByParameter(this, "lookandfeel");
 		lookAndFeel = appletResourceController.getProperty("lookandfeel");
-		FrameController.setLookAndFeel(lookAndFeel);
+		FrameController.setLookAndFeel(lookAndFeel, true);
 	}
 
 	@Override
diff --git a/freeplane/src/main/java/org/freeplane/main/application/FreeplaneGUIStarter.java b/freeplane/src/main/java/org/freeplane/main/application/FreeplaneGUIStarter.java
index f7f3697..f08288e 100644
--- a/freeplane/src/main/java/org/freeplane/main/application/FreeplaneGUIStarter.java
+++ b/freeplane/src/main/java/org/freeplane/main/application/FreeplaneGUIStarter.java
@@ -174,7 +174,9 @@ public class FreeplaneGUIStarter implements FreeplaneStarter {
 			FreeplaneGUIStarter.showSysInfo();
 			final String lookandfeel = System.getProperty("lookandfeel", applicationResourceController
 			    .getProperty("lookandfeel"));
-			FrameController.setLookAndFeel(lookandfeel);
+			final boolean supportHidpi = Boolean.valueOf(System.getProperty("lookandfeel.scaleuifonts", applicationResourceController
+				    .getProperty("lookandfeel.scaleuifonts")));
+			FrameController.setLookAndFeel(lookandfeel, supportHidpi);
 			final JFrame frame;
 			frame = new JFrame("Freeplane");
 			frame.setContentPane(new JPanel(){
@@ -216,7 +218,6 @@ public class FreeplaneGUIStarter implements FreeplaneStarter {
 			FilterController.getCurrentFilterController().getConditionFactory().addConditionController(70,
 			    new LogicalStyleFilterController());
 			MapController.install();
-
 			NodeHistory.install(controller);
 			return controller;
 		}
@@ -274,7 +275,7 @@ public class FreeplaneGUIStarter implements FreeplaneStarter {
 				if (extendedState != frame.getExtendedState()) {
 					frame.setExtendedState(extendedState);
 				}
-				loadMaps(options.getFilesToOpenAsArray());
+				loadMaps(CommandLineParser.parse(args, false).getFilesToOpenAsArray());
 				focusCurrentView();
 				contentPane.setVisible(true);
 				frame.toFront();
diff --git a/freeplane/src/main/java/org/freeplane/main/application/MapViewDockingWindows.java b/freeplane/src/main/java/org/freeplane/main/application/MapViewDockingWindows.java
index 7b4a9d7..cb407a9 100644
--- a/freeplane/src/main/java/org/freeplane/main/application/MapViewDockingWindows.java
+++ b/freeplane/src/main/java/org/freeplane/main/application/MapViewDockingWindows.java
@@ -136,7 +136,7 @@ class MapViewDockingWindows implements IMapViewChangeListener {
             public void windowClosing(DockingWindow window) throws OperationAbortedException {
 				for(Component mapViewComponent : mapViews.toArray(new Component[]{}))
 					if(SwingUtilities.isDescendingFrom(mapViewComponent, window))
-					if (!Controller.getCurrentController().getMapViewManager().close(mapViewComponent, false))
+					if (!Controller.getCurrentController().getMapViewManager().close(mapViewComponent))
 						throw new OperationAbortedException("can not close view");
             }
 
@@ -223,7 +223,8 @@ class MapViewDockingWindows implements IMapViewChangeListener {
 		contentPaneComponentProperties.setInsets(null);
 		contentPaneComponentProperties.setBorder(null);
 
-		Font tabFont = new Font("Dialog", 0, 11);
+		Font tabFont = new Font("Dialog", 0, 10);
+		tabFont = UITools.scaleFontInt(tabFont, 0.8);
 		TitledTabProperties titledTabProperties = overwrittenProperties.getTabWindowProperties().getTabProperties().getTitledTabProperties();
 		titledTabProperties.getHighlightedProperties().getComponentProperties().setFont(tabFont);
 		titledTabProperties.getNormalProperties().getComponentProperties().setFont(tabFont);
diff --git a/freeplane/src/main/java/org/freeplane/main/headlessmode/HeadlessMapViewController.java b/freeplane/src/main/java/org/freeplane/main/headlessmode/HeadlessMapViewController.java
index 365ebca..8ae2b42 100644
--- a/freeplane/src/main/java/org/freeplane/main/headlessmode/HeadlessMapViewController.java
+++ b/freeplane/src/main/java/org/freeplane/main/headlessmode/HeadlessMapViewController.java
@@ -109,14 +109,18 @@ public class HeadlessMapViewController implements IMapViewManager {
 			return null;
 	}
 
-	public boolean close(boolean withoutSave) {
-		if(currentMap == null)
-			return false;
-		maps.remove(currentKey);
-		currentKey = null;
-		currentMap = null;
+	public boolean close() {
+		closeWithoutSaving();
 		return true;
 	}
+	
+	public void closeWithoutSaving() {
+		if(currentMap != null) {
+			maps.remove(currentKey);
+			currentKey = null;
+			currentMap = null;
+		}
+	}
 
 	public String createHtmlMap() {
 		throw new RuntimeException("Method not implemented");
@@ -185,7 +189,7 @@ public class HeadlessMapViewController implements IMapViewManager {
 	public void newMapView(MapModel map, ModeController modeController) {
 		final String key = map.getURL().toString();
 		if(key.equals(currentKey))
-			close(true);
+			close();
 		maps.put(key, map);
 		changeToMapView(key);
 	}
@@ -271,7 +275,7 @@ public class HeadlessMapViewController implements IMapViewManager {
 		return true;
 	}
 
-	public boolean close(Component mapViewComponent, boolean force) {
+	public boolean close(Component mapViewComponent) {
 		throw new RuntimeException("Method not implemented");
     }
 
@@ -284,4 +288,8 @@ public class HeadlessMapViewController implements IMapViewManager {
 	public boolean isFoldedOnCurrentView(NodeModel node) {
 		return node.isFolded();
 	}
+
+	@Override
+	public void onQuitApplication() {
+	}
 }
diff --git a/freeplane/src/main/java/org/freeplane/main/mindmapmode/stylemode/EditStylesAction.java b/freeplane/src/main/java/org/freeplane/main/mindmapmode/stylemode/EditStylesAction.java
index 97b38bd..e4924f5 100644
--- a/freeplane/src/main/java/org/freeplane/main/mindmapmode/stylemode/EditStylesAction.java
+++ b/freeplane/src/main/java/org/freeplane/main/mindmapmode/stylemode/EditStylesAction.java
@@ -128,7 +128,7 @@ public class EditStylesAction extends AFreeplaneAction {
 				final IMapViewManager mapViewManager = modeController.getController().getMapViewManager();
 				final MapModel map = mapViewManager.getModel();
 				final IUndoHandler undoHandler = (IUndoHandler) map.getExtension(IUndoHandler.class);
-				mapViewManager.close(true);
+				modeController.getMapController().closeWithoutSaving(map);
 				Controller.setCurrentController(mainController);
 				super.componentHidden(e);
 				mainController.getMapViewManager().changeToMapView(currentMapView);
diff --git a/freeplane/src/main/java/org/freeplane/view/swing/features/filepreview/ImageAdder.java b/freeplane/src/main/java/org/freeplane/view/swing/features/filepreview/ImageAdder.java
new file mode 100644
index 0000000..eddccd8
--- /dev/null
+++ b/freeplane/src/main/java/org/freeplane/view/swing/features/filepreview/ImageAdder.java
@@ -0,0 +1,76 @@
+package org.freeplane.view.swing.features.filepreview;
+
+import java.awt.Graphics2D;
+import java.awt.Image;
+import java.awt.image.BufferedImage;
+import java.io.File;
+import java.io.IOException;
+import java.net.URI;
+
+import javax.imageio.ImageIO;
+
+import org.freeplane.features.link.LinkController;
+import org.freeplane.features.map.NodeModel;
+import org.freeplane.features.map.mindmapmode.MMapController;
+
+public class ImageAdder {
+    private final Image image;
+	private MMapController mapController;
+	private File mindmapFile;
+	private File imageFile;
+	public static final String IMAGE_FORMAT = "png";
+
+	public ImageAdder(Image image, final MMapController mapController, final File mindmapFile, final File imageFile) {
+		super();
+		this.image = image;
+		this.mapController = mapController;
+		this.mindmapFile = mindmapFile;
+		this.imageFile = imageFile;
+	}
+
+	public void attachImageToNode(final NodeModel node){
+		final ImageObserverCallback imageObserver = new ImageObserverCallback();
+		final int imageWidth = image.getWidth(imageObserver);
+		final int imageHeight = image.getHeight(imageObserver);
+		if(imageWidth != -1 && imageHeight != -1)
+			attachImageToNode(node, imageObserver, imageWidth, imageHeight);
+		else
+			imageObserver.onSizeAvailable(new Runnable() {
+				@Override
+				public void run() {
+					attachImageToNode(node, imageObserver, imageObserver.getImageWidth(), imageObserver.getImageHeight());
+				}
+			});
+	}
+
+	private void attachImageToNode(final NodeModel node, final ImageObserverCallback imageObserver, final int imageWidth,
+			final int imageHeight){
+		final BufferedImage fixedImg = new BufferedImage(imageWidth, imageHeight, BufferedImage.TYPE_INT_ARGB);
+		final Graphics2D fig = fixedImg.createGraphics();
+		if (fig.drawImage(image, 0, 0, imageObserver))
+			attachImageToNode(node, fixedImg, fig);
+		else {
+			imageObserver.onImageRendered(new Runnable() {
+				@Override
+				public void run() {
+					attachImageToNode(node, fixedImg, fig);
+				}
+			});
+		}
+	}
+
+	private void attachImageToNode(final NodeModel node, BufferedImage fixedImg, Graphics2D fig) {
+		fig.dispose();
+		fixedImg.flush();
+		try {
+			ImageIO.write(fixedImg, IMAGE_FORMAT, imageFile);
+			final URI uri = LinkController.toLinkTypeDependantURI(mindmapFile, imageFile);
+			final ExternalResource extension = new ExternalResource(uri);
+			mapController.getModeController().getExtension(ViewerController.class).add(node, extension);
+		}
+		catch (IOException e) {
+			e.printStackTrace();
+		}
+	}
+
+}
diff --git a/freeplane/src/main/java/org/freeplane/view/swing/features/filepreview/ImageObserverCallback.java b/freeplane/src/main/java/org/freeplane/view/swing/features/filepreview/ImageObserverCallback.java
new file mode 100644
index 0000000..7c15cd7
--- /dev/null
+++ b/freeplane/src/main/java/org/freeplane/view/swing/features/filepreview/ImageObserverCallback.java
@@ -0,0 +1,49 @@
+package org.freeplane.view.swing.features.filepreview;
+
+import java.awt.Image;
+import java.awt.image.ImageObserver;
+
+class ImageObserverCallback implements ImageObserver {
+	private Runnable onSizeAvailable = null;
+	private Runnable onImageAvailable = null;
+	private int imageWidth = -1;
+	private int imageHeight = -1;
+	
+	void onSizeAvailable (Runnable method){
+		this.onSizeAvailable = method;
+	}
+	
+	void onImageRendered (Runnable method){
+		this.onImageAvailable = method;
+	}
+	
+	int getImageWidth(){
+		return imageWidth;
+	}
+	int getImageHeight(){
+		return imageHeight;
+	}
+	@Override
+	public boolean imageUpdate(Image img, int infoflags, int x, int y, int width, int height) {
+		if(imageWidth == -1 || imageHeight == -1) {
+			if((infoflags & ImageObserver.WIDTH) != 0)
+				imageWidth = width; 
+
+			if((infoflags & ImageObserver.HEIGHT) != 0)
+				imageHeight = height; 
+			if(imageWidth != -1 && imageHeight != -1 && onSizeAvailable != null) {
+				onSizeAvailable.run();
+				onSizeAvailable = null;
+			}
+			return true;
+		}
+		if((infoflags & ImageObserver.ALLBITS) != 0){
+			if(onImageAvailable != null){
+				onImageAvailable.run();
+				onImageAvailable = null;
+			}
+			return false;
+		}
+		return true;
+	}
+}
diff --git a/freeplane/src/main/java/org/freeplane/view/swing/features/time/mindmapmode/nodelist/NodeList.java b/freeplane/src/main/java/org/freeplane/view/swing/features/time/mindmapmode/nodelist/NodeList.java
index 92fb58b..750859a 100644
--- a/freeplane/src/main/java/org/freeplane/view/swing/features/time/mindmapmode/nodelist/NodeList.java
+++ b/freeplane/src/main/java/org/freeplane/view/swing/features/time/mindmapmode/nodelist/NodeList.java
@@ -33,8 +33,11 @@ import java.awt.event.MouseEvent;
 import java.awt.event.WindowAdapter;
 import java.awt.event.WindowEvent;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Date;
 import java.util.EventListener;
+import java.util.HashMap;
+import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.regex.Matcher;
@@ -90,6 +93,7 @@ import org.freeplane.features.map.NodeMoveEvent;
 import org.freeplane.features.mode.Controller;
 import org.freeplane.features.mode.ModeController;
 import org.freeplane.features.mode.mindmapmode.MModeController;
+import org.freeplane.features.text.DetailTextModel;
 import org.freeplane.features.text.TextController;
 import org.freeplane.features.ui.IMapViewManager;
 import org.freeplane.features.url.mindmapmode.MFileManager;
@@ -137,7 +141,8 @@ public class NodeList {
 	    }
 
 		public void nodeChanged(NodeChangeEvent event) {
-			runner.runLater();
+			if(hasTableFieldValueChanged(event.getProperty()))
+				runner.runLater();
         }
 
 		public void afterMapChange(MapModel oldMap, MapModel newMap) {
@@ -874,4 +879,12 @@ public class NodeList {
 			updateModel(model, child);
 		}
 	}
+	static private HashSet<Object> changeableProperties = new HashSet<Object>(
+			Arrays.asList(NodeModel.NODE_TEXT, NodeModel.NODE_ICON, DetailTextModel.class, NodeModel.NOTE_TEXT)
+			);
+	
+	private boolean hasTableFieldValueChanged(Object property) {
+		return changeableProperties.contains(property);
+	}
+
 }
diff --git a/freeplane/src/main/java/org/freeplane/view/swing/map/MapView.java b/freeplane/src/main/java/org/freeplane/view/swing/map/MapView.java
index 6c53814..b946e39 100644
--- a/freeplane/src/main/java/org/freeplane/view/swing/map/MapView.java
+++ b/freeplane/src/main/java/org/freeplane/view/swing/map/MapView.java
@@ -81,6 +81,7 @@ import org.freeplane.features.filter.Filter;
 import org.freeplane.features.link.ConnectorModel;
 import org.freeplane.features.link.ConnectorModel.Shape;
 import org.freeplane.features.link.LinkController;
+import org.freeplane.features.link.MapLinks;
 import org.freeplane.features.link.NodeLinkModel;
 import org.freeplane.features.link.NodeLinks;
 import org.freeplane.features.map.IMapChangeListener;
@@ -180,7 +181,8 @@ public class MapView extends JPanel implements Printable, Autoscroll, IMapChange
 		}
 
 		public void keepNodePosition(final NodeModel node, final float horizontalPoint, final float verticalPoint) {
-			mapScroller.anchorToNode(getNodeView(node), horizontalPoint, verticalPoint);
+			final NodeView nodeView = getNodeView(node);
+			MapView.this.keepNodePosition(nodeView, horizontalPoint, verticalPoint);
 		}
 		
 		public void scrollNodeTreeToVisible(final NodeModel  node) {
@@ -1526,12 +1528,12 @@ public class MapView extends JPanel implements Printable, Autoscroll, IMapChange
 		arrowLinkViews = new Vector<ILinkView>();
 		final Object renderingHint = getModeController().getController().getMapViewManager().setEdgesRenderingHint(
 		    graphics);
-		paintLinks(rootView, graphics, new HashSet<ConnectorModel>());
+		if(MapLinks.hasLinks(model))
+			paintLinks(rootView, graphics, new HashSet<ConnectorModel>());
 		graphics.setRenderingHint(RenderingHints.KEY_ANTIALIASING, renderingHint);
 	}
 
-	private void paintLinks(final NodeView source, final Graphics2D graphics,
-	                        final HashSet<ConnectorModel> alreadyPaintedLinks) {
+	private void paintLinks(final NodeView source, final Graphics2D graphics, final HashSet<ConnectorModel> alreadyPaintedLinks) {
 		final LinkController linkController = LinkController.getController(getModeController());
 		final NodeModel node = source.getModel();
 		final Collection<NodeLinkModel> outLinks = linkController.getLinksFrom(node);
@@ -1546,6 +1548,8 @@ public class MapView extends JPanel implements Printable, Autoscroll, IMapChange
 			}
 			final NodeView child = (NodeView) component;
 			if (!isPrinting) {
+				if(!child.isHierarchyVisible())
+					continue;
 				final Rectangle bounds = SwingUtilities.convertRectangle(source, child.getBounds(), this);
 				final JViewport vp = (JViewport) getParent();
 				final Rectangle viewRect = vp.getViewRect();
@@ -1775,8 +1779,6 @@ public class MapView extends JPanel implements Printable, Autoscroll, IMapChange
 		final NodeModel node = newSelected.getModel();
 		if(node.isHiddenSummary())
 			throw new AssertionError("select invisible node");
-		if(node.isVisible())
-			node.getFilterInfo().reset();
 		if (ResourceController.getResourceController().getBooleanProperty("center_selected_node")) {
 			mapScroller.scrollNode(newSelected, ScrollingDirective.SCROLL_NODE_TO_CENTER, ResourceController.getResourceController().getBooleanProperty("slow_scroll_selected_node"));
 		}
@@ -2063,4 +2065,9 @@ public class MapView extends JPanel implements Printable, Autoscroll, IMapChange
 	void keepRootNodePosition() {
 		mapScroller.anchorToRoot();
 	}
+
+	public void keepNodePosition(final NodeView nodeView, final float horizontalPoint, final float verticalPoint) {
+		mapScroller.anchorToNode(nodeView, horizontalPoint, verticalPoint);
+	}
+
 }
diff --git a/freeplane/src/main/java/org/freeplane/view/swing/map/MapViewController.java b/freeplane/src/main/java/org/freeplane/view/swing/map/MapViewController.java
index 2574db7..6ef18b0 100644
--- a/freeplane/src/main/java/org/freeplane/view/swing/map/MapViewController.java
+++ b/freeplane/src/main/java/org/freeplane/view/swing/map/MapViewController.java
@@ -54,6 +54,7 @@ import org.freeplane.core.resources.ResourceController;
 import org.freeplane.core.ui.components.JComboBoxWithBorder;
 import org.freeplane.core.ui.components.UITools;
 import org.freeplane.core.util.TextUtils;
+import org.freeplane.features.map.IMapLifeCycleListener;
 import org.freeplane.features.map.IMapSelection;
 import org.freeplane.features.map.IMapSelectionListener;
 import org.freeplane.features.map.MapController;
@@ -73,7 +74,7 @@ import org.freeplane.features.ui.ViewController;
  * exchange between controller and this class is managed by observer pattern
  * (the controller observes changes to the map mapViews here).
  */
-public class MapViewController implements IMapViewManager , IMapViewChangeListener, IFreeplanePropertyListener {
+public class MapViewController implements IMapViewManager , IMapViewChangeListener, IFreeplanePropertyListener, IMapLifeCycleListener {
 	private String lastModeName;
 	/** reference to the current mapmapView; null is allowed, too. */
 	private MapView selectedMapView;
@@ -93,6 +94,7 @@ public class MapViewController implements IMapViewManager , IMapViewChangeListen
 	public MapViewController(Controller controller){
 		this.controller =controller;
 		controller.setMapViewManager(this);
+		controller.addMapLifeCycleListener(this);
 		addMapViewChangeListener(this);
 		zoomIn = new ZoomInAction(this);
 		controller.addAction(zoomIn);
@@ -249,23 +251,51 @@ public class MapViewController implements IMapViewManager , IMapViewChangeListen
 	/* (non-Javadoc)
 	 * @see org.freeplane.core.frame.IMapViewController#close(boolean)
 	 */
-	public boolean close(final boolean force) {
+	public boolean close() {
 		final MapView mapView = getMapView();
-		return close(mapView, force);
+		return close(mapView);
 	}
+	
+	@Override
+	public void closeWithoutSaving() {
+		final MapView mapView = getMapView();
+		closeWithoutSaving(mapView);
+	}
+
 
-	public boolean close(final Component mapViewComponent, final boolean force) {
+	public boolean close(final Component mapViewComponent) {
+		return close(mapViewComponent, false);
+	}
+	
+	public boolean closeWithoutSaving(final Component mapViewComponent) {
+		return close(mapViewComponent, true);
+	}
+	
+	private boolean close(final Component mapViewComponent, boolean forceCloseWithoutSaving) {
 	    if (mapViewComponent == null) {
 			return false;
 		}
 		MapView mapView = (MapView) mapViewComponent;
-		final MapController mapController = mapView.getModeController().getMapController();
-		final boolean closingNotCancelled = mapController.close(mapView.getModel(), force);
-		if (!closingNotCancelled) {
-			return false;
+		final MapModel map = mapView.getModel();
+		final int viewCount = getViews(map).size();
+		if(viewCount == 1) {
+			final MapController mapController = mapView.getModeController().getMapController();
+			if(forceCloseWithoutSaving){
+				mapController.closeWithoutSaving(map);
+				return true;
+			}
+			else
+				return mapController.close(map);
+			
 		}
+		map.removeMapChangeListener(mapView);
+		remove(mapView);
+		mapView.getRoot().remove();
+		return true;
+    }
+
+	private void remove(MapView mapView) {
 		int index = mapViewVector.indexOf(mapView);
-		mapController.removeMapChangeListener(mapView);
 		ResourceController.getResourceController().removePropertyChangeListener(mapView);
 		mapViewVector.remove(mapView);
 		if (mapViewVector.isEmpty()) {
@@ -279,9 +309,7 @@ public class MapViewController implements IMapViewManager , IMapViewChangeListen
 			changeToMapView((mapViewVector.get(index)));
 		}
 		mapViewChangeListeners.afterMapViewClose(mapView);
-		mapView.getRoot().remove();
-		return true;
-    }
+	}
 
 	public String createHtmlMap() {
 		final MapModel model = getModel();
@@ -474,7 +502,7 @@ public class MapViewController implements IMapViewManager , IMapViewChangeListen
 	public void newMapView(final MapModel map, final ModeController modeController) {
 		final MapView mapView = new MapView(map, modeController);
 		addToOrChangeInMapViews(mapView.getName(), mapView);
-		modeController.getMapController().addMapChangeListener(mapView);
+		map.addMapChangeListener(mapView);
 		ResourceController.getResourceController().addPropertyChangeListener(mapView);
 		mapViewChangeListeners.mapViewCreated(mapView);
 		changeToMapView(mapView);
@@ -775,22 +803,6 @@ public class MapViewController implements IMapViewManager , IMapViewChangeListen
 		});
 	}
 
-	public boolean closeAllMaps() {
-		while (getMapViewVector().size() > 0) {
-			if (getMapView() != null) {
-				final boolean closingNotCancelled = close(false);
-				if (!closingNotCancelled) {
-					return false;
-				}
-			}
-			else {
-				nextMapView();
-			}
-		}
-		ResourceController.getResourceController().setProperty("antialiasEdges", (antialiasEdges ? "true" : "false"));
-		ResourceController.getResourceController().setProperty("antialiasAll", (antialiasAll ? "true" : "false"));
-		return true;
-	}
 	private boolean antialiasAll = false;
 	private boolean antialiasEdges = false;
 	private JComboBox zoomBox;
@@ -883,4 +895,22 @@ public class MapViewController implements IMapViewManager , IMapViewChangeListen
 		controller.getViewController().setTitle(frameTitle);
 		modeController.getUserInputListenerFactory().updateMapList();
 	}
+
+	@Override
+	public void onCreate(MapModel map) {
+	}
+
+	@Override
+	public void onRemove(MapModel map) {
+		final List<Component> views = getViews(map);
+		for(Component view : views)
+			remove((MapView)view);
+	}
+
+	@Override
+	public void onQuitApplication() {
+		ResourceController.getResourceController().setProperty("antialiasEdges", (antialiasEdges ? "true" : "false"));
+		ResourceController.getResourceController().setProperty("antialiasAll", (antialiasAll ? "true" : "false"));
+	}
+
 }
diff --git a/freeplane/src/main/java/org/freeplane/view/swing/map/NodeView.java b/freeplane/src/main/java/org/freeplane/view/swing/map/NodeView.java
index 639e2ee..7541757 100644
--- a/freeplane/src/main/java/org/freeplane/view/swing/map/NodeView.java
+++ b/freeplane/src/main/java/org/freeplane/view/swing/map/NodeView.java
@@ -45,6 +45,7 @@ import javax.swing.SwingUtilities;
 import org.freeplane.core.resources.ResourceController;
 import org.freeplane.core.ui.IUserInputListenerFactory;
 import org.freeplane.core.ui.components.UITools;
+import org.freeplane.core.util.LogUtils;
 import org.freeplane.core.util.ObjectRule;
 import org.freeplane.features.attribute.AttributeController;
 import org.freeplane.features.attribute.NodeAttributeTableModel;
@@ -815,7 +816,10 @@ public class NodeView extends JComponent implements INodeView {
 	/**
 	 */
 	public boolean isContentVisible() {
-		return getModel().hasVisibleContent();
+		if(isValid())
+			return getContent().isVisible();
+		else
+			return getModel().hasVisibleContent();
 	}
 
 	public boolean isLeft() {
@@ -983,6 +987,15 @@ public class NodeView extends JComponent implements INodeView {
 		if(getMainView() == null)
 			return;
 		final PaintingMode paintingMode = map.getPaintingMode();
+		if(paintingMode == null){
+			LogUtils.severe("paintingMode = null");
+			LogUtils.severe("own map ="  + map);
+			final MapView ancestorMap = (MapView) SwingUtilities.getAncestorOfClass(MapView.class, this);
+			LogUtils.severe("parent component map ="  + ancestorMap);
+			if(ancestorMap != null)
+				LogUtils.severe("ancestor map paintingMode = " + ancestorMap.getPaintingMode());
+			throw new NullPointerException();
+		}
 		if (isContentVisible()) {
 			final Graphics2D g2 = (Graphics2D) g;
 			final ModeController modeController = map.getModeController();
@@ -1016,8 +1029,10 @@ public class NodeView extends JComponent implements INodeView {
 
 	@Override
     public void paint(Graphics g) {
-	    super.paint(g);
-		paintDecoration((Graphics2D) g);
+		if(isHierarchyVisible()) {
+			super.paint(g);
+			paintDecoration((Graphics2D) g);
+		}
     }
 
 	private void paintCloud(final Graphics g) {
@@ -1330,6 +1345,7 @@ public class NodeView extends JComponent implements INodeView {
 	}
 
 	public void update() {
+		invalidate();
 		updateShape();
 		updateEdge();
 		if (!isContentVisible()) {
@@ -1606,5 +1622,9 @@ public class NodeView extends JComponent implements INodeView {
 		super.setBounds(x, y, width, height);
 	}
 
+	boolean isHierarchyVisible() {
+		return getHeight() > 2 * getSpaceAround();
+	}
+
 	
 }
diff --git a/freeplane/src/main/java/org/freeplane/view/swing/map/mindmapmode/EditNodeTextField.java b/freeplane/src/main/java/org/freeplane/view/swing/map/mindmapmode/EditNodeTextField.java
index a0cd0b8..453fc4e 100644
--- a/freeplane/src/main/java/org/freeplane/view/swing/map/mindmapmode/EditNodeTextField.java
+++ b/freeplane/src/main/java/org/freeplane/view/swing/map/mindmapmode/EditNodeTextField.java
@@ -553,8 +553,10 @@ public class EditNodeTextField extends EditNodeBase {
 		mapViewManager.removeMapViewChangeListener(mapViewChangeListener);
 		mapViewChangeListener = null;
 		parent.setPreferredSize(null);
-		if(SwingUtilities.getAncestorOfClass(MapView.class, nodeView) != null)
+		if(SwingUtilities.getAncestorOfClass(MapView.class, nodeView) != null) {
 			nodeView.update();
+			keepNodePosition();
+		}
 		final Dimension textFieldSize = textfield.getSize();
 		final Point textFieldCoordinate = new Point();
 		final MapView mapView = nodeView.getMap();
@@ -680,7 +682,7 @@ public class EditNodeTextField extends EditNodeBase {
 		final StyleSheet styleSheet = document.getStyleSheet();
 		styleSheet.addRule(ruleBuilder.toString());
 		textfield.setText(text);
-		final MapView mapView = (MapView) viewController.getMapViewComponent();
+		final MapView mapView = nodeView.getMap();
 		if(! mapView.isValid())
 			mapView.validate();
 		final NodeStyleController nsc = NodeStyleController.getController(modeController);
@@ -706,7 +708,6 @@ public class EditNodeTextField extends EditNodeBase {
 		mapView.scrollNodeToVisible(nodeView);
 		assert( parent.isValid());
 		final int nodeWidth = parent.getWidth();
-		final int nodeHeight = parent.getHeight();
 		final int textFieldBorderWidth = 2;
 		textfield.setBorder(new MatteBorder(textFieldBorderWidth, textFieldBorderWidth, textFieldBorderWidth, textFieldBorderWidth, nodeView.getSelectedColor()));
 		final Dimension textFieldMinimumSize = textfield.getPreferredSize();
@@ -769,13 +770,17 @@ public class EditNodeTextField extends EditNodeBase {
 			}
 		}
 		
-		if(! layoutMapOnTextChange)
-			UITools.convertPointToAncestor(parent, location, mapView);
-		
-		textfield.setBounds(location.x, location.y, textFieldMinimumSize.width, textFieldMinimumSize.height);
+        keepNodePosition();        
 		parent.setPreferredSize(newParentSize);
 		parent.setText("");
         parent.setHorizontalAlignment(JLabel.LEFT);
+
+		if(! layoutMapOnTextChange) {
+			mapView.doLayout();
+			UITools.convertPointToAncestor(parent, location, mapView);
+		}
+		
+		textfield.setBounds(location.x, location.y, textFieldMinimumSize.width, textFieldMinimumSize.height);
 		if(layoutMapOnTextChange)
 			parent.add(textfield, 0);
 		else
@@ -795,4 +800,8 @@ public class EditNodeTextField extends EditNodeBase {
 		textfield.repaint();
 		textfield.requestFocusInWindow();
 	}
+
+	private void keepNodePosition() {
+		nodeView.getMap().keepNodePosition(nodeView, 0 , 0);
+	}
 }
diff --git a/freeplane/viewer-resources/freeplane.properties b/freeplane/viewer-resources/freeplane.properties
index 3b83bb7..cdeff2f 100644
--- a/freeplane/viewer-resources/freeplane.properties
+++ b/freeplane/viewer-resources/freeplane.properties
@@ -377,7 +377,7 @@ simplyhtml.fontItalicImage=/images/Italic16.png
 simplyhtml.fontItalicSelectedIcon=/images/Italic_on16.png
 simplyhtml.fontUnderlineImage=/images/uline.png
 simplyhtml.fontUnderlineSelectedIcon=/images/uline_on.png
-simplyhtml.format=font - formatPara fontBold fontItalic fontUnderline fontColor clearFormat - paraAlignLeft paraAlignCenter paraAlignRight - formatList toggleBullets toggleNumbers
+simplyhtml.format=font - formatPara fontBold fontItalic fontUnderline  - increaseFontSize decreaseFontSize - fontColor selectedFontColor redFontColor greenFontColor blueFontColor blackFontColor removeFontColor - paraAlignLeft paraAlignCenter paraAlignRight - formatList toggleBullets toggleNumbers - clearFormat
 simplyhtml.formatParaImage=resources/fmtPara.gif
 simplyhtml.formatTableImage=resources/fmtTab.gif
 simplyhtml.formatToolBar=fontFamily fontSize - fontBold fontItalic fontUnderline fontColor clearFormat
@@ -410,6 +410,32 @@ simplyhtml.toggleNumbersImage=resources/ol.gif
 simplyhtml.toolBar=print undo redo - cut copy paste - findReplace
 simplyhtml.undoImage=/images/undo.png
 simplyhtml.use_std_styles=false
+
+# menu accelerators
+simplyhtml.selectAllAccelerator=control A
+simplyhtml.fontBoldAccelerator=control B
+simplyhtml.copyAccelerator=control C
+simplyhtml.removeFontColorAccelerator=control D
+simplyhtml.increaseFontSizeAccelerator=control shift E
+simplyhtml.decreaseFontSizeAccelerator=control E
+simplyhtml.findReplaceAccelerator=control F
+simplyhtml.greenFontColorAccelerator=control G
+simplyhtml.setLinkByTextFieldAccelerator=control H
+simplyhtml.fontItalicAccelerator=control I
+simplyhtml.blackFontColorAccelerator=control K
+simplyhtml.blueFontColorAccelerator=control L
+simplyhtml.redFontColorAccelerator=control R
+simplyhtml.clearFormatAccelerator=control T
+simplyhtml.pasteAccelerator=control V
+simplyhtml.pasteOtherAccelerator=control shift V
+simplyhtml.fontUnderlineAccelerator=control U
+simplyhtml.fontColorAccelerator=control W
+simplyhtml.selectedFontColorAccelerator=control shift W
+simplyhtml.lastFontColorAccelerator=control W
+simplyhtml.cutAccelerator=control X
+simplyhtml.redoAccelerator=control Y
+simplyhtml.undoAccelerator=control Z
+
 single_backup_directory=true
 single_backup_directory_path={freeplaneuserdir}/.backup
 single_instance=true
@@ -484,3 +510,4 @@ filter.showAncestors=true
 filter.showDescendants=false
 locales=ar,ca,cs,da,de,el,es,et,eu,fr,gl,hr,hu,id,it,ja,ko,lt,nb,nl,nn,pl,pt_BR,pt_PT,ru,sk,sl,sr,sv,tr,uk_UA,zh_CN,zh_TW,en
 org.freeplane.plugin.bugreport.dialog.disabled=false
+lookandfeel.scaleuifonts=true
diff --git a/freeplane/viewer-resources/translations/Resources_en.properties b/freeplane/viewer-resources/translations/Resources_en.properties
index e5d6a06..a0095c9 100644
--- a/freeplane/viewer-resources/translations/Resources_en.properties
+++ b/freeplane/viewer-resources/translations/Resources_en.properties
@@ -1130,6 +1130,8 @@ OptionPanel.load_last_map=Automatically open last map
 OptionPanel.load_last_map.tooltip=<html>When Freeplane starts, it fetches the last opened map automatically if checked.</html>
 OptionPanel.load_last_maps=Load all last maps
 OptionPanel.lookandfeel=Look and Feel
+OptionPanel.lookandfeel.scaleuifonts=Scale UI Fonts
+OptionPanel.lookandfeel.scaleuifonts.tooltip=Useful for high density monitors
 OptionPanel.lookandfeel.tooltip=<html>The Look&Feel to use. 'metal','windows','motif', 'gtk' are supported, 'mac' is available only on MacOS. Default means, that the default look and feel is used. If you want to put your own L&F, please, enter the class name here and assure that the corresponding jar file(s) are loaded. If there are problems with the look and feel, then choose 'nothing' here. It works for applets.</html>
 OptionPanel.lt=Lithuanian / kalba
 OptionPanel.max_displayed_node_count=Maximum number of displayed nodes
@@ -1633,6 +1635,8 @@ simplyhtml.appendTableColLabel=Append col
 simplyhtml.appendTableRowLabel=Append row
 simplyhtml.applyCellAttrLabel=Apply to
 simplyhtml.backgroundLabel=Background:
+simplyhtml.blackFontColorLabel=Black
+simplyhtml.blueFontColorLabel=Blue
 simplyhtml.boldItalicName=bold italic
 simplyhtml.boldName=bold
 simplyhtml.borderColorLabel=Color:
@@ -1662,6 +1666,7 @@ simplyhtml.cTagNamePara=Paragraph
 simplyhtml.cTagNameUL=Unordered List
 simplyhtml.cutLabel=Cut
 simplyhtml.cutTip=cut
+simplyhtml.decreaseFontSizeLabel=Smaller
 simplyhtml.defaultDocName=Untitled
 simplyhtml.deleteTableColLabel=Delete column
 simplyhtml.deleteTableRowLabel=Delete row
@@ -1694,9 +1699,11 @@ simplyhtml.formatParaLabel=Paragraph...
 simplyhtml.formatParaTip=Change paragraph format
 simplyhtml.formatTableLabel=Table...
 simplyhtml.formatTableTip=Format table
+simplyhtml.greenFontColorLabel=Green
 simplyhtml.helpLabel=Help
 simplyhtml.htmlTabTitle=HTML Code view
 simplyhtml.imageFileDesc=Image files
+simplyhtml.increaseFontSizeLabel=Bigger
 simplyhtml.insertTableColLabel=Insert column
 simplyhtml.insertTableLabel=Table...
 simplyhtml.insertTableMsg=How many columns?
@@ -1748,8 +1755,10 @@ simplyhtml.previewLabel=Preview
 simplyhtml.previewText=Preview text
 simplyhtml.prevTableCellLabel=Previous cell
 simplyhtml.printLabel=Print...
+simplyhtml.redFontColorLabel=Red
 simplyhtml.redoLabel=Redo
 simplyhtml.redoTip=redo
+simplyhtml.removeFontColorLabel=Remove color
 simplyhtml.replace=Replace...
 simplyhtml.replaceAll=All
 simplyhtml.replaceDone=Done
@@ -1765,6 +1774,7 @@ simplyhtml.searchFromStart.tooltip=Start searching at the top instead of at the
 simplyhtml.searchUp=Search up
 simplyhtml.searchUp.tooltip=Search from bottom to top.
 simplyhtml.selectAllLabel=Select all
+simplyhtml.selectedFontColorLabel=Selected Font Color
 simplyhtml.sizeLabel=Size
 simplyhtml.standardStyleName=standard
 simplyhtml.strikeLabel=Strikethrough
diff --git a/freeplane/viewer-resources/version.properties b/freeplane/viewer-resources/version.properties
index aaacbcf..269e99a 100644
--- a/freeplane/viewer-resources/version.properties
+++ b/freeplane/viewer-resources/version.properties
@@ -1,2 +1,2 @@
-freeplane_version=1.5.11
+freeplane_version=1.5.13
 freeplane_version_status=
diff --git a/freeplane_framework/mac-appbundler/mac_info_plist.xslt b/freeplane_framework/mac-appbundler/mac_info_plist.xslt
index 765f4e5..5daa917 100644
--- a/freeplane_framework/mac-appbundler/mac_info_plist.xslt
+++ b/freeplane_framework/mac-appbundler/mac_info_plist.xslt
@@ -44,10 +44,6 @@
   </xsl:copy>
 </xsl:template>
 
-<xsl:template match="string[text()='JavaAppLauncher']">
-	<string>universalJavaApplicationStub.sh</string>
-</xsl:template>
-
 <xsl:template match="/ | node() | @* | comment() | processing-instruction()">
   <xsl:copy>
     <xsl:apply-templates select="@* | node()"/>
diff --git a/freeplane_framework/windows-installer/Freeplane_without_Java.iss b/freeplane_framework/windows-installer/Freeplane_without_Java.iss
index e55471e..5ae1a03 100644
--- a/freeplane_framework/windows-installer/Freeplane_without_Java.iss
+++ b/freeplane_framework/windows-installer/Freeplane_without_Java.iss
@@ -11,7 +11,7 @@
 ; Predrag Cuklin 18/06/2009 - Universial Version
 ;****************************************************************************
 
-#define MyVersion "1.5.11"
+#define MyVersion "1.5.13"
 #define MyStatus ""
 #define MyAppName "Freeplane"
 #define MyAppPublisher "Open source"
diff --git a/freeplane_framework/windows-portable/App/AppInfo/appinfo.ini b/freeplane_framework/windows-portable/App/AppInfo/appinfo.ini
index ea88435..7e81cbe 100644
--- a/freeplane_framework/windows-portable/App/AppInfo/appinfo.ini
+++ b/freeplane_framework/windows-portable/App/AppInfo/appinfo.ini
@@ -21,8 +21,8 @@ CommercialUse=true
 EULAVersion=1
 
 [Version]
-PackageVersion=1.5.11.1
-DisplayVersion=1.5.11
+PackageVersion=1.5.13.1
+DisplayVersion=1.5.13
 
 [SpecialPaths]
 Plugins=NONE
diff --git a/freeplane_plugin_script/src/main/java/org/freeplane/plugin/script/GroovyScript.java b/freeplane_plugin_script/src/main/java/org/freeplane/plugin/script/GroovyScript.java
index 289153f..8defc07 100644
--- a/freeplane_plugin_script/src/main/java/org/freeplane/plugin/script/GroovyScript.java
+++ b/freeplane_plugin_script/src/main/java/org/freeplane/plugin/script/GroovyScript.java
@@ -21,6 +21,10 @@ package org.freeplane.plugin.script;
 
 import java.io.File;
 import java.io.PrintStream;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
+import java.security.PrivilegedActionException;
+import java.security.PrivilegedExceptionAction;
 import java.util.regex.Matcher;
 
 import org.codehaus.groovy.ast.ASTNode;
@@ -126,7 +130,7 @@ public class GroovyScript implements IScript {
             }
             final PrintStream oldOut = System.out;
             try {
-                compileAndCache();
+                trustedCompileAndCache();
                 final Binding binding = createBinding(node);
                 compiledScript.setBinding(binding);
                 System.setOut(outStream);
@@ -154,6 +158,25 @@ public class GroovyScript implements IScript {
                 .getScriptingSecurityManager();
     }
 
+    private void trustedCompileAndCache() throws Throwable {
+    	AccessController.doPrivileged(new PrivilegedExceptionAction<Void>() {
+
+			@Override
+			public Void run() throws PrivilegedActionException {
+				try {
+					compileAndCache();
+				} catch (Exception e) {
+					throw new PrivilegedActionException(e);
+				} catch (Error e) {
+					throw e;
+				} catch (Throwable e) {
+					throw new RuntimeException(e);
+				}
+				return null;
+			}
+		});
+	}
+
     private Script compileAndCache() throws Throwable {
 		final ScriptingSecurityManager scriptingSecurityManager = createScriptingSecurityManager();
         if (compileTimeStrategy.canUseOldCompiledScript()) {
diff --git a/freeplane_plugin_script/src/main/java/org/freeplane/plugin/script/proxy/MapProxy.java b/freeplane_plugin_script/src/main/java/org/freeplane/plugin/script/proxy/MapProxy.java
index 13e4175..1c5f8b0 100644
--- a/freeplane_plugin_script/src/main/java/org/freeplane/plugin/script/proxy/MapProxy.java
+++ b/freeplane_plugin_script/src/main/java/org/freeplane/plugin/script/proxy/MapProxy.java
@@ -89,7 +89,12 @@ public class MapProxy extends AbstractProxy<MapModel> implements Map {
 			throw new RuntimeException("will not close an unsaved map without being told so");
 		final IMapViewManager mapViewManager = getMapViewManager();
 		changeToThisMap(mapViewManager);
-		return mapViewManager.close(force);
+		if(force) {
+			mapViewManager.closeWithoutSaving();
+			return true;
+		}
+		else
+			return mapViewManager.close();
 	}
 
 	private void changeToThisMap(final IMapViewManager mapViewManager) {
diff --git a/freeplane_plugin_script/src/main/java/org/freeplane/plugin/script/proxy/Proxy.java b/freeplane_plugin_script/src/main/java/org/freeplane/plugin/script/proxy/Proxy.java
index 74b9b3e..95804a4 100644
--- a/freeplane_plugin_script/src/main/java/org/freeplane/plugin/script/proxy/Proxy.java
+++ b/freeplane_plugin_script/src/main/java/org/freeplane/plugin/script/proxy/Proxy.java
@@ -1,7 +1,5 @@
 package org.freeplane.plugin.script.proxy;
 
-import groovy.lang.Closure;
-
 import java.awt.Color;
 import java.io.File;
 import java.net.URI;
@@ -27,7 +25,8 @@ import org.freeplane.features.format.IFormattedObject;
 import org.freeplane.features.link.ArrowType;
 import org.freeplane.features.styles.IStyle;
 import org.freeplane.plugin.script.ExecuteScriptException;
-import org.freeplane.plugin.script.proxy.Proxy.Map;
+
+import groovy.lang.Closure;
 
 /**
  * This interface alone defines the api for accessing the internal state of the Freeplane. All read-write methods
@@ -295,6 +294,7 @@ public interface Proxy {
 
 		String getMiddleLabel();
 
+		/* The node without the arrow. On connectors with arrows at both ends one of the ends. */
 		Node getSource();
 
 		String getSourceLabel();
@@ -305,6 +305,7 @@ public interface Proxy {
 		/** @deprecated since 1.2 - use {@link #hasStartArrow()} instead */
 		ArrowType getStartArrow();
 		
+		/* The node with the arrow. On connectors with arrows at both ends one of the ends. */
 		Node getTarget();
 
 		String getTargetLabel();
@@ -734,7 +735,7 @@ public interface Proxy {
 		URI getUri();
 
 		/** returns the link as File if defined and if the link target is a valid File URI and null otherwise.
-		 * @see File#File(URI).
+		 * @see File#File(URI)
 		 * @since 1.2 */
 		File getFile();
 
@@ -746,7 +747,19 @@ public interface Proxy {
 		String get();
 	}
 
-	/** Node's link: <code>node.link</code> - read-write. */
+	/** Node's link: <code>node.link</code> - read-write.
+	 * To set links use the attributes of the {@link Link} and {@link LinkRO} object:
+	 * <pre>
+	 * // a normal href 
+	 * node.link.text = 'http://www.google.com'
+	 * // create a node to the parent node
+	 * node.link.node = node.parent
+	 * // if you have a URI object
+	 * node.link.uri = new URI('http://www.google.com')
+	 * // file
+	 * node.link.file = map.file
+	 * </pre>
+	 */
 	interface Link extends LinkRO {
 		/** target is a stringified URI. Removes any link if uri is null.
 		 * To get a local link (i.e. to another node) target should be: "#" + nodeId or better use setNode(Node).
@@ -925,9 +938,9 @@ public interface Proxy {
 		 */
 		Convertible getAt(String attributeName);
 
-        /**
-         *  @since 1.2
-         */
+		/** a reference to an accessor object for cloud properties of this node. This property is never null.
+		 * @since 1.2
+		 */
 		Cloud getCloud();
 
         /** returns the index (0..) of this node in the (by Y coordinate sorted)
@@ -963,8 +976,10 @@ public interface Proxy {
 
 		ExternalObject getExternalObject();
 
+		/** a reference to an accessor object for icons of this node. This property is never null. */
 		Icons getIcons();
 
+		/** a reference to an accessor object for link properties of this node. This property is never null. */
 		Link getLink();
 
 		/** use it to create and inspect {@link Reminder}s. This property is never null. */
@@ -1380,7 +1395,7 @@ public interface Proxy {
 		 * assert node.object.class.simpleName == "Long"
 		 * </pre>
 		 * @see #setObject(Object)
-		 * @since 1.2, semantics changed for Strings with 1.2.17, see Mantis #1787 */
+		 * @since 1.2, semantics changed for Strings with 1.2.17 */
 		void setText(Object value);
 		
 		/**
diff --git a/freeplane_plugin_script/src/overview.html b/freeplane_plugin_script/src/overview.html
index 81cfeec..08e397a 100644
--- a/freeplane_plugin_script/src/overview.html
+++ b/freeplane_plugin_script/src/overview.html
@@ -1,7 +1,7 @@
 <html>
 <body>
 <p>The Freeplane scripting API is an object oriented layer over the Freeplane internals.</p>
-<p>It is meant to be upwards compatible and it grows with new Freeplane features. If you miss a special Freeplane feature in the API please create a change request in <a href="http://sourceforge.net/apps/mantisbt/freeplane/">Mantis</a>.</p>
+<p>It is meant to be upwards compatible and it grows with new Freeplane features. If you miss a special Freeplane feature in the API please create a change request in our <a href="https://sourceforge.net/p/freeplane/featurerequests/">bug tracker</a>.</p>
 
 <h2>The <a href="org/freeplane/plugin/script/proxy/Proxy.html">Proxy</a> interface</h2>
 <p>The interface is completely defined by the <a href="org/freeplane/plugin/script/proxy/Proxy.html">Proxy</a> interface with its numerous subinterfaces.</p>
diff --git a/gitinfo.properties b/gitinfo.properties
index 4ba5ebe..e338d5c 100644
--- a/gitinfo.properties
+++ b/gitinfo.properties
@@ -1 +1 @@
-git-revision=7da78d3fc69920ca4f32ba8b13703d9841b64ffa Weblate 2016-07-09 19:53:53 +0200
\ No newline at end of file
+git-revision=847a30f89b307e44f928409b7309f3e2e9638742 Dimitry Polivaev 2016-07-23 20:36:31 +0200
\ No newline at end of file
diff --git a/gitinfo.txt b/gitinfo.txt
index 4ba5ebe..e338d5c 100644
--- a/gitinfo.txt
+++ b/gitinfo.txt
@@ -1 +1 @@
-git-revision=7da78d3fc69920ca4f32ba8b13703d9841b64ffa Weblate 2016-07-09 19:53:53 +0200
\ No newline at end of file
+git-revision=847a30f89b307e44f928409b7309f3e2e9638742 Dimitry Polivaev 2016-07-23 20:36:31 +0200
\ No newline at end of file
diff --git a/mac.dist.gradle b/mac.dist.gradle
index aff29cb..03981aa 100644
--- a/mac.dist.gradle
+++ b/mac.dist.gradle
@@ -43,17 +43,6 @@ task macosxapp {
                                  java.nio.file.Paths.get(dist_macos_info),
                    java.nio.file.StandardCopyOption.REPLACE_EXISTING)
 
-        def maclauncherfullpath = macappfullpath.path + '/Contents/MacOS'
-        delete maclauncherfullpath + '/JavaAppLauncher'
-        copy {
-            from('freeplane_framework/mac-appbundler'){
-                include('universalJavaApplicationStub.sh')
-                fileMode = 0755
-            }
-            into (maclauncherfullpath)
-			filter(FixCrLfFilter.class, eol:FixCrLfFilter.CrLf.newInstance("lf"))
-        }
-
         def macjavafullpath = macappfullpath.path + '/Contents/Java'
         copy {
             from(globalBuild) {
@@ -91,10 +80,10 @@ task zip4mac(type: Zip) {
     archiveName = 'freeplane_macos_bin-' + distVersion + '.zip'
 
     from(build4mac) {
-        exclude('**/universalJavaApplicationStub.sh')
+        exclude('**/JavaAppLauncher')
     }
     from(build4mac) {
-        include('**/universalJavaApplicationStub.sh')
+        include('**/JavaAppLauncher')
         fileMode = 0775
     }
 

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/freeplane.git



More information about the pkg-java-commits mailing list