summaryrefslogtreecommitdiffstats
path: root/mobile-widgets/qml/DiveList.qml
AgeCommit message (Collapse)Author
2020-03-12mobile UI: stop trying to play with opacityGravatar Dirk Hohndel
Since we are switching between pages, the whole opacity mechanics make no sense. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-03-12mobile UI: remove duplicate StartPageGravatar Dirk Hohndel
This was a merge error in the dive list rewrite and brought in a code block that had moved, which caused issues with correctly switching to the dive list. Calling setupActions() moves to the diveListView (where it really belongs). Instead of messing with the visibility of components of the same page, we now simply switch out the shown page. Fixes #2667 Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-03-10mobile UI: six new iconsGravatar Dirk Hohndel
I will (mis)use these for moving dives out of trips and to the trip above or below and of course for undo/redo. And the weirdest one is the 'local offer' icon that seemed a reasonably good fit to edit trip details. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-03-10mobile UI: save changes to trip detailsGravatar Dirk Hohndel
The logic when we show the save button is a little fragile (and visually I'm not sure I love the disabled button), but hey, this works. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-03-10mobile UI: add divelist context drawer action to edit trip detailsGravatar Dirk Hohndel
For now this only shows the trip details. They can be edited on the page, but there is no way to save those edits, yet. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-03-10mobile/dive-list: add context menu when long-pressing on tripGravatar Dirk Hohndel
This doesn't show the dive specific actions and sets the stage for trip edit actions. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-03-10mobile/dive-list: allow moving dives between tripsGravatar Dirk Hohndel
A dive that is already in a trip can directly be moved into the trip above or below. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-03-10mobile UI: more context actions in dive listGravatar Dirk Hohndel
This adds the ability to delete a dive and to show its location on the map directly from the dive list. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-03-10mobile/dive-list: long press on dive selects and opens context drawerGravatar Dirk Hohndel
This way one can execute dive list manipulations without the detour to the dive details screen. For example you can long-press on a dive and then add it to a trip or remove it from a trip. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-03-10mobile UI: add context menu to dive listGravatar Dirk Hohndel
This one exposes undo/redo as well as some basic trip manipulations, very similar to what's already available on the dive details page. Except that here it also makes sense to add a selected dive to a trip above or below (if those exist and the dive isn't already in a trip). Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-03-10mobile/divelist: better handling of selection changeGravatar Dirk Hohndel
This still has an odd bug. When we swipe the dive details to change the selected dive and that action causes a trip to expand or collapse, then the color change / highlight in the dive list isn't updated correctly, even though the log file indicates that we made the necessary changes. This also changes the coloring of the selected dive; having the same coloring as a trip was very confusing. This is a bit stark, but it clearly communicates the distinction. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-03-10mobile/divelist: remove showDiveIndex QML-functionGravatar Berthold Stoeger
The currently shown dive is now controlled by the core. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-03-10mobile/divelist: when clicking on a row, use select_single_dive()Gravatar Berthold Stoeger
This is a small step in unifying mobile and desktop. I'm unsure whether it is correct to play this via the QMLManager or whether we should call form QML directly into the model? Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-03-10mobile/divelist: switch to the correct modelGravatar Berthold Stoeger
This obviously breaks everything, but now we can start fixing things. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-03-09mobile/divelist: connect click on trip to toggle MobileListModelGravatar Berthold Stoeger
Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2020-03-09mobile/divelist: rewrite the QML dive listGravatar Dirk Hohndel
This isn't perfect yet, but it looks fairly reasonable. This commit was mainly written by Dirk, but includes a few fixes from Berthold which where squashed into this commit as they really should have been part of the initial version. Signed-off-by: Dirk Hohndel <dirk@hohndel.org> Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2020-03-09mobile UI: move code to open download page on device plug-inGravatar Dirk Hohndel
This makes the code easier to reuse and uses the helper we just added. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-03-01mobile/filter: derive numShown from a new Q_PROPERTYGravatar Berthold Stoeger
The number of dives was updated when the model of the list was changed. Since we removed the multi-threading, the model is not disconnected/connected anymore and therefore we don't get the appropriate signal. Instead of introducing a different signal, make the shown-value a Q_PROPERTY. Thus, we can easily send a changed signal if we have to. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2020-03-01mobile/filter: use more appropriate placeholder textGravatar Dirk Hohndel
This way it matches the filter mode. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-03-01filter: introduce people- and tags-filtering in the mobile UIGravatar Berthold Stoeger
Add a combo-box where the user can switch between "fulltext", "people" and "tags" filtering. Connect the combobox to the already existing filter-code. Dirk: make combo-box smaller by using a smaller font and restricting the width. Setting both maximum and preferred widths gives more consistent results. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-01-18mobile-widgets/qml: use strongly typed CloudStatusGravatar jan Iversen
Replace CloudStatus.<value> with backend.<value> as part of making enum sharing between C/C++ and QML more robust. Replace PrefCloudStorage.verification_status with backend.verification_status to use the strongly typed function. Signed-off-by: jan Iversen <jan@casacondor.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-12-28mobile-widgets/qml: remove use of prefs. in DiveList.qmlGravatar jan Iversen
prefs. is only important during the signin process, so use the standard PrefCloudStorage variable Signed-off-by: Jan Iversen <jan@casacondor.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-12-28mobile-widgets/qml: remove property credentialStatusGravatar jan Iversen
Property is unused, remove it. Signed-off-by: Jan Iversen <jan@casacondor.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-12-27mobile-widgets/qml: remove console messagesGravatar jan Iversen
Remove console.log messagees used to test the split of startpage/divelist. Signed-off-by: Jan Iversen <jan@casacondor.com>
2019-12-24mobile UI/login: move startpage to mainGravatar jan Iversen
StartPage does not belong in divelist. Remove startPage from diveList and anchor in main. Make needed functional changes. Signed-off-by: Jan Iversen <jani@apache.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-12-24mobile UI/login: remove startpage dependency in divelistGravatar jan Iversen
DiveList should not depend on StartPage, so remove references to startPage. Signed-off-by: Jan Iversen <jani@apache.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-12-24mobile UI/login: make divelist a proper object in mainGravatar jan Iversen
Instanciate DiveList like all the other pages. Move DiveList properties set in main to DiveList.qml Signed-off-by: Jan Iversen <jani@apache.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-12-24mobile UI/login: clean startPage/setupActions from DivelistGravatar jan Iversen
setupActions() in StartPage contained a mixture of StartPage actions and DiveList actions. Split setupActions to be pure. However currently StartPage is embedded inside DiveList so the action onVisibleChanged must be simulated. Signed-off-by: Jan Iversen <jani@apache.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-12-24mobile UI/login: move onCompleted actions to mainGravatar jan Iversen
manager.finishSetup() have nothing to do with startpage/divelist, but belong in main (seeing main as responsible for setup and window layout). Move onCompleted functionality to main. Signed-off-by: Jan Iversen <jani@apache.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-11-08Mobile: modify filter so that all models get notifiedGravatar Dirk Hohndel
When we change the filter string, we need to make sure that the collapsed model is also aware of the change. Similarly, instead of just calling resetFilter and directly changing the core data structures, we need to set the filter to the empty string which ensures that all three models get notified and the view updates correctly. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-11-08Mobile: consistently refer to the dive list modelGravatar Dirk Hohndel
The number of different ways we tried to refer to the model made my head spin. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-11-08Mobile: ensure there's some space between date and depth/durationGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-11-08Mobile: use the CollapsedDiveListSortModel for dive listGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-11-03Mobile: don't dereference the dive list model when it's disconnectedGravatar Dirk Hohndel
This avoids a bunch of annoying warnings. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-11-03Mobile: use appendTextToLog to get timestamps in logsGravatar Dirk Hohndel
This helps tremendously when tracking down some problems. We should never use console.log. In the process this also updates a couple of the messages to be clearer. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-10-26Mobile: don't show nothing for the locationGravatar Dirk Hohndel
We use 'Dive details' as page title, everywhere else we use '<unnamed dive site>'. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-10-26Mobile: avoid dereferencing undefined valuesGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-10-13Mobile: move pageIndex function to main.qmlGravatar Dirk Hohndel
This way it can be more easily called from other pages. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-10-13Mobile: when selecting dive via map, expand its tripGravatar Dirk Hohndel
Previously if the dive was in a different trip, we'd scroll to that trip but not expand the trip, which was a confusing user experience. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-10-13Mobile: when selecting dive via map, update details viewGravatar Dirk Hohndel
We updated the selected dive in the dive list, but not the one shown in the details view. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-10-13Mobile: when switching to the details, reuse existing pageGravatar Dirk Hohndel
While pageStack.push() can handle pushing a page that's already there, that creates an unfortunate sequence of currentItemChanged signal which leads us to do the wrong thing with our map hack. This commit changes things around to first look for the page in the page stack and just switch to it, and only pushing the page as new if it cannoot be found oon the page stack. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-09-21Mobile: pass section directly to tripTitle() and tripShortDate()Gravatar Berthold Stoeger
Instead of converting the section-heading string to a trip-pointer in QML and pass that to the tripTitle() and tripShortDate() functions, pass the string and convert in C++ code. Hopefully, this makes the code more robust. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-09-21Mobile: don't show filter button when entering credentialsGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2019-09-14Mobile: return depthDuration directly from DiveListModelGravatar Berthold Stoeger
We don't want to generate a DiveObjectHelper numerous times for every item in the dive list. Therefore, return this data directly from the model. In this case, don't remove from DiveObjectHelper, as these data might be used by grantlee templates. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-09-14Mobile: return location directly from DiveListModelGravatar Berthold Stoeger
We don't want to generate a DiveObjectHelper numerous times for every item in the dive list. Therefore, return this datum directly from the model. In this case, don't remove from DiveObjectHelper, as this datum might be used by grantlee templates. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-09-14Mobile: return dive-number directly from DiveListModelGravatar Berthold Stoeger
We don't want to generate a DiveObjectHelper numerous times for every item in the dive list. Therefore, return this datum directly from the model. In this case, don't remove from DiveObjectHelper, as this datum might be used by grantlee templates. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-09-14Mobile: return dive-id directly from DiveListModelGravatar Berthold Stoeger
We don't want to generate a DiveObjectHelper numerous times for every item in the dive list. Therefore, return this datum directly from the model. In this case, don't remove from DiveObjectHelper, as this datum might be used by grantlee templates. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-09-14Mobile: return dateTime directly from DiveListModelGravatar Berthold Stoeger
We don't want to generate a DiveObjectHelper numerous times for every item in the dive list. Therefore, return this data directly from the model. In this case, don't remove from DiveObjectHelper, as these data might be used by grantlee templates. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-09-14Mobile: move tripNrDive from DiveObjectHelper to DiveListModelGravatar Berthold Stoeger
We don't want to generate a DiveObjectHelper numerous times for every item in the dive list. Therefore, return this datum directly from the model. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-09-14Mobile: move tripId from DiveObjectHelper to DiveListModelGravatar Berthold Stoeger
The canonical way of displaying lists in Qt is via models. Thus, return the tripId directly from the DiveListModel instead of going indirectly via a DiveObjectHelper. In the future, this will allow us to make the DiveObjectHelper value-based, as it is not generated numerous times for every list item. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>