mirror of
https://github.com/arduino/Arduino.git
synced 2025-01-17 06:52:18 +01:00
Add "Copy To Clipboard" button for compile errors (Paul Stoffregen)
This commit is contained in:
parent
d66930fd6a
commit
f9135178d1
@ -26,6 +26,8 @@ package processing.app;
|
|||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
import java.awt.event.*;
|
import java.awt.event.*;
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
|
import java.awt.datatransfer.*;
|
||||||
|
import static processing.app.I18n._;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -68,6 +70,7 @@ public class EditorStatus extends JPanel /*implements ActionListener*/ {
|
|||||||
JButton okButton;
|
JButton okButton;
|
||||||
JTextField editField;
|
JTextField editField;
|
||||||
JProgressBar progressBar;
|
JProgressBar progressBar;
|
||||||
|
JButton copyErrorButton;
|
||||||
|
|
||||||
//Thread promptThread;
|
//Thread promptThread;
|
||||||
int response;
|
int response;
|
||||||
@ -108,6 +111,7 @@ public class EditorStatus extends JPanel /*implements ActionListener*/ {
|
|||||||
public void notice(String message) {
|
public void notice(String message) {
|
||||||
mode = NOTICE;
|
mode = NOTICE;
|
||||||
this.message = message;
|
this.message = message;
|
||||||
|
copyErrorButton.setVisible(false);
|
||||||
//update();
|
//update();
|
||||||
repaint();
|
repaint();
|
||||||
}
|
}
|
||||||
@ -120,6 +124,7 @@ public class EditorStatus extends JPanel /*implements ActionListener*/ {
|
|||||||
public void error(String message) {
|
public void error(String message) {
|
||||||
mode = ERR;
|
mode = ERR;
|
||||||
this.message = message;
|
this.message = message;
|
||||||
|
copyErrorButton.setVisible(true);
|
||||||
repaint();
|
repaint();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -177,6 +182,7 @@ public class EditorStatus extends JPanel /*implements ActionListener*/ {
|
|||||||
this.message = message;
|
this.message = message;
|
||||||
progressBar.setIndeterminate(false);
|
progressBar.setIndeterminate(false);
|
||||||
progressBar.setVisible(true);
|
progressBar.setVisible(true);
|
||||||
|
copyErrorButton.setVisible(false);
|
||||||
setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
|
setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
|
||||||
repaint();
|
repaint();
|
||||||
}
|
}
|
||||||
@ -189,6 +195,7 @@ public class EditorStatus extends JPanel /*implements ActionListener*/ {
|
|||||||
progressBar.setIndeterminate(true);
|
progressBar.setIndeterminate(true);
|
||||||
progressBar.setValue(50);
|
progressBar.setValue(50);
|
||||||
progressBar.setVisible(true);
|
progressBar.setVisible(true);
|
||||||
|
copyErrorButton.setVisible(false);
|
||||||
setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
|
setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
|
||||||
repaint();
|
repaint();
|
||||||
}
|
}
|
||||||
@ -207,6 +214,7 @@ public class EditorStatus extends JPanel /*implements ActionListener*/ {
|
|||||||
if (Preferences.getBoolean("editor.beep.compile")) {
|
if (Preferences.getBoolean("editor.beep.compile")) {
|
||||||
Toolkit.getDefaultToolkit().beep();
|
Toolkit.getDefaultToolkit().beep();
|
||||||
}
|
}
|
||||||
|
if (progressBar == null) return;
|
||||||
progressBar.setVisible(false);
|
progressBar.setVisible(false);
|
||||||
progressBar.setValue(0);
|
progressBar.setValue(0);
|
||||||
setCursor(null);
|
setCursor(null);
|
||||||
@ -216,6 +224,7 @@ public class EditorStatus extends JPanel /*implements ActionListener*/ {
|
|||||||
|
|
||||||
public void progressUpdate(int value)
|
public void progressUpdate(int value)
|
||||||
{
|
{
|
||||||
|
if (progressBar == null) return;
|
||||||
progressBar.setValue(value);
|
progressBar.setValue(value);
|
||||||
repaint();
|
repaint();
|
||||||
}
|
}
|
||||||
@ -438,6 +447,29 @@ public class EditorStatus extends JPanel /*implements ActionListener*/ {
|
|||||||
add(progressBar);
|
add(progressBar);
|
||||||
progressBar.setVisible(false);
|
progressBar.setVisible(false);
|
||||||
|
|
||||||
|
copyErrorButton = new JButton(_("Copy To Clipboard"));
|
||||||
|
add(copyErrorButton);
|
||||||
|
//copyErrorButton.setVisible(true);
|
||||||
|
copyErrorButton.setVisible(false);
|
||||||
|
System.out.println("create copyErrorButton");
|
||||||
|
copyErrorButton.addActionListener(new ActionListener() {
|
||||||
|
public void actionPerformed(ActionEvent e) {
|
||||||
|
String message="";
|
||||||
|
if ((Preferences.getBoolean("build.verbose")) == false) {
|
||||||
|
message = " " + _("This report would have more information with") + "\n";
|
||||||
|
message += " \"" + _("Show verbose output during compilation") + "\"\n";
|
||||||
|
message += " " + _("enabled in File > Preferences.") + "\n";
|
||||||
|
}
|
||||||
|
message += _("Arduino: ") + Base.VERSION_NAME + " (" + System.getProperty("os.name") + "), ";
|
||||||
|
message += _("Board: ") + "\"" + Base.getBoardPreferences().get("name") + "\"\n";
|
||||||
|
message += editor.console.consoleTextPane.getText().trim();
|
||||||
|
Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
|
||||||
|
StringSelection data = new StringSelection(message);
|
||||||
|
clipboard.setContents(data, null);
|
||||||
|
Clipboard unixclipboard = Toolkit.getDefaultToolkit().getSystemSelection();
|
||||||
|
if (unixclipboard != null) unixclipboard.setContents(data, null);
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -470,6 +502,10 @@ public class EditorStatus extends JPanel /*implements ActionListener*/ {
|
|||||||
editField.setBounds(yesLeft - Preferences.BUTTON_WIDTH, editTop,
|
editField.setBounds(yesLeft - Preferences.BUTTON_WIDTH, editTop,
|
||||||
editWidth, editHeight);
|
editWidth, editHeight);
|
||||||
progressBar.setBounds(noLeft, editTop, editWidth, editHeight);
|
progressBar.setBounds(noLeft, editTop, editWidth, editHeight);
|
||||||
|
|
||||||
|
Dimension copyErrorButtonSize = copyErrorButton.getPreferredSize();
|
||||||
|
copyErrorButton.setLocation(sizeW - copyErrorButtonSize.width - 5, top);
|
||||||
|
copyErrorButton.setSize(copyErrorButtonSize.width, Preferences.BUTTON_HEIGHT);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user