1
0
mirror of https://github.com/arduino/Arduino.git synced 2025-02-09 03:54:18 +01:00

123 Commits

Author SHA1 Message Date
Cristian Maglie
60021c1e63 Library search now works also for headers (.h) provided by libraries
Fixes #7604
2018-05-22 16:28:52 +02:00
Cristian Maglie
e18261f486 library manager: installed element is now displayed correctly 2018-05-22 09:53:37 +02:00
Martino Facchin
397f4e81ea Fixed LibraryOfSameTypeComparator comparator 2018-05-21 10:00:47 +02:00
Cristian Maglie
fee5848a02 Removed no more used predicates 2018-05-17 09:14:25 +02:00
Cristian Maglie
8fa45a3a07 Removed useless double sort
Removed also the weird LibraryByTypeComparator comparator that is no
more used.
2018-05-17 09:14:25 +02:00
Cristian Maglie
ac570c50bd UserLibrary: ensure that types field is always not-null 2018-05-17 09:14:25 +02:00
Cristian Maglie
b3d01d8281 Moved install-related fields out of DownloadableContribution
Those fields have a slightly different meaning on each object that
extends DownloadableContribution and having them grouped in
DownloadableContribution only increase confusion in change of a
(very) tiny code reuse.

Moreover:

- the `readOnly` field has been renamed to `builtIn`
- predicates have been replaced by lambdas
- DownloadableContributionBuiltInAtTheBottomComparator has been replaced
  with a singleton instance
2018-05-17 09:14:25 +02:00
Cristian Maglie
0042a30c81 Simplified version display logic in Library Manager
- replaced the logic to check if an installed-library is a
  builtin library by reusing the same method available in
  ContributedLibraryReleases
- renamed some local vars to better reflect their contents:

  uninstalledLibraries        -> notInstalled
  uninstalledNewerReleases    -> notInstalledNewer
  uninstalledPreviousReleases -> notInstalledPrevious
2018-05-17 09:14:25 +02:00
Cristian Maglie
ac6d3c1aff Core and ref-Core libraries are not handled by the library manager. 2018-05-17 09:14:25 +02:00
Cristian Maglie
b03a9af19a ContributedLibraryReleases: removed getLibrary() method
this method is now useless
2018-05-17 09:14:25 +02:00
Cristian Maglie
5cc66e9715 Moved ContributedLibraryReleases in arduino-core 2018-05-17 09:14:25 +02:00
Cristian Maglie
1089378575 Preparing ContributedLibraryReleases to move in arduino-core
Removed dependency on FilteredAbstractTableModel.getLatestOf() method.
2018-05-17 09:14:25 +02:00
Cristian Maglie
904a898108 Fixed UpdatableLibraryPredicate 2018-05-17 09:14:25 +02:00
Cristian Maglie
86441e4341 Added first tests for library manager engine 2018-05-17 09:14:25 +02:00
Cristian Maglie
2374d9d1bd Introducing UserLibraryFolder
This class allows to attach a Location property to a folder
path, this way we directly know if a library is in the sketchbook,
core, referenced-core or bundled in the IDE.

This simplify a lot of logic in the IDE.
2018-05-17 09:14:25 +02:00
Cristian Maglie
e896595214 UserLibrary doesn't extend ContributedLibrary anymore
ContributedLibrary is used to decode library_index.json and it's
intended to keep data coming only from the index.

Now, when the library_index is synced with the filesystem, the
metadata about installed libraries are kept in a separate list
to not mess up with the main index.
2018-05-17 09:14:25 +02:00
Cristian Maglie
3ec6748dc4 Lib manager Predicates must act on ContributedLibraryReleases
Previously the filtering was made on ContributedLibrary, but the
objects that is actually displayed is a ContributeLibraryReleases,
so it comens natural to filter on this class of objects.

Apparently the functionality is not affected by this commit, but
there may be some side-effect that may probably fix some
visualization bug.
2018-05-17 09:14:25 +02:00
Cristian Maglie
482b905a62 Using Optional<T> semantics for 'replacedLib' in LibraryInstaller
Optional<T> helps to not forget to check about nullness where it is
needed.

This commit should be equivalent and shouln't fix any bug, BTW the
Optional<T> semantic turns out to be useful in the next commits.

Possibly all nullable values will be replaced by Optional in the
future.
2018-05-17 09:14:25 +02:00
Cristian Maglie
212825eb55 Simplified overly complex filtering of InstallerJDialog
- we ensure that there is always a filter selected, no more need
  to check for non-nullness
- the filters are always the same, no need to pass a
  Stream<Predicate<T>> around where Predicate<T> suffices
2018-05-17 09:14:25 +02:00
Cristian Maglie
f111905da6 Removed a lot of useless equals overrides.
Those introduces a very convoluted logic that is needed only in
two cases. Moreover those are better handled by directly checking
the object.
2018-05-17 09:14:25 +02:00
Cristian Maglie
b832e0d8b1 Use anyMatch instead of count in ContributionSelfCheck checks 2018-05-17 09:14:25 +02:00
Cristian Maglie
d285b7fdc9 Improved VersionComparator API 2018-05-17 09:14:25 +02:00
Cristian Maglie
627d4fb536 Removed NoopPredicate 2018-05-17 09:14:25 +02:00
Martino Facchin
60f267745b Add on-hover selection on Board/Library manager
User testing on skilled devs showed that "buttons appear on click" behaviour is far from being understood.
Accessibility features (like moving with Arrow keys) should be untouched.
2018-05-02 16:41:59 +02:00
Martino Facchin
a47e62627c [Lib/Board Manager] Give some padding to the dropdown lists 2018-05-02 16:41:59 +02:00
Fabián Inostroza
b17c5122c2 Set default color of text for descriptions shown in library manager. 2016-11-25 15:19:36 +01:00
Martino Facchin
29e79c8157 update API to v1 2016-08-26 16:42:44 +02:00
Cristian Maglie
0c453355f4 Merge branch 'fix-annoying-popup' 2016-04-04 13:34:14 +02:00
Cristian Maglie
8d7ee63c70 Autoclose notification popup after 10 seconds. 2016-04-04 13:30:42 +02:00
Martino Facchin
84fdb0c0c3 Remove stray debug print 2016-04-01 17:05:54 +02:00
Martino Facchin
b99ab40ba2 Enable links to directly open Lib/Board manager
If a sketch contains a link to http://librarymanager/${dropdown}#${filter} or http://boardmanager/${dropdown}#${filter} (for example http://librarymanager/All#OneWire) Library or Board manager will be opened applying the secified filters
2016-04-01 10:55:35 +02:00
Cristian Maglie
1a7eaaf8b2 Fix always-on-top notification popup 2016-03-31 18:49:44 +02:00
Cristian Maglie
57c6d096f6 Notification pop-up is now correctly scaled 2016-01-26 16:48:14 +01:00
Cristian Maglie
9215c06676 Installers windows are now correctly scaled. 2016-01-26 12:10:12 +01:00
Cristian Maglie
16c4701802 Rename Contributed*TableCell to Contributed*TableCellJPanel 2015-12-29 16:01:34 +01:00
Cristian Maglie
a7e22e1958 Some minor cosmetics 2015-12-29 16:01:34 +01:00
Cristian Maglie
2b9483b6e6 Extract ContributionIndexTableModel as outer class 2015-12-29 16:01:34 +01:00
Cristian Maglie
d598f0cfa7 Removed unused LibraryManagerUI.getContribModel() method 2015-12-29 16:01:34 +01:00
Cristian Maglie
91f18dff24 Factored out ContributedLibraryTableCell.update(...) method 2015-12-29 16:01:34 +01:00
Cristian Maglie
71eb3c3ab2 Removed useless DESCRIPTION_COL constant 2015-12-29 16:01:34 +01:00
Cristian Maglie
47fcf318b1 Removed unused parameters in *TableCell.update(..) method 2015-12-29 16:01:33 +01:00
Cristian Maglie
76068c92b4 *TableCellEditor now extends JPanel 2015-12-29 16:01:33 +01:00
Cristian Maglie
015f658d1e Factored out TableCell setEnable() code 2015-12-29 16:01:33 +01:00
Cristian Maglie
c1387ed316 Removed weird hack for refreshing table cells 2015-12-29 16:01:33 +01:00
Cristian Maglie
4725584a49 ContributedPlatformCell* now follows swing cell model abstraction
This commit completes the refactoring
2015-12-29 16:01:33 +01:00
Cristian Maglie
6370a74632 Split TableCellRenderes from TableCellEditors
This rationalization helps to better follow the swing abstractions
of table models and increase separation of concerns.

(WIP: ContributedPlatforms needs a similar refactoring that will be
done in the next commits)
2015-12-29 16:01:33 +01:00
Cristian Maglie
fd04767269 Renamed ContributedLibraryTableCell to ContributedLibraryTableCellRenderer
This is in preparation for the next refactoring.
2015-12-29 16:01:33 +01:00
Cristian Maglie
ed30cd7b58 Removed ContributedLibraryTableCell.Cell dependency from upper editorValue field 2015-12-29 16:01:33 +01:00
Cristian Maglie
268ae81759 Removed useless parentTable field in ContributedLibraryTableCell 2015-12-29 16:01:33 +01:00
Cristian Maglie
926a8c9101 Correct implementation of ContributedLibraryTableCell
getTableCellRendererComponent() interface requires to return independent
Component objects used for "stamping" the table element.
2015-12-29 16:01:33 +01:00