Commit Graph

72 Commits

Author SHA1 Message Date
Mark Liversedge
63dbaa25d9 Reinstating Interval functions: ADD ON GOOGLE MAP
.. by click and drag
2015-05-22 17:20:02 +01:00
Mark Liversedge
5c745e60d4 Reinstating Interval functions: SELECT/DESELECT
.. from interval navigator or map marker
2015-05-22 08:41:26 +01:00
Mark Liversedge
6cff666215 Interval Selected Fixups
.. GoogleMap wasn't working
.. CP ignored interval selection
2015-05-10 13:19:39 +01:00
Mark Liversedge
100c0be881 Auto Interval Discovery (Part 2 of 3)
In this part we have updated all the charts to reference
the RideItem::intervals() members instead of the TreeWidget
and RideFile::intervals().

The code to create/change/delete intervals is not included
so selecting and editing on charts/sidebar is disabled til
part 3 of the update, but hover should work properly.

Still left todo in future updates;

    * Updates to the interval sidebar to list intervals
      in a tree (by interval type) with a color selector

    * Code to create, edit, delete etc the intervals via
      the rideitem/intervalitem and see them reflected in
      the ridefile

    * Update to search for all the different types of
      IntervalItems including routes and sustained intervals
2015-05-09 18:56:42 +01:00
grauser
49e964f585 Interval: Add interval type (Device, User, Peak, Route,...) 2015-04-30 18:20:22 +02:00
Damien
5514d3d2bb GoogleMap: Select interval : keep first selected point 2015-01-19 20:14:40 +01:00
Damien
6ba4bebe57 GoogleMap: Add a searchPoint method 2015-01-14 22:37:19 +01:00
Damien
6163ed4083 GoogleMap: Add a first Interval Selection feature
Need to resolve how to handle when the ride is on the same position twice or more
2015-01-12 22:29:04 +01:00
Mark Liversedge
17b4477a8c Google Map refresh on rideChanged()
.. just forces a replot
2014-12-29 22:04:25 +00:00
Mark Liversedge
5692d362d0 ConfigChanged Part 1 of 3
.. introduce concept of configChanged(what) to
   pass details of what config has been changed

.. fixed zones changes to re-read after write
   to correct the save twice to get changes to
   zones bug.

.. next parts need to spot changes (part 2) and
   then action appropriately (part 3)
2014-12-29 13:41:50 +00:00
Joern
0610575a7c Enable Context Help (Shift+F1) using "QT's - What's This"
... adds "What's this" to (hopefully) most of the widgets (please report
on missing ones)
... defines draft "Whats' this" texts including a
context specific WikiLink

.. Help Key for all platforms is <Shift>+<F1> + in some widgets
"RightMouse - Click"

... Tested on Win and Mac (On Mac QtMacButton seems not supporting
"What's this") - so here <Shift>+<F1> has no result.

... ToDo: Create final texts and links based on the to be updated 3.11
Wiki
2014-12-14 18:55:42 +01:00
Mark Liversedge
aea550c267 Remove Zones from RideItem
.. they are in Athlete::zones() et al now

.. this refactor was missed in the 3.0 mainwindow
   refactoring and is part of the prep to use RideItem
   as an in memory cache instead of the old metricDB
2014-12-03 19:06:07 +00:00
Claus Assmann
52408ad1b5 More spelling errors
.. Mark cannot spell for tofu.
2014-11-25 11:42:08 +00:00
Claus Assmann
35eb416bd2 Fix comment spelling errors
.. lots of them !
2014-11-24 15:37:56 +00:00
Mark Liversedge
4906783478 Google Map Overlay
.. and interval hover on marker

.. need to also show interval on hover as gray path
   but find a way of doing it without duping the code
   in the webpage js.
2014-10-09 22:20:15 +01:00
Mark Liversedge
bc290b397c Fixup interval select in Maps
.. deleting things removed signal/slot connections !
2014-06-10 21:20:40 +01:00
Mark Liversedge
e7c9a20ec0 Fix Map redisplay QT4.8 and Windows
.. webbridge gets stuck and we delete and recreate
   it to reset for a new map display.

   Seems to be a bug in webkit ...
2014-06-10 20:07:42 +01:00
Mark Liversedge
c28357824d Bing Map honour background
.. and small cosmetic fix for google map to be right colors
   whilst loading the map too .. stop nasty flicker.
2014-03-12 15:02:36 +00:00
Mark Liversedge
134b976d5f More Charts honouring Colors Preferences
.. Further updates to the charts to honour the background
   color preferences:

        * Google Maps
        * Ride Summary
        * Scatter
        * Details (Metadata)
        * LTM Data View
        * Editor

.. still a few left to do and not entirely happy with how
   things look on the editor but we can fix this up over
   time.
2014-03-11 17:58:41 +00:00
Damien
7ffa759395 GoogleMapControl: Small fix for Google Map
fix #814
2014-02-28 07:20:40 +01:00
Mark Liversedge
aa8605e8d5 QT5 -- 1 of 3
Porting the codebase to QT 5 (5.2) to get the
latest bug fixes, performance and improved platform
support.

This first part is to fixup the codebase to compile
on Qt 5, but some aspects have been broken (video).

The second part is to migrate from Qwt 6.0.1 to the
latest Qwt for multiaxis support.

The third part will be to fixup any platform specific
issues or issues identified at runtime.
2013-12-09 09:57:13 +00:00
Damien
7042938cba GoogleMap: Little fix 2013-10-14 07:53:29 +02:00
Mark Liversedge
59fd0db564 Move specialFields from MainWindow to Context
.. and tidy up a few unneccessary references to mainWindow
2013-07-14 11:51:34 +01:00
Mark Liversedge
cf82d1b7a9 More refactor tidying
.. move signals to context from mainwindow
.. fix missed updates to aerolab and realtime plot
.. remove clutter from MainWindow.h
2013-07-14 11:23:06 +01:00
Mark Liversedge
d21ca376be MainWindow Refactor Part 3 of 5
Slowly migrating code  and data from the MainWindow
class to Athlete and Context classes.

This update moves the ride and interval lists and
data structures from MainWindow to Athlete.
2013-07-13 19:46:03 +01:00
Mark Liversedge
05f1d577db Refactor MainWindow Part 2 of 5
Decoupled classes from MainWindow to reference Context
and Athlete (and introduced a couple of new headers).

We no longer pass around a MainWindow pointer to children
but pass a context instead.

There are still a few pieces left in MainWindow that need
to move to a better place;
    * Setting/clearing filter selection
    * Working with Intervals
    * Adding/Deleting Rides
    * Save on Exit

As mentioned previously there are lots of other parts to
this refactor left to do;
    * break MainWindow Gui elements into Toolbar and Views

    * migrate from RideItem and Ridelist to ActivityCollection
      and Activity classes that are not tied into gui elements.

    * introduce Application Context and AthleteCollection
2013-07-11 14:02:02 +01:00
Mark Liversedge
e407237ac0 MainWindow Refactor Part 1 of 5
Breaking the MainWindow 'god object' into
separate classes for Athlete and Context.

Further updates will need to;
- break MainWindow Gui elements into Toolbar and Views

- migrate from RideItem and Ridelist to ActivityCollection
  and Activity classes that are not tied into gui elements.

- introduce Application Context and AthleteCollection

Once these are done we will be in a position to decouple
most classes from mainwindow and also introduce tabbed
athletes.
2013-07-07 15:50:28 +01:00
Mark Liversedge
52e22555c7 Fix 2 Google Map SEGV
.. webBridge crash in QtWebKit for 4.8.4 (qt-bug 30403)

.. delete GoogleMap leaves webBridge orphaned which will
   crash if intervals are created or removed.

We need a proper fix for the webkit issue which we will get
when we migrate to Qt5.
2013-04-25 21:18:33 +01:00
Mark Liversedge
39f322ba1f Add interval sort function
.. added to the splitter handle context menu

.. also took IntervalItem.h and IntervalTreeView.h from MainWindow.h
   coz I was getting pissed with recompiling everything when changing it.
   Thats why so many other files have been changed in this commit.

Fixes #338.
2013-03-17 21:29:47 +00:00
Mark Liversedge
82ecce3af6 BlankState: Analysis view more blanks
- Better handling of a NULL ride for most of the analysis charts
- Don't show activity editor if no data rows to edit
2013-02-06 11:48:52 +00:00
Damien
bb5126030d Blank State : default image for no data available 2013-02-04 07:46:31 +01:00
Damien
edfd2e56aa Blank state : no GPS image for Google Map
Add an image when no GPS data present
2013-02-03 23:11:56 +01:00
Alejandro Martinez
f0a35a93eb Fix minor translations related issues 2012-12-30 14:48:46 -03:00
Mark Liversedge
3769788a59 Fix Google Map navigation
Hack to workaround QT webkit pretending to have gestures when
it doesn't is no longer needed. It also now breaks the grab
and navigation in the google map.

Fixes #349.
2012-11-13 20:33:31 +00:00
Greg Lonnon
8ef41d95a5 strava map jagged fix - issue was the conversion of gps coord to string
didn't have enough precision.

Found all (most) of the gps coord to string conversions and used a constant
  to insure all conversions occur with the same precision.


Signed-off-by: Greg Lonnon <greg.lonnon@gmail.com>
2012-02-04 05:46:58 -07:00
Mark Liversedge
ac88659b9e Add Zoom to Interval on Maps
Can now zoom to a specific interval on the map views;
* Google Map
* Bing Map
2011-08-29 13:01:53 +01:00
Mark Liversedge
6d154e4ecd Stop Map inerfering with Chart drag & drop
The Google Map view uses a Web view which by default
attempts to handle drop events. This interferes with
the adding charts via drag and drop. This patch fixes
that.
2011-07-30 23:16:37 +01:00
Mark Liversedge
bca738e92f Code Cleanup GoogleMapControl
Removed superfluous code left behind after recent
updates for Google Maps JS API v3. Also removed a few
whitespace nits that sneaked through.
2011-07-30 19:04:11 +01:00
Mark Liversedge
168d60c81c GPS Data Precision Errors
JsonRideFile saved with 6 and not 11 digit precision
losing a lot of precision when saving.

Additionally, the Google Map used a similar precision
and this caused jaggies on the map.
2011-07-24 14:47:03 +01:00
Mark Liversedge
a270217923 Fix Map Jaggies & Stoptime
The recent update for the Google Map window reduced the
precision geo-coordinates, this patch fixes that.

Additionally, the wait time was triggered after 60s which
should be 5 minutes (left in by mistake after testing).
2011-07-24 00:50:18 +01:00
Mark Liversedge
1924c53ed5 Fix too many QString::arg() in GoogleMapControl.cpp/ 2011-07-23 00:41:29 +01:00
Mark Liversedge
55d5abce2a Google Maps Enhancement
Update to the Google Map window:
* Uses Google Maps API v3 (v3 is deprecated)
* Users can now select intervals on map
* Icons for start, stop, loop, pause
* Resize refresh no longer needed

Features removed or changed:
* 30s segments are now 60s segments
* Tooltip doesn't work with v3 API

Some more updates will come through later to
add greater control on what is shown on the map
and the shading to use (e.g. gradient, HR zone) and
the time interval to use.
2011-07-23 00:08:02 +01:00
Mark Liversedge
003bdcc4c5 Google Map UI Changes
Highlight entire route to make the route stand out
more obviously when power zone colour schemes are
subtle (or white).

Changes the window bar to the metadata field 'Route' if
it is present. This is done by introducing a new 'subtitle'
property on a GcWindow that can be set programmatically. This
is equivalent to the old 'title' above each chart.
2011-07-16 10:55:35 +01:00
Mark Liversedge
ed9f851f4b More Tab / UI fixups
A bit more love for tabs and other minor cosmetic tweaks.

* View now remembers style used (tab, scroll, tile)
* Allow user to re-order tabs
* Google Map border reduced
* Google Map refresh delay (to make UI snappy when resizing)
* Minor calendar cosmetics
* Use utf8 encoding on config files (language support)
2011-06-13 16:12:16 +01:00
Mark Liversedge
da8eec1b13 Further UI fixups
More work to unify the tab view with the overall
UI look-and-feel, allowing you to remove and add
tabs via mouse over rather than the close tab
icon. Also added a number of cosmetic adjustments.

Fixed up PerformanceManager and ScatterPlot to
pick up on the chart fonts and tick size etc.

Removed some erroneous static members in the
ScatterPlot that caused a SEGV when adding multiple
charts (or cancelling an add then adding again).
2011-06-10 23:27:51 +01:00
Mark Liversedge
2daa332f41 Reinstate Tab view
After discussion on the list the utility and popularity of
the original tab view was restated. This patch reinstates
the tab view and attempts to unify the Qt tab widget with
the general look and feel of the application.
2011-06-04 17:12:17 +01:00
Mark Liversedge
4ab96e16d1 Sidebar, Ride List and Aeshetics
An update to the ride list on the left hand side
to enable the user to choose and sort or group-by
metrics, metadata fields and ride information.

In addition, the sidebar has been 'improved'
cosmetically and to require less screen estate.

Also, the ticks and frames on plots have been
adjusted to be more aesthtically appealling.

There is more to come on the look-and-feel front,
but this patch heralds some work on the sidebar
which needs to be resolved.
2011-06-01 16:34:24 +01:00
Mark Liversedge
4851dfcbd7 Fix temp file permissions issue with Google Map
The google map control creates a temporary file to load
which is not unique for each logged in user. This causes
permissions issues.

The use of a temporary file has been removed by replacing
the webView->load() call with a webView->setHtml() call. This
allows us to pass the contents as a string rather than a URL.

Fixes #331.
2011-05-22 11:56:33 +01:00
Mark Liversedge
08110333c7 Fix Crash on show/hide sidebar in V3
GoogleMapControl crashes when the sidebar is hidden then shown
before a map has been drawn. This is because the resize event
attempts to redraw the map before all private data has been
initialised (in this case rideData is empty).
2011-04-09 12:15:17 +01:00
Mark Liversedge
6af6b347bf Version 3 - No Ridefiles Bugs Bonanza
When no ridefiles are available (new cyclist) or the last ridefile
is deleted the current ride will be null. In addition the ride
importer deletes the memory for a ride imported to ensure VM is not
exhausted on large imports.

This patch fixes a whole host of null errors across the codebase. They
were identified by creating a new cyclist, executing every menu option
and tab/chart and then importing a file choosing everything and then
deleting the file and choosing every option again.

This negative testing should be performed before every stable release since
it has identified at least 6 bugs which are almost certainly present in the
current V2 code.
2011-04-09 11:24:40 +01:00