This is an automated email from the git hooks/post-receive script. fnatter-guest pushed a commit to branch master in repository freeplane.
commit daf7fc3f0fcf8915d584845c77d14c713afe43d9 Author: Felix Natter <[email protected]> Date: Sat Aug 27 13:16:08 2016 +0200 Imported Upstream version 1.5.15 --- freeplane/doc/history_en.txt | 4 ++ .../resources/default_accelerators_mac.properties | 1 + .../resources/translations/Resources_nl.properties | 59 +++++++++++----------- .../freeplane/core/util/FreeplaneIconUtils.java | 22 +++++++- .../java/org/freeplane/core/util/Quantity.java | 5 ++ .../features/attribute/AttributeRegistry.java | 3 +- .../features/icon/factory/ImageIconFactory.java | 3 +- .../org/freeplane/features/map/MapController.java | 2 + .../mindmapmode/MLocationController.java | 2 +- .../mindmapmode/MNodeStyleController.java | 4 +- .../features/text/mindmapmode/JoinNodesAction.java | 2 +- .../main/mindmapmode/UpdateCheckAction.java | 4 +- .../org/freeplane/view/swing/map/MapScroller.java | 2 + .../java/org/freeplane/view/swing/map/MapView.java | 4 ++ .../org/freeplane/view/swing/map/NodeView.java | 2 +- .../view/swing/ui/DefaultMouseWheelListener.java | 3 +- .../org/freeplane/core/util/QuantityShould.java | 7 +++ .../translations/Resources_en.properties | 37 +------------- freeplane/viewer-resources/version.properties | 2 +- .../windows-installer/Freeplane_without_Java.iss | 2 +- .../windows-portable/App/AppInfo/appinfo.ini | 4 +- .../scripts/installScriptAddOn.groovy | 9 ++-- gitinfo.properties | 2 +- gitinfo.txt | 2 +- 24 files changed, 100 insertions(+), 87 deletions(-) diff --git a/freeplane/doc/history_en.txt b/freeplane/doc/history_en.txt index a3c65f7..1e91b72 100644 --- a/freeplane/doc/history_en.txt +++ b/freeplane/doc/history_en.txt @@ -1,4 +1,8 @@ =============================== +1.5.15 +=============================== + +=============================== 1.5.14 =============================== Fix latex export and support latex in style editor diff --git a/freeplane/resources/default_accelerators_mac.properties b/freeplane/resources/default_accelerators_mac.properties index 4ab76da..3d4de57 100644 --- a/freeplane/resources/default_accelerators_mac.properties +++ b/freeplane/resources/default_accelerators_mac.properties @@ -3,3 +3,4 @@ acceleratorFor.MindMap/NewParentNode=shift TAB acceleratorFor.MindMap/NewSummaryAction=alt shift TAB acceleratorFor.MindMap/SelectNoteAction=meta PERIOD acceleratorFor.MindMap/OpenLastOpenedAction_1=meta 1 +acceleratorFor.MindMap/DeleteAction=BACK_SPACE diff --git a/freeplane/resources/translations/Resources_nl.properties b/freeplane/resources/translations/Resources_nl.properties index 75b04c5..51d83bb 100644 --- a/freeplane/resources/translations/Resources_nl.properties +++ b/freeplane/resources/translations/Resources_nl.properties @@ -168,12 +168,12 @@ branch=Tak browse=Verkennen... calendar_attributes_panel=Agenda en attributen calendar_panel=Agenda -can_not_clone_encrypted_node=versleutelde knooppunten kunnen niet gekopieerd worden +can_not_clone_encrypted_node=Versleutelde knopen kunnen niet gekloond worden can_not_connect_to_info_server=Kan geen verbinding maken met de server can_not_delete_predefined_style=Kan voorgedefinieerde opmaakstijl niet wissen can_not_delete_root_style=Kan opmaakstijl stamknoop niet wissen can_not_delete_style_group=Kan sijlgroep niet wissen -can_not_encrypt_cloned_node=gekopieerde knopen kunnen niet versleuteld worden +can_not_encrypt_cloned_node=Gekloonde knopen kunnen niet versleuteld worden can_not_save_key_set=Kan de set met sneltoetsen niet bewaren cancel=&Annuleren CancelAction.text=Annuleren @@ -206,7 +206,7 @@ choose_node_background_color=Kies achtergrondkleur knoop: choose_node_color=Kies tekstkleur voor de knoop: ClearLinkAnchorAction.text=Wissen koppelingsanker ClearLinkAnchorAction.tooltip=<html>wis eerder ingesteld knoopanker</html> -CloneAction.text=invoegen van kopie +CloneAction.text=Plakken kloon close_btn=Sluiten CloseAction.text=Sluiten mindmap cloud_shapes=cloud vormen @@ -226,7 +226,7 @@ connector_label=Label bij verbindingslijn connector_lines=Lijnvorm verbindingslijn connector_shapes=Bochtvorm verbindingslijn ConnectorColorAction.text=Kleur verbindingslijn... -ConvertCloneToIndependentNodeAction.text=verwijder kopie +ConvertCloneToIndependentNodeAction.text=Ontklonen CopyAction.text=Kopi\u00EBren CopyAction.tooltip=Kopieer geselecteerde tak CopyAttributes.text=Kopi\u00EBren attributen @@ -380,7 +380,7 @@ FaqOpenURLAction.text=FAQ file=&Bestand file_already_exists=Het bestand {0} bestaat al. Wil je het overschrijven? file_not_found=Bestand {0} niet gevonden -FileListFlavorHandler=Hyperlinks naar bestanden +FileListFlavorHandler=Snelkoppelingen naar bestanden FileProperties_BranchLeafCount=Aaantal bladknopen in geselecteerde tak(ken) FileProperties_BranchNodeCount=Aantal knopen in geselecteerde tak(ken): FileProperties_ChangesSinceLastSave=Wijzigingen na laatste keer bewaren: @@ -479,7 +479,7 @@ FoldOneLevelAction.text=E\u00E9n niveau dichtvouwen FoldOneLevelAction.tooltip=<html> E\u00E9n niveau dichtvouwen.</html> follow_clone=Binnen ''{0}'' follow_graphical_link=Ga naar ''{0}'' -FollowLinkAction.text=Openen hyperlink +FollowLinkAction.text=Openen snelkoppeling font=Lettertype FontFamilyAction.text=Lettertypenaam (font) FontSizeAction.text=Lettertypegrootte @@ -681,7 +681,7 @@ IconSelectionPlugin.tooltip=<html> Hier kun je een pictogram kiezen..</html> image_covertLink=Converteer koppeling naar afbeelding ImageFlavorHandler=Afbeelding (gebruik apart bestand) import=Importeren -import_linked_branch_no_link=De geselecteerde knoop heeft geen hyperlink om de afbeelding te importeren. +import_linked_branch_no_link=De geselecteerde knoop heeft geen snelkoppeling om de afbeelding te importeren. ImportAction.text=Importeren ImportBranchAction.text=Importeren volledige tak... ImportExplorerFavoritesAction.text=Importeren Explorer-favorieten... @@ -783,14 +783,14 @@ map_locked_by_open=De mindmap {0} wordt al bewerkt door gebruiker {1} en wordt a map_locked_by_save_as=De mindmap {0} wordt al bewerkt door gebruiker {1}. De actie bewaren-als is afgebroken. map_not_saved=De mindmap was niet opgeslagen. MapBackgroundClearAction.text=Wissen -MapBackgroundColorAction.text=Achtergrondkleur mindmap +MapBackgroundColorAction.text=Achtergrondkleur MapBackgroundImageAction.text=Achtergrondafbeelding... maps=Mindmaps MaxNodeWidth.text=Bepaal maximum knoopbreedte menu_applyStyle=Toepassen stijl menu_attributes=Attributen menu_clouds=Wolk -menu_copy=Kopieren +menu_copy=Kopi\u00EBren menu_coreFormat=Knoopkern menu_details=Knoopuitbreiding menu_displayAttributes=Knoopattributen @@ -913,8 +913,8 @@ NodeUpAction.text=Knoop naar boven nonboldify_branch=Vet uitschakelen nonitalicise_branch=Schuin uitschakelen normal=Normaal -not_saved_for_image_error=De mindmap moet opgeslagen worden voordat je een afbeelding kunt toevoegen met de bestandskiezer of via een hyperlink -not_saved_for_link_error=De mindmap moet zijn voor je met de bestandskiezer een hyperlink kunt toevoegen +not_saved_for_image_error=De mindmap moet opgeslagen worden voordat je een afbeelding kunt toevoegen met de bestandskiezer of via een snelkoppeling +not_saved_for_link_error=De mindmap moet zijn voor je met de bestandskiezer een snelkoppeling kunt toevoegen note_window_location=Positie notitiehulpvenster notes=Knoopnotitie NotificationOptions.CLOSE=Sluit @@ -924,7 +924,7 @@ NotificationOptions.SELECT_NODE=Ga naar herinnering ok=OK OKAction.text=OK OnlineReference.text=Online documentatiemindmaps -open_asMindMap=Miindmap +open_asMindMap=Mindmap OpenAction.text=Openen mindmap... OpenFreeplaneSiteAction.text=Thuispagina op Internet van Freeplane OpenMapsAddLocation.text=Toevoegen OpenMap locatie... @@ -1026,7 +1026,7 @@ OptionPanel.edgestyle.tooltip=Opmaak van de tak naar de ouderknoop; deze wordt o OptionPanel.edgewidth=Dikte tak OptionPanel.edgewidth.tooltip=Opmaak van de tak naar de ouderknoop; deze wordt ook toegepast naar de eigen kindknopen OptionPanel.EDIT_CURRENT=Inhoud overschrijven -OptionPanel.edit_on_double_click=Bewerkinsmode na dubbelklikken +OptionPanel.edit_on_double_click=Bewerkingsmode na dubbelklikken OptionPanel.editor_extra_width=Extra diktestap OptionPanel.editor_extra_width.tooltip=<html>Bepaalt het aantal pixels waarmee de knoopbreedte groter wordt als de tekst te breed is..</html> OptionPanel.el=Grieks \u0395\u03BB\u03BB\u03B7\u03BD\u03B9\u03BA\u03AC @@ -1077,7 +1077,7 @@ OptionPanel.groovy_editor_font.tooltip=Gebruik 'Dialog' of 'Monospaced'als je un OptionPanel.groovy_editor_font_size=Lettergrootte voor Groovy Syntax Highlighting Editor OptionPanel.gtk=Gtk OptionPanel.hide_edge=Verborgen -OptionPanel.highlight_formulas=Accentueren furmules +OptionPanel.highlight_formulas=Accentueren formules OptionPanel.horizontal=Rechte bocht OptionPanel.hr=Kroatisch / Hrvatski OptionPanel.HTML=HTML @@ -1120,7 +1120,7 @@ OptionPanel.latex_macros=Algemene LaTeX Macros OptionPanel.layout_map_on_text_change=Map layout bij bewerken OptionPanel.layout_map_on_text_change.tooltip=Schakel uit voor betere werking OptionPanel.linear=Rechte lijn -OptionPanel.links=Hyperlinks +OptionPanel.links=Snelkoppelingen OptionPanel.links.tooltip=<html> Stel kyperlinks in als relatief of absoluuut</html> OptionPanel.load_folding=Bij openen OptionPanel.load_folding_from_map_default_fold_all=Uit mindmap overnemen om alles open/dicht te vouwen @@ -1152,7 +1152,7 @@ OptionPanel.nodebackgroundcolor.tooltip=Achtergrondkleur knoop indien niet gesel OptionPanel.nodecolor=Tekstkleur OptionPanel.nodecolor.tooltip=Tekstkleur knoop indien niet geselecteerd. OptionPanel.nodefontbold=Vet lettertype -OptionPanel.nodefonthyperlink=Hyperlink +OptionPanel.nodefonthyperlink=Snelkoppeling OptionPanel.nodefontitalic=Schuin lettertype OptionPanel.nodefontname=Naam lettertype OptionPanel.nodefontsize=Grootte lettertype @@ -1249,7 +1249,7 @@ OptionPanel.separator.formula=Plugin voor formules OptionPanel.separator.General=Algemeen OptionPanel.separator.html_export=HTML-exporteren OptionPanel.separator.html_import=HTML Importeren -OptionPanel.separator.hyperlink_types=Hyperlinktypes +OptionPanel.separator.hyperlink_types=Types snelkoppelingen OptionPanel.separator.icon_properties=Pictogrammen OptionPanel.separator.icons=Pictogrammen in "Selecteren pictogram..." OptionPanel.separator.initial_map_size=Initi\u00EBle grootte mindmap @@ -1306,7 +1306,7 @@ OptionPanel.single_backup_directory=Gebruik dezelfde directory voor back-up best OptionPanel.single_backup_directory.tooltip=<html> Als bestanden van backups en automatisch bewaren in bijelkaar in een directory geplaatst moeten worden, in plaats van in een subdirectory in de directory waarin de mindmap staat. </html> OptionPanel.single_backup_directory_path=Backup directory (als bovenstaande optie geselecteerd is) OptionPanel.single_backup_directory_path.tooltip=<html> Gaat boven defaut <freeplaneuserdir>/.backup</html> -OptionPanel.single_instance=Open bestanden van lopende instantie +OptionPanel.single_instance=Open bestanden in een lopende instantie OptionPanel.single_instance_force=Vermijd in ieder geval tweede instantie OptionPanel.single_instance_force.tooltip=Voorkom tweede instantie ook als geen file wordt geladen OptionPanel.sk=Slovaaks / sloven\u010Dina @@ -1327,10 +1327,10 @@ OptionPanel.standardcloudestyle=Standaard wolkstijl OptionPanel.standardcloudestyle.tooltip=<html> De standaard wolkstijl. Op dit moment is enkel 'bocht' mogelijk</html> OptionPanel.standarddrawrectangleforselection=Tonen geselecteerde knopen met een omlijning OptionPanel.standarddrawrectangleforselection.tooltip=<html> Markeren geselecteerde knopen met een omlijning.</html> -OptionPanel.standardlinkcolor=Standaard kleur van een hyperlink -OptionPanel.standardlinkcolor.tooltip=<html> De standaardkleur van de hyperlink in html-notatie </html> -OptionPanel.standardlinkestyle=Standaardstijl hyperlink -OptionPanel.standardlinkestyle.tooltip=<html> De standaarstijl voor hyperlink: op dit moment wordt alleen 'bocht' ondersteund</html> +OptionPanel.standardlinkcolor=Standaard kleur voor een snelkoppeling +OptionPanel.standardlinkcolor.tooltip=<html> De standaardkleur van de snelkoppeling in html-notatie </html> +OptionPanel.standardlinkestyle=Standaardstijl snelkoppeling +OptionPanel.standardlinkestyle.tooltip=<html> De standaarstijl voor snelkoppeling: op dit moment wordt alleen 'bocht' ondersteund</html> OptionPanel.standardselectednodecolor=Standaardkleur geselecteerde knoop OptionPanel.standardselectednodecolor.tooltip=<html> De standaard tekstkleur indien geselecteerd. In html-notatie (#RRGGBB in hex waarden) </html> OptionPanel.standardselectednoderectanglecolor=Kleur knoopomlijning geselecteerde knoop @@ -1456,7 +1456,7 @@ plugins/TimeManagement.xml_Replace_All=Alles vervangen plugins/TimeManagement.xml_Replace_Selected=Selectie vervangen plugins/TimeManagement.xml_Select=Selecteren plugins/TimeManagement.xml_todayButton=Vandaag -plugins/TimeManagement.xml_WindowTitle=Agenda +plugins/TimeManagement.xml_WindowTitle=Herinneringen plugins/TimeManagement.xml_WindowTitle_All_Nodes=Zoeken en vervangen preferences=Voorkeuren print_preview_title=Afdrukvoorbeeld @@ -1499,7 +1499,7 @@ RemoveIconAction.text=Verwijderen laatste pictogram RemoveNoteAction.text=Verwijderen knoopnotitie RemoveNoteAction.tooltip=<html> Verwijderen inhoud van notitievenster.</html> rename=&Hernoemen -repair_link=Herstellen hyperlink +repair_link=Herstellen snelkoppeling repair_link_question=Kan de gekoppelde mindmap niet laden. Wilt u de koppeling handmatig herstellen? replace=Vervangen replace_shortcut_question=Deze sneltoets is op dit moment verbonden mer\n {0}.\nDeze koppeling verwijderen ? @@ -1528,6 +1528,7 @@ script_execution_disabled=Geen uivoering van script ScriptEditor.text=Bewerken scripts... ScriptEditor.tooltip=Laat toe om grotere scripts te maken in Freeplane. ScriptEditorPanel.changed_cancel=De scripts werden veranderd. Ben je zeker dat je de aanpassingen niet wil bewaren ? +scripting=Scripts scripting_api_generator_legend=Legenda scripting_api_generator_proxy=Proxy scripting_api_generator_title=API voor scripts @@ -1548,13 +1549,13 @@ selection_method_direct=Aanwijzen om te selecteren SelectNoteAction.text=Bewerken notitiehulpvenster SelectNoteAction.tooltip=Wissel naar/van notitievenster set_accelerator_on_next_click_action=Om eennieuwe sneltoets toe te wijzen: druk op 'Ctr' tijdens het aankikken van het commando. -SetAccelerator.dialogTitle=Definitie snelkoppeling +SetAccelerator.dialogTitle=Definitie sneltoets SetAccelerator.keystrokeDetected=Toets ''{0}'' is niet aan een menu item toegewezen. SetAcceleratorOnNextClickAction.text=Toewijzen sneltoets... SetImageByFileChooserAction.text=Toevoegen afbeelding of converteren link... SetLinkAnchorAction.text=Zetten koppelingsanker -SetLinkAnchorAction.tooltip=<html>instellen geselekteerde knoop als anker voor later te<br/>maken van een hyperlink tussen knopen (ook tussen mindmaps). -SetLinkAnchorAction.tooltip_anchored=<html>instellen geselekteerde knoop als anker voor later te<br/>maken hyperlink tussen knopen. Huidig anker:<br/>{0} +SetLinkAnchorAction.tooltip=<html>instellen geselekteerde knoop als anker voor later te<br/>maken snelkoppeling met andere knoop of mindmap. +SetLinkAnchorAction.tooltip_anchored=<html>instellen geselekteerde knoop als anker voor later te<br/>maken snelkoppeling met andere knoop of mindmap. Huidig anker:<br/>{0} SetLinkByFileChooserAction.text=Koppeling kiezen... SetLinkByTextFieldAction.text=Koppeling typen of wijzigen... SetNodeLink.text=Maak knoopkoppeling... @@ -1799,9 +1800,9 @@ summary_nodes=Groepsknopen summary_not_possible=Kan voor huidige selectie geen groepsknoop maken svg=SVG template_dir=Standaard mindmapstijlen -TimeListAction.text=Managen taken... +TimeListAction.text=Taakbeheer... TimeListAction.tooltip=Toont alle geplande herinneringen en de bijhorende knopen. -TimeManagementAction.text=Managen tijd... +TimeManagementAction.text=Agenda... TimeManagementAction.tooltip=<html> Start de agendamodule.</html> ToggleChildrenFoldedAction.text=Kleinkinderen open/dichtvouwen ToggleDetailsAction.text=Tonen knoopdetails diff --git a/freeplane/src/main/java/org/freeplane/core/util/FreeplaneIconUtils.java b/freeplane/src/main/java/org/freeplane/core/util/FreeplaneIconUtils.java index 953c44f..2e26e38 100644 --- a/freeplane/src/main/java/org/freeplane/core/util/FreeplaneIconUtils.java +++ b/freeplane/src/main/java/org/freeplane/core/util/FreeplaneIconUtils.java @@ -1,5 +1,8 @@ package org.freeplane.core.util; +import java.net.URL; +import java.security.AccessController; +import java.security.PrivilegedAction; import java.util.ArrayList; import java.util.List; @@ -31,11 +34,26 @@ public class FreeplaneIconUtils { } public static ImageIcon createImageIcon(final String resourcePath) { - return new ImageIcon(ResourceController.getResourceController().getResource(resourcePath)); + final URL resourceUrl = ResourceController.getResourceController().getResource(resourcePath); + return createImageIcon(resourceUrl); } public static ImageIcon createImageIconByResourceKey(final String resourceKey) { final ResourceController resourceController = ResourceController.getResourceController(); - return new ImageIcon(resourceController.getResource(resourceController.getProperty(resourceKey))); + final URL resourceUrl = resourceController.getResource(resourceController.getProperty(resourceKey)); + return createImageIcon(resourceUrl); + } + + public static ImageIcon createImageIconPrivileged(final URL resourceUrl) { + return AccessController.doPrivileged(new PrivilegedAction<ImageIcon>() { + @Override + public ImageIcon run() { + return createImageIcon(resourceUrl); + } + }); + } + + private static ImageIcon createImageIcon(final URL resourceUrl) { + return new ImageIcon(resourceUrl); } } diff --git a/freeplane/src/main/java/org/freeplane/core/util/Quantity.java b/freeplane/src/main/java/org/freeplane/core/util/Quantity.java index 3c3eb1e..7a031ed 100644 --- a/freeplane/src/main/java/org/freeplane/core/util/Quantity.java +++ b/freeplane/src/main/java/org/freeplane/core/util/Quantity.java @@ -80,6 +80,11 @@ public class Quantity <U extends Enum<U> & Convertible >{ throw new IllegalStateException("non negative value required"); } + public static <U extends Enum<U> & Convertible> void assertNonNegativeOrNull(Quantity<U> quantity) { + if(quantity != null) + quantity.assertNonNegative(); + } + public Quantity<U> add(Quantity<U> second) { if(unit == second.unit) return new Quantity<U>(value + second.value, unit); 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 48b0a54..d5e99a1 100644 --- a/freeplane/src/main/java/org/freeplane/features/attribute/AttributeRegistry.java +++ b/freeplane/src/main/java/org/freeplane/features/attribute/AttributeRegistry.java @@ -150,7 +150,8 @@ public class AttributeRegistry implements IExtension { } public void fireStateChanged() { - for (ChangeListener l : changeListeners) { + final ChangeListener[] currentChangeListeners = changeListeners.toArray(new ChangeListener[changeListeners.size()]); + for (ChangeListener l : currentChangeListeners) { if (changeEvent == null) { changeEvent = new ChangeEvent(this); } diff --git a/freeplane/src/main/java/org/freeplane/features/icon/factory/ImageIconFactory.java b/freeplane/src/main/java/org/freeplane/features/icon/factory/ImageIconFactory.java index 8dbe24e..f619acd 100644 --- a/freeplane/src/main/java/org/freeplane/features/icon/factory/ImageIconFactory.java +++ b/freeplane/src/main/java/org/freeplane/features/icon/factory/ImageIconFactory.java @@ -25,6 +25,7 @@ import java.util.WeakHashMap; import javax.swing.ImageIcon; import org.freeplane.core.resources.ResourceController; +import org.freeplane.core.util.FreeplaneIconUtils; import org.freeplane.features.icon.UIIcon; /** @@ -56,7 +57,7 @@ public final class ImageIconFactory { result = ICON_CACHE.get(url); } else { - result = new ImageIcon(url); + result = FreeplaneIconUtils.createImageIconPrivileged(url); ICON_CACHE.put(url, result); } } 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 95f724e..258c757 100644 --- a/freeplane/src/main/java/org/freeplane/features/map/MapController.java +++ b/freeplane/src/main/java/org/freeplane/features/map/MapController.java @@ -650,6 +650,8 @@ public class MapController extends SelectionController implements IExtension{ */ public NodeModel getNodeFromID(final String nodeID) { final MapModel map = Controller.getCurrentController().getMap(); + if(map == null) + return null; final NodeModel node = map.getNodeForID(nodeID); return node; } diff --git a/freeplane/src/main/java/org/freeplane/features/nodelocation/mindmapmode/MLocationController.java b/freeplane/src/main/java/org/freeplane/features/nodelocation/mindmapmode/MLocationController.java index 6441ce0..d62dff2 100644 --- a/freeplane/src/main/java/org/freeplane/features/nodelocation/mindmapmode/MLocationController.java +++ b/freeplane/src/main/java/org/freeplane/features/nodelocation/mindmapmode/MLocationController.java @@ -108,7 +108,7 @@ public class MLocationController extends LocationController { public void setMinimalDistanceBetweenChildren(NodeModel node, final Quantity<LengthUnits> minimalDistanceBetweenChildren){ if(node != null){ - minimalDistanceBetweenChildren.assertNonNegative(); + Quantity.assertNonNegativeOrNull(minimalDistanceBetweenChildren); final IActor actor = new ChangeVGapActor(node, minimalDistanceBetweenChildren); Controller.getCurrentModeController().execute(actor, node.getMap()); } diff --git a/freeplane/src/main/java/org/freeplane/features/nodestyle/mindmapmode/MNodeStyleController.java b/freeplane/src/main/java/org/freeplane/features/nodestyle/mindmapmode/MNodeStyleController.java index 57f97fc..fe2004b 100644 --- a/freeplane/src/main/java/org/freeplane/features/nodestyle/mindmapmode/MNodeStyleController.java +++ b/freeplane/src/main/java/org/freeplane/features/nodestyle/mindmapmode/MNodeStyleController.java @@ -588,7 +588,7 @@ public class MNodeStyleController extends NodeStyleController { modeController.execute(actor, node.getMap()); } public void setMinNodeWidth(final NodeModel node, final Quantity<LengthUnits> minNodeWidth) { - minNodeWidth.assertNonNegative(); + Quantity.assertNonNegativeOrNull(minNodeWidth); final NodeSizeModel sizeModel = createOwnSizeModel(node); final Quantity<LengthUnits> oldValue = NodeSizeModel.getMinNodeWidth(node); final IActor actor = new IActor() { @@ -616,7 +616,7 @@ public class MNodeStyleController extends NodeStyleController { } public void setMaxNodeWidth(final NodeModel node, final Quantity<LengthUnits> maxNodeWidth) { - maxNodeWidth.assertNonNegative(); + Quantity.assertNonNegativeOrNull(maxNodeWidth); final NodeSizeModel sizeModel = createOwnSizeModel(node); final Quantity<LengthUnits> oldValue = NodeSizeModel.getMaxNodeWidth(node); final IActor actor = new IActor() { diff --git a/freeplane/src/main/java/org/freeplane/features/text/mindmapmode/JoinNodesAction.java b/freeplane/src/main/java/org/freeplane/features/text/mindmapmode/JoinNodesAction.java index c420503..4fa84a7 100644 --- a/freeplane/src/main/java/org/freeplane/features/text/mindmapmode/JoinNodesAction.java +++ b/freeplane/src/main/java/org/freeplane/features/text/mindmapmode/JoinNodesAction.java @@ -44,7 +44,7 @@ class JoinNodesAction extends AFreeplaneAction { } public void actionPerformed(final ActionEvent e) { - final List<NodeModel> orderedSelection = Controller.getCurrentController().getSelection().getOrderedSelection(); + final List<NodeModel> orderedSelection = Controller.getCurrentController().getSelection().getSortedSelection(false); final List<NodeModel> selectedNodes = new ArrayList<NodeModel>(orderedSelection); MTextController.getController().joinNodes(selectedNodes, separator); } diff --git a/freeplane/src/main/java/org/freeplane/main/mindmapmode/UpdateCheckAction.java b/freeplane/src/main/java/org/freeplane/main/mindmapmode/UpdateCheckAction.java index 17a66d8..18bb402 100644 --- a/freeplane/src/main/java/org/freeplane/main/mindmapmode/UpdateCheckAction.java +++ b/freeplane/src/main/java/org/freeplane/main/mindmapmode/UpdateCheckAction.java @@ -55,7 +55,7 @@ class UpdateCheckAction extends AFreeplaneAction { * the sid. */ private static final long serialVersionUID = 1L; - private static final int TWO_DAYS = 1 * 24 * 60 * 60 * 1000; + private static final int ONE_DAY = 1 * 24 * 60 * 60 * 1000; private static final String UPDATE_BUTTON_LOCATION = "main_toolbar_update"; // /** // * the url where to download the newest version @@ -274,7 +274,7 @@ class UpdateCheckAction extends AFreeplaneAction { final Date now = new Date(); final long nextCheckMillis = ResourceController.getResourceController().getLongProperty(LAST_UPDATE_CHECK_TIME, 0) - + TWO_DAYS; + + ONE_DAY; final Date nextCheckDate = new Date(nextCheckMillis); if (now.before(nextCheckDate)) { final FreeplaneVersion knownNewVersion = getKnownNewVersion(); diff --git a/freeplane/src/main/java/org/freeplane/view/swing/map/MapScroller.java b/freeplane/src/main/java/org/freeplane/view/swing/map/MapScroller.java index bc4d309..8a8d965 100644 --- a/freeplane/src/main/java/org/freeplane/view/swing/map/MapScroller.java +++ b/freeplane/src/main/java/org/freeplane/view/swing/map/MapScroller.java @@ -161,6 +161,8 @@ class MapScroller { } private void scrollNodeToVisible(final NodeView node, final int extraWidth) { + if(node == null) + return; if(scrollingDirective == ScrollingDirective.DONE || scrollingDirective == ScrollingDirective.ANCHOR) scrollingDirective = ScrollingDirective.MAKE_NODE_VISIBLE; if (scrolledNode != null && scrollingDirective != ScrollingDirective.MAKE_NODE_VISIBLE) { 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 b946e39..ba10034 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 @@ -1168,6 +1168,10 @@ public class MapView extends JPanel implements Printable, Autoscroll, IMapChange } else backgroundComponent = (JComponent) factory.createViewer(uri, zoom); + if(backgroundComponent == null) { + LogUtils.warn("no viewer created for " + uri); + return; + } ((ScalableComponent) backgroundComponent).setCenter(true); ((ScalableComponent)backgroundComponent).setImageLoadingListener(new ImageLoadingListener() { public void imageLoaded() { 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 7541757..a4ae1ae 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 @@ -900,7 +900,7 @@ public class NodeView extends JComponent implements INodeView { } public void onNodeDeleted(NodeDeletionEvent nodeDeletionEvent) { - if (isFolded) { + if (nodeDeletionEvent.index >= getComponentCount() - 1) { return; } final boolean preferredChildIsLeft = preferredChild != null && preferredChild.isLeft(); diff --git a/freeplane/src/main/java/org/freeplane/view/swing/ui/DefaultMouseWheelListener.java b/freeplane/src/main/java/org/freeplane/view/swing/ui/DefaultMouseWheelListener.java index 0eef5b8..31d9363 100644 --- a/freeplane/src/main/java/org/freeplane/view/swing/ui/DefaultMouseWheelListener.java +++ b/freeplane/src/main/java/org/freeplane/view/swing/ui/DefaultMouseWheelListener.java @@ -49,9 +49,8 @@ public class DefaultMouseWheelListener implements MouseWheelListener { public void mouseWheelMoved(final MouseWheelEvent e) { final MapView mapView = (MapView) e.getSource(); final ModeController mController = mapView.getModeController(); - if (mController.isBlocked()) { + if (mController.isBlocked() || Controller.getCurrentController().getMap() != mapView.getModel()) return; - } final Set<IMouseWheelEventHandler> registeredMouseWheelEventHandler = mController.getUserInputListenerFactory() .getMouseWheelEventHandlers(); for (final IMouseWheelEventHandler handler : registeredMouseWheelEventHandler) { diff --git a/freeplane/src/test/java/org/freeplane/core/util/QuantityShould.java b/freeplane/src/test/java/org/freeplane/core/util/QuantityShould.java index a61a0e4..cc38fdf 100644 --- a/freeplane/src/test/java/org/freeplane/core/util/QuantityShould.java +++ b/freeplane/src/test/java/org/freeplane/core/util/QuantityShould.java @@ -129,4 +129,11 @@ public class QuantityShould { Quantity<Metrics> zero = new Quantity<Metrics>(0, Metrics.cm); zero.assertNonNegative(); } + + @Test() + public void nullQuantity_passesOnCheckForNonNegative() throws Exception { + Quantity.assertNonNegativeOrNull(null); + } + } + diff --git a/freeplane/viewer-resources/translations/Resources_en.properties b/freeplane/viewer-resources/translations/Resources_en.properties index a0095c9..3f20969 100644 --- a/freeplane/viewer-resources/translations/Resources_en.properties +++ b/freeplane/viewer-resources/translations/Resources_en.properties @@ -373,7 +373,7 @@ ExternalImageAddAction.text=Add image... ExternalImageChangeAction.text=Change image... ExternalImageRemoveAction.text=Remove image ExtractLinkFromTextAction.text=Convert link from within text -ExtractLinkFromTextAction.tooltip=Set hyper link from address n node text +ExtractLinkFromTextAction.tooltip=Set hyper link from address in node text extras=&Tools f_button_unassigned=<no action> FaqOpenURLAction.text=FAQ @@ -1848,40 +1848,7 @@ styles.subtopic=Subtopic styles.topic=Topic styles.user-defined=User defined styles styles.website=Website -styles_background_html=\n \ -<html>\n \ - <head>\n \ - </head>\n \ - <body>\n \ - <table width="800" style="text-align: left; vertical-align: top">\n \ - <tr valign="top">\n \ - <th>\n \ - <div style="margin-top: 0pt; margin-right: 0pt; margin-bottom: 0pt; margin-left: 0pt; text-align: center; font-weight: bold">\n \ - About this style set\n \ - </div>\n \ - <div style="text-align: left; font-weight: normal">\n \ - <div style="margin: 3pt">\n \ - This standard was developed after 11 years pedagogy research about how to make the process of knowledge easier and faster.\n \ - </div>\n \ - <div style="margin: 3pt">\n \ - It aims to make the process of assimilating, processing, absorbing, understanding domain and mastering knowledge, information and ideas as fast and easy as possible.\n \ - </div>\n \ - <div style="margin: 3pt">\n \ - It has been developed by Jonas Batista (Brazil).\n \ - You can find more information at: <a href="http://www.jonasbatista.com.br/">www.jonasbatista.com.br/ </a>\n \ - </div>\n \ - </div>\n \ - </th>\n \ - <th>\n \ - <img src="freeplaneresource:/images/JonasBatista.jpg"/>\n \ - <div style="text-align: center">\n \ - Jonas Batista<br/>\n \ - </div>\n \ - </th>\n \ - </tr>\n \ - </table>\n \ - </body>\n \ -</html> +styles_background_html=\n <html>\n <head>\n </head>\n <body>\n <table width="800" style="text-align: left; vertical-align: top">\n <tr valign="top">\n <th>\n <div style="margin-top: 0pt; margin-right: 0pt; margin-bottom: 0pt; margin-left: 0pt; text-align: center; font-weight: bold">\n About this style set\n </div>\n <div style="text-align: left; font-weight: normal">\n <div style="margin: 3pt">\n This standard was developed after 11 years pedagogy research about how to make the process o [...] styles_menu=Available styles submenu_keystroke_in_use_error=Keystroke {0} can not be used for submenu {1}. Keystroke removed. summary_nodes=Summary nodes diff --git a/freeplane/viewer-resources/version.properties b/freeplane/viewer-resources/version.properties index f10fb89..22b25d1 100644 --- a/freeplane/viewer-resources/version.properties +++ b/freeplane/viewer-resources/version.properties @@ -1,2 +1,2 @@ -freeplane_version=1.5.14 +freeplane_version=1.5.15 freeplane_version_status= diff --git a/freeplane_framework/windows-installer/Freeplane_without_Java.iss b/freeplane_framework/windows-installer/Freeplane_without_Java.iss index aac352b..7885b3d 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.14" +#define MyVersion "1.5.15" #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 2ec5466..a6a6e7e 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.14.1 -DisplayVersion=1.5.14 +PackageVersion=1.5.15.1 +DisplayVersion=1.5.15 [SpecialPaths] Plugins=NONE diff --git a/freeplane_plugin_script/scripts/installScriptAddOn.groovy b/freeplane_plugin_script/scripts/installScriptAddOn.groovy index 44c1a7a..71ca4af 100644 --- a/freeplane_plugin_script/scripts/installScriptAddOn.groovy +++ b/freeplane_plugin_script/scripts/installScriptAddOn.groovy @@ -111,15 +111,16 @@ def checkFreeplaneVersion(Map configMap) { terminate(textUtils.format('addons.installer.too.new', currentVersion, versionTo)) } -def parseFreeplaneVersion(String propertyName, String versionString) { +// version could be a FormattedObject +def parseFreeplaneVersion(String propertyName, Object version) { try { - if (versionString) - return FreeplaneVersion.getVersion(versionString.replaceFirst('^v', '')) + if (version) + return FreeplaneVersion.getVersion(version.toString().replaceFirst('^v', '')) return null } catch (Exception e) { e.printStackTrace() - mapStructureAssert(false, textUtils.format('addons.installer.freeplaneversion.format.error', propertyName, versionString)) + mapStructureAssert(false, textUtils.format('addons.installer.freeplaneversion.format.error', propertyName, version)) } } diff --git a/gitinfo.properties b/gitinfo.properties index a29563c..7b3786d 100644 --- a/gitinfo.properties +++ b/gitinfo.properties @@ -1 +1 @@ -git-revision=7cd85f18e49cb61fd98d59a5b398e82f69860d65 Dimitry Polivaev 2016-08-13 17:11:22 +0200 \ No newline at end of file +git-revision=f4eeab8f72ddb6eee3ce419ba60c44a50045a176 Volker Boerchers 2016-08-18 23:51:01 +0200 \ No newline at end of file diff --git a/gitinfo.txt b/gitinfo.txt index a29563c..7b3786d 100644 --- a/gitinfo.txt +++ b/gitinfo.txt @@ -1 +1 @@ -git-revision=7cd85f18e49cb61fd98d59a5b398e82f69860d65 Dimitry Polivaev 2016-08-13 17:11:22 +0200 \ No newline at end of file +git-revision=f4eeab8f72ddb6eee3ce419ba60c44a50045a176 Volker Boerchers 2016-08-18 23:51:01 +0200 \ No newline at end of file -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/freeplane.git _______________________________________________ pkg-java-commits mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-java-commits

