diff --git a/diylc/diylc-core/src/org/diylc/presenter/update.xml b/diylc/diylc-core/src/org/diylc/presenter/update.xml
index 975952f2..3b1a8dab 100644
--- a/diylc/diylc-core/src/org/diylc/presenter/update.xml
+++ b/diylc/diylc-core/src/org/diylc/presenter/update.xml
@@ -3241,5 +3241,21 @@
https://github.com/bancika/diy-layout-creator/releases
+
+
+ 4
+ 11
+ 0
+
+ 2020-11-19 00:00:00.000 CET
+
+
+
+ NEW_FEATURE
+ macOS: added quick action toolbar that was already available for other platforms
+
+
+ https://github.com/bancika/diy-layout-creator/releases
+
diff --git a/diylc/diylc-swing/build.xml b/diylc/diylc-swing/build.xml
index bbae8479..6fefedc7 100644
--- a/diylc/diylc-swing/build.xml
+++ b/diylc/diylc-swing/build.xml
@@ -10,7 +10,7 @@
-
+
diff --git a/diylc/diylc-swing/src/org/diylc/swing/gui/MainFrame.java b/diylc/diylc-swing/src/org/diylc/swing/gui/MainFrame.java
index b884b6ce..2aa83a37 100644
--- a/diylc/diylc-swing/src/org/diylc/swing/gui/MainFrame.java
+++ b/diylc/diylc-swing/src/org/diylc/swing/gui/MainFrame.java
@@ -249,25 +249,26 @@ public class MainFrame extends JFrame implements ISwingUI {
Container c = new Container();
c.setLayout(new BorderLayout());
- centerPanel = new JPanel(new BorderLayout());
+ centerPanel = new JPanel();
+ centerPanel.setLayout(new BoxLayout(centerPanel, BoxLayout.Y_AXIS));
c.add(centerPanel, BorderLayout.CENTER);
- topPanel = new JPanel();
- topPanel.setLayout(new BoxLayout(topPanel, BoxLayout.Y_AXIS));
- c.add(topPanel, BorderLayout.NORTH);
-
leftPanel = new JPanel();
leftPanel.setLayout(new BoxLayout(leftPanel, BoxLayout.X_AXIS));
- c.add(leftPanel, BorderLayout.WEST);
+ c.add(leftPanel, BorderLayout.WEST);
+
+ rightPanel = new JPanel();
+ rightPanel.setLayout(new BoxLayout(rightPanel, BoxLayout.X_AXIS));
+ c.add(rightPanel, BorderLayout.EAST);
+
+ topPanel = new JPanel();
+ topPanel.setLayout(new BoxLayout(topPanel, BoxLayout.Y_AXIS));
+ c.add(topPanel, BorderLayout.NORTH);
bottomPanel = new JPanel();
bottomPanel.setLayout(new BoxLayout(bottomPanel, BoxLayout.Y_AXIS));
c.add(bottomPanel, BorderLayout.SOUTH);
- rightPanel = new JPanel();
- rightPanel.setLayout(new BoxLayout(rightPanel, BoxLayout.X_AXIS));
- c.add(rightPanel, BorderLayout.EAST);
-
setContentPane(c);
}
diff --git a/diylc/diylc-swing/src/org/diylc/swing/gui/actionbar/ActionBarPlugin.java b/diylc/diylc-swing/src/org/diylc/swing/gui/actionbar/ActionBarPlugin.java
index e7a6a9d0..7ac1d3a2 100644
--- a/diylc/diylc-swing/src/org/diylc/swing/gui/actionbar/ActionBarPlugin.java
+++ b/diylc/diylc-swing/src/org/diylc/swing/gui/actionbar/ActionBarPlugin.java
@@ -32,9 +32,12 @@ import javax.swing.BorderFactory;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JRootPane;
+import javax.swing.SwingConstants;
import javax.swing.SwingUtilities;
+import org.apache.log4j.Logger;
import org.diylc.appframework.miscutils.Utils;
+import org.diylc.common.BadPositionException;
import org.diylc.common.EventType;
import org.diylc.common.IComponentTransformer;
import org.diylc.common.IPlugIn;
@@ -43,6 +46,7 @@ import org.diylc.swing.images.IconLoader;
import org.diylc.lang.LangUtil;
import org.diylc.swing.ActionFactory;
import org.diylc.swing.ISwingUI;
+import org.diylc.swing.plugins.canvas.CanvasPlugin;
import org.diylc.swing.plugins.help.HelpMenuPlugin;
/**
@@ -51,6 +55,8 @@ import org.diylc.swing.plugins.help.HelpMenuPlugin;
* @author Branislav Stojkovic
*/
public class ActionBarPlugin implements IPlugIn {
+
+ private static final Logger LOG = Logger.getLogger(ActionBarPlugin.class);
private IPlugInPort plugInPort;
private ISwingUI swingUI;
@@ -176,7 +182,15 @@ public class ActionBarPlugin implements IPlugIn {
@Override
public void connect(IPlugInPort plugInPort) {
this.plugInPort = plugInPort;
- swingUI.injectMenuComponent(getActionPanel());
+ if (Utils.isMac()) {
+ try {
+ swingUI.injectGUIComponent(getActionPanel(), SwingConstants.CENTER, false);
+ } catch (BadPositionException e) {
+ LOG.error("Could not inject action bar plugin", e);
+ }
+ }
+ else
+ swingUI.injectMenuComponent(getActionPanel());
}
@Override