- fix spacing and sizing in TopBar
- use an anchor layout for the delegate and split out labels and values: this
allows more uniform alignment
- add the subsurface mobile icon to the first page
- various visual touch-ups to taste
Signed-off-by: Sebastian Kügler <sebas@kde.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
- section headers get underline with a thick line
- items are separated by spacing and a thin grey line at the bottom
- spacing on both sides, aligning with header
Signed-off-by: Sebastian Kügler <sebas@kde.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
- colors for accentuation (background and text)
- text color to paint on highlights
- units.spacing (derived from gridUnit, so it's dpi-corrected)
- port main.qml, especially the application header to this theming and
sizing
Signed-off-by: Sebastian Kügler <sebas@kde.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
- Theme: For theming, we're just defining some colors centrally for now
- Units: This object provides dpi-corrected sizing in the form of
gridUnit. The idea is to base gridUnit on the rendered font size, so
the ui scales with text size. As this interpolates font size and dpi,
the sizing is rather responsive.
These are the basics, now we can kill lots of hardcoded pixel values.
Signed-off-by: Sebastian Kügler <sebas@kde.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Correctly show the log messages. The log window will display all
messages emitted by the QML Manager class.
Signed-off-by: Grace Karanja <gracie.karanja89@gmail.com>
When closing the log window, do not try to save the changes. This
should only be done when closing the DiveDetails.
Signed-off-by: Grace Karanja <gracie.karanja89@gmail.com>
Start working on the add dive feature, to enable the user add a
new dive using the mobile UI.
Signed-off-by: Grace Karanja <gracie.karanja89@gmail.com>
The top bars on the main page and dive details should be the same height
and keep the same layout.
[Dirk Hohndel: refactored Joakim's patch to work on top of what was
already in master]
Signed-off-by: Joakim Bygdell <j.bygdell@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
The top bars on the main page and dive details should be the dame height
and keep the same layout.
Signed-off-by: Joakim Bygdell <j.bygdell@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Butons are sized based in the text printed on them,
we want our buttons to have a meaningful minimum size and a
preferred size that is similar regardless of screen resolution.
Signed-off-by: Joakim Bygdell <j.bygdell@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This resizes the dive profile to always maintain an equal width and
height, so that the sizing is the same in all devices.
Signed-off-by: Grace Karanja <gracie.karanja89@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
If we try to set up a message before the window has been instantiated we
should ignore the message, not crash.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Add some style to the menu button so that it fits the theme.
Signed-off-by: Joakim Bygdell <j.bygdell@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
White is boring, so lets change the color of the android app to
a more pleasing subsurface blue.
Signed-off-by: Joakim Bygdell <j.bygdell@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Runing the android version on a phone the screen must be tilted
sideways to accommodate all buttons.
This creates a single button that triggers a popup menu that houses the buttons.
Signed-off-by: Joakim Bygdell <j.bygdell@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This is a better way for showing the profile. The show() and hide()
statements are replaced by a QTransform statement.
Signed-off-by: Grace Karanja <gracie.karanja89@gmail.com>
When testing subsurface-mobile on the desktop from an account that had a
default file set up in the Subsurface preferences that file would already
be loaded creating rather confusing output.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Add a DiveDetails.qml to hold the dive details, and display it in
the stack view when the user taps on a dive.
Signed-off-by: Grace Karanja <gracie.karanja89@gmail.com>
Link the QMLProfile class to the DiveList.qml file. The profile is
displayed above the dive details.
Signed-off-by: Grace Karanja <gracie.karanja89@gmail.com>
Add a C++ class to render the dive profile. The rendered image is then
passed on to QML.
Signed-off-by: Grace Karanja <gracie.karanja89@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This implements saving of some dive details to the cloud service. When the
user closes an open dives, any changed details will be cached, and when they
click on the 'Save Changes' button is pressed, the changes will be saved to
the cloud.
Signed-off-by: Grace Karanja <gracie.karanja89@gmail.com>
This is just a quick first stab to do this, but it at least allows us to
share some information with the user.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
QML on Android doesn't support multiple windows, so dialogs that work on
the desktop are not a good solution on Android. A much more natural way to
present sub windows is a stackView.
In order to do this Preferences needs to be an item and the structure of
the ApplicationWindow needs to change a bit.
This also removes the hard coded sizes and instead tries to design this in
a resolution independent manner.
The diff appears larger than the actual change because of an increase of
indentation for the ApplicationWindow content.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Don't hard code sizes as devices tend to have much higher pixel density
than desktop computers. Instead make sizes relative to the content.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
On Android the app figures out the size by itself.
Also change the name to match our naming scheme (Subsurface mobile for the
QML UI).
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Show the dive details in editable text boxes. This will make it easier
for the user to edit the displayed information.
Signed-off-by: Grace Karanja <gracie.karanja89@gmail.com>