Commit graph

3616 commits

Author SHA1 Message Date
Gehad elrobey
e1dda8df63 Printing: implement edit buttons in color tab
Add button group and attached edit buttons to it.

Signed-off-by: Gehad elrobey <gehadelrobey@gmail.com>
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2015-07-20 15:28:23 +03:00
Gehad elrobey
ad531c25fb Printing: show colors in edit tab
- Add default color struct
- Init the color struct with default colors
- Show color text in labels
- Preview colors

Signed-off-by: Gehad elrobey <gehadelrobey@gmail.com>
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2015-07-20 15:28:20 +03:00
Gehad elrobey
dcedc8ebea Printing: add colors tab to edit window
Select custom colors for print templates, by default there are
five colors that can be used dynamically in prints.

Signed-off-by: Gehad elrobey <gehadelrobey@gmail.com>
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2015-07-20 15:28:17 +03:00
Gehad elrobey
18282aa30e Printing: update preview on field changes
- Trigger re-rendering on the QPixmap if fields changed.
- Change template selection to custom if template text changed.

Signed-off-by: Gehad elrobey <gehadelrobey@gmail.com>
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2015-07-20 15:28:15 +03:00
Gehad elrobey
d705cb34bb Printing: update preview on apply settings
On update call Printer to render on the QPixmap.

Signed-off-by: Gehad elrobey <gehadelrobey@gmail.com>
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2015-07-20 15:28:12 +03:00
Gehad elrobey
f1615e725c Printing: add apply button to TemplateEdit class
Add apply button to the dialog, Update the preview after applying
the new settings.

Signed-off-by: Gehad elrobey <gehadelrobey@gmail.com>
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2015-07-20 15:28:10 +03:00
Gehad elrobey
7ca311ae85 Printing: save only if data is changed in template_options
Check if data is changed before saving the new settings.

Signed-off-by: Gehad elrobey <gehadelrobey@gmail.com>
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2015-07-20 15:28:07 +03:00
Gehad elrobey
d4382c7c4b Printing: add preview to TemplateEdit dialog
Show QPixmap in QLabel, Use Printer class to render the Preview on
the QPixmap.

Signed-off-by: Gehad elrobey <gehadelrobey@gmail.com>
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2015-07-20 15:28:03 +03:00
Gehad elrobey
3a69638366 Printing: check for different printing modes
Add PRINT/PREVIEW print modes, check for printing modes before
casting.

We must pass a QPaintDevice with type QPixmap for previewing and
with type QPrinter for actual printing.

Signed-off-by: Gehad elrobey <gehadelrobey@gmail.com>
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2015-07-20 15:27:56 +03:00
Gehad elrobey
c90d5b891d Printing: show confirmation message before overwriting the template
Before overwriting the new template show confirmation message.

Signed-off-by: Gehad elrobey <gehadelrobey@gmail.com>
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
2015-07-20 15:27:23 +03:00
Dirk Hohndel
05109b2d6c Don't hide location completion when user types space
Odd that I never noticed this until several people pointed it out to me.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-18 13:39:19 -07:00
Dirk Hohndel
bd4629b293 Add nr of dives at the site to completion string
I'm not convinced that this is useful enough to keep, but let's give it a
try and see what people think.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-18 13:34:05 -07:00
Dirk Hohndel
021a151f03 Location completion: remove space between '~' and distance
Just a minor visual improvement.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-18 13:06:33 -07:00
Tomaz Canabrava
76e61bd8d9 Make sure we don't pass the wrong info
We were returning false here which meant that we were
overriding the information with the wrong value later.

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-17 10:27:52 -07:00
Tomaz Canabrava
392973dbe4 Remove buggy code
This code is already implemented as a signal-connection
on the maintab.cpp / globe.cpp

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-17 10:25:12 -07:00
Tomaz Canabrava
0a473b3a2a Fix mouse interaction with the Location List
paint methods should be used only to paint, not to trigger other
widget behaviours ( we could got ourselves into a bad recursion
bug from that ). Also, enabled mouse tracking to correctly track
the mouse movement inside the widget.

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-16 18:34:22 -07:00
Tomaz Canabrava
56240cff5b Show only 1 possibility if string is unique
We should only show one possibility if the dive_site name
string is unique - we don't have that dive_site yet - so
we pass to the Completer filter a Dummy string that will
surelly not be a dive site - konami code.

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-16 18:33:57 -07:00
Dirk Hohndel
829e816e2b Location edit: correctly position globe if create dive options are active
This way when the user looks through the list of completion options the
globe behaves in a consistent way, i.e., if the current dive site has a
GPS fix and the user activates one of the two options to create a dive
site with that GPS information, the globe show the right area (and the
globe zooms out if the current dive site doesn't have a GPS fix).

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-16 12:50:56 -07:00
Dirk Hohndel
076f86202a Change API signature to act on dive_site, not uuid
This way in the future we can pass in a pointer to a dive site that isn't
linked in our dive site list yet (i.e., while we are editing).

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-16 12:41:04 -07:00
Dirk Hohndel
f98ace681a Dive site edit: add second "create" line without completion
We now have TWO special entries. One with just what the user has typed and
one with the first completion of that text. This way both Henrik and Linus
can get what they want. I'm not sure I love this, but it's easy to revert
if the consensus is that this is too confusing. But it's much easier to
discuss this if people can actually play with it.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-16 12:22:56 -07:00
Dirk Hohndel
4ec27b1751 KMessageWidget: hide messages regardless whether it's visible
Even if the message isn't visible hide it, don't just return.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-16 10:55:55 -07:00
Dirk Hohndel
45392615cd Dive edit: handle dive sites more sanely while editing
While we edit things, displayed_dive_site is the authoratative source of
data that should be displayed.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-16 10:43:37 -07:00
Dirk Hohndel
0f906dad6f Don't reset editMode when refreshing the display
Just because we want to update the latest information on the Notes tab
doesn't mean we are done editing.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-16 10:42:56 -07:00
Dirk Hohndel
9a5ac0d3ac Just call the member function
This code was embarrassingly indirect. Oops.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-16 09:52:24 -07:00
Dirk Hohndel
22c83af6ad Dive site handling: make sure the data in displayed_dive is updated
After an edit when the dive is redisplayed we are not copying the data
from current dive back over displayed dive (as the reasonable assumption
is that we just edited the displayed dive and copied the information into
the current dive)- so make sure that after the dive site handling the
displayed dive does in fact have the correct dive site information.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-16 06:40:16 -07:00
Dirk Hohndel
874d3c4799 Dive site handling: special case for auto generated dives
When we download GPS data from the webservice we can end up with dive
sites that are simply a place holder for the the GPS fix. If we replace
the name of one of those sites we should just delete the site (assuming it
isn't used in another dive, which is unlikely but theoretically possible).

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-15 21:27:49 -07:00
Dirk Hohndel
542e04266d Dive site handling: correctly handle the different scenarios
- do not create dive sites unless the user has accepted the changes
- all modification are tracked in the displayed_dive_site
- when the user accepts the changes, the real dive site list (and the
  selected dives) are updated according to what is in the
  displayed_dive_site

This adds quite verbose debugging messages and disables a section of code
that has a special case for data created by the Subsurface web service.
This code needs some re-thinking and should eventually go away.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-15 15:44:15 -07:00
Dirk Hohndel
a5b378bdf4 Better text for dive site completions
Also make the explanation text slightly smaller.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-15 10:37:25 -07:00
Dirk Hohndel
9d622996ba Merge branch 'tomaz'
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-14 15:33:28 -07:00
Tomaz Canabrava
536469107d Fix selecting the first index
The way a QCompleter works is that it grabs whatever
data it has in the completerRole and sets it back on
the line edit.

I Bypassed the QCompleter delegate to show something
other than the completerRole (so, for instance, if you
write 'B', you could get 'Blue Hole' as the returned text,
but in fact the QCompleter has the 'B' as internal string
(because of the weird - and wrong way in which we are
dealing with completion - trying to complete for something
that's not inside the model yet).

So I hooked up a signal that will listen to the complete's
index, and if it's the first row() it's surely the special
case - then we bypass QCompleter return string and use
our own.

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-14 15:22:00 -07:00
Tomaz Canabrava
cd3f10d5ad Offer an option to just complete the text
Make the kids fight no more.

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-14 14:54:01 -07:00
Tomaz Canabrava
9510f40db4 Remove quick edit dive site widget
Voted down by common consent.

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-14 14:44:39 -07:00
Dirk Hohndel
70656cddea Location completer: show candidate sites on the globe
As the user scrolls through the possible completions, show them on the
globe as well.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-14 11:53:24 -07:00
Dirk Hohndel
44510f990b Location completer: show taxonomy according to preferences
The user has picked their preferences of which taxonomy data they want to
see. Show them what they asked for.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-14 11:53:05 -07:00
Dirk Hohndel
8c0d0de2e6 Location completer: give distance if known
If both the displayed dive and the dive site which is shown as a potential
completion have a GPS fix, indicate the distance.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-14 11:52:17 -07:00
Tomaz Canabrava
49ab30ae8b Change Location Management to make Linus Happy
Do not overwrite a dive site if the name is the same
as any other dive site,  create a new one and duplicate
the information.

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-13 16:06:05 -07:00
Tomaz Canabrava
1a68e7985b Move code that handles location to a sane place
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-13 15:44:16 -07:00
Tomaz Canabrava
c658f2878b Select right divesite on click
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-13 15:43:03 -07:00
Tomaz Canabrava
3b2a02dffa Get the selected dive site from the list
Hooked up an eventFilter on the QListView that displays our dive sites so
it would filter the keys enter and space, storing the current dive_site
uuid when that happens.

Also it stores the uuid on clicks.

Now we need to get that information when processing acceptedChanges() and
check if the uuid stored there == displayed_dive_site.uuid and also if
text != displayed_dive_site.name, because if the user didn't click on
anything but only wrote stuff on the LineEdit no dive site would be
selected and so uuid == displayed_dive_site.uuid (wich would mean 'no
changes')

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-13 15:41:16 -07:00
Claudiu Olteanu
94d3aa04dc Wait until the BT scanning process is done on Android platforms
Block the Save button on Android platforms until the scanning
for remote Bluetooth devices is finished.

The reason we do that is because there is a bug on the
Android platform or on the QtBluetooth library which stops the
downloading process and blocks the devices on the Download mode.

Signed-off-by: Claudiu Olteanu <olteanu.claudiu@ymail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-13 15:21:30 -07:00
Miika Turkia
212cc575bf Divinglog import: add .sql extension for import
Generic divelog might come with the .sql extension, thus adding that to
the file filter.

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-12 13:58:16 -07:00
Dirk Hohndel
93d348fa59 Globe: Remove workarounds for ancient Marble versions
We build against our own Marble, anyway. So this isn't needed anymore.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-12 09:30:45 -07:00
Dirk Hohndel
d8ca046265 Don't show the update messages in the mobile app
Android provides update notifications already.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-10 13:28:28 -07:00
Anton Lundin
e16b116297 Teach divemode editing about multiple dc's
This teaches the edit divemode about the fact that we can have multiple
dc's with different divemodes. The previous code always just edited the
first dc.

This was reported by Ian Pitt in:
https://groups.google.com/forum/#!category-topic/subsurface-divelog/4Zf47KS4Ifk

Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-09 06:29:59 -07:00
Dirk Hohndel
83e5e4933f Globe: another attempt to fix the globe zoom
The fact that Marble doesn't tell us when it's done flying to the next
point is making this excessively complicated to get right.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-08 13:45:24 -07:00
Tomaz Canabrava
127f3b7da1 Use current dive site to get the information
and not the displayed_dive_site. tsc.

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-08 08:08:46 -07:00
Joakim Bygdell
bea24edc29 Planner: redo the spacing of the prefs
Divide the space eaqually to all three settings panels.

Signed-off-by: Joakim Bygdell <j.bygdell@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-08 08:02:04 -07:00
Tomaz Canabrava
7bc11f3044 Correctly paint the states
The state handling is a pain to do manually, but I can't really
use the style painter because if I do that it would paint the
string of the model (and that's something I don't wanna do)
so I clear the text, draw the control, then I paint the stuff
that I really need.

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-08 07:50:43 -07:00
Tomaz Canabrava
2f9e859615 Use taxonomy or coords on the delegate
The Taxonomy text should be used if there's a taxonomy
for the dive site. If there isn't, then use coords. If
there's none, then nothing will appear on the bottom
of the dive site name.

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-08 07:50:09 -07:00
Tomaz Canabrava
967bd68e64 Better spacing on the delegate
Makes the location delegate pleasant to the eye.

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-08 07:49:49 -07:00