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

1337 Commits

Author SHA1 Message Date
Federico Fissore
d3b3dbb299 Old Preferences class remains for backwards compatibility as a delegate for PreferencesData 2015-05-15 15:52:58 +02:00
Federico Fissore
7816ee3f10 New Preferences window: renders fine on every OS and it's easier to adapt using NetBeans as visual editor. Fixes #3140 2015-05-15 15:52:52 +02:00
Federico Fissore
d57681c442 Restored current line/current selected lines display on lower left of the IDE. Fixes #3134 2015-05-14 15:55:49 +02:00
Federico Fissore
54da4d6d37 New editor on MacOSX: restored CMD+E for finding selected text 2015-05-14 14:53:12 +02:00
Federico Fissore
5c7a0aa572 New editor on MacOSX: CMD+UP/DOWN moves cursor to start or end of sketch. See #3098 2015-05-14 14:53:12 +02:00
Federico Fissore
176d366549 New editor on MacOSX: CMD+BACKSPACE deletes current line until cursor position, ALT+BACKSPACE deletes previous word. See #3098 2015-05-14 14:53:12 +02:00
Federico Fissore
28e02572bc ArduinoIDE is in the default package. Removed 2015-05-14 14:53:12 +02:00
Federico Fissore
765519a562 New editor: ALT+ BACKSPACE deletes next word (OSX only). See #3098 2015-05-13 17:39:43 +02:00
Federico Fissore
91da999cb0 New editor: ALT+ UP/DOWN move current line only if "editor.advanced" (hidden pref) is true. Fixes #3101 2015-05-13 17:12:26 +02:00
Federico Fissore
2d24d074e3 New editor: mark occurrences enable when "editor.advanced" (hidden pref) is true. Fixes #3102 2015-05-13 17:07:58 +02:00
Federico Fissore
6789cfe223 New modal dialog for adding additional boards manager url: with a wide text area, inputing is much easier 2015-05-13 16:24:37 +02:00
Federico Fissore
166c1aa7bb New editor: restored CTRL+K (open sketch folder). Fixes #3103 2015-05-12 17:41:16 +02:00
Federico Fissore
03283bb098 Avoid referring directly to RSyntaxTextArea, at least in the names 2015-05-12 16:20:54 +02:00
Federico Fissore
334e75254f Restoring left empty space on the editor 2015-05-11 17:07:09 +02:00
Federico Fissore
050a642edf Disabled port type fake menu entry. Fixes #3113 2015-05-11 10:58:22 +02:00
Federico Fissore
e8c4980c4e Added BaseNoGui.VERSION_NAME_LONG: it includes "Hourly Build DATE" in case of a hourly build 2015-05-11 10:48:52 +02:00
Federico Fissore
f17cc834cf Code folding is disabled by default. Fixes #3105 2015-05-07 20:40:50 +02:00
Federico Fissore
5bc6cee118 Added missing licenses/copyrights 2015-05-07 17:30:05 +02:00
Federico Fissore
0598d38a04 Code folding was not visible when line numbers were disabled. Fixed 2015-05-07 17:15:51 +02:00
Federico Fissore
2981059251 PdeKeywords must be read before consulting command line args 2015-05-07 17:15:51 +02:00
ricardo.jl.rufino
21c7715f02 hyperlinks enabled by default on comment 2015-05-07 17:15:51 +02:00
Federico Fissore
eb42243475 Ensure hyperlinks are coloured using theme.txt colour
Enabling [CTRL,CMD]+click to open hyperlinks
2015-05-07 17:15:51 +02:00
Federico Fissore
f8aecd0f9c Autoformat was generating two undo action, the first one being an empty editor. Tested and fixed 2015-05-07 17:15:51 +02:00
Federico Fissore
c0a1ffa27a Fixed failing PdeKeywords test
Autoformat was not saving caret position any more. Fixed
2015-05-07 17:15:51 +02:00
Federico Fissore
9ebe916fac Restoring keyword.txt loading and parsing. Added token type identifiers and related style in theme.txt 2015-05-07 17:15:50 +02:00
Federico Fissore
5eca70b1d0 New editor: removed 1px border around editor 2015-05-07 17:15:50 +02:00
Federico Fissore
2ec7a02532 Removed color theme selection: we currently support only one theme 2015-05-07 17:15:50 +02:00
Federico Fissore
330aeb0ba1 Revert "improves font rendering"
This reverts commit c2d9a1b020f82fa82ef0df04765adc40e87d145f.
2015-05-07 17:15:50 +02:00
Federico Fissore
58cd233aee New editor: addede missing license headers on new files 2015-05-07 17:15:50 +02:00
ricardo.jl.rufino
f426188d04 Add 'Code Folding' preferences and fix Font-Size changes 2015-05-07 17:15:50 +02:00
ricardo.jl.rufino
1e61cd6b4c preferences for syntax highlighting theme 2015-05-07 17:15:50 +02:00
ricardo.jl.rufino
45094a9d52 remove not used interface 2015-05-07 17:15:50 +02:00
ricardo.jl.rufino
1379505e13 new editor based on RSyntaxTextArea 2015-05-07 17:15:49 +02:00
ricardo.jl.rufino
63f153c0c2 Allow redirect logs to console 2015-05-07 17:15:49 +02:00
ricardo.jl.rufino
ff49809d77 improves font rendering 2015-05-07 17:15:49 +02:00
ricardo.jl.rufino
2e497c6c47 removing files from the old editor 2015-05-07 17:15:49 +02:00
Federico Fissore
9d92baa14c Fixing longstanding bug that made File and Tools menu items overlap "sometimes" 2015-05-07 16:52:25 +02:00
Federico Fissore
50a5034176 Ensuring sketch menu is properly rendered when editor windows gains/loses focus 2015-05-07 14:55:50 +02:00
Federico Fissore
fd6d9561a8 Export sketch: refactored to reuse existing code 2015-05-07 12:32:52 +02:00
Arnav Gupta
4d029de000 saveHex: rename recipe.hex -> recipe.output
Signed-off-by: Arnav Gupta <championswimmer@gmail.com>
2015-05-07 11:57:12 +02:00
Arnav Gupta
4acfc0c344 Make the export option string translatable 2015-05-07 11:57:12 +02:00
Arnav Gupta
78936541b7 update Sketch menu, add Save hex option
* Moving Upload options from "File" menu to "Sketch" menu as those
     are sketch actions more than file actions.

Signed-off-by: Arnav Gupta <championswimmer@gmail.com>
2015-05-07 11:57:12 +02:00
Federico Fissore
03a43370b7 Added missing license headers to files added with the last commits 2015-05-05 14:29:15 +02:00
Federico Fissore
0dcc09afab Restored Preferences static delegate methods and marking them as @Deprecated 2015-05-05 14:25:47 +02:00
Federico Fissore
85b2298ca7 When IDE is started and built in core is newer than installed one and this check hasn't been notified before, show "please update" modal 2015-05-05 13:03:28 +02:00
Federico Fissore
9b58812d1d Preparing the ground for rewriting Preferences GUI code (and hopefully fixing the tiny-pref-window bug on macosx) 2015-05-05 10:02:12 +02:00
Federico Fissore
7e7a9d0fe8 Disabling uncertified boards warning even in java code, for good measure 2015-05-05 09:17:50 +02:00
Federico Fissore
cd49d29e52 Lots of unclosed input and output streams now properly closed. They were preventing Boards Manager from working on Windows 2015-05-04 15:44:34 +02:00
Federico Fissore
71106edbf8 Boards Manager: additional URLs may be specified from File > Preferences 2015-05-04 13:26:18 +02:00
Federico Fissore
9d65b414b2 Boards Manager: index was updated twice. Fixed 2015-05-04 12:05:50 +02:00
Federico Fissore
ecf432fadc Boards Manager: downloading additional files as specified in preference 'boardsmanager.additional.urls' 2015-05-04 12:05:50 +02:00
Federico Fissore
cf1879f948 Introducing GPG signature verification when loading main package_index file 2015-05-04 12:05:50 +02:00
Federico Fissore
2acd06d7f4 Core/Lib manager confirmation dialogs should pop up onto that manager modal 2015-04-29 15:04:10 +02:00
Federico Fissore
3bb6104bc8 Removed stale static variable 2015-04-29 11:57:06 +02:00
Federico Fissore
2288f035b9 Removed left over println 2015-04-29 11:07:15 +02:00
Federico Fissore
74dea286a7 MacOSX: double click on a .ino file works again. Fixes #2888 2015-04-29 09:10:26 +02:00
Federico Fissore
6303f84949 Logging Verifying/Uploading when using CLI 2015-04-28 14:54:16 +02:00
Federico Fissore
d805fb4e1f Renamed compiler.warning_flags pref to compiler.warning_level
Provided a default value for compiler.warning_flags
Releasing avr core 1.6.5
2015-04-24 09:27:28 +02:00
Federico Fissore
269a8b1199 "No internet connection" copy change. Closes #3007 2015-04-22 09:59:28 +02:00
Federico Fissore
38d5e916ca Merge pull request #2973 from ffissore/warnings
Reviewed warnings key names and dropdown in Preferences
2015-04-17 23:55:54 +02:00
Federico Fissore
96c4576962 Added --preserve-temp-files command line option 2015-04-15 11:00:01 +02:00
Federico Fissore
3465fcf97b File.deleteOnExit is not recursive. Replaced by DeleteFilesOnShutdown shutdown hook. Fixes #2971 2015-04-15 10:21:37 +02:00
Federico Fissore
f7fe11c825 Reviewed warnings key names and dropdown in Preferences 2015-04-13 17:18:23 +02:00
Federico Fissore
b42c6667e1 Better preference for setting warnings level. See 61592d78fa (commitcomment-10668365) 2015-04-13 12:22:37 +02:00
Federico Fissore
61592d78fa New preference: enable all compiler warnings, off by default. Fixes #1728 and #2415. Also affects #2634 and #2207 2015-04-10 15:29:15 +02:00
Kristian Sloth Lauszus
7d08b58222 Allow library manager to install multiple libraries at once.
Libraries are split using a comma fx: --install-library "Kalman filter library,USB Host Shield Library 2.0"
2015-04-09 15:08:11 +02:00
Federico Fissore
6d46bd0bde Useless DropdownBuiltInLibrariesItem removed
Moved LibraryInstaller from app to arduino-core
Moved InstallerJDialogUncaughtExceptionHandler to the generic contributions.ui package
2015-04-09 12:17:56 +02:00
Federico Fissore
9b3ee714c7 Fixed *Manager error message glitch 2015-04-09 12:12:40 +02:00
Federico Fissore
a7024791cd download.php was used to distribute downloads across multiple server. we use dns round robin now 2015-04-09 12:12:10 +02:00
Federico Fissore
6b6866370a Preliminary support to online help/reference 2015-04-08 16:38:36 +02:00
Federico Fissore
d022111fde CLI: library manager install latest if version is not specified 2015-04-08 15:44:11 +02:00
Federico Fissore
ba3ecff13c Added missing license headers 2015-04-08 15:38:22 +02:00
Federico Fissore
dd3f9fe66c CLI: board manager install latest if version is not specified 2015-04-08 15:35:03 +02:00
Federico Fissore
09255254d7 Preliminary command line support to boards manager and library manager 2015-04-08 15:15:41 +02:00
PaulStoffregen
750534f69a Show sub-menu settings in Tools menu 2015-04-04 06:32:10 -07:00
Federico Fissore
f1fc0797e1 MacOSX: looks like sometimes, an unlisted contribution is requested to the underlying tablemodel. Weird 2015-04-02 11:03:12 +02:00
Federico Fissore
f79a6c5d8b Library and Boards Manager: preserving filter selections 2015-04-01 17:31:02 +02:00
Federico Fissore
7a97be43a5 Uniformly using versions parsed through semver 2015-04-01 17:11:48 +02:00
Federico Fissore
d94e279fdf Showing post install script errors AFTER the installation is completed 2015-04-01 13:23:57 +02:00
Federico Fissore
29cb42eb50 Bundled core is again inside the hardware folder.
Fixed a handful of glitches when dealing with multiple installed cores
2015-03-31 17:42:41 +02:00
Federico Fissore
b3d7d952bb Fixed typo in LibraryInstaller variable name. Thanks nid69ita 2015-03-30 14:12:34 +02:00
Federico Fissore
b65b576eb0 Getting rid of native stuff. Avoid native stuff: it will break. Fixes #2828, #2829, #2830 2015-03-30 10:46:37 +02:00
Federico Fissore
9757546bc8 LibraryManager: replacing spaces with underscores 2015-03-27 14:51:20 +01:00
Federico Fissore
3bcbf22a2a Libraries under "contributed" in lib menu are those that have types "contributed" 2015-03-27 14:51:20 +01:00
Federico Fissore
6e498ee5b9 LibraryManager: better type filtering 2015-03-27 14:51:19 +01:00
Federico Fissore
a1d99b9a9b LibraryManager: category is now topic, type added to list official/contributed/recommended libs 2015-03-27 14:51:19 +01:00
Federico Fissore
b0a357f5d3 Library Manager: added Type filter dropdown 2015-03-27 14:51:19 +01:00
Federico Fissore
a83d6e9886 Library manager: "remove" button removed 2015-03-27 14:51:19 +01:00
Federico Fissore
65f285fa66 Added Edison and Galileo help menus 2015-03-27 14:51:19 +01:00
Federico Fissore
60dac7e59d Fixed erratic behaviour of "include library" menu 2015-03-27 14:51:18 +01:00
Federico Fissore
ab227d37e5 LibraryManager warning dialog: \n instead of <br> 2015-03-27 14:51:18 +01:00
Federico Fissore
24b32422e2 Fixed a bunch of code inspection warnings 2015-03-27 14:51:18 +01:00
Federico Fissore
8bdd2c9402 InstallerJDialog: ignoring key events when installation is ongoing 2015-03-27 14:51:18 +01:00
Federico Fissore
3fb3774627 lib/core installer: scrolling with arrow keys almost works 2015-03-27 14:51:17 +01:00
Federico Fissore
8922541898 InstallerJDialog: smoother scrolling 2015-03-27 14:51:17 +01:00
Federico Fissore
87d5159da7 Added "no internet connection available" error message 2015-03-27 14:51:17 +01:00
Federico Fissore
402c24d103 Core deletion confirmation 2015-03-27 14:51:17 +01:00
Federico Fissore
84b90905cb Fixed a bug that could cause Boards menu to show up more than once in some hard-to-reproduce situations 2015-03-27 14:51:17 +01:00
Federico Fissore
930289aa65 Base.boardsCustomMenus is not a static any more 2015-03-27 14:51:17 +01:00
Federico Fissore
a053088691 Fixed bug with HTTPS proxy settings 2015-03-27 14:51:17 +01:00
Federico Fissore
44ce5fe67a Fixed missing error message 2015-03-27 14:51:17 +01:00
Federico Fissore
59b8177916 Separate HTTPS proxy support (server and port) 2015-03-27 14:51:17 +01:00
Federico Fissore
639824e516 Making contrib table rows set the right height since the beginning, with no need to fix that later 2015-03-27 14:51:16 +01:00
Federico Fissore
6b5244eafe Some ArchiveExtractor bugs fixed and its code formatted 2015-03-27 14:51:16 +01:00
Federico Fissore
b32dc93506 Ported UX of library manager to core manager 2015-03-27 14:51:16 +01:00
Federico Fissore
17d3729426 Package names refactoring: contributions is the main package, libs and cores are subpackages 2015-03-27 14:51:16 +01:00
Federico Fissore
fe85083f0b Setting preferences.txt permissions to 600 on linux and mac 2015-03-27 14:51:16 +01:00
Federico Fissore
4db6c737be Preferences: added proxy settings 2015-03-27 14:51:16 +01:00
Federico Fissore
9add5f74e7 Attempting to fix a NPE 2015-03-27 14:51:16 +01:00
Federico Fissore
603dd3cb3a Core/lib manager: asking confirmation before deleting unmanaged library 2015-03-27 14:51:16 +01:00
Federico Fissore
103f2e433a Continuing improving library manager 2015-03-27 14:51:15 +01:00
Federico Fissore
8e5a04f6a9 Various improvements on library manager 2015-03-27 14:51:15 +01:00
Federico Fissore
d0817f7142 Category filters for libraries and cores 2015-03-27 14:51:15 +01:00
Federico Fissore
0110fd8ff1 Core/lib manager: INSTALLED label 2015-03-27 14:51:15 +01:00
Federico Fissore
631bf76c76 Revert "Fixed selectors in Boards Manager"
This reverts commit e19cf4d1a15f70c99f64769cedc2fe2b0bc24841.
2015-03-27 14:51:15 +01:00
Federico Fissore
aa0cadbd0e Removed auto download when cores/libs empty: they are download every single time the related manager is downloaded 2015-03-27 14:51:14 +01:00
Cristian Maglie
145e0184e6 Fixed selectors in Boards Manager 2015-03-27 14:51:14 +01:00
Federico Fissore
9fd4e8e940 Libraries menu: dynamic title in library group 2015-03-27 14:51:14 +01:00
Federico Fissore
9b79d04323 LibrariesIndexTableModel: using guava and new version comparator to filter and sort libraries 2015-03-27 14:51:14 +01:00
Federico Fissore
d8ef27887e core/lib installer: bottom of window used only for error messages 2015-03-27 14:51:14 +01:00
Federico Fissore
dc27ff8b70 Core installer: status message placed at bottom right corner 2015-03-27 14:51:14 +01:00
Federico Fissore
4562ad8ded core/lib manager modal is placed above the active editor 2015-03-27 14:51:13 +01:00
Federico Fissore
33c26854a6 Cores/libs list are downloaded every time the windows is opened 2015-03-27 14:51:13 +01:00
Federico Fissore
2aec5ed4fb Fixed copyright header 2015-03-27 14:51:13 +01:00
Federico Fissore
e5e5880a15 HostDependentDownloadableContribution better handles Macosx 2015-03-27 14:51:13 +01:00
Federico Fissore
9f68d4df74 First round of UX feedback 2015-03-27 14:51:13 +01:00
Federico Fissore
d050c4ee4a AVR bundle: by default the IDE is built bundled with the avr toolchain and cores
By passing -Dlight_bundle=1 to ant, an light/empty IDE is built
2015-03-27 14:51:13 +01:00
Federico Fissore
562c566618 Changed labels 2015-03-27 14:51:13 +01:00
Federico Fissore
0435a80f6d Error messages printed in the installer dialog, also get printed in the lower black area 2015-03-27 14:51:12 +01:00
Federico Fissore
5989bb400d When the cores or libraries list are empty, they get automatically updated 2015-03-27 14:51:12 +01:00
Federico Fissore
357d5954c3 Error message is printed at the bottom of the dialog 2015-03-27 14:51:12 +01:00
Cristian Maglie
6f5f9bedb4 Library Installer: Allows libraries to be updated 2015-03-27 14:51:12 +01:00
Cristian Maglie
2c234a09f1 Libraries Installer UI refactor 2015-03-27 14:51:12 +01:00
Federico Fissore
f833ff84a7 Base and BaseNoGui: removed uncaught exception handler
ContributionManagerUI: after install/upgrade/remove, cell updated and not in edit mode
2015-03-27 14:51:12 +01:00
Federico Fissore
33457adafe Restored Add .ZIP Library... menu
Fixed missing platform name label when using custom platforms
2015-03-27 14:51:12 +01:00
Federico Fissore
cb6514e4bb Added InstallerTableCell.setJTextPaneDimensionToFitContainedText 2015-03-27 14:51:12 +01:00
Cristian Maglie
1f564d6709 Cores Installer UI refactor (WIP) 2015-03-27 14:51:12 +01:00
Federico Fissore
86f84c8a3e Changed package_index and library_index json urls to use download.php proxy
Installed a ESC key listener: it allows to close the dialog pressing the ESC key
2015-03-27 14:51:11 +01:00
Federico Fissore
589f514a47 ContributedPlatform.getResolvedTools returns a copy of the original list (otherwise violating inner state) 2015-03-27 14:51:11 +01:00
Federico Fissore
6007403834 Removed some printStackTrace in favour of throwing RuntimeExceptions. DefaultUncoughtExceptionHandler will handle them 2015-03-27 14:51:11 +01:00
Federico Fissore
fe6718ce4f Removing previously installed platform on upgrade 2015-03-27 14:51:11 +01:00
Cristian Maglie
2c941d424e Factored installer GUI code 2015-03-27 14:51:11 +01:00
Cristian Maglie
0755c7c004 Library installer UI 2015-03-27 14:51:10 +01:00
Cristian Maglie
0b9223c158 Added Contributions for libraries 2015-03-27 14:51:10 +01:00
Cristian Maglie
75d1cb874d Available boards are updated right after closing "Boards Installer"
Boards menu list has been moved into Base class where it looks a more
appropriate place to reduce interactions between Editor class and Base
class.

Probably shared menus can be moved in a separate, specific, class.
2015-03-27 14:51:10 +01:00
Cristian Maglie
1aab726750 Fixed glitch in "Boards Installer" GUI 2015-03-27 14:51:10 +01:00
Cristian Maglie
fe2d087ebd Implemented "Update List" button of Boards Installer. 2015-03-27 14:51:10 +01:00
Cristian Maglie
5d1e4e3f70 Inverted MVC logic on installer to get a cleaner code.
Part of the control logic was moved from listeners to GUI class methods.
This goes against a pure MVC but makes the code much more cleaner.
2015-03-27 14:51:10 +01:00
Cristian Maglie
cf058c37ba Categories and filter search on installer 2015-03-27 14:51:10 +01:00
Cristian Maglie
353a35942c Another installer GUI improvement. 2015-03-27 14:51:10 +01:00
Cristian Maglie
56ae061d7e Improved platforms installer GUI. Platforms are now downloaded from network. 2015-03-27 14:51:09 +01:00
Cristian Maglie
915c9d6f8f Introducing 'Progress' interface. 2015-03-27 14:51:09 +01:00
Cristian Maglie
2a8c742453 Added Contribution installer, install and remove correctly.
Tested on linux
2015-03-27 14:51:09 +01:00
Cristian Maglie
373a625903 GUI for platform installer, first draft 2015-03-27 14:51:09 +01:00
Cristian Maglie
100dd21bd0 Added Contributed Platforms.
- TargetPackage / TargetPlatform / TargetBoard are now interfaces
- Contributions installed are detected during init time
- Tools must be referenced through "path" property (automatically set
  by the IDE to the contributed tool path)
2015-03-27 14:51:09 +01:00
Federico Fissore
36079efccb Added missing license headers 2015-03-25 10:13:42 +01:00
Federico Fissore
6bdfa00e61 Splashscreen: initial message 2015-03-19 12:26:36 +01:00
Federico Fissore
ec1db8ca8a New splashscreen and about images 2015-03-17 10:49:16 +01:00
Federico Fissore
dba808c3dc Instantiating SplashScreenHelper in main() was leaving it null for the tests. Fixed 2015-03-13 11:35:37 +01:00
Federico Fissore
38f868af5b Fixed placement of find & replace dialog 2015-03-13 11:30:42 +01:00
Federico Fissore
b4ff39144c Preferences frame opens on top of active editor 2015-03-13 10:49:16 +01:00
Federico Fissore
2a0bc2bfca Splashscreen 2015-03-13 10:39:18 +01:00
Federico Fissore
e08bd63038 Resetting swing.aatext to the preferred value as soon as preferences are available 2015-03-13 09:43:01 +01:00
Federico Fissore
c946a29aac Nicer fonts 2015-03-12 09:58:32 +01:00
Federico Fissore
c287450d72 Added missing translations 2015-03-10 08:52:42 +01:00
Federico Fissore
39d1dfc999 Added warning for uncertified boards 2015-03-10 08:52:41 +01:00
Federico Fissore
84acf463ec Fix to save as to parent folder is needed by all OSs, not just Mac 2015-03-04 12:15:07 +01:00
Federico Fissore
803a0eebb4 Merge branch 'saveas_to_parent_folder_mac' of https://github.com/delftswa2014/Arduino into delftswa2014-saveas_to_parent_folder_mac 2015-03-04 11:48:29 +01:00
Federico Fissore
e327bb091a MacOSX: better IDE 2015-03-03 15:48:20 +01:00
Federico Fissore
b7b8a35404 NEW button now behaves as clicking File -> New menu entry. Fixes #2685 2015-03-02 10:08:58 +01:00
Ivo van de Grift
58581e2eb1 Added .getParentFile() to saveas for mac. This prevents saving into the sketch itself 2015-02-27 17:35:14 +01:00
Federico Fissore
6d2aa17051 Compound edits weren't part of the undo/redo dance 2015-02-27 15:51:58 +01:00
Federico Fissore
cad74c5f7c An undoable action marks the sketh as modified 2015-02-27 15:51:57 +01:00
Federico Fissore
78f2e87b00 Undo and Redo state update were setting the sketch to modified, even if it was not. Fixes #2653 2015-02-27 15:51:57 +01:00
Cristian Maglie
d1feeb5419 Added a bunch of new languages and updated translations 2015-02-27 15:10:27 +01:00
Geronimo Bareiro
2dbe0059c5 Fix use the correct reference.
it was used file, wich was a null pointer, use sketchFile instead.
2015-02-26 03:03:25 -03:00
Federico Fissore
e385f67fce Better error message when opening serial monitor on a busy serial device. Closes #2632 2015-02-23 10:40:47 +01:00
PaulStoffregen
3bd694d78b Update status bar when custom menus change 2015-02-22 03:54:44 -08:00
swordmaster2k
1d266d89cd Took into account the fact that the user can choose to select search
all files.

Signed-off-by: swordmaster2k <b00056835@student.itb.ie>
2015-02-16 19:23:59 +00:00
swordmaster2k
9726df4c1f Merge branch 'iss2402' 2015-02-16 18:51:15 +00:00
swordmaster2k
87989a2d7b Fixed bug introduced by #2402. Began replace all search from the first tab.
Signed-off-by: swordmaster2k <b00056835@student.itb.ie>
2015-02-16 18:47:14 +00:00
Cristian Maglie
cf3e9480a5 Merge pull request #2626 from ffissore/hide-cu-devs-on-mac
Macosx: filter out /dev/cu* ports
2015-02-13 15:49:27 +01:00
Federico Fissore
5687528325 Fixed bug introduced by #2628 2015-02-13 15:30:43 +01:00
Federico Fissore
a49963d0ad Filter out /dev/cu* ports, can be re-enabled manually adding "serial.ports.showall=true" into preferences.txt file
Closes #2624
2015-02-13 10:53:12 +01:00
Federico Fissore
fea3848ee0 Split ports in menu, grouping boards by their protocol
Closes #2627
2015-02-11 13:08:20 +01:00
Cristian Maglie
c4cd447283 Updated offline docs 2015-02-08 19:49:27 +01:00
Federico Fissore
d460982623 Macosx: new appbundler, new macosx builds. Use platform=macosx and platform=oldmacosx 2015-02-02 09:53:56 +01:00
Cristian Maglie
81808d532e Merge branch 'ide-1.5.x-fail-when-no-platform-txt' of https://github.com/ffissore/Arduino into ide-1.5.x 2015-01-14 17:19:11 +01:00
Cristian Maglie
244a750bef Merge branch 'wayoda-fix-find-dialog-layout' into ide-1.5.x 2015-01-13 23:30:22 +01:00
Cristian Maglie
17115b0a9b Fixed NPE when import menu are empty 2015-01-13 23:16:53 +01:00
Cristian Maglie
56b9f1cd6f Fixed NPE when currently selected platform is no more installed.
BaseNoGui.getTargetBoard() now handles null TargetBoard.
Removed unused method Base.getTargetBoard()
2015-01-13 23:16:53 +01:00
Cristian Maglie
29d2ab72e2 Fixed a bunch of simple warnings in java code 2015-01-13 23:16:50 +01:00
Cristian Maglie
99715d22d9 Removed unused classes Commander.java and Webserver.java 2015-01-13 23:05:36 +01:00
Cristian Maglie
92118494ed Slighlty better layout for Search and Replace dialog.
See https://github.com/arduino/Arduino/pull/2540#issuecomment-69167281
2015-01-08 14:41:54 +01:00
Federico Fissore
b16ee6c7b2 Editor: removed duplicated classes DefaultRunHandler, and DefaultPresentHandler in favour of generic BuildHandler 2015-01-08 14:03:38 +01:00
Federico Fissore
980709f6f7 Compiler: missing mandatory key now blocks compilation 2015-01-08 13:57:59 +01:00
Cristian Maglie
18fc1c9f45 Find/Replace dialog, added 10px of padding to match other dialogs 2015-01-07 16:02:12 +01:00
Cristian Maglie
78e098e3d7 Indent pass, no code change 2015-01-07 16:01:37 +01:00
wayoda
858bd455d7 Fix layout for Find-Replace dialog 2015-01-07 15:14:44 +01:00
Cristian Maglie
863cb417a6 Merge pull request #2485 from ffissore/ide-1.5.x-reenable-38400
Re enable 38400 baud rates
2015-01-06 17:39:44 +01:00
Cristian Maglie
ab92e42259 Merge branch 'master' into ide-1.5.x
Conflicts:
	app/src/processing/app/Serial.java
	app/src/processing/app/SerialMonitor.java
2014-12-23 16:41:38 +01:00
Cristian Maglie
8e0a311e87 SerialMonitor: limit buffering without autoscroll
When the "autoscroll" checkbox is deselected the buffer may continue
to grow up to twice of the maximum size.

This is a compromise to ensure a better user experience and, at the
same time, reduce the chance to lose data and get "holes" in the
serial stream.

See #2491
2014-12-23 14:11:45 +01:00
Cristian Maglie
63f5d26ae9 Improved Serial input processing.
Before this patch every byte received from Serial
invokes a String allocation, not really efficient.

Moreover a InputStreamReader is chained on the serial
InputStream to correctly convert bytes into UTF-8
characters.
2014-12-23 12:58:41 +01:00
Cristian Maglie
391d3380ee Removed leftover debug print 2014-12-10 11:01:45 +01:00
Cristian Maglie
35848e09a8 Mitigated Serial Monitor resource exhaustion when the connected device sends a lot of data
Fixes #2233
2014-12-10 10:37:43 +01:00
Federico Fissore
2f08fe4ecf 38400 baud rate had issues with RXTX and linux. With JSSC, it seems to be working fine again. Fixes #2296 2014-12-04 13:10:01 +01:00
Cristian Maglie
6eef453944 Fixed EditorConsole new-line regression.
Now EditorConsole starts a newline also when a CR character is read
from command output.
2014-11-25 15:37:55 +01:00
Cristian Maglie
15f3d1f8e7 Fixed import style in EditorConsole.java 2014-11-25 15:37:54 +01:00
Cristian Maglie
257238c050 IDE: better error handling for upload/burn bootloader
RunnerException was displayed with an ugly stacktrace, while the
message contained in the exception itself is already quite enough
detailed and clear.
2014-11-20 14:00:43 +01:00
Cristian Maglie
b0bd52b387 Removed duplicate version fields in Base class 2014-11-18 14:04:14 +01:00
Claudio Indellicati
98bdc7b587 Moved specialized Platform classes and related resources to the 'arduino-core' project. 2014-11-13 16:34:25 +01:00
Cristian Maglie
ba8eadeeb5 Split IDE into 2 projects.
BEWARE: HIGHLY EXPERIMENTAL BRANCH
2014-11-13 16:34:24 +01:00
Claudio Indellicati
2de206cccd Modified preferences initialization in BaseNoGui. 2014-11-13 16:23:46 +01:00
Claudio Indellicati
1974d77abe Added new command line options.
--buildpath
--nouploadport
--useprogrammer
2014-11-13 16:23:46 +01:00
Claudio Indellicati
b2a88ecdd2 Removed inheritance relationship between SketchCodeDocument and SketchCode. 2014-11-13 16:23:46 +01:00
Claudio Indellicati
c2223107b1 Fixed wrong sketch structure check. 2014-11-13 16:23:46 +01:00
Claudio Indellicati
2702ccef0c Added main() and init() methods to BaseNoGui.
Now the the GUI and the rest of the code should be completely separated.
2014-11-13 16:23:46 +01:00
Claudio Indellicati
4d3599b2c4 Moved getBuildFolder() and related members/methods from Base to BaseNoGui. 2014-11-13 16:23:46 +01:00
Claudio Indellicati
6d28e12a41 Moved commandline parsing code from Base/BaseNoGui to new CommandlineParser class. 2014-11-13 16:23:45 +01:00
Claudio Indellicati
035e57e909 Moved getDefaultSketchbookFolder() from Base to BaseNoGui and other minor fixes. 2014-11-13 16:23:45 +01:00
Claudio Indellicati
26a8b37d18 Refactored Base.getDefaultSketchbookFolder() method. 2014-11-13 16:23:45 +01:00
Claudio Indellicati
20582630a5 Moved portableSketchbookFolder from Base to BaseNoGui. 2014-11-13 16:23:45 +01:00
Claudio Indellicati
10af59f6fa Moved some code from Base to BaseNoGui into new getSketchbookPath() method. 2014-11-13 16:23:45 +01:00
Claudio Indellicati
443f7a7150 Moved some parameter processing methods from Base to BaseNoGui. 2014-11-13 16:23:45 +01:00
Claudio Indellicati
abe6ff5f32 Moved onBoardOrPortChange() and related members/methods from Base to BaseNoGui. 2014-11-13 16:23:45 +01:00
Claudio Indellicati
8687a78db5 Removed leftover dependency from SketchCodeDocument in SketchData. 2014-11-13 16:23:45 +01:00
Claudio Indellicati
061d1f14b6 Moved the sketch uploading code from Sketch to Compiler. 2014-11-13 16:23:44 +01:00
Claudio Indellicati
998142d16d Moved last showError() method for Base to BaseNoGui. 2014-11-13 16:23:44 +01:00
Claudio Indellicati
83c61376e0 Split UploaderAndMonitorFactory in two distinct classes. 2014-11-13 16:23:44 +01:00
Claudio Indellicati
0919b0e4fe Moved countLines() and loadFile() from Base to BaseNoGui. 2014-11-13 16:23:44 +01:00
Claudio Indellicati
b0d8a504dd Moved isSanitaryName() and sanitizeName() from Sketch to BaseNoGui. 2014-11-13 16:23:44 +01:00
Claudio Indellicati
4b69baadac Removed last dependency from Base in processing.app.Platform. 2014-11-13 16:23:44 +01:00
Claudio Indellicati
36fd0bf344 Moved removeDescendants() and removeDir() from Base to BaseNoGui. 2014-11-13 16:23:44 +01:00
Claudio Indellicati
7c58be397b Fixed wrong sketch structure check in Editor and SketchData. 2014-11-13 16:23:44 +01:00
Claudio Indellicati
612f4c926f Moved discoveryManager from Base to BaseNoGui. 2014-11-13 16:23:43 +01:00
Claudio Indellicati
1c8a4e9f58 Added sketch structure check to the build method of Compile. 2014-11-13 16:23:43 +01:00
Claudio Indellicati
5db851cf9f Moved the sketch structure check code from Editor to SketchData. 2014-11-13 16:23:43 +01:00
Claudio Indellicati
afbbe77752 Moved the sketch building code from Sketch to Compiler. 2014-11-13 16:23:43 +01:00
Claudio Indellicati
b7d1846eb9 Moved some code from Base to BaseNoGui and removed leftover self class references from BaseNoGui. 2014-11-13 16:23:43 +01:00
Claudio Indellicati
f2d92bbd0f Removed dependency from Preferences in a bunch of classes. 2014-11-13 16:23:43 +01:00
Claudio Indellicati
22be22a5a7 Removed self class references from Base. 2014-11-13 16:23:43 +01:00
Claudio Indellicati
b278c19a2a Removed dependency from Base in all Platform classes. 2014-11-13 16:23:43 +01:00
Claudio Indellicati
eb284804f5 Moved showWarning() implementation from Base to BaseNoGui. 2014-11-13 16:23:42 +01:00
Claudio Indellicati
74f59c215a Changed UserNotifier from interface to abstract class. 2014-11-13 16:23:42 +01:00
Claudio Indellicati
bff6f2818b Renamed user notifier classes. 2014-11-13 16:23:42 +01:00
Claudio Indellicati
1c37189599 Removed unused parameter (base). 2014-11-13 16:23:42 +01:00
Claudio Indellicati
bc6b488cf6 Removed leftover references to Base in BaseNoGui. 2014-11-13 16:23:42 +01:00
Claudio Indellicati
d6bd77ec2b Removed dependency from Base in PreferencesData. 2014-11-13 16:23:42 +01:00
Claudio Indellicati
fa0d37dad6 Added notifier interface and classes. 2014-11-13 16:23:42 +01:00
Claudio Indellicati
a43d207e4f Removed dependency from Base in the uploaders. 2014-11-13 16:23:42 +01:00
Claudio Indellicati
1bb2da83c1 Moved some initialization code from Base to BaseNoGui. 2014-11-13 16:23:41 +01:00
Claudio Indellicati
e83462b508 Changed dependency from Preferences to PreferencesData in processing.app.linux.Platform and processing.app.windows.Platform. 2014-11-13 16:23:41 +01:00
Claudio Indellicati
c666274bf9 Moved libraries and importToLibraryTable (and related methods) from Base to BaseNoGui (work in progress). 2014-11-13 16:23:41 +01:00
Claudio Indellicati
64c6fe536c Moved saveFile() from Base to BaseNoGui (work in progress). 2014-11-13 16:23:41 +01:00
Claudio Indellicati
4443911746 Moved getBoardPreferences() and related methods from Base to BaseNoGui (work in progress). 2014-11-13 16:23:41 +01:00
Claudio Indellicati
4c1b187313 Moved platform (and related methods) from Base to BaseNoGui (work in progress). 2014-11-13 16:23:41 +01:00
Claudio Indellicati
7776ffac4f Moved packages, currentDirectory and portableFolder (and related methods) from Base to BaseNoGui (work in progress). 2014-11-13 16:23:41 +01:00
Claudio Indellicati
118826e855 Moved getAvrBasePath() and related methods from Base to BaseNoGui (work in progress). 2014-11-13 16:23:41 +01:00
Claudio Indellicati
057106f1b9 Moved version info to BaseNoGui new class (work in progress). 2014-11-13 16:23:41 +01:00
Cristian Maglie
50f89d9665 Refactored OS detection subroutine.
Moved from Base into a specific utility class OSUtils.
Removed unused platform constants.
2014-11-13 16:23:40 +01:00
Cristian Maglie
e0f680be5b Drop dependency from processing-core project. 2014-11-13 16:23:40 +01:00
Cristian Maglie
18a8d4d627 Created PApplet and PConstants wrapper classes.
Also removed unused ColorSelector and CreateFont to reduce wrappers
size to the minimum.
This commit is preparatory for dropping dependency on processing-core.
2014-11-13 16:22:54 +01:00
Claudio Indellicati
21de7bdea3 Moved some code from Sketch to SketchData. 2014-11-13 16:22:54 +01:00
Claudio Indellicati
b61f2a419f Made Compiler and PdePreprocessor independent from Preferences.
Created a class PreferencesData to manage all parameters except the ones for the GUI.
Removed GUI parameters management from ParametersMap.
Created ParametersHelper class to help with GUI parameters management.
Used ParametersHelper in Themes.
2014-11-13 16:22:54 +01:00
Cristian Maglie
54f3f538f2 Applied (a sort of) decorator pattern to SketchCodeDoc.
SketchCodeDoc renamed to SketchCodeDocument.
Compiler is now independent from SketchCodeDocument.
2014-11-13 16:18:41 +01:00
Cristian Maglie
bbd3782a9c Reintroduced 'Next Tab' and 'Prev Tab' click actions 2014-11-13 16:18:41 +01:00
Claudio Indellicati
79ab98fef9 Make Compiler independent from Sketch.
Create a class SketchData to store all relevant data for a sketch
(trying to keep GUI stuff out of the way).

Moved preprocessing code from Sketch to Compiler.
2014-11-13 16:18:41 +01:00
Claudio Indellicati
e6563cfebf Removed GUI dependencies from SketchCode class.
Moved GUI fields into a SketchCodeDocument container class.
2014-11-13 16:18:41 +01:00
Cristian Maglie
af19257fbd Rationalized Preferences and Theme classes.
Removed a lot of duplicate/unused code. Preferences un-marshalling
is now handled in PreferencesMap class.
2014-11-13 16:18:40 +01:00
Cristian Maglie
872897d6ad Splitted GUI and Streams in EditorConsole 2014-11-13 16:18:40 +01:00
Cristian Maglie
93562a7800 Refactored and simplified EditorConsole class. 2014-11-13 16:18:40 +01:00
Cristian Maglie
479b974fe1 Refactoring of Theme class 2014-11-13 16:18:40 +01:00
Cristian Maglie
026dd50d87 Removed some warning from Editor class 2014-11-13 16:18:40 +01:00
Cristian Maglie
dd911bc79d Removed some trivial warnings 2014-11-13 16:18:40 +01:00
Cristian Maglie
9bc1824b96 Removed unused Base.getBoardsViaNetwork() and related member. 2014-11-13 16:18:40 +01:00
Matthijs Kooijman
e994c52729 Don't store the extension in SketchCode
Nobody was using it anymore, except for checking against specific
extensions, which is easily done against the filename itself. This
prepares for some simplification of Sketch.load next.
2014-11-13 16:18:40 +01:00
Matthijs Kooijman
43dac3a902 Use SketchCode.isExtension in more places 2014-11-13 16:18:40 +01:00
Matthijs Kooijman
af0d8c7f5c Let Sketch.getExtensions() return a List
This simplifies upcoming changes.
2014-11-13 16:18:39 +01:00
Matthijs Kooijman
a6013720e5 Explicitely store a layout type for a library
Previously, the useRecursion and srcFolders were filled on library
creation, based on the existence of the src folder. Now, a layout
variable is set, and the useRecursion() and getSrcFolder() methods
change their return value based on the layout in use.
2014-11-13 16:18:39 +01:00
Cristian Maglie
9a9fef808c Renamed preferences 'save.verifyUpload' to 'editor.save_on_verify' 2014-11-09 20:44:12 +01:00
Cristian Maglie
9a441d6dae Do not auto-save on verify/upload if sketch is readonly 2014-11-09 20:38:16 +01:00
Fulvio Ieva
5a6af2cf02 add save when verifyng and uploading #1934 2014-11-09 20:34:56 +01:00
Cristian Maglie
52b685a7a5 Merge remote-tracking branch 'ide-1.5.x-avrdude' into ide-1.5.x 2014-11-05 19:49:53 +01:00
Cristian Maglie
b4f2af4f9d Merge remote-tracking branch 'ide-1.5.x-core.a-rebuild' into ide-1.5.x 2014-11-02 11:52:57 +01:00
Matthijs Kooijman
b78339238d Don't recompile core.a if none of the .o files changed
Before, core.a would be rebuilt on every build, even when none of the
core .o files changed. Now, the timestamps are checked against the
timestamp on core.a first, skipping the build if nothing changed.

Because this uses the current list of .o files, there is a corner case
when a source file is deleted, but no other source file is modified. In
that case, core.a is not rebuilt, even though it should be. However,
this is such a narrow and unrealistic case, that it should pose a real
problem.

This fixes part of #1991
2014-10-31 17:48:29 +01:00
Matthijs Kooijman
87c87c2897 Delete core.a when building it fails
This prevents a half-finished core.a file from lingering around.
Currently, this should not make a difference since core.a is rebuilt
every time, but this prepares for skipping this build step if possible.
2014-10-31 15:43:42 +01:00
Matthijs Kooijman
57bdacc93c Remove core.a before rebuilding it
Before, the ar command was just ran for all .o files that should end up
in core.a, which should replace any old code in core.a. However, it
seems that in the unlikely event that functions or entire source files
are deleted, they might linger in the core.a file.
2014-10-31 15:43:07 +01:00
Cristian Maglie
e76de57f6b Fixed parsing of dependency files (.d) to improve sketch build speed
Close #2255
2014-10-31 11:39:36 +01:00
Matthijs Kooijman
d4ca6ce127 Allow setting a line timeout in MessageSiphon
Previously, the MessageSiphon class would read characters from an
InputStream and then push them to the passed MessageConsumer one line at
a time.

Now, you can specify a line timeout. Normally, messages are still
processed line by line, but if no line ending is received within the
specified timeout (counting from the first character in the line), then
the incomplete line is passed on as a message, without waiting for the
line ending.

This feature is used for the uploader command output. In particular,
this allows the avrdude progress bar to be shown in the IDE as expected,
character by character (previously, the entire progress bar would be
buffered, making it show up completely at the end of the upload).
2014-10-30 12:36:06 +01:00
Cristian Maglie
ed5ad426dd Upped version to 1.0.7. Update revision log. 2014-10-10 00:08:41 +02:00
Cristian Maglie
35d616f050 Updated 'master' translations 2014-10-09 10:13:00 +02:00
Federico Fissore
b6a4c8172f Processing references removed in favour of Arduino 2014-10-08 18:36:25 +02:00
Federico Fissore
1b783fa48c Formatter: cursor position is saved when invoking autoformat. Fixes #2293 2014-09-30 17:17:13 +02:00
Cristian Maglie
90bd172f30 Updated revision log. Version upped to 1.0.6. 2014-09-16 12:16:06 +02:00
Cristian Maglie
6f9674288b Merge pull request #2279 from cmaglie/fix-leo-upload-osx10.9.4
Fix for upload problems on Arduino Leonardo (and derivatives) on OSX 10.9
2014-09-10 12:58:10 +02:00
Cristian Maglie
b7b9da7710 Updated version to 1.5.8 2014-09-05 10:11:47 +02:00
Cristian Maglie
aa776b30ba Fix for upload problems on Arduino Leonardo (and derivatives) with OSX 10.9.4 2014-09-01 12:16:41 +02:00
Cristian Maglie
ec1310e1bd Removed --no-op from CLI. Preferences now not-saved by default.
See https://github.com/arduino/Arduino/pull/2000 for details.

Close #2000
2014-08-22 15:39:33 +02:00
Cristian Maglie
e3dc5e75e3 Removed unused variables. Small cosmetic changes. 2014-08-22 14:24:21 +02:00
Matthijs Kooijman
83ede8fdb4 Fix preference directory opening in the GUI with --preferences-file
In the preferences dialog, the name of the preferences file is shown for
advanced editing. If the filename is clicked, the folder containing the
file is opened. However, this always used Base.getSettingsFolder, which
is the folder where the settings file _normally_ resides. But when the
--preferences-file option is used, the actual preferences file might be
somewhere else.

This commit makes sure to always open up the parent directory of the
actual preferences file in use, instead of always the default one.
2014-08-19 09:16:49 +02:00
Matthijs Kooijman
f47ec35ebe If build.path is specified, create it if needed
When no build.path preference is present, a temporary directory is
automatically created (and deleted). When a build.path was specified,
but the directory does not exist, the IDE would show an error and fail
to build, which is unexpected and not so friendly.

This commit makes sure that the build directory is automatically
created.
2014-08-19 09:16:49 +02:00
Matthijs Kooijman
c959388b37 Let Editor::statusError print to stderr
Before, these were only shown in the GUI, which makes a failing
commandline build a bit puzzling. As a side effect, the error is now
shown in the log area in addition to the status line above the log
area, but that should be ok.
2014-08-19 09:16:49 +02:00
Matthijs Kooijman
cc773fb1e0 Take into account --curdir for all relative paths
In a lot of places, (potentially) relative paths were passed to File
without any processing, making them be resolved without taking into
account --curdir. By passing them through Base.absoluteFile instead,
these paths are resolved relative to the working directory before
starting arduino (at least on Linux, which is currently the only
platform supporting --curdir).

This applies --curdir to the --preferences-file option and the
build.path, settings.path, sketchbook.path preferences.

For example, this now works as expected:

  arduino --pref build.path=build_dir --verify Blink.ino
2014-08-19 09:16:49 +02:00
Matthijs Kooijman
4f33d0851c Fix opening a non-primary .ino file
When a sketch looks like this:

    Blink/
        Blink.ino
        Foo.ino

The idea is that opening Foo.ino should open up the sketch. However,
before this would show an error stating "The file Foo.ino needs to be
inside a sketch folder named Foo" instead.

This turned out to be due to a typo, which seems to have been present
for a long time. Note that when the main sketch file was a .pde file,
everything already worked as expected.
2014-08-19 09:16:48 +02:00
Matthijs Kooijman
f96d71f32d Fix --curdir on Windows
On Windows, files are canonicalized to prevent issues with legacy 8.3
filenames. However, this canonicalization includes making the path
absolute and this happened before applying --curdir to the path, making
the latter a noop.

By reversing the operations, this should allow both of them to do their
work.
2014-08-19 09:16:48 +02:00
Matthijs Kooijman
31fe4ac0c2 Add Base.absoluteFile method
This method takes filenames as specified on the commandline and turns
them into the right File object, taking into account the current
directory passed through --curdir by the wrapper script.
2014-08-19 09:16:48 +02:00
Matthijs Kooijman
0798e1cf6f Pass around sketch File objects instead of filenames
This saves a few conversions from File object to String and is generally
cleaner.
2014-08-19 09:16:48 +02:00
Matthijs Kooijman
87bdaa88cd Parse --curdir in Base.main()
This shouldn't change any behaviour, but prepares for upcoming changes.
2014-08-19 09:16:48 +02:00
Matthijs Kooijman
cf4fb7d0e3 Don't re-parse arguments to --preferences-file
Previously, the argument to --preferences-file would be interpreted as a
filename, but then also checked as an option as well (in the next loop
iteration). This didn't really matter in practice (unless you would be
using a file called "--preferences-file"), but better skip the argument
anyway.
2014-08-19 09:16:48 +02:00
Matthijs Kooijman
9e17e52f63 Parse --preferences-file in main instead of Preferences.init
Parsing commandline arguments inside Preferences isn't very elegant,
this is better suited for the main function. Also, this change prepares
for taking --curdir into account for --preferences-file as well.
2014-08-19 09:16:48 +02:00
Matthijs Kooijman
e494f39255 Add --get-pref option
This allows reading specific preferences from the commandline.
2014-08-19 09:16:47 +02:00
Matthijs Kooijman
f745fff50b Add --noop option
This option causes the IDE to process its commandline arguments and then
quit. This allows setting preferences uses --pref, without having to
also load the GUI or compile a sketch.
2014-08-19 09:16:47 +02:00
Matthijs Kooijman
7cb99ad7b8 Ensure --verbose is never saved to preferences.txt
Previously, --verbose would be processed after the preferences were
saved, which should usually mean that it should never influence the
saved preferences. However, if for whatever reason Preferences.save()
would be called later, the verbosity preferences would still be messed
up.

Since we now have a Preferences.setDoSave() method, we can make sure
that these verbosity preferences (and any other preferences that are
changed after the build started) are never saved.
2014-08-19 09:16:47 +02:00
Matthijs Kooijman
d6333f8f37 Don't save a new preferences file in Preferences.init
Preferences.init would write out the default preferences when no
preference file previously existed. This would cause a default
preferences file to be written even when --no-save-prefs was passed, due
to the ordering of things.

However, since the Base constructor now already calls
Preferences.save(), there is no need for Preferences.init to also do
this. Since Base calls this after parsing the commandline, the
--no-save-prefs option is now also properly respected.
2014-08-19 09:16:47 +02:00
Matthijs Kooijman
4452eb3850 Add --no-save-prefs option
This allows setting preferences for the current run only, without
remembering them for the next run. This is especially useful when
combined with --verify or --upload.
2014-08-19 09:16:47 +02:00
Matthijs Kooijman
bbd0128664 Explicitely save preferences on startup
Before, the preferences were saved as a side effect of loading files in
the Editor, but it seems better to explicitely save them as well (this
should prevent problems later on, if the Editor class is no longer used
in --verify or --upload mode).
2014-08-19 09:16:47 +02:00
Matthijs Kooijman
e0c599d733 Error when passing --verbose without --verify or --upload
Since the handling of these options defaults to non-verbose (instead of
the current preference), they make no sense when starting the IDE
normally. Previously, these options would just be ignored in this case,
now an error is shown.
2014-08-19 09:16:47 +02:00
Matthijs Kooijman
d3e2208c01 Process some commandline arguments earlier
Previously, the --board and --port arguments were stored in a variable
first and only processed later. Now, the arguments are processed right
away.

This does mean that the arguments are processed when the GUI is not yet
initialized, which caused problems with calling onBoardOrPortChange and
friends from selectBoard. However, since the GUI is not initialized,
there is no real reason to call them either - if we just set the
preferences to the right values, the GUI will be initialized correctly
later. For this reason, selectBoard no longer calls the GUI update
methods. Instead, those are called from the GUI code when the board is
changed through the menu instead (e.g., after calling selectBoard).

This commit slightly changes behaviour. Previously, --board and --port
only worked in combination with --verify and --upload, but were ignored
when just starting the IDE. Now, these are processed regardless of the
other options present.

Additionally, this commit causes all changed preferences to be saved.
Previously, only changes with --pref were saved, --board and --port
options were only active for the current run. This was caused because
the saving of the preferences happened as a side effect of loading the
file in the Editor, but only the --pref option was processed at that
time.

Note that the --verbose options are still only active for the current
run and are only valid combined with --verify or --upload (since they
default to non-verbose instead of the current preference).
2014-08-19 09:16:47 +02:00
Matthijs Kooijman
c0ab536b7b Add Base.selectSerialPort
This method takes care of setting the serial.port preference to the
given value, as well as deriving the serial.port.file preference. This
should prevent duplicate code in the future.

Note that a second copy of this code lives in SerialUploader, but that
doesn't write to the global Preferences but a local prefs map. Since the
global Preferences are currently static, there is no way to share code
between these two copies.
2014-08-19 09:16:46 +02:00
Matthijs Kooijman
7548591d51 Improve commandline handling control flow
This uses a switch on the action value, which makes it more clear what
code runs when. No actual behaviour is changed, most of the changes in
this commit are indentation changes.
2014-08-19 09:16:46 +02:00
Matthijs Kooijman
f3565a1bda Invert decision on when to show the GUI
Previously, the code showed an error when the given action was not
upload or verify. This is now reversed: the GUI is shown when the action
is "GUI" (which is the default when no action specified). Since the
action enum only contains these three values, there is no change in
behaviour, but this makes it easier to add new actions later.
2014-08-19 09:16:46 +02:00
Matthijs Kooijman
6a09ee5eb6 Use an "action" enum when processing commandline arguments
Previously, two separate booleans (doUpload and doVerify) were used.
However, since it always makes sense to specify only one of them, it
makes more sense to keep a single action enum variable, which slightly
simplifies the code (especially when more actions are added later).

Additionally, an error is now shown when both --verify and --upload are
specified on the commandline.
2014-08-19 09:16:46 +02:00
Cristian Maglie
a6c80364da FileUtils: added function to recursively find files with given extension 2014-08-08 15:01:53 +02:00
Cristian Maglie
7819374955 Removed unused variables 2014-08-08 15:01:53 +02:00
Cristian Maglie
dcc1020a6e Better check for programmers configuration when uploading using programmer 2014-08-06 15:20:53 +02:00
Cristian Maglie
1a167b7a6f Allow to run empty recipes in platform.txt 2014-07-28 18:40:53 +02:00
Cristian Maglie
82401c84bb Fix indent and typos on FindReplace.java 2014-07-25 12:10:42 +02:00
Fulvio Ieva
cd75cc24a2 Fix search and replace #2106 2014-07-25 12:01:43 +02:00
Fulvio Ieva
6efbecd3cc Do not replace textbox in Find/Replace dialog if no text is selected
See #2070
2014-07-25 11:56:08 +02:00
Fulvio Ieva
13321e3c1b Change layout in Find/Replace dialog to render correctly on Linux
see #2070
2014-07-25 11:38:34 +02:00
Fulvio Ieva
064fc45ba5 Merge branch 'feature/Search_and_replace_improved_dialog' of github.com:eried/Arduino into eried-feature/Search_and_replace_improved_dialog 2014-07-25 11:34:54 +02:00
Cristian Maglie
b36beeb4c0 Fixed NullPointerException with i18n.
i18n class may not be initialized during init time.
2014-07-03 13:01:18 +02:00
Cristian Maglie
2a71073c32 Re-enabled serial port detection on Windows
Fixes #1573
2014-07-02 13:20:16 +02:00
Cristian Maglie
e5f34e5a83 Merge branch 'ide-1.5.x-timer-variant' of github.com:matthijskooijman/Arduino into matthijskooijman-ide-1.5.x-timer-variant 2014-07-01 18:29:07 +02:00
Cristian Maglie
d52e75ff38 Merge branch 'osx-app-bundler' into ide-1.5.x
Conflicts:
	build/build.xml
2014-06-27 16:08:20 +02:00
Matthijs Kooijman
4eb686673f Don't include .o files from the variant in core.a
If a variant supplied source files, these would be included in core.a
before. However, object files from core.a would only actually be
included in the build if they supplied a symbol for a strong reference
that was still missing.

In practice, this meant that a variant source file that only defines
interrupt handlers, or only defines strong versions of functions that
already had weak versions available, was not included.

By moving the variant .o files out of core.a and including them in the
build directly, this problem is solved.

Furthermore, the compilation of variant files is moved to after the
generation of core.a, to make it clearer in the code and verbose output
what is now happening.
2014-06-25 16:56:17 +02:00
Matthijs Kooijman
7d71b84ae2 Unconfuse error message
When a core directory without boards.txt file was encountered, the IDE
would show:

	Could not find boards.txt in /path/to/core/boards.txt.  Is it pre-1.5?

Which appears confusing: Is it looking inside a directory called
boards.txt? Now this is improved to:

	Could not find boards.txt in /path/to/core/.  Is it pre-1.5?

which makes a lot more sense.
2014-06-25 16:56:13 +02:00
Cristian Maglie
6b5a99b7b5 Version bumped to 1.5.7. Updated revision log. 2014-06-25 11:21:15 +02:00
Federico Fissore
fdffb2de26 Setting CYGWIN=nodosfilewarning env variable on windows 2014-06-25 10:14:35 +02:00
Cristian Maglie
40270306e0 Allow variants to define an initVariant() function that is called at startup.
See #2080
2014-06-19 19:49:47 +02:00
David A. Mellis
fcd633686f Don't wrap a RunnerException in a redundant RunnerException. 2014-06-11 12:21:52 -04:00
David A. Mellis
b5fe1b1eb5 Proceed with upload even if port can't be found. (Issue #1791) 2014-06-11 12:07:46 -04:00
Cristian Maglie
ab1ee51d68 MacOSX: switched to appbundler for building distribution files (Haavar Valeur)
See #1665
2014-05-29 12:28:42 +02:00
Matthijs Kooijman
726f2ba931 Unescape special characters in dependency files
When a path contains spaces (or other special characters, probably), gcc
escapes them with a \ in the generated .d files. This previously caused
problems when parsing these files, causing recompiles to happen even
when not needed.

This applies a rather simple approach to unescaping these strings, which
seems to be sufficient because the file format of the .d files is so
predictable (e.g., we don't actually split on colons or spaces when
parsing it).
2014-05-13 16:52:14 +02:00
Erwin Ried
401f9e1634 FindReplace dialog now search and replaces in all the opened tabs. Also pre-fill the find field with selected text 2014-05-13 03:21:36 -04:00
Cristian Maglie
d025638c61 Merge pull request #1775 from ribbons/memory-usage
Improve low free memory reporting
2014-05-03 10:59:37 +02:00
Matthijs Kooijman
aa46fdb978 Change the MacOS preference suffix to .macosx
Previously, preferences suffixed with .macos were treated specially,
but the default preferences.txt used .macosx.

I couldn't find when or how this was broken exactly - it seems
Processing used .macosx but this code was reimplemented for Arduino in
commit 33f5c53 (Implemented OS specific preferences) using .macos.

The effects of this have not been tested on OSX, but this might fix some
problems caused by wrong defaults on OSX.
2014-04-14 15:35:34 +02:00
Matthijs Kooijman
d2505a08f6 Process platform-specific suffixes immediately
In preferences files, platform-specific versions can be indicated by a
.linux, .windows or .macos suffix on the key name. Previously, these
keys were loaded as normal and then afterwards, all keys were scanned
after loading them and any platform-specific versions replaced the
regular ones.

However, this means that these platform-specific versions get an
unexpected form of priority. Normally, when a single key is set twice,
the latter overrides the first. However, the platform-specific values
could override the regular versions, even when the regular version
occurs later in the file.

This problem was particularly confusing when using the new
platform.local.txt: a regular preference in platform.local.txt did not
override a platform-specific preference in platform.txt.

This commit changes behaviour to process these suffixes directly as they
are read from the preference files. If a suffix for the current platform
is found, the line is processed as if the suffix was not present. If a
suffix for another platform is found, the line is ignored altogether.

This can slightly change the way preferences files are parsed, but as
long as platform-specific preferences are defined after the
corresponding regular preferences, the behaviour should be the same.
2014-04-14 15:35:33 +02:00
Matthijs Kooijman
a89f5e68cf Explicitly define compiler.path in avr/platform.txt
Previously, this relied on an (ugly, avr-specific) magic default for the
compiler.path variable, set by the IDE. This allowed the IDE to fall
back to a system-wide toolchain when no bundled toolchain was found (by
making compiler.path empty).

However,
 - this only worked for avr, not sam,
 - this worked only for gcc, a system-wide avrdude would break on the
   avrdude.conf path in platform.txt, and

This would mean that automatic system-wide fallback didn't work in all
situations, so you'd still have to modify platform.txt (or create
platform.local.txt). Since doing that explictly is the most reliable
way, this commit removes the partial-working ability to do this
automatically.

Note that the code to automatically set compiler.path is still kept
around, in case third-party hardware still relies on this. At some
point, this code should be removed, but for now it just shows a warning
message.
2014-04-10 12:19:43 +02:00
Matthijs Kooijman
a46e503a30 Allow overriding platform.txt using platform.local.txt
This helps advanced users that want to change options (e.g. to use a
different toolchain or enable warnings), without having to change
platform.txt (which could make git report changed files all the time).
2014-04-04 10:35:32 +02:00