[freeplane] 01/06: Imported Upstream version 1.5.14

Felix Natter fnatter-guest at moszumanska.debian.org
Sun Aug 14 12:51:46 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 5ab56a39f25c98a77c146281905ef22631c1436f
Author: Felix Natter <fnatter at gmx.net>
Date:   Sun Aug 14 14:07:18 2016 +0200

    Imported Upstream version 1.5.14
---
 freeplane/doc/history_en.txt                       |   9 ++
 .../resources/default_accelerators.properties      |  10 ++
 .../resources/default_accelerators_mac.properties  |   5 +
 freeplane/resources/freeplane_mac.properties       |   4 -
 .../resources/translations/Resources_da.properties |  10 +-
 .../resources/translations/Resources_eu.properties | 101 ++++++++++++++++
 .../resources/translations/Resources_nl.properties |  43 ++++++-
 .../core/ui/ActionAcceleratorManager.java          |  19 ++-
 .../java/org/freeplane/core/util/Quantity.java     |   5 +
 .../export/mindmapmode/XsltExportEngine.java       |  30 +++++
 .../features/help/DocumentationAction.java         |   3 +-
 .../mindmapmode/MLocationController.java           |   1 +
 .../features/nodestyle/NodeSizeModel.java          |   2 -
 .../mindmapmode/MNodeStyleController.java          |   2 +
 .../ImportLinkedBranchWithoutRootAction.java       |   1 +
 .../application/ApplicationResourceController.java |   4 -
 .../main/application/CommandLineParser.java        |  15 ++-
 .../mindmapmode/stylemode/ExtensionInstaller.java  |   7 ++
 .../mindmapmode/stylemode/SModeController.java     |   2 +-
 .../stylemode/SModeControllerFactory.java          |   9 +-
 .../org/freeplane/main/osgi/ActivatorImpl.java     |  97 ++++++++++------
 .../org/freeplane/view/swing/map/MainView.java     |   4 +-
 .../swing/ui/mindmapmode/MNodeMotionListener.java  |   4 +-
 .../org/freeplane/core/util/QuantityShould.java    |  12 ++
 freeplane/viewer-resources/freeplane.properties    |  10 --
 freeplane/viewer-resources/version.properties      |   2 +-
 .../windows-installer/Freeplane_without_Java.iss   |   2 +-
 .../windows-portable/App/AppInfo/appinfo.ini       |   4 +-
 .../plugin/bugreport/ReportGenerator.java          | 128 ++++++++++-----------
 .../java/org/freeplane/plugin/latex/Activator.java |  32 +++---
 .../freeplane/plugin/latex/LatexRegistration.java  |  50 --------
 .../org/freeplane/plugin/script/proxy/Proxy.java   |   4 +-
 gitinfo.properties                                 |   2 +-
 gitinfo.txt                                        |   2 +-
 34 files changed, 421 insertions(+), 214 deletions(-)

diff --git a/freeplane/doc/history_en.txt b/freeplane/doc/history_en.txt
index ff828e0..a3c65f7 100644
--- a/freeplane/doc/history_en.txt
+++ b/freeplane/doc/history_en.txt
@@ -1,4 +1,13 @@
 ===============================
+1.5.14
+===============================
+Fix latex export and support latex in style editor
+Fix default hot keys for NewSummaryAction and NewParentAction on mac
+Check for non negative quantity values for minimalDistanceBetweenChildren, minWidth and maxWidth
+Improve bug report generator
+Command line interface improvements
+
+===============================
 1.5.13
 ===============================
 Support High Density Monitors by scaling UI elements
diff --git a/freeplane/resources/default_accelerators.properties b/freeplane/resources/default_accelerators.properties
new file mode 100644
index 0000000..3bef801
--- /dev/null
+++ b/freeplane/resources/default_accelerators.properties
@@ -0,0 +1,10 @@
+acceleratorFor.Browse/ModesMenuAction.Browse=alt 2
+acceleratorFor.Browse/ModesMenuAction.MindMap=alt 1
+acceleratorFor.File/ModesMenuAction.File=alt 3
+acceleratorFor.File/ModesMenuAction.MindMap=alt 1
+acceleratorFor.File/main_menu_modes/ModesMenuAction.Browse=alt 2
+acceleratorFor.MindMap/ModesMenuAction.Browse=alt 2
+acceleratorFor.MindMap/ModesMenuAction.File=alt 3
+acceleratorFor.MindMap/ModesMenuAction.MindMap=alt 1
+acceleratorFor.MindMap/OpenLastOpenedAction_1=control 1
+acceleratorForBrowse/ModesMenuAction.File=alt 3
diff --git a/freeplane/resources/default_accelerators_mac.properties b/freeplane/resources/default_accelerators_mac.properties
new file mode 100644
index 0000000..4ab76da
--- /dev/null
+++ b/freeplane/resources/default_accelerators_mac.properties
@@ -0,0 +1,5 @@
+acceleratorFor.MindMap/NewChildAction=TAB
+acceleratorFor.MindMap/NewParentNode=shift TAB
+acceleratorFor.MindMap/NewSummaryAction=alt shift TAB
+acceleratorFor.MindMap/SelectNoteAction=meta PERIOD
+acceleratorFor.MindMap/OpenLastOpenedAction_1=meta 1
diff --git a/freeplane/resources/freeplane_mac.properties b/freeplane/resources/freeplane_mac.properties
deleted file mode 100644
index 264e4dc..0000000
--- a/freeplane/resources/freeplane_mac.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-acceleratorForMindMap/$NewChildAction$0=TAB
-acceleratorForMindMap/$SelectNoteAction$0=meta PERIOD
-acceleratorForMindMap/main_menu_most_recent_files/OpenLastOpenedAction_1=meta 1
-
diff --git a/freeplane/resources/translations/Resources_da.properties b/freeplane/resources/translations/Resources_da.properties
index 5f6baa2..3473ce5 100644
--- a/freeplane/resources/translations/Resources_da.properties
+++ b/freeplane/resources/translations/Resources_da.properties
@@ -35,7 +35,7 @@ actual_node_styles=Knudepunkt betingede formater anvendes p\u00E5 knudepunkt
 add=Tilf\u00F8j
 AddConnectorAction.text=Tilsluttet
 AddElementaryConditionAction.text=Tilf\u00F8j
-AddExecutionLinkAction.text=Tilf\u00F8j hyperlink til udf\u00F8relse af en OS kommando...
+AddExecutionLinkAction.text=Tilf\u00F8j lnik til udf\u00F8relse af OS kommando...
 AddLocalLinkAction.text=Tilf\u00F8j lokalt Hyperlink
 AddMenuItemLinkAction.text=Tilf\u00F8j link til menupunkt\u2026
 AddOnDetailsPanel.authored.by=Af {0}
@@ -465,7 +465,7 @@ filterConditions.noActions=Ingen navngivne filtre
 filters_not_loaded=Filteret kunne ikke indl\u00E6ses, fil beskadiget
 find=S\u00F8g
 find_what=Find hvad
-FindAction.text=S\u00F8g\u2026
+FindAction.text=&S\u00F8g...
 FindNextAction.text=Find n\u00E6ste
 FindPreviousAction.text=Find forrige
 fit_background_to_page=Tilpas baggrundsbillede til \u00E9n side
@@ -783,7 +783,7 @@ map_locked_by_open=MindMap {0} er allerede ved at blive redigeret af brugeren {1
 map_locked_by_save_as=MindMap {0} redigeres af brugeren {1}. Gem som handling afbrudt.
 map_not_saved=MindMap er ikke gemt endnu.
 MapBackgroundClearAction.text=Ryd
-MapBackgroundColorAction.text=MindMap baggrundsfarve
+MapBackgroundColorAction.text=Baggrundsfarve
 MapBackgroundImageAction.text=Baggrundsbillede\u2026
 maps=Mindmaps
 MaxNodeWidth.text=Angiv maksimal knudepunktsbredde
@@ -1576,7 +1576,7 @@ saving_canceled=Gem afbrudt
 scanners_not_loaded=Scannere kunne ikke indl\u00E6ses, fil beskadiget
 scheme_evaluate=Evaluer!
 script_execution_disabled=Skriptudf\u00F8relse er deaktiveret, se v\u00E6rkt\u00F8jer/indstillinger/udvidelser
-ScriptEditor.text=Script Editor...
+ScriptEditor.text=Rediger script...
 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
@@ -1910,7 +1910,7 @@ update_failed=Opdateringen mislykkedes med meddelelsen {0}
 UpdateCheckAction.text=Check for opdateringer
 updatecheckdialog=Opdater check dialog
 updater.component=Komponent
-updater.goToDownload=Hentning
+updater.goToDownload=G\u00E5 til downloads
 updater.version.installed=Installeret version
 updater.version.latest=Nyeste version
 updater.version.noUpdateUrl=Ingen opdaterings URL eller hjemmeside for denne tilf\u00F8jelse.
diff --git a/freeplane/resources/translations/Resources_eu.properties b/freeplane/resources/translations/Resources_eu.properties
index 6fecd01..a40a6b0 100644
--- a/freeplane/resources/translations/Resources_eu.properties
+++ b/freeplane/resources/translations/Resources_eu.properties
@@ -898,3 +898,104 @@ node_styles=Adabegi estiloak
 NodeBackgroundColorAction.text=Adabegiaren atzealde kolorea...
 NodeColorAction.text=Adabegi kolorea
 NodeColorBlendAction.text=Nahasketa kolorea
+NodeDownAction.text=Adabegia mugitu (Senidea behera)
+NodeExtensions.EditNodeExtensions=Adabegiaren hedadurak editatu
+NodeExtensions.RemoveNodeExtensions=Adabegiaren hedadurak ezabatu
+NodeListAction.text=Aurkitu eta ordezkatu...
+NodeListAction.tooltip=Adabegi guztiak berezitasun filtrodun zerrenda aurkigarri baten moduan erakusten ditu
+NodeShapeAction.bubble.text=Puxika
+NodeShapeAction.fork.text=Sardexka
+NodeShapeAction.narrow_hexagon.text=Hexagono mehea
+NodeShapeAction.oval.text=Obaloa
+NodeShapeAction.rectangle.text=Laukizuzena
+NodeShapeAction.wide_hexagon.text=Hexagono zabala
+NodeUpAction.text=Adabegia mugitu (Senidea gora)
+nonboldify_branch=Hizkiak era larritik arruntera pasa
+nonitalicise_branch=Hizkiak italika eratik arruntera eraman
+normal=Arrunta
+not_saved_for_image_error=Fitxategi aukeratzailearen bitartez irudi bat ezarri aurretik mapa gorde beharra dago
+not_saved_for_link_error=Esteka bat fitxategi aukeratzailearen bitartez ezarri aurretik mapa gorde beharra dago
+note_window_location=Ohar panelaren kokapena
+notes=Oharra
+NotificationOptions.CLOSE=Itxi
+NotificationOptions.REMIND_ME_LATER=Beranduago gogorarazi
+NotificationOptions.REMOVE_REMINDER=Oroitzailea ezabatu
+NotificationOptions.SELECT_NODE=Oroitzailera joan
+ok=&OK
+OKAction.text=OK
+OnlineReference.text=Dokumentazio Mapak Online
+open_asMindMap=Adimen Mapa
+OpenAction.text=Gordetako mapa ireki...
+OpenFreeplaneSiteAction.text=Freeplane-ren jatorrizko web orria
+OpenMapsAddLocation.text=OpenMaps-en kokapena gehitu...
+OpenMapsRemoveLocation.text=OpenMaps-en kokapena ezabatu...
+OpenMapsViewLocation.text=OpenMaps-en kokapena ikusi
+OpenPathAction.text=Fitxategia Ireki
+OpenURLMapAction.text=Mapa URL-tik ireki
+OpenUserDirAction.text=Erabiltzailearen direktorioa ireki
+option_changes_may_require_restart=Egindako aldaketen eragina ikusteko, Freeplane berrabiarazi beharko zenuke seguruenik.
+OptionalDontShowMeAgainDialog.cancel=&Ez
+OptionalDontShowMeAgainDialog.dontShowAgain=&Ez niri berriz galdetu
+OptionalDontShowMeAgainDialog.ok=&Bai
+OptionalDontShowMeAgainDialog.rememberMyDescision=&Nire erabakia gogoan izan
+OptionPanel.absolute=Absolutua
+OptionPanel.accessories/plugins/AutomaticLayout.properties_PatternTabName=Maila estilo txantilloiak
+OptionPanel.ADD_CHILD=Haur nodoa gehitu
+OptionPanel.ADD_SIBLING=Senide nodoa gehitu
+OptionPanel.addons=Add-on edo gehigarriak
+OptionPanel.always_fold_all_after_load=Guztiak bildu
+OptionPanel.always_load_last_maps=Azken mapa eta berriak direnak kargatu
+OptionPanel.always_load_last_maps.tooltip=Goiko aukeretan ezarritako azken mapak kargata, baita FP aukeratutako mapa fitxategi batekin hasiz ere.
+OptionPanel.always_save_folding=Beti
+OptionPanel.always_save_folding_state=Biltze egoera aldaketak beti gorde
+OptionPanel.always_save_folding_state.tooltip=Aukeratuta egonez gero, biltze ekintza bakoitzak mapa zikintzen du eta gordetzeko gogorarazten dizu.
+OptionPanel.always_show_less_than_N_nodes_after_load=Adabegi batzuk zabaldu
+OptionPanel.always_unfold_all_after_load=Guztiak zabaldu
+OptionPanel.antialias=Antialias
+OptionPanel.antialias.tooltip=<html>Maparen kalitatea erabakitzen du. Antialias gehiagok denbora gehiago behar du.</html>
+OptionPanel.antialias_all=Guztiei antialias-a ezarri
+OptionPanel.antialias_edges=Loturei antialias.-a ezarri
+OptionPanel.antialias_none=Antialiasik ez
+OptionPanel.Appearance=Tankera
+OptionPanel.apply_system_screen_resolution=Dekektuz sistemaren pantaila doitasuna ezarri
+OptionPanel.approximate_search_threshold=Antzeko parekatzerako ataria (threshold)
+OptionPanel.approximate_search_threshold.tooltip=<html>Antzeko parekatzerako ataria (threshold)g<br/><font size="2">ikus http://freeplane.sf.net/wiki/index.php/Approximate_search</font><br/>(zenbat eta altuago orduan eta aldaketa gutxiago<br/>aurkituko dira egindako bilaketaren inguruan)</html>
+OptionPanel.ar=Arabiera / \u0627\u0644\u0639\u0631\u0628\u064A\u0629
+OptionPanel.ARC=Arkua
+OptionPanel.as_parent=Guraso eran
+OptionPanel.ask=Galdetu
+OptionPanel.automatic=Automatiko
+OptionPanel.automaticFormat_level=Maila estiloak aplikatu
+OptionPanel.automaticFormat_level1=Erro adabegiaren formatua
+OptionPanel.automaticFormat_level2=1.go mailako adabegiaren formatua.
+OptionPanel.backup_file_number=Gordetako backup fitxategien kopurua
+OptionPanel.Behaviour=Jokaera
+OptionPanel.bezier=Emeki kurbatuta (bezier)
+OptionPanel.bubble=Puxika
+OptionPanel.ca=Katalan, vaelntziera/Catal\u00E1
+OptionPanel.Cancel=Ezeztatu
+OptionPanel.center_selected_node=Aukeratutako adabegia automatikoki erdian jarri
+OptionPanel.check_updates_automatically=Programa hastean eguneratzerik dagoen begiratu.
+OptionPanel.childpattern=Haur txantilloia
+OptionPanel.childpattern.tooltip=Aukeratutako txantilloia haur guztiei ezartzen zaie
+OptionPanel.clear_all_setters=Guztial aldatu
+OptionPanel.clear_all_setters.tooltip=Aldaketa adierazle guztiak piztu edo itzaltzen ditu
+OptionPanel.cloud=Hodeia
+OptionPanel.cloudcolor=Hodei kolorea
+OptionPanel.cloudshape=Hodeiaren forma
+OptionPanel.combined=Konbinatuta
+OptionPanel.compare_as_number=Zenbaki bezela alderatzen ditu
+OptionPanel.convert_to_current_version=<html>Freeplane-ren bertsio zaharragoak oraingo bertsiora <br>automatikoki eguneratu?</html>
+OptionPanel.convert_to_current_version.tooltip=<html>Bakarrik aldatuak izan behar ez duten mapa oso haundientzat <br>(adituentzat soilik) mapak aldaketarik gabe ireki zenitzake.</html>
+OptionPanel.copyFormatToNewSibling=Formatua beste senideei kopiatu
+OptionPanel.copyFormatToNewSiblingIncludesIcons=Formatua ikono eta guzti kopiatu
+OptionPanel.cs=Txekieraz/\u010Desky
+OptionPanel.cut_nodes_without_question=Adabegiak baieztapenik gabe moztu?
+OptionPanel.cut_nodes_without_question.tooltip=Kutxatxo hau aukeratuta egonez gero adabegi guztiak baieztapenik gabe moztuko dira. Honek nahi gabeko informazio galera eragin lezake.
+OptionPanel.da=Daniera/danks
+OptionPanel.date_format=Data format estandarra
+OptionPanel.date_format.tooltip=SHORT (motz), MEDIUM (ertain), LONG (luze) edo FULL (oso), edota "HH/ee/uuuu" (Hilabete, egun, urte) erako txantilloia
+OptionPanel.datetime_format=Data-ordu formatu estandarra
+OptionPanel.datetime_format.tooltip=Baldin eta <datestyle>,<timestyle> (SHORT (motz), MEDIUM (ertain), LONG (luze) edo FULL (oso) estilo eran) edota "HH/ee/uuuu oo:mm" (Hilabete, egun, urte, ordu:minutu)erako txantilloi osoa
+OptionPanel.de=Aleman/Deutsch
+OptionPanel.default=Defektuz
diff --git a/freeplane/resources/translations/Resources_nl.properties b/freeplane/resources/translations/Resources_nl.properties
index 69d3868..75b04c5 100644
--- a/freeplane/resources/translations/Resources_nl.properties
+++ b/freeplane/resources/translations/Resources_nl.properties
@@ -1,13 +1,13 @@
-about_text=Freeplane - vrije software voor het maken van mindmaps
+about_text=Freeplane - vrije software voor het maken van mindmaps en kennisbeheer
 AboutAction.text=Over Freeplane
 acceleratorPresets=Sneltoetsenset
 accelerators_loading_error=Kan de sneltoetsen niet laden uit {0}
 accessories/plugins/ApplyFormatPlugin.dialog.title=Wijzig de opmaak van knopen
-accessories/plugins/AutomaticLayout.properties_StyleDialogTitle=Wijzig opmaakrofiel
+accessories/plugins/AutomaticLayout.properties_StyleDialogTitle=Wijzig opmaakprofiel
 accessories/plugins/EncryptNode.properties_0=Kies wachtwoord om knoop te beveiligen
 accessories/plugins/EncryptNode.properties_1=De wachtwoorden verschillen of zijn te kort.
 accessories/plugins/EncryptNode.properties_2=Geef een wachtwoord:
-accessories/plugins/EncryptNode.properties_3=Geef het nog eens:
+accessories/plugins/EncryptNode.properties_3=Geef het wachtwoord nog eens:
 accessories/plugins/EncryptNode.properties_4=Geef je wachtwoord.
 accessories/plugins/EncryptNode.properties_5=<html> Let op: de sterkte van de beveiliging<br> hangt af van de kwaliteit (voorspelbaarheid) van je wachtwoord.
 accessories/plugins/EncryptNode.properties_6=OK
@@ -689,6 +689,7 @@ ImportFolderStructureAction.text=Importeren mappenstructuur...
 ImportLinkedBranchAction.text=Gekoppelde tak importeren
 ImportLinkedBranchWithoutRootAction.text=Importeren gekoppelde tak zonder stamknoop...
 ImportMindmanagerFiles.text=Importeren MindManager X5 Map...
+ImportXmlFile.text=Importeer xml-bestand
 increase_branch_font_size=Lettertype vergroten
 IncreaseNodeFontAction.text=Lettertype vergroten
 internal_error_tooltip=Interne fout. Raadpleeg laatste log bestand in {0} voor meer informatie.
@@ -700,6 +701,9 @@ invalid_url_msg=Kon geen geldige URL maken voor (0)
 ItalicAction.text=Schuin
 italicise_branch=Schuin
 java_version=Java versie: {0}
+JoinNodesAction.separator.format=Knopen met "{0}" samenvoegen
+lastOpenedMaps=Meest recente maps
+lastOpenedMaps.noActions=Geen maps in geschiedenis
 latex_editor=Bewerken LaTeX formule
 LatexDeleteLatexAction.text=Verwijderen formule (LaTex)
 LatexEditLatexAction.text=Bewerken formule (LaTeX)...
@@ -707,6 +711,11 @@ LatexInsertLatexAction.msg1=<html>Je probeert een <i>legacy</i>LaTeX formule in
 LatexInsertLatexAction.msg2=<html>In het kort: <ul><li>gebruik een "\\latex " prefix in de knooptekst of</li><li><i>Bekijk->Properties panel</i>, dan <i>Kerntekst->Format->Latex</i></li></ul></html>
 LatexInsertLatexAction.text=Toevoegen formule (LaTeX)...
 latexPatternFormat=LaTeX
+LengthUnits.cm=cm
+LengthUnits.in=in
+LengthUnits.mm=mm
+LengthUnits.pt=pt
+LengthUnits.px=px
 less_than_two_selected_nodes=Je moet minstens twee knopen selecteren om een snelkoppeling te maken.
 license=Licentie
 license_text=<html>Dit programma is gratis software; U kunt het opnieuw distribueren en- of<br>aanpassen onder de voorwaarden van de GNU General Public License<br>zoals gepubliceerd door de Free Software Foundation; versie 2<br>van de licentie, of (naar eigen keuze) een latere versie.<br><br>Dit programma is verstrekt in de hoop dat het bruikbaar is ,<br>maar zonder enige garantie te geven over de<br>verhandelbaarheid of geschiktheid voor een specifiek doel. Zie de <br>GNU General Public [...]
@@ -716,6 +725,7 @@ link_not_found=Koppeling {0} niet gevonden.
 links=Koppeling
 load=Laden
 load_accelerator_presets=Laden
+load_accelerator_presets.noActions=Niets vooraf ingesteld
 LoadAcceleratorPresetsAction.textPatterns.text=Sets met sneltoetsen
 locking_failed_by_open=Mindmap {0} is in gebruik en wordt daarom als alleen-lezen geopend.
 locking_failed_by_save_as=Mindmap {0} is in gebruik en daarom wordt de actie bewaren-als afgebroken.
@@ -723,6 +733,7 @@ locking_old_lock_removed=Mindmap {0} was geblokkeerd omdat deze in gebruik was d
 long_node_changed_cancel=U heeft de knoop gewijzigd. Wilt u de wijzigingen annuleren?
 long_node_changed_submit=U heeft de knoop gewijzigd. Wilt u de wijzigingen bewaren?
 lots_of_links_warning=Je gaat veel koppelingen naar dezelfde knoop maken. Wilt je deze koppelingen werkelijk aanmaken?
+main_menu=Menu
 main_resource_directory=Installeren bronnen: {0}
 MainView.errorUpdateText=Fout bij het instellen van de tekst voor input: {0}.
 MakeLinkFromAnchorAction.text=Maken koppeling vanaf anker
@@ -764,12 +775,17 @@ ManageAddOnsDialog.visit.addon.page=Ga naar add-on pagina...
 ManageConditionalStylesAction.text=Beheren conditionele stijlen op mindmapniveau
 ManageNodeConditionalStylesAction.text=Beheren conditionele stijlen op knoopniveau
 map_already_exists=De mindmap bestaat al. Wilt u deze overschrijven?
+map_background=Mindmap achtergrond
+map_background_image=Achtergrondafbeelding
 map_corrupted=De mindmap is beschadigd. Details bekijken?
 map_load_error=Kon mindmap niet laden {0}
 map_locked_by_open=De mindmap {0} wordt al bewerkt door gebruiker {1} en wordt als alleen-lezen geopend.
 map_locked_by_save_as=De mindmap {0} wordt al bewerkt door gebruiker {1}. De actie bewaren-als is afgebroken.
 map_not_saved=De mindmap was niet opgeslagen.
+MapBackgroundClearAction.text=Wissen
 MapBackgroundColorAction.text=Achtergrondkleur mindmap
+MapBackgroundImageAction.text=Achtergrondafbeelding...
+maps=Mindmaps
 MaxNodeWidth.text=Bepaal maximum knoopbreedte
 menu_applyStyle=Toepassen stijl
 menu_attributes=Attributen
@@ -815,12 +831,14 @@ mode_File=Bestandsmodus
 mode_MindMap=Mindmapmodus
 mode_na=Modus is niet beschikbaar
 mode_status=Modus gewijzigd naar {0}
+mode_StyleMap=Stijl bewerken
 mode_title=Freeplane - {0} Modus
 modes=Modus
 ModesMenuAction.Browse.text=Mindmaplezer
 ModesMenuAction.File.text=Bestandsverkenner
 ModesMenuAction.MindMap.text=Mindmapbewerker
 most_recent_files=&Onlangs geopend
+MoveAction.text=Verplaats
 MoveToRootAction.text=Naar stamknoop
 NameConditionAction.text=Naam toekennen
 navigate=Navigeren
@@ -844,6 +862,7 @@ NewerFileRevisionsFoundDialog.question=Nieuwere versie gevonden van {0}!
 NewerFileRevisionsFoundDialog.restore=Herst&ellen
 NewerFileRevisionsFoundDialog.restore.tooltip=Vervangen {0} door {1}
 NewerFileRevisionsFoundDialog.title=Er zijn nieuwere bestandsversies gevonden!
+NewFreeNodeAction.text=Nieuwe zwevende knoop
 NewLevelStyleAction.text=Toevoegen automatische opmaakstijlniveau
 newmap.install.addon.question={0} lijkt een add-on \nWilje deze installeren?\n(Kies "Nee" om normaal te openen.)
 newmap.install.addon.title=Add-on installeren ?
@@ -872,6 +891,7 @@ node=Knoop
 node_changed_discard_changes=U heeft de knoop gewijzigd. Wilt u de wijzigingen annuleren?
 node_is_write_protected=De doelknoop is beveiligd tegen schrijven.
 node_location_help=Slepen verandert de plaats van de knoop, ctrl+slepen verandert de afstand, dubbel klikken en ctrl+dubbel klikken herstellen de positie.
+node_popup_scripting=Scripts
 node_selector=Knoopselectie
 node_selector_message=Klik dubbel om knoop te selekteren
 node_styles=Knoop stijlen
@@ -885,6 +905,10 @@ NodeListAction.text=Zoeken en vervangen...
 NodeListAction.tooltip=Tonen alle knopen als doorzoekbare lijst met filterkenmerken.
 NodeShapeAction.bubble.text=Knoop met omlijning
 NodeShapeAction.fork.text=Knoop zonder omlijning
+NodeShapeAction.narrow_hexagon.text=Smalle zeshoek
+NodeShapeAction.oval.text=Ovaal
+NodeShapeAction.rectangle.text=Rechthoek
+NodeShapeAction.wide_hexagon.text=Brede zeshoek
 NodeUpAction.text=Knoop naar boven
 nonboldify_branch=Vet uitschakelen
 nonitalicise_branch=Schuin uitschakelen
@@ -893,6 +917,10 @@ not_saved_for_image_error=De mindmap moet opgeslagen worden voordat je een afbee
 not_saved_for_link_error=De mindmap moet zijn voor je met de bestandskiezer een hyperlink kunt toevoegen
 note_window_location=Positie notitiehulpvenster
 notes=Knoopnotitie
+NotificationOptions.CLOSE=Sluit
+NotificationOptions.REMIND_ME_LATER=Later herinneren
+NotificationOptions.REMOVE_REMINDER=Verwijder herinnnering
+NotificationOptions.SELECT_NODE=Ga naar herinnering
 ok=OK
 OKAction.text=OK
 OnlineReference.text=Online documentatiemindmaps
@@ -921,6 +949,7 @@ OptionPanel.always_load_last_maps.tooltip=Open de laatste bestanden zoals aangeg
 OptionPanel.always_save_folding=Altijd
 OptionPanel.always_save_folding_state=Laatste toestand van open/dichtvouwen onthouden
 OptionPanel.always_save_folding_state.tooltip=Bij open/dichtvouwen vragen om de mindmap op te slaan.
+OptionPanel.always_show_less_than_N_nodes_after_load=Vouw enkele knopen open
 OptionPanel.always_unfold_all_after_load=Alles openvouwen
 OptionPanel.antialias=Verzachten
 OptionPanel.antialias.tooltip=<html> Bepaalt de kwaliteit van de mindmap. Meer verzachten duurt langer.</html>
@@ -958,6 +987,7 @@ OptionPanel.combined=Gecombineerd
 OptionPanel.compare_as_number=Vergelijken als getallen
 OptionPanel.convert_to_current_version=<html>  Automatisch oudere Freeplane versies <br> naar de huidige versie converteren ?</html>
 OptionPanel.convert_to_current_version.tooltip=<html> Alleen voor gevorderde gebruikers die weten wat ze doen:<br>alleen heel grote mindmaps die niet geconverteerd hoeven worden<br>kun je openen zonder conversie.</html>
+OptionPanel.copyFormatToNewSiblingIncludesIcons=Kopieer opmaak met pictogrammen
 OptionPanel.cs=Tsjechisch  \u010Desky
 OptionPanel.cut_nodes_without_question=Knopen knippen zonder bevestiging?
 OptionPanel.cut_nodes_without_question.tooltip=Indien het vinkje is gezet worden alle knopen zonder bevestigingsvraag gekipt. Per ongeluk knippen geeft informatieverlies.
@@ -979,6 +1009,7 @@ OptionPanel.default_browser_command_windows_9x.tooltip=<html> Voor Windows (de "
 OptionPanel.default_browser_command_windows_nt=Standaard browsercommando Windows NT
 OptionPanel.default_browser_command_windows_nt.tooltip=<html> Voor Windows (de "" tekens zijn noodzakelijk voor links die een "=" in de URL hebben).</html>
 OptionPanel.default_charset=Karakterset
+OptionPanel.default_save_dir=Standaardmap
 OptionPanel.Defaults=Instellingen
 OptionPanel.delete_automatic_saves_at_exit=Verwijderen reservekopie bij afsluiten
 OptionPanel.delete_automatic_saves_at_exit.tooltip=<html>  Als de reservebestanden tijdens het normaal afsluiten van Freeplane moeten worden verwijderd, zet deze instelling op ja</html>
@@ -1010,6 +1041,7 @@ OptionPanel.en=Engels  / English
 OptionPanel.Environment=Omgeving
 OptionPanel.es=Spaans  / espa\u00F1ol, castellano
 OptionPanel.et=Ests  / eesti, eesti keel
+OptionPanel.eu=Baskisch
 OptionPanel.execute_scripts_without_asking=Uitvoeren van scripts ingeschakeld
 OptionPanel.execute_scripts_without_asking.tooltip=<html> Freeplane scripts kunnen bijna elke actie uitvoeren op je computer. <br>Voer dus geen scripts uit waarvan je niet zeker bent dat ze veilig zijn.</html>
 OptionPanel.execute_scripts_without_exec_restriction=Toestaan om andere applicaties uit te voeren (NIET aanbevolen)
@@ -1027,6 +1059,7 @@ OptionPanel.export_icons_in_html.tooltip=<html>  Aangeven of de HTML uit Freepla
 OptionPanel.exported_image_resolution_dpi=Geexporteerde beeldresolutie (in DPI)
 OptionPanel.Files=Bestanden
 OptionPanel.first=Eerste
+OptionPanel.fit_to_viewport=Achtergrondafbeelding aan venster aanpassen
 OptionPanel.fold_on_click_inside=Vouwen na klikken knoopkern
 OptionPanel.foldingsymbolwidth=Breedte van het pictogram voor dichtvouwen (verbergen)
 OptionPanel.foldingsymbolwidth.tooltip=<html> Breedte van de cirkel die het dichtvouwen (verbergen) markeert</html>
@@ -1065,8 +1098,10 @@ OptionPanel.id=Indonesisch / Bahasa Indonesia
 OptionPanel.IGNORE=Doe niets
 OptionPanel.il__enter_confirms_by_default=Standaard bevestiging met Enter
 OptionPanel.image_cache=voor afbeeldingen
+OptionPanel.indentationUsesTabsInTextOutput=Gebruik tabs in tekst
 OptionPanel.it=Italiaans  / Italiano
 OptionPanel.ja=Japans  / \u65E5\u672C\u8A9E
+OptionPanel.JoinNodesAction.textSeparators=Scheidingsteken tekst
 OptionPanel.key_type_action=Bij toetsindruk
 OptionPanel.Keystrokes=Sneltoetsen
 OptionPanel.ko=Koreaans  / \uD55C\uAD6D\uC5B4 (\u97D3\u570B\u8A9E), \uC870\uC120\uB9D0 (\u671D\u9BAE\u8A9E)
@@ -1094,6 +1129,8 @@ OptionPanel.load_last_map=Automatisch laatste mindmap openen
 OptionPanel.load_last_map.tooltip=<html> Als Freeplane start, wordt automatisch de laatste gebruikte mindmap geopend. </html>
 OptionPanel.load_last_maps=Open bij opstarten alle laatstgeopende mindmaps opnieuw
 OptionPanel.lookandfeel=Gebruiksomgeving
+OptionPanel.lookandfeel.scaleuifonts=Schaal lettertypes gebruikersinterface
+OptionPanel.lookandfeel.scaleuifonts.tooltip=Bruikbaar voor schermen met hoge resolutie
 OptionPanel.lookandfeel.tooltip=<html> De gebruiksomgeving waarin je wil werken. 'metaal, 'windows', 'motief' en 'gtk' worden ondersteund, 'mac' kan enkel gebruikt worden bij MacOS. Standaard betekent dat de standaard gebruikersomgeving wordt gebruikt. Als je hier je eigen gebruiksomgeving wil gebruiken, vul dan hier de klassenaam in en zorg er voor dat de benodigde jar-bestanden geladen worden. Als er problemen zijn met de gebruiksomgeving, kies hier dan 'niets'. Dat werkt voor applets</html>
 OptionPanel.lt=Lithuanian / Kalba
 OptionPanel.max_displayed_node_count=Maximum aantal zichtbare knopen
diff --git a/freeplane/src/main/java/org/freeplane/core/ui/ActionAcceleratorManager.java b/freeplane/src/main/java/org/freeplane/core/ui/ActionAcceleratorManager.java
index 48eca82..79fb5db 100644
--- a/freeplane/src/main/java/org/freeplane/core/ui/ActionAcceleratorManager.java
+++ b/freeplane/src/main/java/org/freeplane/core/ui/ActionAcceleratorManager.java
@@ -18,7 +18,6 @@ import java.util.Map.Entry;
 import java.util.Properties;
 import java.util.regex.Pattern;
 
-import javax.swing.JComponent;
 import javax.swing.JOptionPane;
 import javax.swing.KeyStroke;
 import javax.swing.SwingUtilities;
@@ -60,6 +59,7 @@ public class ActionAcceleratorManager implements IKeyStrokeProcessor, IAccelerat
 
 	private final Properties keysetProps;
 	private final Properties defaultProps;
+	private final Properties overwritttenDefaultProps;
 
 
 	/***********************************************************************************
@@ -67,10 +67,23 @@ public class ActionAcceleratorManager implements IKeyStrokeProcessor, IAccelerat
 	 **********************************************************************************/
 
  	public ActionAcceleratorManager() {
+ 		overwritttenDefaultProps = new Properties();
+ 		loadDefaultAccelerators("/default_accelerators.properties");
+ 		if(Compat.isMacOsX() )
+ 			loadDefaultAccelerators("/default_accelerators_mac.properties");
  		defaultProps = new Properties();
 		keysetProps = new Properties(defaultProps);
  	}
 
+	private void loadDefaultAccelerators(String resource){
+		try (final InputStream resourceStream = ResourceController.getResourceController().getResourceStream(resource)) {
+			overwritttenDefaultProps.load(resourceStream);
+		}
+		catch (Exception e) {
+			LogUtils.warn(e);
+		}
+	}
+
 	public void loadAcceleratorPresets() {
 	    try {
 			if (ResourceController.getResourceController().getFreeplaneUserDirectory() != null) {
@@ -141,6 +154,8 @@ public class ActionAcceleratorManager implements IKeyStrokeProcessor, IAccelerat
 	public void setUserDefinedAccelerator(AFreeplaneAction action) {
 		final String actionKey = action.getKey();
 		final String shortcutKey = getPropertyKey(actionKey);
+		if(overwritttenDefaultProps.containsKey(shortcutKey))
+			defaultProps.setProperty(shortcutKey, overwritttenDefaultProps.getProperty(shortcutKey));
 		String accelerator = getShortcut(shortcutKey);
 		if (accelerator != null){
 			KeyStroke ks = KeyStroke.getKeyStroke(accelerator);
@@ -151,6 +166,8 @@ public class ActionAcceleratorManager implements IKeyStrokeProcessor, IAccelerat
 	public void setDefaultAccelerator(final AFreeplaneAction action, String accelerator) {
 		final String shortcutKey = getPropertyKey(action.getKey());
 		if (null == getShortcut(shortcutKey)) {
+			if(overwritttenDefaultProps.containsKey(shortcutKey))
+				accelerator = overwritttenDefaultProps.getProperty(shortcutKey);
 			accelerator = replaceModifiersForMac(accelerator);
 			defaultProps.setProperty(shortcutKey, accelerator);
 			KeyStroke ks = KeyStroke.getKeyStroke(accelerator);
diff --git a/freeplane/src/main/java/org/freeplane/core/util/Quantity.java b/freeplane/src/main/java/org/freeplane/core/util/Quantity.java
index a9165b5..3c3eb1e 100644
--- a/freeplane/src/main/java/org/freeplane/core/util/Quantity.java
+++ b/freeplane/src/main/java/org/freeplane/core/util/Quantity.java
@@ -74,6 +74,11 @@ public class Quantity <U extends Enum<U> & Convertible >{
 	public Quantity<U> in(U unit) {
 		return new Quantity<U>(value * (this.unit.factor() / unit.factor()), unit);
 	}
+	
+	public void assertNonNegative() {
+		if(value < 0)
+			throw new IllegalStateException("non negative value required");
+	}
 
 	public Quantity<U> add(Quantity<U> second) {
 		if(unit == second.unit)
diff --git a/freeplane/src/main/java/org/freeplane/features/export/mindmapmode/XsltExportEngine.java b/freeplane/src/main/java/org/freeplane/features/export/mindmapmode/XsltExportEngine.java
index 20aed49..4143900 100644
--- a/freeplane/src/main/java/org/freeplane/features/export/mindmapmode/XsltExportEngine.java
+++ b/freeplane/src/main/java/org/freeplane/features/export/mindmapmode/XsltExportEngine.java
@@ -2,9 +2,13 @@ package org.freeplane.features.export.mindmapmode;
 
 import java.io.File;
 import java.io.FileOutputStream;
+import java.io.FilePermission;
 import java.io.IOException;
 import java.io.StringReader;
 import java.io.StringWriter;
+import java.security.Permission;
+import java.security.Policy;
+import java.security.ProtectionDomain;
 
 import javax.xml.transform.Result;
 import javax.xml.transform.Source;
@@ -22,6 +26,29 @@ import org.freeplane.features.mode.Controller;
 import org.freeplane.features.mode.ModeController;
 
 public class XsltExportEngine implements IExportEngine {
+	
+	static class XsltExportPolicy extends Policy {
+		static FilePermission allFileReadPermission = new FilePermission( "<<ALL FILES>>" , "read,readlink");
+		final Policy alternativePolicy;
+		public XsltExportPolicy() {
+			this(Policy.getPolicy());
+		}
+		public XsltExportPolicy(Policy alternativePolicy) {
+			super();
+			this.alternativePolicy = alternativePolicy;
+		}
+		@Override
+		public boolean implies(ProtectionDomain domain, Permission permission) {
+			return alternativePolicy.implies(domain, permission) || allFileReadPermission.implies(permission);
+		}
+		
+		 public void remove(){
+			 if(Policy.getPolicy() != this)
+				 throw new IllegalStateException();
+			Policy.setPolicy(alternativePolicy);
+		}
+		
+	}
 	public XsltExportEngine(File xsltFile) {
 	    super();
 	    this.xsltFile = xsltFile;
@@ -61,7 +88,9 @@ public class XsltExportEngine implements IExportEngine {
 		final Source xsltSource = new StreamSource(xsltFile);
 		final Source xmlSource = getMapXml(map);
 		FileOutputStream outputStream = null;
+		final XsltExportPolicy xsltExportPolicy = new XsltExportPolicy();
         try {
+        	Policy.setPolicy(xsltExportPolicy);
         	outputStream = new FileOutputStream(toFile);
         	final Result result = new StreamResult(outputStream);
         	final TransformerFactory transFact = TransformerFactory.newInstance();
@@ -73,6 +102,7 @@ public class XsltExportEngine implements IExportEngine {
         	LogUtils.warn(e);
         }
         finally {
+        	xsltExportPolicy.remove();
         	try {
         		if (outputStream != null) {
         			outputStream.close();
diff --git a/freeplane/src/main/java/org/freeplane/features/help/DocumentationAction.java b/freeplane/src/main/java/org/freeplane/features/help/DocumentationAction.java
index e174cfe..4ff0a9c 100644
--- a/freeplane/src/main/java/org/freeplane/features/help/DocumentationAction.java
+++ b/freeplane/src/main/java/org/freeplane/features/help/DocumentationAction.java
@@ -25,6 +25,7 @@ import org.freeplane.core.ui.AFreeplaneAction;
 import org.freeplane.core.ui.components.UITools;
 import org.freeplane.features.map.mindmapmode.MMapController;
 import org.freeplane.features.mode.Controller;
+import org.freeplane.features.mode.mindmapmode.MModeController;
 
 class DocumentationAction extends AFreeplaneAction {
 	private static final long serialVersionUID = 1L;
@@ -38,7 +39,7 @@ class DocumentationAction extends AFreeplaneAction {
 	public void actionPerformed(final ActionEvent e) {
 		UITools.executeWhenNodeHasFocus(new Runnable() {
 			public void run() {
-				final MMapController mapController = (MMapController) Controller.getCurrentModeController().getMapController();
+				final MMapController mapController = (MMapController) Controller.getCurrentController().getModeController(MModeController.MODENAME).getMapController();
 				mapController.newDocumentationMap(document);
 			}
 		});
diff --git a/freeplane/src/main/java/org/freeplane/features/nodelocation/mindmapmode/MLocationController.java b/freeplane/src/main/java/org/freeplane/features/nodelocation/mindmapmode/MLocationController.java
index 1a8cc5f..6441ce0 100644
--- a/freeplane/src/main/java/org/freeplane/features/nodelocation/mindmapmode/MLocationController.java
+++ b/freeplane/src/main/java/org/freeplane/features/nodelocation/mindmapmode/MLocationController.java
@@ -108,6 +108,7 @@ public class MLocationController extends LocationController {
 
 	public void setMinimalDistanceBetweenChildren(NodeModel node, final Quantity<LengthUnits> minimalDistanceBetweenChildren){
 		if(node != null){
+			minimalDistanceBetweenChildren.assertNonNegative();
 			final IActor actor = new ChangeVGapActor(node, minimalDistanceBetweenChildren);
 			Controller.getCurrentModeController().execute(actor, node.getMap());
 		}
diff --git a/freeplane/src/main/java/org/freeplane/features/nodestyle/NodeSizeModel.java b/freeplane/src/main/java/org/freeplane/features/nodestyle/NodeSizeModel.java
index 0e0527a..04ee2cc 100644
--- a/freeplane/src/main/java/org/freeplane/features/nodestyle/NodeSizeModel.java
+++ b/freeplane/src/main/java/org/freeplane/features/nodestyle/NodeSizeModel.java
@@ -30,8 +30,6 @@ import org.freeplane.features.map.NodeModel;
  */
 public class NodeSizeModel implements IExtension {
 	
-	public static final int NOT_SET = -1;
-
 	public static NodeSizeModel getModel(final NodeModel node) {
 		return node.getExtension(NodeSizeModel.class);
 	}
diff --git a/freeplane/src/main/java/org/freeplane/features/nodestyle/mindmapmode/MNodeStyleController.java b/freeplane/src/main/java/org/freeplane/features/nodestyle/mindmapmode/MNodeStyleController.java
index 543bedf..57f97fc 100644
--- a/freeplane/src/main/java/org/freeplane/features/nodestyle/mindmapmode/MNodeStyleController.java
+++ b/freeplane/src/main/java/org/freeplane/features/nodestyle/mindmapmode/MNodeStyleController.java
@@ -588,6 +588,7 @@ public class MNodeStyleController extends NodeStyleController {
 		modeController.execute(actor, node.getMap());
 	}
 	public void setMinNodeWidth(final NodeModel node, final Quantity<LengthUnits> minNodeWidth) {
+		minNodeWidth.assertNonNegative();
 	    final NodeSizeModel sizeModel = createOwnSizeModel(node);
 		final Quantity<LengthUnits> oldValue = NodeSizeModel.getMinNodeWidth(node);
 		final IActor actor = new IActor() {
@@ -615,6 +616,7 @@ public class MNodeStyleController extends NodeStyleController {
     }
 
 	public void setMaxNodeWidth(final NodeModel node, final Quantity<LengthUnits> maxNodeWidth) {
+		maxNodeWidth.assertNonNegative();
 	    final NodeSizeModel sizeModel = createOwnSizeModel(node);
 		final Quantity<LengthUnits> oldValue = NodeSizeModel.getMaxNodeWidth(node);
 		final IActor actor = new IActor() {
diff --git a/freeplane/src/main/java/org/freeplane/features/url/mindmapmode/ImportLinkedBranchWithoutRootAction.java b/freeplane/src/main/java/org/freeplane/features/url/mindmapmode/ImportLinkedBranchWithoutRootAction.java
index b28fcdd..86f21a9 100644
--- a/freeplane/src/main/java/org/freeplane/features/url/mindmapmode/ImportLinkedBranchWithoutRootAction.java
+++ b/freeplane/src/main/java/org/freeplane/features/url/mindmapmode/ImportLinkedBranchWithoutRootAction.java
@@ -67,6 +67,7 @@ class ImportLinkedBranchWithoutRootAction extends AFreeplaneAction {
 			final NodeModel node = ((MFileManager) UrlManager.getController()).loadTree(map, file);
 			map.setURL(url);
 			for (final NodeModel child : Controller.getCurrentModeController().getMapController().childrenUnfolded(node)) {
+				child.setParent(null);
 				((MMapController) modeController.getMapController()).insertNode(child, selected);
 			}
 			((MLinkController) LinkController.getController()).setLink(selected, (URI) null, LinkController.LINK_ABSOLUTE);
diff --git a/freeplane/src/main/java/org/freeplane/main/application/ApplicationResourceController.java b/freeplane/src/main/java/org/freeplane/main/application/ApplicationResourceController.java
index 2a2b9c3..1ccce5c 100644
--- a/freeplane/src/main/java/org/freeplane/main/application/ApplicationResourceController.java
+++ b/freeplane/src/main/java/org/freeplane/main/application/ApplicationResourceController.java
@@ -50,7 +50,6 @@ public class ApplicationResourceController extends ResourceController {
 	private LastOpenedList lastOpened;
 	final private Properties props;
 	final private ClassLoader urlResourceLoader;
-	private static final String FREEPLANE_MAC_PROPERTIES = "/freeplane_mac.properties";
 	public static final String FREEPLANE_BASEDIRECTORY_PROPERTY = "org.freeplane.basedirectory";
 	public static final String FREEPLANE_GLOBALRESOURCEDIR_PROPERTY = "org.freeplane.globalresourcedir";
 	public static final String DEFAULT_FREEPLANE_GLOBALRESOURCEDIR = "resources";
@@ -203,9 +202,6 @@ public class ApplicationResourceController extends ResourceController {
 	private Properties readDefaultPreferences() {
 		final Properties props = new Properties();
 		readDefaultPreferences(props, ResourceController.FREEPLANE_PROPERTIES);
-		if (Compat.isMacOsX()) {
-			readDefaultPreferences(props, FREEPLANE_MAC_PROPERTIES);
-		}
 		final String propsLocs = props.getProperty("load_next_properties", "");
 		readDefaultPreferences(props, propsLocs.split(";"));
 		return props;
diff --git a/freeplane/src/main/java/org/freeplane/main/application/CommandLineParser.java b/freeplane/src/main/java/org/freeplane/main/application/CommandLineParser.java
index c802af0..d4b8694 100644
--- a/freeplane/src/main/java/org/freeplane/main/application/CommandLineParser.java
+++ b/freeplane/src/main/java/org/freeplane/main/application/CommandLineParser.java
@@ -10,13 +10,15 @@ class CommandLineParser {
     static final String QUIT_MENU_ITEM_KEY = "MB_QuitAction";
 
     public static class Options {
-        private static final String HELP_MESSAGE = "Use:\n\tfreeplane [options] [file1 [file2 ...]]" //
-                + "\n -X<menukey>: execute menu item with key <menukey>. Use devtools add-on to find the menu keys" //
-                + "\n -S: stop after executing menu items" //
-                + "\n -N: set the 'nonInteractive' system property to 'true'" //
-                + "\n -U<userdir>: set the freeplane user config directory (default: "
+        private static final String HELP_MESSAGE = //
+                "\nUsage:\n\tfreeplane.bat [options] [file1 [file2 ...]]\n" //
+                + "\n -X<menukey>   : execute menu item with key <menukey>." //
+                + "\n                 hint: use devtools add-on to find appropriate menu keys" //
+                + "\n -S            : stop after executing menu items" //
+                + "\n -N            : set the 'nonInteractive' system property to 'true'" //
+                + "\n -U<userdir>   : set the freeplane user config directory (default: "
                 + Compat.getDefaultFreeplaneUserDirectory() + ")" //
-                + "\n -h|--help: print this help";
+                + "\n -h , --help   : print this help text";
         private List<String> filesToOpen = new ArrayList<String>();
         private List<String> menuItemsToExecute = new ArrayList<String>();
         private boolean stopAfterLaunch;
@@ -170,6 +172,7 @@ class CommandLineParser {
             result.addMenuItemToExecute(QUIT_MENU_ITEM_KEY);
         if (result.isHelpRequested() && firstRun) {
             System.out.println(result.getHelpMessage());
+            System.exit(0);
         }
         return result;
     }
diff --git a/freeplane/src/main/java/org/freeplane/main/mindmapmode/stylemode/ExtensionInstaller.java b/freeplane/src/main/java/org/freeplane/main/mindmapmode/stylemode/ExtensionInstaller.java
new file mode 100644
index 0000000..e919579
--- /dev/null
+++ b/freeplane/src/main/java/org/freeplane/main/mindmapmode/stylemode/ExtensionInstaller.java
@@ -0,0 +1,7 @@
+package org.freeplane.main.mindmapmode.stylemode;
+
+import org.freeplane.features.mode.Controller;
+
+public interface ExtensionInstaller {
+	void installExtensions(Controller controller);
+}
diff --git a/freeplane/src/main/java/org/freeplane/main/mindmapmode/stylemode/SModeController.java b/freeplane/src/main/java/org/freeplane/main/mindmapmode/stylemode/SModeController.java
index ff7e608..8bbbf0b 100644
--- a/freeplane/src/main/java/org/freeplane/main/mindmapmode/stylemode/SModeController.java
+++ b/freeplane/src/main/java/org/freeplane/main/mindmapmode/stylemode/SModeController.java
@@ -39,7 +39,7 @@ import org.freeplane.features.ui.IMapViewManager;
  * @author Dimitry Polivaev
  * 18.09.2009
  */
-class SModeController extends MModeController {
+public class SModeController extends MModeController {
 
 	@SuppressWarnings("serial")
     public SModeController(final Controller controller) {
diff --git a/freeplane/src/main/java/org/freeplane/main/mindmapmode/stylemode/SModeControllerFactory.java b/freeplane/src/main/java/org/freeplane/main/mindmapmode/stylemode/SModeControllerFactory.java
index af62c5e..9a584b3 100644
--- a/freeplane/src/main/java/org/freeplane/main/mindmapmode/stylemode/SModeControllerFactory.java
+++ b/freeplane/src/main/java/org/freeplane/main/mindmapmode/stylemode/SModeControllerFactory.java
@@ -94,7 +94,7 @@ import org.freeplane.view.swing.ui.mindmapmode.MNodeMouseWheelListener;
 public class SModeControllerFactory {
 	private static SModeControllerFactory instance;
 
-	static SModeControllerFactory getInstance() {
+	public static SModeControllerFactory getInstance() {
 		if (instance == null) {
 			instance = new SModeControllerFactory();
 		}
@@ -102,6 +102,7 @@ public class SModeControllerFactory {
 	}
 
 	private SModeController modeController;
+	private ExtensionInstaller extentionInstaller;
 
 	Controller createController(final JDialog dialog) {
 		final Controller controller = new Controller(ResourceController.getResourceController());
@@ -160,6 +161,8 @@ public class SModeControllerFactory {
 		MapStyle.install(false);
 		controller.addModeController(modeController);
 		controller.selectModeForBuild(modeController);
+		if(extentionInstaller != null)
+			extentionInstaller.installExtensions(controller);
 		final SModeController modeController = this.modeController;
 		final StyleEditorPanel styleEditorPanel = new StyleEditorPanel(modeController, null, false);
 		modeController.addAction(new ShowFormatPanelAction());
@@ -224,4 +227,8 @@ public class SModeControllerFactory {
 		ModeController modeController = Controller.getCurrentModeController();
 		modeController.addAction(new EditStylesAction());
 	}
+
+	public void setExtensionInstaller(ExtensionInstaller extentionInstaller) {
+		this.extentionInstaller = extentionInstaller;
+	}
 }
diff --git a/freeplane/src/main/java/org/freeplane/main/osgi/ActivatorImpl.java b/freeplane/src/main/java/org/freeplane/main/osgi/ActivatorImpl.java
index 32985e6..29e6acc 100644
--- a/freeplane/src/main/java/org/freeplane/main/osgi/ActivatorImpl.java
+++ b/freeplane/src/main/java/org/freeplane/main/osgi/ActivatorImpl.java
@@ -41,6 +41,8 @@ import org.freeplane.main.application.FreeplaneGUIStarter;
 import org.freeplane.main.application.FreeplaneStarter;
 import org.freeplane.main.application.SingleInstanceManager;
 import org.freeplane.main.headlessmode.FreeplaneHeadlessStarter;
+import org.freeplane.main.mindmapmode.stylemode.ExtensionInstaller;
+import org.freeplane.main.mindmapmode.stylemode.SModeControllerFactory;
 import org.osgi.framework.Bundle;
 import org.osgi.framework.BundleActivator;
 import org.osgi.framework.BundleContext;
@@ -177,43 +179,7 @@ class ActivatorImpl implements BundleActivator {
 		loadPlugins(context);
 		final Controller controller = starter.createController();
 		starter.createModeControllers(controller);
-		try {
-			final ServiceReference[] controllerProviders = context.getServiceReferences(
-			    IControllerExtensionProvider.class.getName(), null);
-			if (controllerProviders != null) {
-				for (int i = 0; i < controllerProviders.length; i++) {
-					final ServiceReference controllerProvider = controllerProviders[i];
-					final IControllerExtensionProvider service = (IControllerExtensionProvider) context
-					    .getService(controllerProvider);
-					service.installExtension(controller);
-					context.ungetService(controllerProvider);
-				}
-			}
-		}
-		catch (final InvalidSyntaxException e) {
-			e.printStackTrace();
-		}
-		try {
-			final Set<String> modes = controller.getModes();
-			for (final String modeName : modes) {
-				final ServiceReference[] modeControllerProviders = context.getServiceReferences(
-				    IModeControllerExtensionProvider.class.getName(), "(mode=" + modeName + ")");
-				if (modeControllerProviders != null) {
-					final ModeController modeController = controller.getModeController(modeName);
-					Controller.getCurrentController().selectModeForBuild(modeController);
-					for (int i = 0; i < modeControllerProviders.length; i++) {
-						final ServiceReference modeControllerProvider = modeControllerProviders[i];
-						final IModeControllerExtensionProvider service = (IModeControllerExtensionProvider) context
-						    .getService(modeControllerProvider);
-						service.installExtension(modeController);
-						context.ungetService(modeControllerProvider);
-					}
-				}
-			}
-		}
-		catch (final InvalidSyntaxException e) {
-			e.printStackTrace();
-		}
+		installControllerExtensions(context, controller);
 		if ("true".equals(System.getProperty("org.freeplane.exit_on_start", null))) {
 			controller.getViewController().invokeLater(new Runnable() {
 				public void run() {
@@ -241,6 +207,63 @@ class ActivatorImpl implements BundleActivator {
 			}
 		});
 	}
+	
+	private static class OsgiExtentionInstaller implements ExtensionInstaller{
+		private final BundleContext context;
+		
+		public OsgiExtentionInstaller(BundleContext context) {
+			super();
+			this.context = context;
+		}
+
+		@Override
+		public void installExtensions(Controller controller) {
+			try {
+				final ServiceReference[] controllerProviders = context.getServiceReferences(
+				    IControllerExtensionProvider.class.getName(), null);
+				if (controllerProviders != null) {
+					for (int i = 0; i < controllerProviders.length; i++) {
+						final ServiceReference controllerProvider = controllerProviders[i];
+						final IControllerExtensionProvider service = (IControllerExtensionProvider) context
+						    .getService(controllerProvider);
+						service.installExtension(controller);
+						context.ungetService(controllerProvider);
+					}
+				}
+			}
+			catch (final InvalidSyntaxException e) {
+				e.printStackTrace();
+			}
+			try {
+				final Set<String> modes = controller.getModes();
+				for (final String modeName : modes) {
+					final ServiceReference[] modeControllerProviders = context.getServiceReferences(
+					    IModeControllerExtensionProvider.class.getName(), "(mode=" + modeName + ")");
+					if (modeControllerProviders != null) {
+						final ModeController modeController = controller.getModeController(modeName);
+						Controller.getCurrentController().selectModeForBuild(modeController);
+						for (int i = 0; i < modeControllerProviders.length; i++) {
+							final ServiceReference modeControllerProvider = modeControllerProviders[i];
+							final IModeControllerExtensionProvider service = (IModeControllerExtensionProvider) context
+							    .getService(modeControllerProvider);
+							service.installExtension(modeController);
+							context.ungetService(modeControllerProvider);
+						}
+					}
+				}
+			}
+			catch (final InvalidSyntaxException e) {
+				e.printStackTrace();
+			}
+		}
+		
+	}
+
+	private void installControllerExtensions(final BundleContext context, final Controller controller) {
+		final ExtensionInstaller osgiExtentionInstaller = new OsgiExtentionInstaller(context);
+		SModeControllerFactory.getInstance().setExtensionInstaller(osgiExtentionInstaller);
+		osgiExtentionInstaller.installExtensions(controller);
+	}
 
 	public FreeplaneStarter createStarter() {
 		if(Boolean.getBoolean(HEADLESS_RUN_PROPERTY_NAME))
diff --git a/freeplane/src/main/java/org/freeplane/view/swing/map/MainView.java b/freeplane/src/main/java/org/freeplane/view/swing/map/MainView.java
index b8dca71..fd1d8fb 100644
--- a/freeplane/src/main/java/org/freeplane/view/swing/map/MainView.java
+++ b/freeplane/src/main/java/org/freeplane/view/swing/map/MainView.java
@@ -679,7 +679,9 @@ public abstract class MainView extends ZoomableLabel {
 	}
 
 	private boolean hasChildren() {
-	    return getNodeView().getModel().hasChildren();
+	    final NodeView nodeView = getNodeView();
+		final NodeModel node = nodeView.getModel();
+		return node.hasChildren();
     }
 
 	public MouseArea getMouseArea() {
diff --git a/freeplane/src/main/java/org/freeplane/view/swing/ui/mindmapmode/MNodeMotionListener.java b/freeplane/src/main/java/org/freeplane/view/swing/ui/mindmapmode/MNodeMotionListener.java
index 1d49367..9221518 100644
--- a/freeplane/src/main/java/org/freeplane/view/swing/ui/mindmapmode/MNodeMotionListener.java
+++ b/freeplane/src/main/java/org/freeplane/view/swing/ui/mindmapmode/MNodeMotionListener.java
@@ -272,7 +272,9 @@ public class MNodeMotionListener extends DefaultNodeMouseMotionListener implemen
 		final Controller controller = modeController.getController();
 		MLocationController locationController = (MLocationController) LocationController.getController(controller
 				.getModeController());
-		NodeModel childDistanceContainer = nodeV.getParentView().getChildDistanceContainer().getModel();
+		final NodeView parentView = nodeV.getParentView();
+		final NodeView childDistanceContainerView = parentView.getChildDistanceContainer();
+		NodeModel childDistanceContainer = childDistanceContainerView.getModel();
 		final Quantity<LengthUnits> parentVGap = locationController.getMinimalDistanceBetweenChildren(childDistanceContainer);
 		Quantity<LengthUnits> hgap = LocationModel.getModel(node).getHGap();
 		final Quantity<LengthUnits> shiftY = LocationModel.getModel(node).getShiftY();
diff --git a/freeplane/src/test/java/org/freeplane/core/util/QuantityShould.java b/freeplane/src/test/java/org/freeplane/core/util/QuantityShould.java
index 579898b..a61a0e4 100644
--- a/freeplane/src/test/java/org/freeplane/core/util/QuantityShould.java
+++ b/freeplane/src/test/java/org/freeplane/core/util/QuantityShould.java
@@ -117,4 +117,16 @@ public class QuantityShould {
 		Quantity<Metrics> first = new Quantity<Metrics>(100, Metrics.cm);
 		assertThat(first.add(2, Metrics.m), equalTo(new Quantity<Metrics>(300, Metrics.cm)));
 	}
+	
+	@Test(expected=IllegalStateException.class)
+	public void negativeQuantity_throwsIllegalStateExceptionOnCheckForNonNegative() throws Exception {
+		Quantity<Metrics> negative = new Quantity<Metrics>(-1, Metrics.cm);
+		negative.assertNonNegative();
+	}
+	
+	@Test()
+	public void zeroQuantity_passesOnCheckForNonNegative() throws Exception {
+		Quantity<Metrics> zero = new Quantity<Metrics>(0, Metrics.cm);
+		zero.assertNonNegative();
+	}
 }
diff --git a/freeplane/viewer-resources/freeplane.properties b/freeplane/viewer-resources/freeplane.properties
index cdeff2f..1e5ab23 100644
--- a/freeplane/viewer-resources/freeplane.properties
+++ b/freeplane/viewer-resources/freeplane.properties
@@ -161,16 +161,6 @@ ViewLayoutTypeAction.OUTLINE.icon=/images/outline_view.png
 WebDocuAction.icon=/images/Link.png
 ZoomInAction.icon=/images/ZoomIn24.png
 ZoomOutAction.icon=/images/ZoomOut24.png
-acceleratorFor.Browse/ModesMenuAction.Browse=alt 2
-acceleratorFor.Browse/ModesMenuAction.MindMap=alt 1
-acceleratorFor.File/ModesMenuAction.File=alt 3
-acceleratorFor.File/ModesMenuAction.MindMap=alt 1
-acceleratorFor.File/main_menu_modes/ModesMenuAction.Browse=alt 2
-acceleratorFor.MindMap/ModesMenuAction.Browse=alt 2
-acceleratorFor.MindMap/ModesMenuAction.File=alt 3
-acceleratorFor.MindMap/ModesMenuAction.MindMap=alt 1
-acceleratorFor.MindMap/OpenLastOpenedAction_1=control 1
-acceleratorForBrowse/ModesMenuAction.File=alt 3
 acceleratorPresets.icon=/images/acceleratorPresets.png
 always_load_last_maps=false
 antialias=antialias_all
diff --git a/freeplane/viewer-resources/version.properties b/freeplane/viewer-resources/version.properties
index 269e99a..f10fb89 100644
--- a/freeplane/viewer-resources/version.properties
+++ b/freeplane/viewer-resources/version.properties
@@ -1,2 +1,2 @@
-freeplane_version=1.5.13
+freeplane_version=1.5.14
 freeplane_version_status=
diff --git a/freeplane_framework/windows-installer/Freeplane_without_Java.iss b/freeplane_framework/windows-installer/Freeplane_without_Java.iss
index 5ae1a03..aac352b 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.13"
+#define MyVersion "1.5.14"
 #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 7e81cbe..2ec5466 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.13.1
-DisplayVersion=1.5.13
+PackageVersion=1.5.14.1
+DisplayVersion=1.5.14
 
 [SpecialPaths]
 Plugins=NONE
diff --git a/freeplane_plugin_bugreport/src/main/java/org/freeplane/plugin/bugreport/ReportGenerator.java b/freeplane_plugin_bugreport/src/main/java/org/freeplane/plugin/bugreport/ReportGenerator.java
index 63fbf77..84b4424 100644
--- a/freeplane_plugin_bugreport/src/main/java/org/freeplane/plugin/bugreport/ReportGenerator.java
+++ b/freeplane_plugin_bugreport/src/main/java/org/freeplane/plugin/bugreport/ReportGenerator.java
@@ -27,6 +27,7 @@ import java.util.logging.StreamHandler;
 
 import javax.swing.ImageIcon;
 import javax.swing.JButton;
+import javax.swing.JComponent;
 import javax.swing.JOptionPane;
 
 import org.freeplane.core.resources.ResourceController;
@@ -35,6 +36,7 @@ import org.freeplane.core.util.HtmlUtils;
 import org.freeplane.core.util.LogUtils;
 import org.freeplane.core.util.TextUtils;
 import org.freeplane.features.mode.Controller;
+import org.freeplane.features.ui.UIComponentVisibilityDispatcher;
 import org.freeplane.features.ui.ViewController;
 
 public class ReportGenerator extends StreamHandler {
@@ -59,31 +61,9 @@ public class ReportGenerator extends StreamHandler {
 		}
 	}
 
-	private class SubmitStarter implements Runnable {
-		SubmitStarter() {
-			if (Controller.getCurrentController().getViewController().isDispatchThread()) {
-				return;
-			}
-			final Thread currentThread = Thread.currentThread();
-			Controller.getCurrentController().getViewController().invokeLater(new Runnable() {
-				public void run() {
-					try {
-						currentThread.join(1000);
-					}
-					catch (final InterruptedException e) {
-					}
-				}
-			});
-		}
-
-		public void run() {
-			startSubmit();
-		}
-	}
-
 	private final static String BUG_TRACKER_REFERENCE_URL = "http://freeplane.sourceforge.net/info/bugtracker.ref.txt";
 	private static String BUG_TRACKER_URL = null;
-	static boolean disabled = false;
+	static boolean isDisabled = false;
 	private static int errorCounter = 0;
 	private static String info;
 	static final private String OPTION = "org.freeplane.plugin.bugreport";
@@ -102,10 +82,9 @@ public class ReportGenerator extends StreamHandler {
 	}
 
 	private String hash = null;
-	private boolean isRunning;
 	private String log = null;
 	private MessageDigest md = null;
-	private boolean reportCollected = false;
+	private boolean isReportGenerationInProgress = false;
 	private IBugReportListener bugReportListener;
 
 	public IBugReportListener getBugReportListener() {
@@ -204,7 +183,7 @@ public class ReportGenerator extends StreamHandler {
 			return BUG_TRACKER_URL;
 		}
 		catch (final Exception e) {
-			disabled = true;
+			isDisabled = true;
 			return null;
 		}
 	}
@@ -223,7 +202,7 @@ public class ReportGenerator extends StreamHandler {
 			}
         }
 	}
-	JButton logButton;
+	private JButton logButton;
 	@Override
 	public synchronized void publish(final LogRecord record) {
 		final Controller controller = Controller.getCurrentController();
@@ -249,40 +228,44 @@ public class ReportGenerator extends StreamHandler {
 		if (!isLoggable(record)) {
 			return;
 		}
-		if (!(disabled || isRunning  || reportCollected)) {
-			reportCollected = true;
-			viewController.invokeLater(new SubmitStarter());
-		}
-		viewController.invokeLater(new Runnable() {
-			@SuppressWarnings("serial")
-			public void run() {
-				try {
-					errorCounter++;
-					if(TextUtils.getRawText("internal_error_tooltip", null) != null){
-						if(logButton == null){
-							final ImageIcon errorIcon = new ImageIcon(ResourceController.getResourceController().getResource(
-									"/images/icons/messagebox_warning.png"));
-							logButton = new JButton(){
-								@Override public Dimension getPreferredSize(){
-									Dimension preferredSize = super.getPreferredSize();
-									preferredSize.height = getIcon().getIconHeight();
-									return preferredSize;
-								}
-							};
-							logButton.addActionListener(new LogOpener());
-							logButton.setIcon(errorIcon);
-							String tooltip = TextUtils.getText("internal_error_tooltip");
-							logButton.setToolTipText(tooltip);
-							viewController.addStatusComponent("internal_error", logButton);
+		if (!(isReportGenerationInProgress)) {
+			isReportGenerationInProgress = true;
+			viewController.invokeLater(new Runnable() {
+				@SuppressWarnings("serial")
+				public void run() {
+					try {
+						errorCounter++;
+						if(TextUtils.getRawText("internal_error_tooltip", null) != null){
+							if(logButton == null){
+								final ImageIcon errorIcon = new ImageIcon(ResourceController.getResourceController().getResource(
+										"/images/icons/messagebox_warning.png"));
+								logButton = new JButton(){
+									@Override public Dimension getPreferredSize(){
+										Dimension preferredSize = super.getPreferredSize();
+										preferredSize.height = getIcon().getIconHeight();
+										return preferredSize;
+									}
+								};
+								logButton.addActionListener(new LogOpener());
+								logButton.setIcon(errorIcon);
+								String tooltip = TextUtils.getText("internal_error_tooltip");
+								logButton.setToolTipText(tooltip);
+								viewController.addStatusComponent("internal_error", logButton);
+							}
+							logButton.setText(TextUtils.format("errornumber", errorCounter));
+							final JComponent statusBar = viewController.getStatusBar();
+							if(! statusBar.isVisible())
+								UIComponentVisibilityDispatcher.dispatcher(statusBar).setVisible(true); 
 						}
-						logButton.setText(TextUtils.format("errornumber", errorCounter));
 					}
+					catch (Exception e) {
+					}
+					runSubmitAfterTimeout();
 				}
-				catch (Exception e) {
-				}
-			}
-		});
-		super.publish(record);
+			});
+		}
+		if(! isDisabled)
+			super.publish(record);
 	}
 
 	private void runSubmit() {
@@ -345,8 +328,7 @@ public class ReportGenerator extends StreamHandler {
 		}
 		finally {
 			out = null;
-			reportCollected = false;
-			isRunning = false;
+			isReportGenerationInProgress = false;
 		}
 	}
 
@@ -434,9 +416,27 @@ public class ReportGenerator extends StreamHandler {
 		return null;
 	}
 
-	private void startSubmit() {
-		isRunning = true;
-		final Thread submitterThread = new Thread(new SubmitRunner(), REMOTE_LOG);
-		submitterThread.start();
+	private void runSubmitAfterTimeout() {
+		new Thread(new Runnable() {
+			
+			@Override
+			public void run() {
+				try {
+					Thread.sleep(1000);
+				} catch (InterruptedException e) {
+				}
+				Controller.getCurrentController().getViewController().invokeLater(new Runnable() {
+					public void run() {
+						if (! isDisabled) {
+							final Thread submitterThread = new Thread(new SubmitRunner(), REMOTE_LOG);
+							submitterThread.start();
+						}
+						else
+							isReportGenerationInProgress = false;
+					}
+				});
+			}
+		}).start();
+		
 	}
 }
diff --git a/freeplane_plugin_latex/src/main/java/org/freeplane/plugin/latex/Activator.java b/freeplane_plugin_latex/src/main/java/org/freeplane/plugin/latex/Activator.java
index 6084a59..c2d5805 100644
--- a/freeplane_plugin_latex/src/main/java/org/freeplane/plugin/latex/Activator.java
+++ b/freeplane_plugin_latex/src/main/java/org/freeplane/plugin/latex/Activator.java
@@ -3,10 +3,14 @@ package org.freeplane.plugin.latex;
 import java.net.URL;
 import java.util.Hashtable;
 
+import org.freeplane.features.format.FormatController;
 import org.freeplane.features.mode.Controller;
 import org.freeplane.features.mode.ModeController;
 import org.freeplane.features.mode.browsemode.BModeController;
 import org.freeplane.features.mode.mindmapmode.MModeController;
+import org.freeplane.features.text.TextController;
+import org.freeplane.features.text.mindmapmode.ConditionalContentTransformer;
+import org.freeplane.main.mindmapmode.stylemode.SModeController;
 import org.freeplane.main.osgi.IModeControllerExtensionProvider;
 import org.osgi.framework.BundleActivator;
 import org.osgi.framework.BundleContext;
@@ -22,17 +26,26 @@ public class Activator implements BundleActivator {
 	 */
 	public void start(final BundleContext context) throws Exception {
 		registerMindMapModeExtension(context);
-		registerBrowseModeExtension(context);
 	}
 
 	private void registerMindMapModeExtension(final BundleContext context) {
 		final Hashtable<String, String[]> props = new Hashtable<String, String[]>();
-		props.put("mode", new String[] { MModeController.MODENAME });
+		props.put("mode", new String[] { MModeController.MODENAME, SModeController.MODENAME });
 		context.registerService(IModeControllerExtensionProvider.class.getName(),
 		    new IModeControllerExtensionProvider() {
 			    public void installExtension(final ModeController modeController) {
-				    new LatexRegistration();
-				    addPreferencesToOptionPanel();
+					//LattexNodeHook -> Menu insert
+					final LatexNodeHook nodeHook = new LatexNodeHook();
+					modeController.getExtension(TextController.class).addTextTransformer(//
+							new ConditionalContentTransformer(new LatexRenderer(), Activator.TOGGLE_PARSE_LATEX));
+					modeController.getController().getExtension(FormatController.class).addPatternFormat(new LatexFormat());
+					modeController.getController().getExtension(FormatController.class).addPatternFormat(new UnparsedLatexFormat());
+					if (modeController.getModeName().equals("MindMap")) {
+						modeController.addAction(new InsertLatexAction(nodeHook));
+						modeController.addAction(new EditLatexAction(nodeHook));
+						modeController.addAction(new DeleteLatexAction(nodeHook));
+						addPreferencesToOptionPanel();
+					}
 			    }
 
 				private void addPreferencesToOptionPanel() {
@@ -46,17 +59,6 @@ public class Activator implements BundleActivator {
 		    }, props);
 	}
 
-	private void registerBrowseModeExtension(final BundleContext context) {
-		final Hashtable<String, String[]> props = new Hashtable<String, String[]>();
-		props.put("mode", new String[] { BModeController.MODENAME });
-		context.registerService(IModeControllerExtensionProvider.class.getName(),
-		    new IModeControllerExtensionProvider() {
-			    public void installExtension(final ModeController modeController) {
-				    new LatexRegistration();
-			    }
-		    }, props);
-	}
-
 	/*
 	 * (non-Javadoc)
 	 * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
diff --git a/freeplane_plugin_latex/src/main/java/org/freeplane/plugin/latex/LatexRegistration.java b/freeplane_plugin_latex/src/main/java/org/freeplane/plugin/latex/LatexRegistration.java
deleted file mode 100644
index 3272c7a..0000000
--- a/freeplane_plugin_latex/src/main/java/org/freeplane/plugin/latex/LatexRegistration.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- *  Freeplane - mind map editor
- *  Copyright (C) 2008 Dimitry Polivaev
- *
- *  This file author is Dimitry Polivaev
- *
- *  This program is free software: you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation, either version 2 of the License, or
- *  (at your option) any later version.
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-package org.freeplane.plugin.latex;
-
-import org.freeplane.features.format.FormatController;
-import org.freeplane.features.mode.Controller;
-import org.freeplane.features.mode.ModeController;
-import org.freeplane.features.text.TextController;
-import org.freeplane.features.text.mindmapmode.ConditionalContentTransformer;
-
-/**
- * @author Stefan Ott
- * @file LatexRegistration.java
- * @package org.freeplane.plugin.latex
- * 
- * This class registers the LaTeX plugin in Freeplane
- */
-class LatexRegistration {
-	public LatexRegistration() {
-		final ModeController modeController = Controller.getCurrentModeController();
-		//LattexNodeHook -> Menu insert
-		final LatexNodeHook nodeHook = new LatexNodeHook();
-		if (modeController.getModeName().equals("MindMap")) {
-			modeController.addAction(new InsertLatexAction(nodeHook));
-			modeController.addAction(new EditLatexAction(nodeHook));
-			modeController.addAction(new DeleteLatexAction(nodeHook));
-			modeController.getExtension(TextController.class).addTextTransformer(//
-					new ConditionalContentTransformer(new LatexRenderer(), Activator.TOGGLE_PARSE_LATEX));
-			modeController.getController().getExtension(FormatController.class).addPatternFormat(new LatexFormat());
-			modeController.getController().getExtension(FormatController.class).addPatternFormat(new UnparsedLatexFormat());
-		}
-	}
-}
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 95804a4..f20b8a1 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
@@ -294,7 +294,7 @@ public interface Proxy {
 
 		String getMiddleLabel();
 
-		/* The node without the arrow. On connectors with arrows at both ends one of the ends. */
+		/** The node without the arrow. On connectors with arrows at both ends one of the ends. */
 		Node getSource();
 
 		String getSourceLabel();
@@ -305,7 +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. */
+		/** The node with the arrow. On connectors with arrows at both ends one of the ends. */
 		Node getTarget();
 
 		String getTargetLabel();
diff --git a/gitinfo.properties b/gitinfo.properties
index e338d5c..a29563c 100644
--- a/gitinfo.properties
+++ b/gitinfo.properties
@@ -1 +1 @@
-git-revision=847a30f89b307e44f928409b7309f3e2e9638742 Dimitry Polivaev 2016-07-23 20:36:31 +0200
\ No newline at end of file
+git-revision=7cd85f18e49cb61fd98d59a5b398e82f69860d65 Dimitry Polivaev 2016-08-13 17:11:22 +0200
\ No newline at end of file
diff --git a/gitinfo.txt b/gitinfo.txt
index e338d5c..a29563c 100644
--- a/gitinfo.txt
+++ b/gitinfo.txt
@@ -1 +1 @@
-git-revision=847a30f89b307e44f928409b7309f3e2e9638742 Dimitry Polivaev 2016-07-23 20:36:31 +0200
\ No newline at end of file
+git-revision=7cd85f18e49cb61fd98d59a5b398e82f69860d65 Dimitry Polivaev 2016-08-13 17:11:22 +0200
\ No newline at end of file

-- 
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