964 Commits

Author SHA1 Message Date
Juan Cruz Viotti
26f2104163 Merge pull request #101 from resin-io/doc/ng-cloak
Explain why we toggle body's display manually instead of using ngCloak
2016-01-19 10:27:45 -04:00
Juan Cruz Viotti
238c459d01 Make LoggerService use Angular's $log
This has the added benefit that services like TrackJS, which deeply
integrate with Angular, will share the messages with the service.
2016-01-19 10:26:51 -04:00
Juan Cruz Viotti
7d6a43e091 Make use of LoggerService in reselection routines 2016-01-19 10:25:13 -04:00
Juan Cruz Viotti
f20fb36328 Merge pull request #100 from resin-io/feat/logger
Implement a decent debug logger service
2016-01-19 10:16:33 -04:00
Juan Cruz Viotti
817a6f591b Explain why we toggle body's display manually instead of using ngCloak 2016-01-19 10:14:37 -04:00
Juan Cruz Viotti
f1a91ddebc Merge pull request #99 from resin-io/style/image-supported-label
Only show supported files label when there is no selected image
2016-01-19 10:08:49 -04:00
Juan Cruz Viotti
6478982896 Implement a decent debug logger service
This service prints the exact date and time of the messages.
2016-01-19 10:07:59 -04:00
Juan Cruz Viotti
347d965e52 Only show supported files label when there is no selected image 2016-01-19 09:50:00 -04:00
Juan Cruz Viotti
8026cef1df Allow to re-select the first two step selections
You can click on the selected image/drive label to select them again.

The re-selection is disabled if there is a burning in process.

Fixes: https://github.com/resin-io/resin-etcher/issues/90
2016-01-19 09:47:58 -04:00
Juan Cruz Viotti
b3dde83083 Implement removeDrive and removeImage in selection service 2016-01-19 09:42:57 -04:00
Juan Cruz Viotti
2f301ad382 Add image format footer explanation
Fixes: https://github.com/resin-io/resin-etcher/issues/86
2016-01-18 15:35:40 -04:00
Juan Cruz Viotti
9dcc7b40ac Merge pull request #95 from resin-io/fix/window-lint-warn
Require electron-window as ElectronWindow
2016-01-18 15:29:32 -04:00
Juan Cruz Viotti
7f724b6295 Show burn speed information during write
The speed is shown right below the Burn button.
2016-01-18 14:55:13 -04:00
Juan Cruz Viotti
cf41b6279d Save burn progress speed in image writer state 2016-01-18 14:55:13 -04:00
Juan Cruz Viotti
d9641fc557 Rename setProgress to setProgressState
It shows the intention more clearly now that the function not only
accepts a plain percentage.
2016-01-18 14:55:13 -04:00
Juan Cruz Viotti
a46a716512 Make setProgress accept an options object
This allows us to pass more things than just the percentage to
`setProgress`.
2016-01-18 14:55:13 -04:00
Juan Cruz Viotti
e30de45707 Implement ImageWriterService.reset()
This function allows the client to easily reset the progress state
without breaking encapsulation.
2016-01-18 14:55:13 -04:00
Juan Cruz Viotti
3705d0fc3a Namespace ImageWriter progress in state object
This change allows us to scale the state information to more properties
than just the percentage.
2016-01-18 14:55:13 -04:00
Juan Cruz Viotti
6a50015ddc Require electron-window as ElectronWindow
JSHint complains about `Window` as a redefinition warning.
2016-01-18 14:12:54 -04:00
Juan Cruz Viotti
9ffc642784 Autoselect a single drive by using DriveScanner scan event
- The autoselection only happens once the user has selected an image to
prevent weird behaviour.

- The autoselection happens only if the current selected drive is
different from the new drive in order to avoid selecting the same driver
over and over again if it still is the only one.
2016-01-18 13:46:52 -04:00
Juan Cruz Viotti
f218cc1b59 Make DriveScanner.start() return an EventEmitter instance 2016-01-18 13:46:51 -04:00
Juan Cruz Viotti
491a0ae9c9 Trigger drive scans after slight delays
This allows unit tests to easily capture the first run, as otherwise
happens too fast.
2016-01-18 13:46:51 -04:00
Juan Cruz Viotti
b7da4dfeda Autoselect the drive if only one drive is present 2016-01-18 13:46:29 -04:00
Juan Cruz Viotti
da4748a1a1 Implement new footer with the Resin.io logo
Fixes: https://github.com/resin-io/resin-etcher/issues/68
2016-01-18 10:36:39 -04:00
Juan Cruz Viotti
0a8e89c782 Only append label if this exists in hero-icon
Currently, an empty element was appended to hero-icon template to hold
the label even if this didn't exist, causing some vertical bottom
spacing.

We use Polymer's `dom-if` to conditional show this element. The label
was changed to be passed as an HTML property since it seems to be really
difficult to access the inner HTML of a polymer element programatically.
2016-01-18 10:32:27 -04:00
Juan Cruz Viotti
79b33cea1c Allow customising hero-icon size using HTML attributes 2016-01-18 10:05:13 -04:00
Juan Cruz Viotti
5af3cf3fb9 Simplify drive letter / device conditional
The `drivelist` module includes a new property called `name` in `2.0.7`
that resolves to the drive letter (mount point) on Windows, and to the
drive otherwise.
2016-01-11 01:24:52 -04:00
Juan Cruz Viotti
c589165e40 Merge pull request #72 from resin-io/fix/windows-backslash-drive-letter
Do not append a backslash after drive letter in Windows
2016-01-11 01:23:03 -04:00
Juan Cruz Viotti
07ca592cab Do not append a backslash after drive letter in Windows
After checking Windows file manager and some other programs that display
drive letters, we can see that a backslash at the end is not mandatory.
2016-01-04 00:14:32 -04:00
Juan Cruz Viotti
35c3351533 Change license to Apache 2.0 2016-01-03 22:42:44 -04:00
Juan Cruz Viotti
408a3096fc Rename Herostratus to Resin Etcher 2016-01-01 18:07:45 -04:00
Juan Cruz Viotti
77c51fb63c Split footer caption anchor
Make "AN OPEN SOURCE PROJECT" link to the project's GitHub page and
"RESIN.IO" to the Resin.io website.
2016-01-01 17:42:30 -04:00
Juan Cruz Viotti
f888527e39 Merge branch 'master' into fix/29/windows-uac-three-instances 2016-01-01 15:11:59 -04:00
Juan Cruz Viotti
95d94d36d4 Show drive letter on selection on Windows
Showing `\\.\PhysicalDriveN` makes no sense for a Windows user after
selecting based on drive letters on the dropdown.
2015-12-31 22:04:42 -04:00
Juan Cruz Viotti
328adfe60b Replace windosu with elevator
For some reason, when using `windosu`, the app is elevated three times.
However this only happens when the application is packaged for
distribution.

After a couple of days debugging this issue, we have no clue about
what's going on, but `elevator` seems to work fine.

Fixes: https://github.com/resin-io/herostratus/issues/29
2015-12-17 14:12:59 -04:00
Juan Cruz Viotti
186d3847fe Prevent white flash when running application
We accomplish this by setting the background color of the `html` element
to match the greyish background color of the application.
2015-12-15 09:57:44 -04:00
Juan Cruz Viotti
2cb79090d1 Implement poor man's ngCloak based on app controller
ngCloak is removed by angular when parsing the template, however this
doesn't seem to be enough to keep the content hidden until the
application is completely ready.

We accomplish this by setting `display: none` to the `body` element and
maing it display again when our main controller starts, at which point
we know everything is up and running.
2015-12-15 09:54:24 -04:00
Juan Cruz Viotti
e01e3591e9 Use ngBind instead of curly braces interpolation 2015-12-15 09:43:03 -04:00
Juan Cruz Viotti
d784ed2ba8 Clarify that the drive was safely ejected 2015-12-01 11:09:00 -04:00
Juan Cruz Viotti
739a191e66 Merge branch 'master' into jviotti/feat/41/burn-again 2015-12-01 10:41:12 -04:00
Juan Cruz Viotti
c63755205b Implement burn complete screen
This screen informs the user that the burn has completed and that the
drive can be ejected directly.

It also provides a button to burn another image without exitting the
application.

Fixes: https://github.com/resin-io/herostratus/issues/41
2015-12-01 08:21:17 -04:00
Juan Cruz Viotti
133f927234 Show error dialogs on JavaScript exceptions
Fixes: https://github.com/resin-io/herostratus/issues/50
2015-11-30 11:51:51 -04:00
Juan Cruz Viotti
b4c1ee8d3d Add a global shortcut to open DevTools
Fixes: https://github.com/resin-io/herostratus/issues/33
2015-11-25 22:23:50 -04:00
Juan Cruz Viotti
f6f63bdf48 Add finished state before done
Currently we say "done" as soon as the progress is equal to 100, however
we don't wait for the drive to be ejected/unmounted.

This commit introduces a new state, called "Finishing..." which is shown
when the progress is 100, but the drive has not been unmounted.
2015-11-23 23:30:39 -04:00
Juan Cruz Viotti
da279820dc Eject Windows drives after successful burning
Use the `removedrive` for this task:

https://github.com/jviotti/removedrive

Fixes: https://github.com/resin-io/herostratus/issues/40
2015-11-23 13:40:32 -04:00
Juan Cruz Viotti
a6ec66d0b3 Pass the whole drive object to the writer
Currently we only pass the drive device. By passing all the object
(containing the mountpoint, size, etc) we allow more control to the
writer in how to treat the device before/during/after the burning
process.
2015-11-23 13:28:15 -04:00
Juan Cruz Viotti
ee457805e6 Merge pull request #38 from resin-io/jviotti/23/fix/windows-drive-overflow
win32: Show drive letter instead of device in dropdown
2015-11-19 16:03:20 -04:00
Juan Cruz Viotti
b3f297911b Merge pull request #36 from resin-io/jviotti/fix/31/first-time-elevation-osx
osx: Fix first time elevation failure
2015-11-19 14:26:06 -04:00
Juan Cruz Viotti
32a00a0d9a win32: Show drive letter instead of device in dropdown
Physical drive names are long and cause the dropdowns to overflow.

Fixes: https://github.com/resin-io/herostratus/issues/23
2015-11-19 14:22:50 -04:00
Juan Cruz Viotti
ff10d8a70e Merge pull request #37 from resin-io/jviotti/fix/24/button-outline
all: Fix button outline on focus
2015-11-19 14:16:28 -04:00