summaryrefslogtreecommitdiffstats
path: root/desktop-widgets
AgeCommit message (Collapse)Author
2019-02-19Desktop: don't clear the filter when the widget is hiddenGravatar Dirk Hohndel
Only clear the filter when the user explicitly resets it. This way the user can toggle between the map and the filter widget without losing the filter state. Fixes #1952 Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-02-19Desktop: track if the filter widget is activeGravatar Dirk Hohndel
This is not perfect - if you open the filter, set some criterion and then remove it again (without resetting the filter), this variable will give you a false positive). Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-02-19Filter: implement any-of modeGravatar Berthold Stoeger
Add an additional mode to the tags, people and location filters: any_of. Replace the original invert-bool by an enum. Move the common code into a distinct function. Reported-by: Willem Ferguson <willemferguson@zoology.up.ac.za> Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-02-18Edit: use correct offset when changing dive timesGravatar Berthold Stoeger
The undo-work reversed the direction of the offset. This was apparently only fixed when using the menu entry, but not when editing dives directly. Invert the offset to get the correct time. While doing so, remove a redundant if: First it checked whether the dates are the same, then whether the offset is non-zero. Fixes #1975. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-02-14Desktop: only show dive computers in the Bluetooth device listGravatar Dirk Hohndel
By default we'll only show devices that we believe to be dive computers, but the user can override that with the recently introduced check box. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-02-14Desktop: add checkbox to show all BT devicesGravatar Dirk Hohndel
Which right now is of course what we do by default, the goal is to only show what we think are dive computers, but allow to see all of them if the user wants to. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-02-11Desktop: show filter panel with maximized dive listGravatar Dirk Hohndel
This way we can filter both in the default layout and in the dive list layout. Fixes #1951 Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-02-11Small whitespace fixGravatar Dirk Hohndel
Simply because it bugged me. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-02-09core: move updatecheck to its own domainGravatar Dirk Hohndel
This make it easier to move backend services around. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-02-07Add various enhancements to profile export and dive data copyGravatar Robert C. Helling
... as suggested by Lubomir. Signed-off-by: Robert C. Helling <helling@atdotde.de>
2019-02-07Profile: add "synchronous" mode for picture plottingGravatar Berthold Stoeger
The thumbnails were fetched in the background to achieve a snappier UI. The problem with that is that on LaTeX etc. export only placeholder thumbnails were shown. Therefore, implement a synchronous mode. This only tries to fetch cached thumbnails or calculate thumbnails for images. Videos and remote files are not supported. Fixes #1963 Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-02-07Copy dive description to clipboardGravatar Robert C. Helling
Upon "Copy dive", store a text description of the items on the system clipboard. Signed-off-by: Robert C. Helling <helling@atdotde.de>
2019-02-07Export profile imageGravatar Robert C. Helling
With Facebook support gone, we should offer a way to export the profile image. This has been part of the TeX support but this makes it explicit. Signed-off-by: Robert C. Helling <helling@atdotde.de>
2019-02-05Add button to toggle deco info in info boxGravatar Robert C. Helling
The info box can get longish. Offer the user to turn off display of deco information (surface GF and individual ceilings). Signed-off-by: Robert C. Helling <helling@atdotde.de>
2019-02-02Cleanup: rename locationInformation.ui -> locationinformation.uiGravatar Berthold Stoeger
The .cpp and .h files are all lower-case, the .ui file is camel-case. Unify to lower-case (which is much more common in the code base). Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-02-02Cleanup: remove unused function MainTab::setCurrentLocationIndexGravatar Berthold Stoeger
The last caller was removed in ce8199cdfdef97437ad85178c7104f307baf018b. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-02-01facebook: remove the featute from the code baseGravatar Lubomir I. Ivanov
Remove from: - unit tests - desktop widgets - preferences - core intergration - cmakefiles - build scripts - icons - docs Also remove the plugins and social network integration. Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2019-01-28Desktop: cleanups for the filter UIGravatar Dirk Hohndel
Just trying to get the spacing to be a bit nicer. Hand editing XML... Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-01-28Desktop: set filter negation textsGravatar Berthold Stoeger
The texts may not be perfect, but this is a start. Replace the buttons by combo-boxes. This will allow potential extension to "any of". Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-01-28Desktop: add vertical spacer at bottom of filter widgetGravatar Dirk Hohndel
This way we don't have this weird stretched out look. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-01-28Desktop: change filter negate buttonsGravatar Dirk Hohndel
Use button text to indicate what the current state is (done in code) and use tool tip to tell the user that pressing the button negates the filter's effect. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-01-27Cleanup: remove redundant conditionalGravatar Berthold Stoeger
In MainTab::acceptChanges there was a "editMode != ADD" condition inside a else block to "editMode == ADD", which is therefore redundant. Remove. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-01-26Coding style: unify connect() calls in filterwidget2.cppGravatar Berthold Stoeger
The connect() calls had different styles. Unify them to the one that was used the most. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-01-26Filter: quick implementation of negationGravatar Berthold Stoeger
Add negate buttons to the Tags, People, Location and Equipment filters. Currently, if nothing is entered the filter is ignored whether negate is on or off. One might think about filtering all dives without tags, etc. instead. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-01-26Filter: implement close & resetGravatar Berthold Stoeger
Implement the close & reset functionality, by reseting the application state to "Default". This is currently the only state from where the fiter can be called. To make it consistent with CTRL^F, clear the filter in the hide() slot, which is called in both cases. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-01-26Filter: implement reset filterGravatar Berthold Stoeger
Move initialization to a separate function and connect that to the reset button. Two points of note: 1) Reseting the text-fields causes signals. Thus, signals have to be ignored during reset. Do this with a new flag. 2) To make reset of the from-date work, the from-date has to be initialized to a distinct value. Setting a default-constructed QDateTime leaves the widget unchanged. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-01-26Filter: update counts if dives added / removedGravatar Berthold Stoeger
Update the filter counts if dives were added removed by the undo commands. The undo commands call into the filter model at the right time so that hidden_by_filter is already set. The filter model keeps track of the counts and emits a signal, which is caught by the widget. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-01-26Filter: implement "x of y shown" textGravatar Berthold Stoeger
Display the number of dives shown. Copy the UI from the old filter widget. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-01-26Rememove centrigade/celsius confusion in TeX exportGravatar Robert C. Helling
Signed-off-by: Robert C. Helling <helling@atdotde.de>
2019-01-26Add export variable containing the profile image filenameGravatar Robert C. Helling
This way, templates in particluar can choose arbitrary geometries for the profile image. Signed-off-by: Robert C. Helling <helling@atdotde.de>
2019-01-26Include all tags in TeX/LaTeX exportGravatar Robert C. Helling
instead of just the first Signed-off-by: Robert C. Helling <helling@atdotde.de>
2019-01-26Include dive time in TeX/LaTeX exportGravatar Robert C. Helling
This was missing in the export. We export separate hour and minutes so the template can decide about the time format. Signed-off-by: Robert C. Helling <helling@atdotde.de>
2019-01-26Allow LaTeX export of several divesGravatar Robert C. Helling
This makes it more like the plain TeX export, the main change is in the structure of the template file (not included here). Signed-off-by: Robert C. Helling <helling@atdotde.de>
2019-01-26Hook up LaTeX export to UIGravatar Robert C. Helling
Signed-off-by: Robert C. Helling <helling@atdotde.de>
2019-01-26Add LaTeX exportGravatar Robert C. Helling
So far, the TeX export was intended to be used with plain TeX. To make it compatible with LaTeX, we only need to make sure there are no macro name clashes and remove plain TeX specific calls. So far, this works only for single dives as the export only sets up macros to contain dive data and then read the actual latex file (starting with \documentclass etc). Later, the template should setup macros to be called from the export file. Signed-off-by: Robert C. Helling <helling@atdotde.de>
2019-01-26FB redirect use https instead of httpGravatar Robert C. Helling
When connecting to facebook, I get a warning that the connection is not secure. It's a wild guess that this patch solves the issue but I currenty cannot build with facebook support. So I cannot check. Signed-off-by: Robert C. Helling <helling@atdotde.de>
2019-01-26Cleanup: remove unused function setCheckedActionFilterTags()Gravatar Berthold Stoeger
Last caller was removed in e0f473fcb49c8121a0a9c52bf0536049b0f342ed Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-01-22Filter: extend range of allowed temperaturesGravatar Berthold Stoeger
The temperature range 0-100 was inadequate in both supported scales (Celsius and Fahrenheit). Extend the range to encompass all physically meaningful values in both scales. Use the default-values to set the minimum and maximum of the UI-fields. Thus, these values are configurable in a single place. In the future we should use a scale-independent representation (e.g. mkelvin as in the rest of the code base). But this would mean implementing a custom widget with a conversion function. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-01-22Filter: support imperial unitsGravatar Berthold Stoeger
1) Choose the correct conversion function for comparison. 2) Add a unit suffix to the fields. 3) Update the suffixes on change of preferences. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-01-21Desktop, Filter UI: make date/time consistentGravatar Jan Mulder
On all (most?) places we use separate date/time fields for the time of a dive, and we follow the setting from the preferences to format those. Make the new filter widget consistent, with respect to the to and from interval. Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2019-01-21Desktop, Filter UI: improve layout of rating/viz widgetsGravatar Jan Mulder
The alignment of the 2 first lines of the new filter widget looked badly aligned. Fixed by this simple change. Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
2019-01-20Import: fix erroneous flagGravatar Berthold Stoeger
In 891fcbf520f28ef6016d6171eba83c6773efca00 boolean parameters were replaced by flags. Fix an error in this commit: IMPORT_IS_DOWNLOADED should be IMPORT_PREFER_IMPORTED. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-01-19Filter widget: remove superfluous space in labelGravatar Berthold Stoeger
The "Rating label" had a superfluous space at the beginning. Remove. Reported-by: Jan Mulder <jlmulder@xs4all.nl> Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-01-19Filter widget: make Ui class subobject of widgetGravatar Berthold Stoeger
Commit 8e81d3f10087fa7ac600dcb18cfebf27716c4209 changed a bunch of Ui classes to be subobject of the widget. For consistency do the same with the filter widget. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-01-19Desktop: Make filterWidget2 a subobject of MainWindowGravatar Berthold Stoeger
In commit b0556abdd35f96b816ba11e40bf5707abe0c3ebf, the filter-widget and the filter were connected by a direct function call. This led to a rather obscure crash on application-close with Qt 5.12. The crash is due to the Ui::MainWindow class being a sub-object of MainWindow, but the FilterWidget2 being *not* a subobject. What happens is that after calling the MainWindow destructor, the subobjects are destructed, notably the Ui class. Then the base-class destructor is called (which makes sense, as destructors are called in reverse order of constructors). But: the QObject destructor calls hide() on all still existing child-objects according to Qt's object hierarchy, notably the visible FilterWidget2. Now the FilterWidget2, on hiding, updates the MainWindow, which has already destructed all its subobjects. Crash. Prevent this crash by making FilterWidget2 a subobject of MainWindow and thus have it destructed before running the QObject destructor. Alternative ways would be: 1) Use signal/slot() instead of function calls, as these are automatically removed if an object is destroyed. 2) Make the FilterWidget2 subobject a smart-pointer. Thus, we probably wouldn't have to include the corresponding header. 3) Make the FilterWidget2 subobject a plain pointer and delete it explicitly in the constructor. Reported-by: Jan Mulder <jlmulder@xs4all.nl> Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-01-19Filter: update filterData directly without copyingGravatar Berthold Stoeger
In FilterWidget2::updateFilter() a new FilterData object is generated and then copied onto the filterData member variable. Instead, modify filterData directly. This seems also more logical from a semantic point of view: Do we want to reset fields that were not set by the user? Contains trivial whitespace fix. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-01-19Filter: connect widget and filterGravatar Berthold Stoeger
In the latest version of the new filter-widget the connection between widget and filter was lost. Connect both - but use a simple function call instead of a signal, since it is not immediately obivous where the connection should be made. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-01-19Import: control process_imported_dives() by flagsGravatar Berthold Stoeger
process_imported_dives() takes four boolean parameters. Replace these by flags. This makes the function calls much more descriptive. Morover, it becomes easier to add or remove flags. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-01-19Import: don't add to new trip while downloadingGravatar Berthold Stoeger
Since process_imported_dives() can add dives to a newly generated trip, this need not be done in the downloading code. This makes data flow distinctly simpler, as no trip table and no add-new-trip flag has to be passed down to the libdivecomputer glue code. Moreover, since now the trip creation is done at the import step rather than the download step, the latest status of the "add to new trip" checkbox will be considered. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-01-19Import: add add_to_new_trip flag to process_imported_dives()Gravatar Berthold Stoeger
If this flag is set, dives that are not assigned to a trip will be assigned to a new trip. This flag is set if the user checked "add to new trip" in the download dialog of the desktop version. Currently this is a no-op as the dives will already have been added to a new trip by the downloading code. This will be removed in a subsequent commit. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>