Commit Graph

32 Commits

Author SHA1 Message Date
Mark Liversedge
0fcbbe1b77 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
c56c5a9567 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
5a3480e6ba Remove Column Chooser from Chart Settings
Because the chart settings are modal its a really bad
idea to open up a column chooser from there. So, by
default, we don't have a column chooser option on the
search/filter box -- it must be explicitly requested.

We therefore explicity set the column chooser from the
mainwindow and also from the ride navigator window.
2013-06-05 07:01:36 +01:00
Mark Liversedge
1862fb8ba2 Named Search Menu
Better UX to put less used options at bottom of the menu.
2013-04-27 20:53:39 +01:00
Mark Liversedge
ca540be954 Edit Named Searches
Fixes #577
2013-04-27 13:49:27 +01:00
Mark Liversedge
7e501dc3da Visual cue for filter
.. by highlighting chart title too if a filter is
   being applied.

This is important to warn users that the data being plotted
is adjusted to the search/filter (either globally or in the
chart settings).
2013-04-26 12:44:51 +01:00
Mark Liversedge
820c32a2a6 Add Column Chooser for SearchBox
.. so you can drag and drop fields in when creating a filter.
2013-04-25 21:57:44 +01:00
Mark Liversedge
90c0739fc2 Fix urls in FAQ document 2013-04-23 21:39:10 +01:00
Mark Liversedge
0768e604ff Color fixups for Windows
.. tested on Windows 8.
.. still needs foxus rectangle on the search box
   in Mac to be drawn properly.
2013-04-07 13:34:56 +01:00
Mark Liversedge
f8414d4a5a Minor focus/highlight fixups Linux
Search box gets a focus and the calendar highlighting uses
the default palette highlight -- only good for new installs
or if the user resets their colors but at least it now does
the right thing.

Need to test and fixup on Mac and Windows.
2013-04-07 13:19:40 +01:00
Mark Liversedge
fc6e4cd215 UI Nits: Move searchbox toolbutton
.. to the right 2 pixels on Windows/Linux
   Seems obsessive but if I'm gonna look at this for the
   next year I want it to be perfect.
2013-04-06 15:36:25 +01:00
Mark Liversedge
a407f27daa UI Nits: Search box clear icon
.. more like a Mac and better suited to rounded edges.
2013-04-06 14:59:18 +01:00
Mark Liversedge
8102d96ded UI Nits: SearchBox icon/tool position tweak. 2013-04-05 20:26:34 +01:00
Mark Liversedge
54771dfbc0 UI Nits: Search Box Height 21px 2013-04-05 20:20:29 +01:00
Mark Liversedge
13b1e8aa58 Search Box Rounded Corners for Linux/Windows
.. it looks ok.
2013-04-05 19:54:38 +01:00
Mark Liversedge
c822c566e0 UI Nits: Searchboxm on a Mac cosmetics
.. just rounded corners and slightly different icons.
2013-04-05 19:45:37 +01:00
Mark Liversedge
69298ef7c2 Mac allow search AND filter on toolbar
.. to support the recent update to allow search filter across
   the charts as well as the sidebar.
2013-04-05 19:04:40 +01:00
Mark Liversedge
31ced60209 Search/Filter on toolbar applies to Charts
When the user free text searches or applies a data filter in
the top right toolbar search box it gets applied to any charts
that plot data from many rides, including;

- CP curve
- Calendar
- Histogram
- LTM
- TreeMap
- Summary

I need to update on a Mac to no longer use a Mac text search box
but now use a search filter box on the top right.
2013-04-05 16:23:16 +01:00
Alejandro Martinez
4a1766f57b Enabled translation of Search and Group By
Update spanish translation
Update italian translation (by Marco Piccirilli)
2013-04-04 11:10:41 -03:00
Mark Liversedge
b580644e26 Fix searchbox dropdown alignment
Fixes #528.
2013-03-27 19:32:12 +00:00
Mark Liversedge
8812de5711 Windows Look and Feel
.. akin to the Mac look and feel
.. still needs a bit of cosmetic work, but basically sound
.. also added in fixes to native file imports

Fixes #404
Fixes #504
2013-03-14 22:53:37 +00:00
Mark Liversedge
1d31c34424 UI Nits: Cosmetic gui updates
- searchbox border
- LTM controls - make search box expand
- Histogram controls - make slider expand
2013-01-08 09:48:37 +00:00
Mark Liversedge
ec73766677 UI Nits: Filter Tooltip colors 2012-11-07 10:24:00 +00:00
Mark Liversedge
44d4455067 UI Nits: SearchBox menu and Tooltip
Use the wrong stylesheet and are hard to read. This adjusts
tooltip and menu to make them more readable but may not be
ideal for those with heavily customised setups.
2012-11-06 13:50:04 +00:00
Mark Liversedge
83977a3ab9 UI Nits: Named Search Input Box
The named search dialog box uses the same style sheet as
the search box, which looks odd in a dialog box.

This patch ensures the stylesheet is only applied to the
search box and not any children.
2012-11-06 13:26:40 +00:00
Mark Liversedge
e09cb7b185 Mac UI Sidebar Cosmetics
The sidebar elements all get a blue focus rectangle on
Mac OSX. This is a platform specific setting. This patch
removes the focus rectangle for sidebar components only.
2012-11-06 11:16:41 +00:00
Mark Liversedge
a5bcec5265 Data Filter (Part 3 of 3)
Last part of the search/filter functionality;

* SearchBox now incorporates filter and search
  with a new widget. We can update this widget
  to include more fancy UI/Interactions without
  having to change the ride list or charts etc.

* Added search/filter widget to the relevant charts
  and screens; Metrics, TreeMap, CP, Histogram,
  Activity Log, Ride list (refactored out of MainWindow)

* Added namedsearches.xml and adding/selecting them
  from a drop down menu on the search box.

* Fixed some performance bugs related to duplicate
  signals and redraw/reprocessing. Also ensured that
  CLucene remains optional -- but means no search or
  filter functionality unless it is available.
2012-11-05 15:44:01 +00:00
Mark Liversedge
68aab9dfad Data Filter (Part 2 of 3)
Added evaluation of filters and integrated with the ride list, this
means the user can filter the rides listed.

Additionally the search box will highlight the filter in red if
it doesn't parse correctly, and a tooltip describes the errors.
2012-10-29 15:33:08 +00:00
Mark Liversedge
7e4786bc5a Data Filter (Part 1 of 3)
Part 1 of Data filtering, this patch adds the ability
to enter and parse filter statements in the search box
(by clicking on the magnifying glass it becomes a filter
box).

The statements can reference metrics and metadata fields
allowing the user to define boolean expressions to filter
data. An example of the syntax;

    Average_Power > 200 and Duration > 3600

This references the metric Average_Power and ride Duration. But
will also support operations on metadata fields, for example;

    Workout_Code endsWith "SST"

The operators are;
    = <> > >= < <= matches contains endswith beginswith
    ( ) && and || or

Filters are syntactically and semantically validated. But at
this point the resulting tree is not evaluated, i.e. we can
parse the filters, but do not execute them.

Two further updates are pending (once written and tested):
- Part 2 of 3 : Execute filters and apply to the ride list
- Part 3 of 3 : Allow named filters and apply to LTM charts

Further updates will support a visual editor and allowing filters
to be applied to CP and Histogram charts and affect the PMC stress
calculators.
2012-10-28 20:05:12 +00:00
Mark Liversedge
b3da24901e Change Search Strategy
1. Use the whitespace analyzer so its easier to search for
tokens that are a mix of letters and numbers e.g. workout
codes and TT route names.

2. Search as you type. Since we have very small collections
to search across (typically no more than a couple of thousand)
there is no major overhead in searching as you type.

3. Search all texts by default not just the Notes field. This is
a more appropriate default and is less likely to confuse new
users. In addition, it is most likely what most users want to
do anyway.
2012-10-27 08:46:36 +01:00
Mark Liversedge
844daef864 Searchbox toggle search/filter
Clicking the icon to toggle between text search and
data filter mode for searchbox.

As part of filtering implementation.
2012-10-23 21:27:06 +01:00
Mark Liversedge
7a8d4377b9 Search/Filter using Lucene
Searching and filtering the ride list using a search box.
This is implemented using a new optional dependency on
CLucene.

Fixes #627.
2012-10-21 15:28:26 +01:00