aboutsummaryrefslogtreecommitdiffstats
path: root/qt-mobile/qml/main.qml
AgeCommit message (Collapse)Author
2015-12-26QML UI: get add dive closer to being usefulGravatar Dirk Hohndel
Now we at least start out with the corret date, time and number. This still isn't functional as a lot of the data aren't used and the way you save the data is completely silly, but it's another step in the right direction. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-12-26QML UI: when adding a dive, start in edit modeGravatar Dirk Hohndel
Obviously we don't want to "view" a new dive, we want to "edit" it. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-12-19QML-UI: allow toggling verbose mode from the UIGravatar Dirk Hohndel
Hidden in the Developer menu. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-12-08implement new menu structureGravatar Sebastian Kügler
This patch creates the following menu structure in the application menu as discussed on irc: Cloud credentials Preferences Manage dives Download from computer Add dive manually Refresh dives Upload to cloud GPS Add GPS tags to dives Upload GPS data Clear GPS cache Advanced (hidden by default) App log Theme Information "Save" moves out of the context menu, since it's a global thing (syncs to server). Signed-off-by: Sebastian Kügler <sebas@kde.org>
2015-12-07add a contextdrawerGravatar Sebastian Kügler
This item can be dragged in from the right hand side and provides contextual actions for a page. It will be used in the dive details edit. If there are actions, the floating button on the bottom shows an arrow indicating that one can drag it in from the right hand side to the left. Also clean up a bit of a noisy print that's not needed anymore. Signed-off-by: Sebastian Kügler <sebas@kde.org>
2015-12-07Fix indentationGravatar Sebastian Kügler
It's a bit all over the place. This makes it consistent and aligned. Signed-off-by: Sebastian Kügler <sebas@kde.org>
2015-12-07Better theme information pageGravatar Sebastian Kügler
Bit nicer layout so my eyes don't insta-bleed when checking this page. Also add information about the size of the rootItem, that's really useful to know what kind of constraints we're dealing with. Signed-off-by: Sebastian Kügler <sebas@kde.org>
2015-12-05QML-UI: a small bit of reindentationGravatar Dirk Hohndel
For consistency. Still not sure what the best scheme is. QtCreator wants to be pretty aggressive with how far things are indented. Not sure I'm in love with that. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-12-05QML-UI: remove duplicate "Run location service" menu entryGravatar Dirk Hohndel
We only need this once and having it at the bottom of the menu with the indicator whether it's on or not is much nicer. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-12-04QML-UI: re-architect the way we access network resourcesGravatar Dirk Hohndel
We really need to verify that the credentials are valid before trying to access our backend resources. Trying to do so in a clean manner caused quite a bit of changes to how we retrieve the webservice userid and how we load the dive list from cloud storage. So instead of accessing the network resources directly, this adds a handler function that first checks the validity of the credentials (by using the rederict handler on the cloud server), and only calls the function that does the actual work (looks up the web service userid, loads the dives) if that succeeds. Right now there is no good user feedback mechanism - this just gets logged on the log page. But this is a massive improvement if there are issues with network connectivity or if the user mistyped their credentials. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-12-04QML-UI: use consistent capitalizationGravatar Dirk Hohndel
Throughout Subsurface we try to only capitalize the first word of every menu or window text (unless there are other reasons to capitalize the word, of course). Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-12-03QML-UI: Split cloud credentials and other preferencesGravatar Dirk Hohndel
This makes the cloud credential entry page much simpler, separate page. It also removes the two colums and uses the label of the check box instead of having a separate label item. The preferences page of course also gets simpler by doing this. Here I kept the two columns, though. Finally the code for the old context menu was removed - not sure why this was still here. Next I need to fix the savePreferences() call to do the right thing in each case. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-11-30QML UI: don't load dives before the UI has been instantiatedGravatar Dirk Hohndel
This should deal with a big part of the delay when starting the app. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-11-30Style the checkboxGravatar Sebastian Kügler
Using a normal checkbox, we get black text, not our styled Label. Since, short of doing a style, this is the only way to get the label the right color, and thus not screw up the visual appearance of the drawer, we hand-roll it. This is a bit clunky, but I prefer visual continuity here over code complexity concerns. Signed-off-by: Sebastian Kügler <sebas@kde.org>
2015-11-30Easy access to enable/disable location serviceGravatar Sebastian Kügler
Add a checkbox in the global drawer which allows quick access enabling and disabling the location service. This is something the user wants to keep an eye on, quickly enable it before a trip, so it makes sense to give it some prominence. It also helps reminding that the user switched the device into battery-monster-mode. Signed-off-by: Sebastian Kügler <sebas@kde.org>
2015-11-30Divelist has its own colorGravatar Marco Martin
don't reassign DiveList color upon declaration it's just redundant and error prone Signed-off-by: Marco Martin <notmart@gmail.com>
2015-11-29Simplify dive list itemsGravatar Sebastian Kügler
- Replace the custom text items with the Components' label - Remove now unneeded properties The goal is to use less different font sizes, as to give the listview a calmer and more uniform look. Signed-off-by: Sebastian Kügler <sebas@kde.org>
2015-11-29Simple DiveList as initial PageGravatar Marco Martin
Simplify the default page in main.qml: DiveList has everything needed, remove the outside layout and the message bar Signed-off-by: Marco Martin <notmart@gmail.com>
2015-11-29Port the page navigation to ApplicationWindow's oneGravatar Marco Martin
The ApplicationWindow component has an internal PageRow for the management of the application's pages, use that instead of an own StackView. Use shared components for common things in the app ListItem for the dive list Page for application pages, for correct background color and moving of the action button Signed-off-by: Marco Martin <notmart@gmail.com> Signed-off-by: Sebastian Kügler <sebas@kde.org>
2015-11-29Fix reference errors caused by moving properties aroundGravatar Sebastian Kügler
This makes things like accent(Text)Color and our two custom point sizes for fonts resolve correctly again. Signed-off-by: Sebastian Kügler <sebas@kde.org>
2015-11-29new container for extended theme propertiesGravatar Sebastian Kügler
Move the properties we previously added to units and theme into their own container. This encapsulates these things that belong together and allows us to move it out later without many problems. Also, litter the global namespace a bit less. Signed-off-by: Sebastian Kügler <sebas@kde.org>
2015-11-29Rework central navigationGravatar Sebastian Kügler
This patch is the part implementing the drawers and in-app page navigation. In more detail: - main.qml uses the mobilecomponents plugin and the APIs as already changed in the other components - The extended properties have moved into the root item (for now, they'll get properly encapsulated later) - A menu can be swiped in from the left - The application makes better use when used horizontally (if there's enough space, so depending on the display you can get divelist and -details next to each other, one phone/portrait formfactor, the layout stays in a single column. - The options for GPS have been grouped into a submenu This change follows the Plasma mobile human interface guidelines. These changes are actually relatively small considered what they're doing, most of the logic is encapsulated in mobilecomponents' PageRow and *Drawer classes. The previous navigation pattern is actually a subset of this one, so it still works. Signed-off-by: Sebastian Kügler <sebas@kde.org>
2015-11-19main.qml: fix crash on native Win32 desktopGravatar Lubomir I. Ivanov
Testing the mobile application on Win32 desktop results in a crash. Using ApplicationWindow for some reason makes the executable enter an inifinity loop on startup until it runs out of RAM. The output is: setGeometryDp: Unable to set geometry 160x1200+720+426 on ApplicationWindow_ QMLTYPE_12_QML_111/''. Resulting geometry: 160x885+720+426 (frame: 4, 23, 4, 4, custom margin: 0, 0, 0, 0, minimum size: 0x47, maximum size: 16777215x 16777215). To fix the crash use "Window" instead of "ApplicationWindow". Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com> ACKed-by: Sebastian Kügler <sebas@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-11-13Location service: upload GPS fixes to webserviceGravatar Dirk Hohndel
With this Subsurface-mobile should be able to mostly replace the companion app. This needs some more testing and fine tuning (for example the minimum time / distance should be configurable, there should be a location name), but I think the hard part is done now. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-11-13Location service: add ability to delete all stored GPS fixesGravatar Dirk Hohndel
This may need an "are you sure" confirmation dialog... Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-11-12Location service: apply the saved GPS fixes to dive listGravatar Dirk Hohndel
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-11-11dpi improvements for small textGravatar Sebastian Kügler
- word-wrap and style the log message at the bottom, this should fix clipping of error messages down there - introduce units.smallPointSize, which defines a small font size to use for toned-down display elements (e.g. the date in the dive list) - No need to assign the default value to Text.text Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-11-11Location service: store locations in settingsGravatar Dirk Hohndel
This is rather simplistic and will clutter the settings. I'm not convinced this is the BEST way to do this, but it's a rather straight forward way to get persistant storage of the location fixes. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-11-11Location service: toggle the service from the main menuGravatar Dirk Hohndel
That way we don't track the user's location until explicitly asked to do so. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-11-07Rejig navigationGravatar Sebastian Kügler
This change streamlines the navigation across the pages to be in line with the stackview organization. The top bar becomes a static element with the title and a button that either opens the preferences or shows the back arrow. This makes it a bit more efficient, since we load the title bar only one, and there are no strange animations in the title. The stackview gets the role of content container, the "chrome" around it is laid out in main.qml. Most of the churn in this patch comes from moving large blocks of code between files with different indentation levels. Signed-off-by: Sebastian Kügler <sebas@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-11-07organize qml files in subdirectoriesGravatar Sebastian Kügler
This makes the organization of the qml files a bit more fine-grained, it prevents mixing of .cpp and QML files, and also of what's compiled, and what's included in the app as qrc data. In particular: - subsurface specific QML items go into the qml/ subdirectory - theme and unit definitions to into qml/theme subdirectory (they already were located in a theme directory) - generic components, such as our Label goes into qml/components This facilitates sharing of functionality and identifying common stuff better. Ideally, we can pull qml/theme and qml/components from a standardized set at some point, so we don't have to maintain that code. Signed-off-by: Sebastian Kügler <sebas@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>