Commit Graph

47 Commits

Author SHA1 Message Date
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
Mark Liversedge
107e183510 post merge master fixups. 2011-02-26 14:50:40 +00:00
Gareth Coco
1101e7e62b Changes to map markers
1. Removed green begin marker
2. Change interval markers 2 and higher to be blue
2011-02-26 14:09:30 +00:00
Mark Liversedge
2d05c7fb4c merge origin/master fixups. 2011-01-02 18:12:27 +00:00
Greg Lonnon
93ad436c6a changes to the markers in google maps.
blue marker = start of ride
red marker = end of ride
green markers = interval markers.

interval markers has the interval metrics displayed.
end marker has the ride summary displayed.

Fixes #169.
2011-01-02 17:21:17 +00:00
Mark Liversedge
3aba7dd788 Inital V3 Branch 2010-12-30 17:35:23 +00:00
Gareth Coco
d03d538498 Mapping and Latitude/Longitude logic changes
Patch changes the valid latitude/longitdue selection alogrithm.
Ensures that the data points are valid (-90<=Lat<=90, -180<=Long<=180)
Tightens up .WKO file import issues.
Allows for missed GPS data points of 0/0 in Garmin FIT files.
Changes mapping function to not plot invalid lat/long values.

Fixes #75
2010-06-06 18:20:43 -07:00
Mark Liversedge
3f4adc2d31 Use Zone Colors on Map
A patch to use the GC zone color scheme (or preferences) when
plotting power on the Map tab.

fixes #82
2010-05-01 10:26:58 -07:00
Julian Baumgartner
d77c6ed576 added the javascript routine to do mouse overs 2010-04-11 17:22:34 -04:00
Sean Rhea
ac570c415c make sure "current" is initialized
Also, a nit: fix indentation of 1 line in AllPlotWindow.h.
2010-04-11 17:19:33 -04:00
Mark Liversedge
1751d8bf12 Remove update 'flicker' when tab selected
The recent patch to reduce redraws when rides are selected
causes each tab to redraw whenever the tab IS selected. This
patch reduces this by remembering the current ride plotted.

It also fixes the "double draw" in GoogleMapControl and AllPlot
when selected for the first time.
2010-04-04 17:28:07 -04:00
Mark Liversedge
d64fc6ea85 NULL/Empty ride checks
RideItem or RideFile or dataPoints() may be null or empty. This
is especially true of manual ridefiles. This patch adds some
checks for this situation and acts accordingly. Additionally, the
disable/enable of tabs depending upon ridefile type has been
adjusted to also include files with not dataPoints.
2010-03-25 09:16:29 -07:00
Sean Rhea
cd4fe5fe2e combine setActive and rideSelected
And pay attention to MainWindow::activeTab, such that only the active
tab redraws itself when changing rides.  This change really increases
GC's responsiveness when scrolling through the ride list.
2010-03-21 22:03:12 -07:00
Sean Rhea
f523fd5d3c allow the user to hide tabs
...and remember their tab hiding preferences across restarts.
2010-03-09 20:59:34 -05:00
Greg Lonnon
e47847c19e fixed the maps refresh issue 2010-03-09 13:14:03 -05:00
Greg Lonnon
6919d186bf metrics are now displayed correctly, alt isn't working right
fixed the avg speed and alt

added a possible change for the maps issue

Maps tab is always showing, it will either show the ride data, or No GPS Data Present
Page loading is async with the ride being selected.
Weird WKO gps data issue reported by Mark L is fixed (hopefully)  I see different results than Mark L
moved Sean's cp patch to the new location

Signed-off-by: Greg Lonnon <greg.lonnon@gmail.com>
2010-03-09 13:14:03 -05:00
Sean Rhea
0fd735e16d fix maps crash when no CP is set
The check in the maps code for whether a CP is set was backwards, causing
a segfault on the subsequent call to Zones::getCP().  To reproduce, create
a new cyclist and import a ride with lat/lng data.  The import succeeds, but
GC crashes when you click "Save" and on all subsequent restarts.
2010-03-07 08:24:20 -05:00
Greg Lonnon
268afe536c untabify the GoogleMapsControl files 2010-03-03 09:32:43 -05:00
Greg Lonnon
04b698f255 fixed the zone == -1 defect 2010-03-03 09:32:43 -05:00
Greg Lonnon
f97bc9c152 fixed the bounds box and the zoom to center correctly 2010-03-03 09:32:43 -05:00
Greg Lonnon
a392b33b51 added resizeEvent back in, fixed a few variable names to be more standard and added some of Mark L's suggestions. 2010-03-03 09:32:43 -05:00
Mark Liversedge
81a43b5314 added Mark's fixes 2010-03-03 09:32:43 -05:00
Greg Lonnon
c2f3476569 added googlemaps, took a couple of suggestions from Julian on map defaults. 2010-03-03 09:32:43 -05:00