mirror of
https://github.com/esp8266/Arduino.git
synced 2025-06-17 22:23:10 +03:00
Import Library feedback was going to the first opened editor, despite its availability. Closes #1598
This commit is contained in:
@ -1100,15 +1100,15 @@ public class Base {
|
|||||||
return libraries.filterLibrariesInSubfolder(getSketchbookFolder());
|
return libraries.filterLibrariesInSubfolder(getSketchbookFolder());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void rebuildImportMenu(JMenu importMenu, final Editor editor) {
|
public void rebuildImportMenu(JMenu importMenu) {
|
||||||
importMenu.removeAll();
|
importMenu.removeAll();
|
||||||
|
|
||||||
JMenuItem addLibraryMenuItem = new JMenuItem(_("Add Library..."));
|
JMenuItem addLibraryMenuItem = new JMenuItem(_("Add Library..."));
|
||||||
addLibraryMenuItem.addActionListener(new ActionListener() {
|
addLibraryMenuItem.addActionListener(new ActionListener() {
|
||||||
public void actionPerformed(ActionEvent e) {
|
public void actionPerformed(ActionEvent e) {
|
||||||
Base.this.handleAddLibrary(editor);
|
Base.this.handleAddLibrary();
|
||||||
Base.this.onBoardOrPortChange();
|
Base.this.onBoardOrPortChange();
|
||||||
Base.this.rebuildImportMenu(Editor.importMenu, editor);
|
Base.this.rebuildImportMenu(Editor.importMenu);
|
||||||
Base.this.rebuildExamplesMenu(Editor.examplesMenu);
|
Base.this.rebuildExamplesMenu(Editor.examplesMenu);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -1370,7 +1370,7 @@ public class Base {
|
|||||||
|
|
||||||
onBoardOrPortChange();
|
onBoardOrPortChange();
|
||||||
Sketch.buildSettingChanged();
|
Sketch.buildSettingChanged();
|
||||||
rebuildImportMenu(Editor.importMenu, editor);
|
rebuildImportMenu(Editor.importMenu);
|
||||||
rebuildExamplesMenu(Editor.examplesMenu);
|
rebuildExamplesMenu(Editor.examplesMenu);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -1486,7 +1486,7 @@ public class Base {
|
|||||||
|
|
||||||
onBoardOrPortChange();
|
onBoardOrPortChange();
|
||||||
Sketch.buildSettingChanged();
|
Sketch.buildSettingChanged();
|
||||||
rebuildImportMenu(Editor.importMenu, editor);
|
rebuildImportMenu(Editor.importMenu);
|
||||||
rebuildExamplesMenu(Editor.examplesMenu);
|
rebuildExamplesMenu(Editor.examplesMenu);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2848,7 +2848,7 @@ public class Base {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void handleAddLibrary(Editor editor) {
|
public void handleAddLibrary() {
|
||||||
JFileChooser fileChooser = new JFileChooser(System.getProperty("user.home"));
|
JFileChooser fileChooser = new JFileChooser(System.getProperty("user.home"));
|
||||||
fileChooser.setDialogTitle(_("Select a zip file or a folder containing the library you'd like to add"));
|
fileChooser.setDialogTitle(_("Select a zip file or a folder containing the library you'd like to add"));
|
||||||
fileChooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
|
fileChooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
|
||||||
@ -2857,7 +2857,7 @@ public class Base {
|
|||||||
Dimension preferredSize = fileChooser.getPreferredSize();
|
Dimension preferredSize = fileChooser.getPreferredSize();
|
||||||
fileChooser.setPreferredSize(new Dimension(preferredSize.width + 200, preferredSize.height + 200));
|
fileChooser.setPreferredSize(new Dimension(preferredSize.width + 200, preferredSize.height + 200));
|
||||||
|
|
||||||
int returnVal = fileChooser.showOpenDialog(editor);
|
int returnVal = fileChooser.showOpenDialog(activeEditor);
|
||||||
|
|
||||||
if (returnVal != JFileChooser.APPROVE_OPTION) {
|
if (returnVal != JFileChooser.APPROVE_OPTION) {
|
||||||
return;
|
return;
|
||||||
@ -2879,7 +2879,7 @@ public class Base {
|
|||||||
}
|
}
|
||||||
sourceFile = foldersInTmpFolder[0];
|
sourceFile = foldersInTmpFolder[0];
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
editor.statusError(e);
|
activeEditor.statusError(e);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2892,23 +2892,23 @@ public class Base {
|
|||||||
+ "Library names must contain only basic letters and numbers.\n"
|
+ "Library names must contain only basic letters and numbers.\n"
|
||||||
+ "(ASCII only and no spaces, and it cannot start with a number)"),
|
+ "(ASCII only and no spaces, and it cannot start with a number)"),
|
||||||
libName);
|
libName);
|
||||||
editor.statusError(mess);
|
activeEditor.statusError(mess);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// copy folder
|
// copy folder
|
||||||
File destinationFolder = new File(getSketchbookLibrariesFolder(), sourceFile.getName());
|
File destinationFolder = new File(getSketchbookLibrariesFolder(), sourceFile.getName());
|
||||||
if (!destinationFolder.mkdir()) {
|
if (!destinationFolder.mkdir()) {
|
||||||
editor.statusError(I18n.format(_("A library named {0} already exists"), sourceFile.getName()));
|
activeEditor.statusError(I18n.format(_("A library named {0} already exists"), sourceFile.getName()));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
FileUtils.copy(sourceFile, destinationFolder);
|
FileUtils.copy(sourceFile, destinationFolder);
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
editor.statusError(e);
|
activeEditor.statusError(e);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
editor.statusNotice(_("Library added to your libraries. Check \"Import library\" menu"));
|
activeEditor.statusNotice(_("Library added to your libraries. Check \"Import library\" menu"));
|
||||||
} finally {
|
} finally {
|
||||||
// delete zip created temp folder, if exists
|
// delete zip created temp folder, if exists
|
||||||
FileUtils.recursiveDelete(tmpFolder);
|
FileUtils.recursiveDelete(tmpFolder);
|
||||||
|
@ -646,7 +646,7 @@ public class Editor extends JFrame implements RunnerListener {
|
|||||||
if (importMenu == null) {
|
if (importMenu == null) {
|
||||||
importMenu = new JMenu(_("Import Library..."));
|
importMenu = new JMenu(_("Import Library..."));
|
||||||
MenuScroller.setScrollerFor(importMenu);
|
MenuScroller.setScrollerFor(importMenu);
|
||||||
base.rebuildImportMenu(importMenu, this);
|
base.rebuildImportMenu(importMenu);
|
||||||
}
|
}
|
||||||
sketchMenu.add(importMenu);
|
sketchMenu.add(importMenu);
|
||||||
|
|
||||||
@ -707,7 +707,7 @@ public class Editor extends JFrame implements RunnerListener {
|
|||||||
base.rebuildBoardsMenu(toolsMenu, this);
|
base.rebuildBoardsMenu(toolsMenu, this);
|
||||||
//Debug: rebuild imports
|
//Debug: rebuild imports
|
||||||
importMenu.removeAll();
|
importMenu.removeAll();
|
||||||
base.rebuildImportMenu(importMenu, this);
|
base.rebuildImportMenu(importMenu);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (serialMenu == null)
|
if (serialMenu == null)
|
||||||
|
Reference in New Issue
Block a user