From: Calixte DENIZET Date: Mon, 18 Nov 2013 11:33:16 +0000 (+0100) Subject: Bug 6615 fixed: ui(get|put)file did not center the file dialog on the last focused... X-Git-Tag: 5.5.0~1089 X-Git-Url: http://gitweb.scilab.org/?p=scilab.git;a=commitdiff_plain;h=6d8c832684c76edc5c90950436365d00b0a7e7f0 Bug 6615 fixed: ui(get|put)file did not center the file dialog on the last focused window Change-Id: Ibb9c76f72a06486f1d2b7bede8fd5a784bc3498e --- diff --git a/scilab/CHANGES_5.5.X b/scilab/CHANGES_5.5.X index 8208e43..2a4d3ea 100644 --- a/scilab/CHANGES_5.5.X +++ b/scilab/CHANGES_5.5.X @@ -20,6 +20,8 @@ Scilab Bug Fixes * Bug #5016 fixed - condestsp could return different results when repeated calls were performed. +* Bug #6615 fixed - ui(get|put)file did not center the file dialog on the last focused window. + * Bug #6689 & #6690 fixed - grand now works with complexes, polynomials, booleans, integers, sparses and strings, and can take row vectors, matrices and hypermatrices of thoses types. diff --git a/scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/filechooser/SwingScilabExportFileChooser.java b/scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/filechooser/SwingScilabExportFileChooser.java index ab6858d..c62749e 100644 --- a/scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/filechooser/SwingScilabExportFileChooser.java +++ b/scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/filechooser/SwingScilabExportFileChooser.java @@ -25,6 +25,8 @@ import javax.swing.SwingUtilities; import javax.swing.border.TitledBorder; import org.scilab.modules.graphic_export.FileExporter; +import org.scilab.modules.gui.SwingView; +import org.scilab.modules.gui.bridge.tab.SwingScilabTab; import org.scilab.modules.gui.tab.SimpleTab; import org.scilab.modules.gui.utils.ConfigManager; import org.scilab.modules.localization.Messages; @@ -76,6 +78,8 @@ public class SwingScilabExportFileChooser extends SwingScilabFileChooser { public SwingScilabExportFileChooser(Integer figureUID) { super(); this.figureUID = figureUID; + SwingScilabTab tab = (SwingScilabTab) SwingView.getFromId(figureUID); + setParentFrame(tab.getParentWindow()); exportCustomFileChooser(figureUID); } diff --git a/scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/filechooser/SwingScilabFileChooser.java b/scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/filechooser/SwingScilabFileChooser.java index 45fd940..405d13c 100644 --- a/scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/filechooser/SwingScilabFileChooser.java +++ b/scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/filechooser/SwingScilabFileChooser.java @@ -13,6 +13,8 @@ package org.scilab.modules.gui.bridge.filechooser; +import java.awt.Component; +import java.awt.KeyboardFocusManager; import java.io.File; import java.util.StringTokenizer; @@ -20,6 +22,7 @@ import javax.swing.ImageIcon; import javax.swing.JFileChooser; import javax.swing.JFrame; import javax.swing.JOptionPane; +import javax.swing.SwingUtilities; import org.scilab.modules.gui.filechooser.FileChooserInfos; import org.scilab.modules.gui.filechooser.SimpleFileChooser; @@ -137,10 +140,15 @@ public class SwingScilabFileChooser extends JFileChooser implements SimpleFileCh */ @Override public void displayAndWait() { - JFrame parentFrame; + JFrame parentFrame = null; if (parent == null) { - parentFrame = new JFrame(); - parentFrame.setIconImage(new ImageIcon(ScilabSwingUtilities.findIcon("scilab", "256x256")).getImage()); + Component focused = KeyboardFocusManager.getCurrentKeyboardFocusManager().getFocusOwner(); + if (focused != null) { + parentFrame = (JFrame) SwingUtilities.getAncestorOfClass(JFrame.class, focused); + } + if (parentFrame == null) { + parentFrame = new JFrame(); + } } else { parentFrame = parent; }