Commit graph

667 commits

Author SHA1 Message Date
Floris Bos
c08887f788 Do not use saved position if it falls outside of primary screen
- Only use saved position if the coordinates fall inside of the primary screen
  Prevents problems for people with laptops that sometimes but not always use
  external screens.
- Since we now set window position in C++ instead of QML, drop the
  dependency on qml-module-qt-labs-settings module.

Closes #91
2020-07-21 16:15:19 +02:00
Floris Bos
65c6377052 Windows installer: terminate Imager if running
- Try to gracefully close any running Imager instance by sending
a window message. Should close it automatically if Imager is not
actually writing something.

If Imager does not close within 2 seconds, prompt user to ask
if it should be terminated less gracefully.

- Change installer executable name (setup.exe -> image-<version>.exe).
- Prevent UAC prompt during compiling installer.
2020-07-21 15:25:31 +02:00
Floris Bos
04595d28c6 Add fr/tr to list of translations 2020-07-21 15:25:01 +02:00
Floris Bos
064f0c3361 Remove redundant delay 2020-07-21 15:10:25 +02:00
Floris Bos
7e4f5c9045 Mac: open preferences for user if Imager is not allowed access
Normally the system will prompt the user to allow Imager access
to removable volumes.
Open preferences and ask user to allow Imager manually in a
corner case in which this does not occur.
2020-07-21 15:04:38 +02:00
maxnet
c4ab7b91a1
Merge pull request #90 from Simsimpicpic/patch-1
Create rpi-imager_fr.ts
2020-07-21 13:46:41 +02:00
maxnet
8bc15aae3f
Merge pull request #89 from Zaryob/qml
Turkish translations done
2020-07-21 13:46:20 +02:00
Simon
847ca39fdb
Fix type="unfinished" on two strings 2020-07-19 15:08:33 +02:00
Simon
e6b8d9b431
Create rpi-imager_fr.ts
Translate all strings in French
2020-07-19 15:06:52 +02:00
Suleyman Poyraz
65788f9fd8
Update rpi-imager_tr.ts 2020-07-11 14:38:14 +03:00
Suleyman Poyraz
90bfecdce3
Update rpi-imager_tr.ts 2020-07-11 13:50:48 +03:00
Suleyman Poyraz
418d514863
Turkish translations has been started. 2020-07-11 13:35:17 +03:00
Floris Bos
385ee6d742 Windows: mention 'Controlled Folder Access' on ERROR_ACCESS_DENIED
If WriteFile() returns ERROR_ACCESS_DENIED and registry indicates
CFA is on, tell user rpi-imager (and fat32format) should be added
to the "allowed apps" in the CFA settings.
2020-07-06 00:42:44 +02:00
Floris Bos
f90739a520 Mac: populate version info in .plist
Closes #88
2020-07-06 00:41:34 +02:00
Floris Bos
39abeb239d Improve drive listing
- Show write protected SD cards greyed out.
  Show message if user select one of those. Closes #59
- Do show virtual drive types on Windows.
  Do keep them hidden on Mac OS X as that seems to
  cover .dmg file and timemachine stuff. Closes #79
2020-07-03 21:16:49 +02:00
Floris Bos
5f42c7d7cb Windows: stop storage service during write
The moment we write the block containing the partition table
Windows services will start accessing the SD card and write data
to "System volume information" folder.

If others are writing to disk concurrently this may or may not
affect our ability to eject the drive.
Stop StorSvc temporarily between us writing the partition table
(saved for last) and ejecting the SD card, just in case.

Ref #75
2020-07-03 21:11:34 +02:00
Floris Bos
19bfc8eacb Close files on error 2020-07-03 21:08:51 +02:00
Floris Bos
9a263f0211 Fix vertical position of message dialog
On system with zoom settings the y position of the message dialog
was off.
2020-07-03 21:07:31 +02:00
Floris Bos
755d7dc6ab Enumerate drives in seperate thread
Ref #87
2020-07-02 23:31:20 +02:00
Floris Bos
6069e8f441 Linux: add version number automatically to rpi-imager.metainfo
- Automate putting version number in rpi-imager.metainfo.xml.in
- Remove qt5-default dependency from debian/control
2020-06-30 01:01:36 +02:00
maxnet
12784a0092
Merge pull request #34 from ghisvail/appstream-metadata
Appstream metadata
2020-06-30 00:45:56 +02:00
Floris Bos
2a0925b10a Add basic accessibility support
- Support for screen readers on Linux/Windows. (Mac does not work
  as intended yet)
- Add keyboard navigation
- Add write confirmation dialog. Closes #84
- Update debian changelog
2020-06-30 00:42:39 +02:00
Floris Bos
855ad53b21 Add dummy English translation
Mac OS X allows one to provide multiple preferred languages instead
of one.
Make sure that if is English is the "main" language, it does not
go for one of the translations.

Closes #81
2020-06-30 00:18:10 +02:00
Floris Bos
83ae3f1cbd Linux: do not trust device write stats if higher than what we wrote
For reasons unknown the device write statistics sometimes report
higher numbers than the number of bytes we wrote to the device on
some hardware. Causing write percentage in progressbar text
to exceed 100%

Maximize amount of bytes to what we wrote to the device.
This do will result in unreliable write progress on these devices
(it will then show amount of bytes written to cache instead of
what made it to device yet)

Closes #82
2020-06-30 00:13:46 +02:00
Floris Bos
a7a2501047 Show new size if SD card replaced with different one
Close #78
2020-06-30 00:11:30 +02:00
Floris Bos
7506d5b35a Fix build instructions
Closes #77
2020-06-02 01:14:00 +02:00
Floris Bos
fa7637e7dc Do not use libcurl for reading local files
We originally used libcurl for both downloading images from
Internet and reading local files to have the same code path for both.

It doesn't work that well in practice, as Qt and libcurl are not
on the same page how special characters such as Chinese characters
are represented in a local file URL.

So create a new class to handle local files.

Closes #76
2020-06-01 19:43:51 +02:00
Floris Bos
123542a66b Linux embedded: misc improvements
- Allow static build
- Use .svg icons
- Linux Embedded lacks normal "open file dialog". So simply scan
  files in root folder of USB stick and return list.
- Change QProcess::execute(command) calls to
  QProcess::execute(command, args) calls to silence Qt 5.15.0
  depreciation warning.
2020-06-01 17:45:41 +02:00
Floris Bos
f3bc47a309 Windows installer: refuse installation on ancient versions
Closes #55
2020-05-25 00:52:37 +02:00
Floris Bos
f4d3a94553 Update Debian changelog 2020-05-25 00:52:18 +02:00
Floris Bos
5b072f3196 Build changes
- Add support for embedded Linux without X, dbus, udisks, ntp, etc.
- Misc minor changes
2020-05-25 00:36:16 +02:00
Floris Bos
71eefa47cf Fix handling of UNC file URLs
- Qt thinks UNC URLs should look like: file://1.2.3.4/share/file.img
libcurl likes them: file:////1.2.3.4/share/file.img

So correct that.

- Mention it is an unspecified libcurl error if libcurl passes us
an error code with an empty error message string.

Closes #65
2020-05-24 00:00:35 +02:00
Floris Bos
3248f9f04b Linux: improve progess indication
Report data actually written to device instead of to cache.
2020-05-23 22:22:32 +02:00
Floris Bos
b08ed20e5f Linux: enable direct IO for verify
Linux has huge buffer cache (all free memory)
So make sure we are reading data back from the actual card instead
of cache.
2020-05-23 21:40:52 +02:00
Floris Bos
eef90c2adb Imager -> Raspberry Pi Imager
On special request
2020-05-23 21:40:32 +02:00
Floris Bos
28bd56edb4 Ask for confirmation on quit if writing
Closes #47
2020-05-23 19:07:03 +02:00
maxnet
3d2c1f2a5a
Merge pull request #49 from mttlmnt/macos-fuzzy-text
Fix for #13 Fuzzy text on macOS Retina Displays
2020-05-23 17:54:58 +02:00
maxnet
528243c050
Merge pull request #52 from ghisvail/patch-1
Install icon under share/icons
2020-05-23 17:54:37 +02:00
maxnet
a2c48e0b7d
Merge pull request #64 from waveform80/custom-user-agent
Fix #62 (custom user-agent)
2020-05-23 17:54:19 +02:00
Floris Bos
8048b5e47c Use accelerated hashing for verification
Modern CPUs have special instructions to accelerate computing
SHA hashes.
The Qt QCryptographicHash code is standard C, so not taking
advantage of those though.
Outsource the hashing to OpenSSL that does.

Shaves off some seconds during verification stage.
2020-05-23 17:50:59 +02:00
Floris Bos
2c5432fe7f Mac OS X: skip timemachine backup
Close #43
2020-05-23 16:08:44 +02:00
Floris Bos
73b9ae764d Add localisation support
- Tested with Dutch and Chinese.
- Chinese translation courtesy of @YuzukiTsuru
2020-05-23 15:57:58 +02:00
Floris Bos
224ebebb04 Use different success message if erase profile is used.
Erase has been written sounds a bit odd.
2020-05-23 14:12:23 +02:00
Floris Bos
c96e5474d0 Show scrollbars permanently
Closes #63
2020-05-23 13:02:38 +02:00
Floris Bos
84a1ca0f71 Remove zero sized drives from list
Closes #48
2020-05-23 12:37:31 +02:00
Floris Bos
a96450afbe Misc main.qml fixes
- Add support for tooltips
- Show more SD cards in list. Closes #32
2020-05-23 12:30:06 +02:00
Ghislain Vaillant
f8e19f83b8 Install AppStream metadata 2020-05-20 14:53:29 +02:00
Ghislain Vaillant
de44d90d37 Add AppStream metadata file 2020-05-20 14:53:29 +02:00
Dave Jones
3bb47b6377 Fix #62
Append "rpi-imager/version-num" to the default User-Agent when curl is
downloading the image so that image hosts can more easily distinguish
rpi-imager traffic from other traffic.
2020-05-19 19:56:32 +00:00
Ghislain Antony Vaillant
906340598c
Install icon under share/icons 2020-04-08 18:26:17 +02:00