[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