1
0
mirror of https://github.com/arduino/Arduino.git synced 2025-01-11 00:52:21 +01:00

1656 Commits

Author SHA1 Message Date
Martino Facchin
13b74f5ccb Avoid reopening the serial monitor during upload
avoidMultipleOperations becomes false with a 10 seconds timeout after pressing the compile button.

The new code introduced by 99f6043ced4275bbaad7a21c74930387387b5ddc didn't take this into account, so the port was being reopened before staring the actual upload.

Also, make uploading variable static to avoid preferences confusion (this should be solved in a saner way giving every Editor instance its own set of properties, but it will hopefully fixes by the cli integration and workspace concept)
2019-07-19 12:23:31 +02:00
Martino Facchin
b7a6d93d0a Fix SerialMonitor reopen on reconnect 2019-07-18 13:50:03 +02:00
Pieter12345
1d21f0cca3 CommandHistory optimization
- Use LinkedList with ListIterator to make all methods except for `clear()` run in `O(1)` (constant runtime) instead of `O(n)` (linear runtime).
- No longer store executed commands that are executed multiple times (executing {1, 1, 1, 1, 2} now only adds {1, 2} to the history).
2019-07-18 12:22:08 +02:00
Pieter12345
f5b383113f Add serial monitor command history
The behavior is as follows:
- Pressing the UP key will select older commands.
- Pressing the DOWN key will select newer commands, restoring the last unexecuted command if available.
- Pressing the ESC key will reset the input field to the latest unexecuted command and reset the traversal location. Pressing ESC while the latest unexecuted command is selected will clear the input field.

This fixes #4891, with the difference that the proposed solution has a command history per Arduino session and this implementation has a command history per serial monitor start.
2019-07-18 12:22:08 +02:00
Martino Facchin
9ce5101df1
Merge branch 'master' into add-file-cache 2019-07-18 11:28:46 +02:00
Wilhelm
f70dd8330f Added labels to legend 2019-07-18 10:45:02 +02:00
Pieter12345
9aea65bee6 Use user-defined tab settings in new sketch generation
When creating a new sketch, it is initialized with the BareMinimum example sketch. This example sketch uses 2-width whitespace indentation, which might differ from the user-defined tab settings. This commit makes the generated example sketch consistent with the user-defined tab settings.
2019-07-18 10:40:19 +02:00
Cristian Maglie
3438b86699 Some small makeup
- use diamond notation <> to remove redundant type specification
- do no cache listeners, because it makes the code heavier for a
a very small gain in memory usage.
- removed redundant "this" keywords
2019-07-18 10:38:37 +02:00
Cristian Maglie
2f68d2af1b Remove Base dependency from AstractTextMonitor
See https://github.com/arduino/Arduino/pull/8704#issuecomment-477585720
2019-07-18 10:38:37 +02:00
Cristian Maglie
1cacd79689 Make the dialog appear in the correct position 2019-07-18 10:37:36 +02:00
Cristian Maglie
4dc5176c0f Fix some linter suggestions 2019-07-18 10:37:36 +02:00
Cristian Maglie
ed81292b14 Added library dependencies install dialog 2019-07-18 10:37:36 +02:00
Cristian Maglie
07e1518b28 Now libraries are installed with all the dependencies
This is the base for the GUI that will be introduced in the
next commits.
2019-07-18 10:37:36 +02:00
Cristian Maglie
67e38bc80a LibraryInstaller now autodetects if a library is being replaced
It's no more required to pass this information from outside,
just library that is being installed is now sufficient.
2019-07-18 10:37:36 +02:00
Martino Facchin
2ec8c539b2 Match CustomMenu against unique platform id
platform.getId() gives the same result for derived cores.
Issue #5260 is caused by both cores declaring as `avr`, with the same label but different identifier.
This patch completes the previous one by adding the folder where the core resides to the matching id.
2019-07-18 10:30:40 +02:00
Martino Facchin
2778651eb6 Allow multiple boards to share the same menu
This stuff is truly madness, should be refactored from the ground up by a Java expert
2019-07-18 10:30:40 +02:00
Martino Facchin
06cfbbfa74 Annotate custom menu to avoid name clashing
Fixes #5260
2019-07-18 10:30:40 +02:00
Martino Facchin
99f6043ced Don't try automatic resume during upload 2019-07-18 10:11:43 +02:00
Martino Facchin
693498fb76 Handle suspend/resume if serial port disappears
Similar to minicom behaviour.
Automatically reopens the port only if it takes the same name (could be improved based on vid/pid)
2019-07-18 10:11:43 +02:00
Martino Facchin
e7d85d8b6d Reopen serial monitor on correct port if changed from menu 2019-07-18 10:11:43 +02:00
Mattia Bertorello
2596ecee28
Add log4j configuration 2019-07-03 15:25:48 +02:00
Mattia Bertorello
d089323342
Fix possible empty files during the download of the package index 2019-06-28 17:44:17 +02:00
Martino Facchin
e92d5948fe
Merge pull request #8672 from Pieter12345/contextual-menus
Add contextual menus to input fields
2019-04-18 10:00:19 +02:00
Martino Facchin
26f428384b Preferences: remove outdated preferences 2019-04-02 16:20:58 +02:00
Martino Facchin
4c8ac04727 Preferences: allow smaller window since checkboxes take less space
Fixes #8238
2019-04-02 16:20:58 +02:00
Martino Facchin
b1253e2f0a Preferences: arrange checkboxes into two columns 2019-04-02 16:20:58 +02:00
Pieter12345
941050ecf0 Add contextual menus to input fields
- Add contextual menus to text-based monitors (serial / network monitor).
- Add contextual menu to installer dialog search filter fields (library manager / contribution manager).
- Make installer dialogs focus the search filter field on window-open. This prevents pastes from ending up elsewhere in the case that they are performed before the field has been focussed at least once.
Fixes #8423.
2019-03-29 02:26:41 +01:00
Pieter12345
4c2fca6457 Replace some FileUtils calls with direct methods
Not wrapping these calls in FileUtils methods makes the code cleaner and easier to understand (FileUtils is very poorly documented, whereas direct calls contain proper documentation).
2019-03-26 18:46:09 +01:00
Pieter12345
61bbc382b5 Move editor font resize listener code to Base
- Move editor font resize listener code to the Base class.
- Cache and share the same listener for all components.
2019-03-26 17:18:11 +01:00
Pieter12345
3aa81b0a89 Add CTRL +/-/scroll shortcuts to adjust editor console font size
Add CTRL +/- and CTRL scroll shortcuts to increase/decrease editor console output text size. This font size is shared with the editor and serial/network monitor. Adjusting the font size on any of these will update them all.
Partially fixes #8615.
2019-03-26 17:18:11 +01:00
Pieter12345
91fc80ba69 Properly update editor console font size on change
Make the editor console font properly update with editor font size changes. Before this commit, only newly added text would have an adjusted size, making it possible to have multiple text sizes in the editor console.
2019-03-26 17:18:11 +01:00
Pieter12345
e3f129a0ee Fix compiler/IDE warnings in monitor classes + Code cleanup
No functional changes:
- Fix compiler/IDE warnings in monitor classes.
- Replace listeners to use lambda classes where convenient in monitor classes.
- Code cleanup.
2019-03-26 17:18:11 +01:00
Pieter12345
1a6d55480c Make text monitor output area font size dynamically adjustable
Add CTRL +/- and CTRL scroll shortcuts to increase/decrease serial/network monitor output text size. This font size is shared with the editor and adjusting either will update both.
Partially fixes #8615
2019-03-26 17:18:11 +01:00
Pieter12345
49242bed02 Add editor zoom "CTRL =" shortcut
Add "CTRL =" as additional shortcut to increase the editor font size. This shortcut should be added because the '+' and '=' characters are often on the same key on the keyboard and having to press SHIFT as well is not intuitive for all users (especially since many common applications support "CTRL =").
2019-03-26 17:18:11 +01:00
Martino Facchin
0e45f4e0d4
Merge pull request #8038 from cmaglie/pluggable-discovery
Pluggable discovery: search in platform.txt (WIP)
2019-03-07 14:13:43 +01:00
Martino Facchin
4ae2e1f116 Fix wrong Unicode encoding on unsaved sketch
Fixes #4231
2019-03-07 12:21:12 +01:00
Martino Facchin
9518aa421c Ensure line is unfolded when highlighting for error
Fixes #8457

For some reason, getCurrentTab().getTextArea().getFoldManager().ensureOffsetNotInClosedFold(line) doesn't work here; there no documentation on what offset is.
Also, getFoldForLine(line) returns null even if the line is folded (bug in rsyntaxtextarea?)
2019-03-07 11:19:46 +01:00
Cristian Maglie
a5e866f731 makeup: using some lambdas where possible 2019-03-06 13:18:53 +01:00
Martino Facchin
8f5f4f594d [LibManager] Restore "search on type" with 1 second grace period 2019-02-15 10:44:56 +01:00
Martino Facchin
f3d521d820 [Lib Manager] Avoid updating the UI at every keystroke
Fixes #8282
2019-02-14 15:34:21 +01:00
Martino Facchin
2b11e94afe Correctly handle cancellation on last open sketch exit
Fixes #8488
2019-02-04 10:03:17 +01:00
Sandeep Mistry
3c8f201024 macOS touchbar: Run event handler later to prevent hanging if a dialog needs to be open 2019-01-24 11:58:37 -05:00
Cristian Maglie
e1caaf1c45 Perform port selection after initializing packages
Fix #8400
2019-01-23 15:46:41 +01:00
Cristian Maglie
651dcd5271 Removed unused field 2019-01-23 13:51:41 +01:00
Cristian Maglie
4fffcd6e1a Editor: use TargetBoard.getName() to get board name 2019-01-23 13:51:41 +01:00
Cristian Maglie
6c50007e22 Editor: renamed status bar field serialport -> port 2019-01-23 13:51:41 +01:00
Cristian Maglie
349af4b5cf Added BoardPort.protocolLabel and simplified port menu rendering 2019-01-23 13:51:41 +01:00
Cristian Maglie
9ba172b0db Show BoardName.boardName field in 'Ports' menu
...instead of putting it into the 'label' field during discovery.
2019-01-23 13:51:41 +01:00
Cristian Maglie
8d6fa72667 Removing fixed fields in BoardPort 2019-01-23 13:51:41 +01:00
Martino Facchin
3ba85835bf Merge branch 'master' of github.com:arduino/Arduino 2019-01-21 09:41:32 +01:00