subsurface/desktop-widgets
John Plaxco 3865c1ec0a Improve error reporting when exporting a selection of 0 dives.
If no dives are selected when trying to export a selection, a message
is shown that no dives were selected, but it's immediately hidden
behind a message saying that a temporary file could not be created.
In fact, the creation of the temporary file wasn't never attempted,
so the message that the user actually sees is misleading.

The solution chosen here is to duplicate the check that at least some
dives are selected, and abort early if that case is detected, rather
than continuing on to show the additional misleading message. Not
elegant, but it gets the job done.

Better solutions to this include refactoring prepare_dives_for_divelogs
to return something more descriptive than a bool, remove that check
from prepare_dives_for_divelogs entirely since it doesn't seem to be
a good fit there, or switch to exceptions for handling these problems
rather than return values. I don't have sufficient familiarity with
the codebase to attempt these more invasive changes, but they
should be considered in the future.

On a final note, some of the other error messages in this file start
with a capital letter, but the one relevant to this particular PR
does not. Again, I'm not familiar enough with the codebase (or
translations) to know if that's safe to change, so I'll leave that
for another time or another developer.

Reported-by: John Plaxco
Signed-off-by: John Plaxco <john@johnplaxco.com>
2019-01-22 12:58:03 +13:00
..
css
plugins Cleanup: Turn widget accessor-functions into simple pointers 2018-10-13 21:42:53 -04:00
preferences Fix bug in for loop that can lead to segfault 2018-10-25 23:23:03 +01:00
statistics Cleanup: reinstate override modifiers 2018-09-29 15:23:25 -07:00
tab-widgets Dive list: split reload() in reload() and setSortOrder() 2018-11-05 07:55:53 -08:00
about.cpp Get ready for 2018 2017-12-30 08:23:22 -08:00
about.h
about.ui Use icons relative path. 2017-11-30 23:14:46 -08:00
btdeviceselectiondialog.cpp Bluetooth: use standard Qt code on Windows 2018-09-30 08:09:37 -07:00
btdeviceselectiondialog.h Bluetooth: use standard Qt code on Windows 2018-09-30 08:09:37 -07:00
btdeviceselectiondialog.ui Introduce mode field in Bluetooth device selection dialog 2017-11-16 14:26:51 +01:00
CMakeLists.txt Undo: isolate undo-commands 2018-10-11 16:22:27 -07:00
command.cpp Undo: make adding of planned dive undo-able 2018-10-11 16:22:27 -07:00
command.h Undo: make adding of planned dive undo-able 2018-10-11 16:22:27 -07:00
command_base.cpp Undo: isolate undo-commands 2018-10-11 16:22:27 -07:00
command_base.h Undo: isolate undo-commands 2018-10-11 16:22:27 -07:00
command_divelist.cpp core: shift dive time in correct direction 2019-01-22 12:56:49 +13:00
command_divelist.h Undo: make adding of planned dive undo-able 2018-10-11 16:22:27 -07:00
configuredivecomputerdialog.cpp Cleanup: we don't support configuring a Uemis SDA 2018-08-28 12:03:03 -07:00
configuredivecomputerdialog.h Cleanup: reinstate override modifiers 2018-09-29 15:23:25 -07:00
configuredivecomputerdialog.ui Configure ostc3: Remove obsoleted setting 2018-04-27 21:33:47 +03:00
divecomponentselection.ui Use icons relative path. 2017-11-30 23:14:46 -08:00
divecomputermanagementdialog.cpp Dive computers: turn QMultiMap into sorted vector 2018-06-17 06:53:13 +09:00
divecomputermanagementdialog.h Cleanup: fold DiveComputerManagementDialog::update() into init() 2018-06-17 06:53:13 +09:00
divecomputermanagementdialog.ui Use icons relative path. 2017-11-30 23:14:46 -08:00
divelistview.cpp Dive list: remove sortColumn and currentOrder members 2018-11-05 07:55:53 -08:00
divelistview.h Dive list: remove sortColumn and currentOrder members 2018-11-05 07:55:53 -08:00
divelogexportdialog.cpp Dive site: replace dive->dive_site_uuid by dive_site 2018-10-29 00:09:31 +00:00
divelogexportdialog.h Cleanup: fold core/helpers.h into core/qthelper.h 2018-06-04 08:50:10 -07:00
divelogexportdialog.ui Desktop UI: small layout correction export dialog 2018-09-16 08:07:33 -07:00
divelogimportdialog.cpp Undo: isolate undo-commands 2018-10-11 16:22:27 -07:00
divelogimportdialog.h Import: Make DiveLogImportDialog modal 2018-10-04 10:22:11 +02:00
divelogimportdialog.ui Use icons relative path. 2017-11-30 23:14:46 -08:00
divepicturewidget.cpp Dive media: transport dive-id in drag'n'drop events 2018-07-18 09:06:37 -07:00
divepicturewidget.h Cleanup: reinstate override modifiers 2018-09-29 15:23:25 -07:00
diveplanner.cpp core/settings: change bestmixend to int, to allow qml to work 2018-09-11 17:25:00 -07:00
diveplanner.h Cleanup: replace virtual by override where appropriate 2018-07-31 11:02:34 +02:00
diveplanner.ui Choose water presets from a qcombobox in planner, custom value possible 2018-03-02 08:38:22 -08:00
diveshareexportdialog.cpp Revert "desktop-widgets: remove QSettings from desktop-widgets" 2018-08-29 03:09:10 -07:00
diveshareexportdialog.h
diveshareexportdialog.ui
downloadfromdivecomputer.cpp Dowload: Deselect dives only if at least one dive was downloaded 2018-10-15 20:55:58 -04:00
downloadfromdivecomputer.h Bluetooth: run a discovery agent for BT/BLE dive computers on macOS 2018-10-12 08:22:44 -07:00
downloadfromdivecomputer.ui Desktop/remember DCs: avoid highlighted button 2018-09-23 11:49:30 -07:00
filterwidget.ui Use better aliases for icons. 2017-11-30 23:14:46 -08:00
findmovedimagesdialog.cpp UI change of "images"/"photo" to "media" or "media files" 2018-07-15 09:38:12 -07:00
findmovedimagesdialog.h Dive pictures: implement FindMovedImagesDialog 2018-07-04 02:27:36 +08:00
findmovedimagesdialog.ui UI change of "images"/"photo" to "media" or "media files" 2018-07-15 09:38:12 -07:00
groupedlineedit.cpp Unused code: GroupedLineEdit::removeAllColors() 2018-01-10 16:45:42 +01:00
groupedlineedit.h Cleanup: reinstate override modifiers 2018-09-29 15:23:25 -07:00
kmessagewidget.cpp
kmessagewidget.h Cleanup: reinstate override modifiers 2018-09-29 15:23:25 -07:00
listfilter.ui Add tool tip for negate filter button 2017-12-30 08:15:11 -08:00
locationinformation.cpp Dive site: fix oversight in 920eb7576f 2018-10-30 22:24:07 +00:00
locationinformation.h Dive site: remove [start|stop]FilterDiveSite signals 2018-10-29 00:09:31 +00:00
locationInformation.ui Use correct alias for satellite icon for revers geo lookup 2018-01-27 12:29:00 -08:00
mainwindow.cpp Dive list: let sort arrows reflect sort order for NR and DATE 2018-11-05 07:55:53 -08:00
mainwindow.h Desktop: Enable next/prev DCs only for applicable dives 2018-10-14 20:46:02 +02:00
mainwindow.ui Desktop: remove "edit dive" from log menu 2018-09-14 13:18:42 -07:00
mapwidget.cpp Dive site: pass pointer-to-dive_site via QVariant 2018-10-29 00:09:31 +00:00
mapwidget.h Dive site: pass pointer to updateDiveSiteCoordinates() 2018-10-29 00:09:31 +00:00
modeldelegates.cpp Dive site: pass pointer-to-dive_site via QVariant 2018-10-29 00:09:31 +00:00
modeldelegates.h Cleanup: reinstate override modifiers 2018-09-29 15:23:25 -07:00
notificationwidget.cpp Use queued connection to thread-safe MainWindow error handling 2018-01-31 14:47:26 +01:00
notificationwidget.h Use queued connection to thread-safe MainWindow error handling 2018-01-31 14:47:26 +01:00
plannerDetails.ui
plannerSettings.ui Planner and profile limit minimum GFlow to 10 and minimum GFhigh to 40 2017-11-13 11:53:55 +01:00
printdialog.cpp desktop-widgets: Change Q_UNUSED to no parameter name 2018-05-21 12:48:04 -07:00
printdialog.h Cleanup: replace virtual by override where appropriate 2018-07-31 11:02:34 +02:00
printer.cpp Cleanup: Turn widget accessor-functions into simple pointers 2018-10-13 21:42:53 -04:00
printer.h
printoptions.cpp Cleanup: fold core/helpers.h into core/qthelper.h 2018-06-04 08:50:10 -07:00
printoptions.h cleanup: Uninitialized pointer field 2017-12-29 09:14:20 -08:00
printoptions.ui
qtwaitingspinner.cpp
qtwaitingspinner.h
renumber.ui Use icons relative path. 2017-11-30 23:14:46 -08:00
searchbar.ui Use better aliases for icons. 2017-11-30 23:14:46 -08:00
setpoint.ui Use icons relative path. 2017-11-30 23:14:46 -08:00
shiftimagetimes.ui UI change of "images"/"photo" to "media" or "media files" 2018-07-15 09:38:12 -07:00
shifttimes.ui Use icons relative path. 2017-11-30 23:14:46 -08:00
simplewidgets.cpp Cleanup: rename MainWindow member variables 2018-10-13 21:42:53 -04:00
simplewidgets.h Cleanup: reinstate override modifiers 2018-09-29 15:23:25 -07:00
starwidget.cpp Cleanup: remove parameter from currentDiveChanged signal 2018-07-30 12:20:26 -07:00
starwidget.h Cleanup: reinstate override modifiers 2018-09-29 15:23:25 -07:00
subsurfacewebservices.cpp Improve error reporting when exporting a selection of 0 dives. 2019-01-22 12:58:03 +13:00
subsurfacewebservices.h Cleanup: Devirtualize WebServices::downloadTimedOut() 2018-09-29 15:16:11 -07:00
tableview.cpp Use better aliases for icons. 2017-11-30 23:14:46 -08:00
tableview.h Cleanup: reinstate override modifiers 2018-09-29 15:23:25 -07:00
tableview.ui
tagwidget.cpp Cleanup: rename MainWindow member variables 2018-10-13 21:42:53 -04:00
tagwidget.h
templateedit.cpp Fix includes for building against Qt-5.11.0 2018-05-23 13:29:37 +03:00
templateedit.h
templateedit.ui
templatelayout.cpp Statistics: only consider selected dives in HTML export statistics 2018-10-07 17:50:51 +03:00
templatelayout.h Translations: unify gettextFromC::tr() and QObject::tr() 2018-07-04 05:33:31 +08:00
updatemanager.cpp update-manager: actually remember that we asked the user 2018-10-02 13:20:44 -07:00
updatemanager.h
urldialog.ui UI change of "images"/"photo" to "media" or "media files" 2018-07-15 09:38:12 -07:00
usermanual.cpp Cleanup: fold core/helpers.h into core/qthelper.h 2018-06-04 08:50:10 -07:00
usermanual.h Desktop: Derive UserManual from QDialog 2018-05-31 21:29:29 +03:00
usersurvey.cpp Revert "desktop-widgets: remove QSettings from desktop-widgets" 2018-08-29 03:09:10 -07:00
usersurvey.h
usersurvey.ui
webservices.ui Use icons relative path. 2017-11-30 23:14:46 -08:00