1
0
mirror of https://github.com/arduino/Arduino.git synced 2024-12-01 12:24:14 +01:00
Commit Graph

1906 Commits

Author SHA1 Message Date
Matthijs Kooijman
fc0478eaa9 CommandLineTest: Run findBuildPaths only once
Previously, it was ran before each test, but just running it once before
all tests is sufficient. So switch from @Before to @BeforeClass and make
the its result variable static.
2020-05-11 17:13:17 +02:00
Matthijs Kooijman
bdfa7f305c CI: Publish HTML report of tests as an artifact
This also lets ant print a message pointing to this artifact and
explaining the files inside briefly. To make sure this is only printed
inside the github action, an extra `-D` option is passed to `ant test`
from the workflow file.

To allow `if` / `unless` on the echo element, this adds some namespace
definitions (this allows them on *any* element, not just the ones that
explicitly allow it). See https://ant.apache.org/manual/ifunless.html
2020-05-11 16:09:41 +02:00
Matthijs Kooijman
d03c08358f ant: Improve running of testsuite
This allows running an individual test class by specifying
-Dsingle-test-class=path.to.Classs and methods within the specified
class by specifying -Dsingle-test-methods=testMethod1,testMethod2.

Additionally, this improves the error output, but not showing full
stderr/stdout output when running the full test suite, and by generating
a browsable HTML report with test results (including stdout/stderr
output). When single-test-class is used, detailed output (including
stdout/stderr) is still printed directly.

This also moves the test result XML files into a subdirectory for
clarity, which is removed before starting a testrun (so the HTML report
does not include older test results).
2020-05-11 16:09:41 +02:00
Martino Facchin
737f301c12 Tests: Fix TargetPlatformStub implementation 2020-04-27 17:04:49 +02:00
Martino Facchin
8c91692845 Boards Menu: add hint if core lives in sketchbook 2020-04-27 17:04:49 +02:00
Cristian Maglie
a1e43ce490 Removed some trivial warnings 2020-03-25 15:26:53 +01:00
Cristian Maglie
931c2b7f21 Do not translate labels of boards submenus
Otherwise it may happen some weird sorting when untraslated and
translated labels are sorted together:

    Arduino megaAVR Boards
    Arduino nRF52 Board
    ESP32 Arduino
    ESP8266 Modules
    Schede Arduino AVR   <-- the localized string falls to the bottom

Also there is no way for 3rd party boards developers to actually provide
a translation, so let's just remove them.
2020-03-25 15:26:53 +01:00
Matthijs Kooijman
9b48e8d047 Sort board submenus alphabetically
This sorts the board submenus themselves, based on the displayed name.
This does not change the ordering of board items within these submenus
(which uses the order from boards.txt).
2020-03-25 15:26:53 +01:00
Matthijs Kooijman
6c1100f9ec Do not use a boards submenu with just one platform
When just one platform is installed, it does not make much sense to use
a submenu, so just add the boards directly under the boards menu as
before.
2020-03-25 15:26:53 +01:00
Matthijs Kooijman
7bcd76332e Separate the boards menu per platform
Previously, the Tools->Boards menu was one long list, divided into
different platforms by (unselectable) headers. When more than one or two
platforms were installed, this quickly results in a very long list of
boards that is hard to navigate.

This commit changes the board menu to have a submenu for each platform,
where each submenu contains just the boards for that platform.

Note that this first keeps a list of board items and then adds those to
the boards menu later. This could have been done directly, but the
intermediate list makes it easier to special-case single platform
installations, as well as sort the list in subsequent commits.

This fixes part of #8858.
2020-03-25 15:26:53 +01:00
Matthijs Kooijman
7c4205b412 Handle nested submenus of the Tools menu
There is some code that, for each submenu under Tools, shows the
selected item in the label of the submenu itself (e.g. before opening
the submenu). This was done whenever the Tools menu is opened and
iterated over all the items in the submenu to identify the s

Previously, this code only looked at direct children of the submenu.
Now, this code also looks through submenus recursively, to keep the code
working even when items are divided over sub-submenus.

This makes a small behaviour change: previously, the first selected item
with a non-zero label was used. Now, the first selected item is used,
which makes the code a bit cleaner. I cannot quickly see any case where
the first selected item would have an empty text (and even more that
there is *another* selected item), so this check seems unnecessary. If
this case would occur nonetheless, it would only mean the selected item
is not displayed in the tools menu, nothing would otherwise break.
2020-03-25 15:26:53 +01:00
Matthijs Kooijman
e803061709 Never leave programmers menu empty
When there are no programmers available for the current board, the
programmers menu would remain empty, which would prevent it from
unfolding and could make users think there was something wrong with the
menu.

Now, a disabled item with a message is added if no programmers are
available, which should make it more clear what is going on.

This is a followup for #9373.
2020-03-24 20:37:12 +01:00
Cristian Maglie
d6667dd4ca Added unit testing for UTF8 decoder in Serial 2020-03-24 15:24:50 +01:00
Cristian Maglie
a82f9a0e74 Silenced function deprecated warning 2020-03-23 18:42:35 +01:00
Martino Facchin
bb629d1ba0 Wait a bit before resuming serial monitor
Helps in case the bootloader port has not yet disappeared when upload completes successfully.
2020-03-23 17:37:01 +01:00
Martino Facchin
85a3b385eb
Merge pull request #9873 from matthijskooijman/allow-serial-change-when-disabled
Allow config changes and clear in disabled serial monitor and plotter
2020-03-23 12:12:56 +01:00
Martino Facchin
558ddd3d91 Don't restore sketch if last.sketch.location is out of display
`if ((screen.width != screenW) || (screen.height != screenH))` was making sure to reset every preference in case the display geometry changed.
Unfortunately, on Windows 10, `Toolkit.getDefaultToolkit().getScreenSize()` reports only the primary monitor either if external display is connected or not.

Fixes #9781
2020-03-23 12:07:40 +01:00
Martino Facchin
6f943ea4a8
Merge pull request #9843 from cmaglie/fix-proxy-prefs
Fixed user/pass preferences save for "manual" proxy settings.
2020-03-23 12:06:16 +01:00
Matthijs Kooijman
84e017fc36 Only show programmers for current board
Previously, the programmers menu always showed *all* programmers of
*all* platforms. This made it hard to find the programmer you need.

When selecting a programmer from another platform, it would typically
not work, since the tool definitions rely on specific variables to be
defined by the board, or files available in the variant directory, which
are typically platform-dependent. Also, some programmers might be
defined in multiple platforms, but there is currently no way to tell
which one is for the current platform an will work, and which is for
another platform and will break.

This commit changes the programmer menu to only show programmers from
the platforms that define the board and the core used. The latter is
only used when boar definition refers a core in another platform, in
which case the core and variant already have a strong coupling (the
variant must offer the right variables for the core to work), so that
would also apply to the programmer, so programmers from the referenced
core's platform can be expected to work.

When a board is selected, the menu of available programmers is
refreshed, but the currently selected programmer preference is
untouched. This might mean that a programmer is selected that is invalid
for the current board and will not actually work. This could be fixed by
clearing the current programmer when it becomes invalid, but that would
mean that changing to another platform and back would always require
reselecting the programmer to use, which seems counter-productive. An
alternative fix would be to check the programmer against the board and
throw an error, but that would require duplicating some code, which did
not seem worthwile (ideally, all this code will be moved to arduino-cli
anyway in the future).

This fixes #9373.
2020-03-23 12:05:38 +01:00
Matthijs Kooijman
2659875078 Set foreground color on board/library titles in managers
In commit 93581b03d (Set foreground color in library/board manager), the
foreground color was set in addition to the background color, to make
sure that the library and board manager would remain readable even with
a non-standard color scheme (e.g. a dark theme).

When that commit was created, this worked properly. However, between
creating that commit and merging it as part of #9272, the title
rendering was changed from being part of the description (which had its
color set up properly) to being part of the title border (which used
default colors) in #9262.

This commit fixes this again by applying the foreground color also to
the TitledBorder component.

In ContributedPlatformTableCellJPanel this also moves the creation of
the TitledBorder into the constructor, and for
ContributedLibraryTableCellJPanel upwards in the constructor (where it
is run unconditionally), so the property can be final.
2020-03-14 13:07:46 +01:00
Matthijs Kooijman
ffa8720114 Allow config changes and clear in disabled serial monitor and plotter
When the serial device disconnects, the serial monitor and plotter are
disabled. Previously, the window would be completely disabled. Now, the
configuration controls (autoscroll, add timestamp, baudrate, line
endings) can still be changed while the window is disconnected. These
settings will not take effect immediately, but will be used when the
port is next opened.

Also, the clear output button can now also be used when the port is
disconnected, which makes it easy to get a clean start when reconnecting
the serial port.
2020-03-13 21:03:05 +01:00
Cristian Maglie
fcb53ba6e1 Fixed user/pass preferences save for "manual" proxy settings.
There was an error in the following constants:

  PREF_PROXY_AUTO_USERNAME = "proxy.manual.username"
  PREF_PROXY_AUTO_PASSWORD = "proxy.manual.password"

they should be set to "auto" and not "manual":

  PREF_PROXY_AUTO_USERNAME = "proxy.auto.username"
  PREF_PROXY_AUTO_PASSWORD = "proxy.auto.password"

Changing the constants to the correct value now will fix the problem for
future installations of the IDE but will produce an annoying side-effect
for users upgrading from previous version of the IDE: they will lose
their saved user and pass (because it was saved as "proxy.manual.*")
and the IDE will suddenly stop working without any clear reason.

To avoid this I've left the value to "proxy.manual.*" and removed
the distinction from AUTO and MANUAL, so now we have only:

  PREF_PROXY_USERNAME = "proxy.manual.username"
  PREF_PROXY_PASSWORD = "proxy.manual.password"

The corresponding textbox in the preference dialog will be filled based on
the PROXY_TYPE selection.
2020-03-06 18:55:50 +01:00
Thomas L. Kjeldsen
488388050e Remove "MrBean" dependency
Sacrifice abstract classes and interfaces to reduce the amount of magic
performed by MrBean.

Refs https://github.com/HuayraLinux/pkg-arduino/issues/4
2020-02-19 15:13:47 +01:00
Cristian Maglie
4cc3e72fa2 Removed some debugging leftovers... 2020-02-12 12:47:21 +01:00
Cristian Maglie
7ae377d3e9 Do not clear serial monitor when disabled for upload (@PaulStoffregen)
Fix #9234
2020-02-12 12:47:21 +01:00
Cristian Maglie
00641691b6 fixed some warnings 2020-02-12 12:47:21 +01:00
Cristian Maglie
8793a6d351 Fix libraries comparator logic
Previously it could lead to contract violations for example consider
this:

A = Library{ Name:"A", Types: ["Sensors"] }
B = Library{ Name:"B", Types: null        }
C = Library{ Name:"C", Types: ["Arduino"] }

it results in:

A<B (because B has Types==null and compare("A","B")<0)
B<C (because B has Types==null and compare("B","C")<0)
C<A (becuase C has Types=="Arduino" and the comparator returns -1)

This commit fix this behavior
2020-02-12 09:54:38 +01:00
Cristian Maglie
678420cd47 Revert "Replaced JFileChooser with FileDialog in 'Add .zip library'"
This reverts commit 7cb1440006.
2020-02-11 14:50:44 +01:00
Thomas
f62b5db908
Print log4j store directory only when operating in GUI mode (#9695)
This fixes CommandLineTest.testCommandLineVersion()

Looks like the test was broken by the System.out.println statement in Base.java
824567d763
2020-02-07 18:57:15 +01:00
Cristian Maglie
b59c91ebe2 Fixed failures in download tests 2020-02-06 16:04:39 +01:00
Cristian Maglie
3c7c0e46e9 Merge branch 'tlk/fail-on-test-errors' of https://github.com/tlk/Arduino into tlk-tlk/build-on-github-hosted-runners 2020-02-06 12:45:31 +01:00
Cristian Maglie
7cb1440006 Replaced JFileChooser with FileDialog in 'Add .zip library'
For some reason the combination of the AdoptJDKJre 8 and Microsoft store
do not like JFileChooser.

This commit replace JFileChooser with a FileDialog that seems to work
without issues.
2020-02-05 15:56:37 +01:00
Thomas L. Kjeldsen
ac6688de59 Treat JUnit errors as failures to increase visibility
Before this change `cd app; ant test` would return "BUILD SUCCESS"
even when unit tests were returning errors.
2020-01-31 16:00:04 +01:00
Maged Ahmed Rifaat
586e7d5fe8 Fix wrong bracket match rectangle on auto format
This commit fixes instances when setText is called on editorTab and the rectangle that highlights the bracket match becomes incorrect.
This is because text is inserted to the document without notifying the textarea.
Calling setLineWrap internally fires an event that recalculates the bracket match rectangle and thus solves the problem.
2020-01-20 12:41:58 +01:00
Cristian Maglie
0dde85e417 Removed reference for retired Edison and Galileo boards 2020-01-16 09:31:57 +01:00
Luigi
5c8c3538ee Changing URLs from HTTP to HTTPS
I have changed the URLs from `http` to `httpst`. In particular the page `latest.txt` can be reached on both port 80 and port 443.
2020-01-08 11:42:16 +01:00
Cristian Maglie
7230f09860 macosx notarization: signed libjtouchbar 2020-01-08 11:41:34 +01:00
Kelvin Ly
5fecda7dee Add serial input text field to plotter 2019-10-29 10:19:54 +01:00
Matthijs Kooijman
93581b03d7 Set foreground color in library/board manager
Previously, only the background color was changed to white or light
grey. This worked well for the default theme with a black or dark text,
but not for a dark theme with white or light text.

This commit fixes this by also overriding the text color to be black.
Since the colors are set on the JPanel table cell, but the actual text
is rendered by the description JTextPane, the `setForeground` method is
overridden to forward the foreground color to the description pane.

Note that this commit only touches the table cell and description
inside, the dropdowns and buttons have neither background nor foreground
color set (thus these use both colors from the system theme). It might
be more consistent to also override these, but such native UI components
are typically tricky to colorize properly, so best let the system handle
that normally.

An alternative solution would be only use the default colors, which
would actually preserve the dark theme colors in these managers as well
(rather than forcing black-on-white/grey as now). There are default
colors for selected and non-selected table cells that could be used, but
these are different from the current colors. Additionally, the current
odd/even alternating colors are then also no longer available.
2019-10-16 17:30:40 +02:00
Matthijs Kooijman
7d625181f6 In the board/library manager, create the description component only once
Previously,`makeNewDescription` was called in the constructor and then
again later in the `update` method (board manager) or later in the
constructor (library manager) to recreate the description JTextPane so
it can be filled with text. In all cases, the pane would be created
equal, so there is no point in recreating it.

Now, it is created only once and stored in an instance variable for
later reference. Additionally, `makeNewDescription` now only creates the
JTextPane, the constructor handles adding it (like for other
components).

This change slightly simplifies code, but also prepares for allowing
to change the description text color externally in a later commit.

For the library manager it is not currently strictly needed to have an
instance variable (since the description is only used inside the
constructor), but the instance variable is added for consistency and to
prepare for this same upcoming change.
2019-10-16 17:30:40 +02:00
Matthijs Kooijman
778f681c2f Remove unneeded color-setting code in the boards and library manager
Previously, for the boards manager:
 - InstallerJDialog would set the "selection background" color on the
   table, using the "status.notice.bgcolor" the color (default blueish
   green). This color is not used directly, but made available for cell
   renderers to use.
   a1448876a1/app/src/cc/arduino/contributions/ui/InstallerJDialog.java (L183)
 - For each cell, either a ContributedPlatformTableCellEditor or
   ContributedPlatformTableCellRenderer is used, depending on whether
   the cell is being edited (i.e. when selected).
 - Both of these create a ContributedPlatformTableCellJPanel, and call
   its `update` method, which creates the components for the cell.
 - The `update` method als sets the background color of the description
   to white, which does not actually have any effect because the
   description is not opaque.
   a1448876a1/app/src/cc/arduino/contributions/packages/ui/ContributedPlatformTableCellJPanel.java (L271)
   a1448876a1/app/src/cc/arduino/contributions/packages/ui/ContributedPlatformTableCellJPanel.java (L309)
   https://docs.oracle.com/javase/7/docs/api/javax/swing/JComponent.html#setBackground(java.awt.Color)
 - The `update` method also sets its colors of itself (JPanel) to the FG
   and BG color, or the selected FG and BG color of the table depending
   on the selected status of the cell. These seem to default to black on
   white for non-selected and white on blue-ish for selected cells.
   However, InstallJDialog has replaced the selected BG with a blueish
   green, as shown above.
   Of these, only the BG colors actually seem to take effect. The fg
   color of the description component is actually used (default black).
   a1448876a1/app/src/cc/arduino/contributions/packages/ui/ContributedPlatformTableCellJPanel.java (L282-L288)
 - After calling `update`, ContributedPlatformTableCellEditor overrides
   the JPanel background color with a fixed grey color. Similarly,
   ContributedPlatformTableCellRenderer sets an alternating white and
   (slightly lighter) grey background color. Together, this means that
   the background color set by ContributedPlatformTableCellJPanel is
   never actually used.
   a1448876a1/app/src/cc/arduino/contributions/packages/ui/ContributedPlatformTableCellEditor.java (L132-L133)
   a1448876a1/app/src/cc/arduino/contributions/packages/ui/ContributedPlatformTableCellRenderer.java (L47-L53)

For the library manager, pretty much the same happens.

Effectively, the only colors that were actually used were the background
colors set by ContributedPlatformTableCellEditor and
ContributedPlatformTableCellRenderer. This is problematic because:
 - There is a lot of other confusing and unused code
 - The foreground color is never set. This is fine when it is black or
   another dark color, but when the system is configured with a dark
   theme, the default foreground color will be white, which is
   problematic on a white background.

This commit remove the unneeded code, setting the foreground color
is left for later. It also removes the (now unused) `isSelected` from
`ContributedPlatformTableCellJPanel::update`. For the library manager,
the corresponding argument is still used to decide the "author" color.
2019-10-16 17:30:40 +02:00
Joe Wegner
227bae4f6d Remove the board name from the cell, only in the title. 2019-10-01 08:06:41 -04:00
Joe Wegner
b9265a42b1 Add boarders to the teble items so screen readers will read while walking through the table 2019-09-27 10:29:19 -04:00
Joe Wegner
09e420245b Merge remote-tracking branch 'upstream/master' 2019-09-27 09:42:56 -04:00
Sandeep Mistry
8f0237531f Serial Plotter: Don't try to parse line containing only trimmable characters 2019-09-18 14:10:38 -04:00
Joe Wegner
52c0f6ec60 Add a TitledBorder to panels in bord manager. This really helps the screen reader users. 2019-09-18 09:47:54 -04:00
Iván Pérez
c43266964b UpdateCheck microoptimization
No need to create a `Random` object and get a random ID from it if then it's overwritten with the stored value.
2019-09-16 11:42:43 +02:00
Martino Facchin
930ec16321
Merge pull request #9168 from joew46167/scrollMenu
Tools Boards menu scroll updates for accessibility
2019-08-26 14:09:09 +02:00
Joe Wegner
b9c3f008b0 When deleting set modal to false so editor can resume 2019-08-26 10:47:48 +02:00
Joe Wegner
2a53cba139 Clean up code 2019-08-23 12:28:11 -04:00
Joe Wegner
a908b7b0d9 A way to make the scrolling menu on Tools | Boards menu more accessible friendly - but it's ugly 2019-08-23 10:26:24 -04:00
Joe Wegner
1b515b1767 [Board/Lib manager] When the ide.accessible setting is enabled use buttons instead of links 2019-08-22 09:49:19 +02:00
Joe Wegner
199a943177 Set accessibility description of filter field so screenreaders can tell users where they are 2019-08-22 09:49:19 +02:00
Martino Facchin
a7400216ee Fix UpdateNotification string for boards+libraries 2019-08-21 12:32:27 +02:00
Joe Wegner
710667d15b Remove duplicate code in Preferences 2019-08-21 10:26:53 +02:00
Joe Wegner
2b4c4b57d8 Make UpdateNotification popup accessible
When accessible use buttons instead of links in in Updates Available dialog
Handle buttons and prevent auto-close for accessible dialog box
2019-08-21 10:25:23 +02:00
Joe Wegner
88bda6eb4e Add Accessibility checkbox on Preferences panel 2019-08-21 10:25:01 +02:00
Joe Wegner
6bcd0529c1 Add in accessibility support for screen readers:
ContributedLibraryTableCellJPanel.java: Add description to accessibility context
   ContributedPlatformTableCellJPanel.java: Add description to accessibility context

   ProgressJProgressBar.java:
      Add status to accessibility context
      make progress bar focusable so screen reader can access
2019-08-15 07:14:08 -04:00
Martino Facchin
452ac63200 Refresh lineStatus when tab gets focus
Fixes #9138
2019-08-12 10:07:41 +02:00
Mattia Bertorello
824567d763 Change variable name where store log directory to "log4j.dir" 2019-08-02 11:48:07 +02:00
Mattia Bertorello
a80fd4af06 Add line number to the logs (%L)
https://logging.apache.org/log4j/2.x/manual/layouts.html
2019-08-02 11:48:07 +02:00
Martino Facchin
b2235c3a4a Avoid NPE and spurious unlock if serial monitor is clicked at upload warmup 2019-07-22 14:50:10 +02:00
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 99f6043ced 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
Cristian Maglie
e659825058 Fixed test UpdateTextAreaActionTest 2019-07-18 14:25:24 +02:00
Cristian Maglie
dcee1846bd Updated eclipse classpath 2019-07-18 14:24:59 +02:00
Martino Facchin
b7a6d93d0a Fix SerialMonitor reopen on reconnect 2019-07-18 13:50:03 +02:00
Mattia Bertorello
a492c1ac44 Fix test about the contributions downloader 2019-07-18 12:26:55 +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
Martino Facchin
fb9ce0ade3 Update jssc to arduino4
Repackage jssc-2.8.0-arduino1 and add aarch64 lib instead than plain jssc

Fixes #9062
2019-07-16 11:03:02 +02:00
Mattia Bertorello
58fc5a5011
Add commons-io dependency and replace the extract file name with FilenameUtils 2019-07-11 14:32:50 +02:00
Mattia Bertorello
bd85fdc084
Add log4j.xml configuration 2019-07-05 11:47:36 +02:00
Mattia Bertorello
2596ecee28
Add log4j configuration 2019-07-03 15:25:48 +02:00
Mattia Bertorello
53be417989
Add log4j dependencies 2019-07-02 16:10:12 +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
6b770d0190 Fix UpdateTextAreaAction test 2019-04-18 11:15:58 +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
Cristian Maglie
72330aaddd Fix .classpath: commons-lang3-3.3.2 -> commons-lang3-3.8.1.jar 2019-04-02 16:36:08 +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
933bbb3a39 Fix CommandLineTest.testCommandLineVersion() on Windows
Fix CommandLineTest.testCommandLineVersion() failing on Windows due to Runtime.exec() returning `\r\n` line endings where the test expected `\n` line endings.
2019-03-26 18:46:09 +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