Mac allow search AND filter on toolbar

.. to support the recent update to allow search filter across
   the charts as well as the sidebar.
This commit is contained in:
Mark Liversedge
2013-04-05 19:04:40 +01:00
parent f5bbcae001
commit 69298ef7c2
5 changed files with 75 additions and 25 deletions

Binary file not shown.

View File

@@ -606,25 +606,33 @@ Working from left to right in the toolbar, there are a number of buttons to down
activities that are mostly relevant to the analysis view;
and lastly a search box;
@itemize @bullet
@item @strong{Download Activity} -
@item @strong{Compose Manual Activity} -
@item @strong{Find Intervals} -
@item @strong{Split Activity} -
@item @strong{Delete Activity} -
@item @strong{Download Activity} - Will open a dialog to download an activity from a supported
device (including Powertap Cervo, SRM Powercontrol, O-Synce Macro, Saris Joule).
@item @strong{Compose Manual Activity} - Will open a dialog to manually enter an activity, for
example when you worked out at a gym and could not record the data.
@item @strong{Find Intervals} - Will open a dialog to find peak and best intervals in an activity.
@item @strong{Split Activity} - Will open a dialog to split an activity into separate activities.
This is useful when you have an activity that spans mutiple days.
@item @strong{Delete Activity} - Deletes the currently selected activity. Will prompt the user to
confirm before doing so.
@end itemize
Then to the right of the toolbar there are a trio of buttons to control the way the
main window is laid out;
@itemize @bullet
@item @strong{Show/Hide Sidebar} -
@item @strong{Tabbed Mode} -
@item @strong{Tiled Mode} -
@item @strong{Show/Hide Sidebar} - Will toggle the visibility of the sidebar, if it is hidden it
will how it. If it is shown it will hide it.
@item @strong{Tabbed Mode} - Switch the main view into tabbed mode. See Views and the Sidebar below.
@item @strong{Tiled Mode} - Switch the main view into tiled mode. See Views and the Siidebat below.
@end itemize
Lastly to the right of the toolbar there is a search/filter box;
@itemize @bullet
@item @strong{Mac OSX only Search box} -
@item @strong{Windows/Linux Search/Filter box} -
@item @strong{Mac OSX only Search box} - On a Mac the search box is limited to text search only, this
may change as it means one cannot use it to filter the activity list with a data filter.
@item @strong{Windows/Linux Search/Filter box} - On Windows and Linux the search box can be toggled
between a search box and filter box by clicking on the search or filter icon inside the box (and to
the left hand side). See searching and filtering below for more details.
@end itemize
Beneath the toolbar is the scope bar, this is a selector to choose from one
@@ -632,15 +640,48 @@ of four views in main view -- essentially its a selector for choosing what
you want to do with GoldenCheetah, it offers four views;
@itemize @bullet
@item @strong{Home} -
@item @strong{Diary} -
@item @strong{Analysis} -
@item @strong{Train} -
@item @strong{Home} - The home view is for long term tracking and allows you to work with charts that
plot and analyse metrics. It is intended to be used to reviewing progress and identify what is and is
not working (or perhaps historically, what has worked and what hasn't).
In this view the scope is @emph{generally} limited to the date range or season selected in the associated
sidebar -- the currently selected ride is not relevant in this view.
@item @strong{Diary} - The diary view is for tracking recent rides - looking at the data in terms of the
last day, week or month. As planning functions arrive in v3.1 this view will become more funcitonally
rich, but for now it is more or less a configurable version of the old @emph{Weekly Chart}.
In this view the scope is limited to the day, week or month of the currently selected activity. As you
select different activities the date range changes to reflect this.
To select the summarisation level (day, week or month) the summary sidebar contains a drop down selector.
See Figure 8 below.
@vskip 12pt
@center @image{"image/2-dayweekmonth",70pt}
@center @emph{Figure 8: Summary level selector}
@vskip 6pt
@item @strong{Analysis} - The analysis view is where you review and analyse individual activities.
As well as using the numerous analysis charts you can also edit and adjust the telemetry data within
the activities and add your own narratives and texts. The narrative fields are configurable to
your tastes, see `Metadata' in chapter 4.
In this view the scope is limited to the currently selected activity in the sidebar.
@end itemize
To the right of the scope bar is a `+' menu button;
@itemize @bullet
@item @strong{Add Chart (`+') Menu} - yada
@item @strong{Add Chart (`+') Menu} - The charts on each view can be configured and added or deleted.
The `+' menu to the right of the scope bar lists all the charts that are available for the currently
selected view, see Figure 9 below. Selecting a chart from this menu will open the add chart dialog, which is described
below in the secion @emph{Adding and adjusting charts}.
@vskip 12pt
@center @image{"image/2-chartmenu",180pt}
@center @emph{Figure 9: The `+' Add Chart Menu}
@vskip 6pt
@end itemize
@section Views & Sidebar

View File

@@ -5,7 +5,7 @@
#include <QtSql>
#ifndef GC_VERSION
#define GC_VERSION "(developer build)"
#define GC_VERSION "V3.0 RC1 (April 1st)"
#endif

View File

@@ -161,6 +161,15 @@ MainWindow::MainWindow(const QDir &home) :
WFApi *w = WFApi::getInstance(); // ensure created on main thread
w->apiVersion();//shutup compiler
#endif
// Metadata fields
_rideMetadata = new RideMetadata(this,true);
_rideMetadata->hide();
#ifdef GC_HAVE_LUCENE
namedSearches = new NamedSearches(home); // must be before navigator
#endif
if (desktop == NULL) desktop = QApplication::desktop();
static const QIcon hideIcon(":images/toolbar/main/hideside.png");
static const QIcon rhideIcon(":images/toolbar/main/hiderside.png");
@@ -312,9 +321,11 @@ MainWindow::MainWindow(const QDir &home) :
head->addWidget(viewsel);
#ifdef GC_HAVE_LUCENE
QtMacSearchBox *searchBox = new QtMacSearchBox(this);
SearchFilterBox *searchBox = new SearchFilterBox(this,this);
QCleanlooksStyle *toolStyle = new QCleanlooksStyle();
searchBox->setStyle(toolStyle);
searchBox->setFixedWidth(250);
head->addWidget(searchBox);
connect(searchBox, SIGNAL(textChanged(QString)), this, SLOT(searchTextChanged(QString)));
#endif
#endif // MAC NATIVE TOOLBAR AND SCOPEBAR
@@ -380,9 +391,6 @@ MainWindow::MainWindow(const QDir &home) :
* Central instances of shared data
*--------------------------------------------------------------------*/
// Metadata fields
_rideMetadata = new RideMetadata(this,true);
_rideMetadata->hide();
#ifdef GC_HAVE_LUCENE
lucene = new Lucene(this, this); // before metricDB attempts to refresh
#endif
@@ -410,9 +418,6 @@ MainWindow::MainWindow(const QDir &home) :
* Non-Mac Toolbar
*--------------------------------------------------------------------*/
#ifdef GC_HAVE_LUCENE
namedSearches = new NamedSearches(home); // must be before navigator
#endif
#ifndef Q_OS_MAC
head = new GcToolBar(this);
@@ -575,7 +580,7 @@ MainWindow::MainWindow(const QDir &home) :
gcMultiCalendar = new GcMultiCalendar(this);
// we need to connect the search box on Linux/Windows
#if !defined (Q_OS_MAC) && defined (GC_HAVE_LUCENE)
#ifdef GC_HAVE_LUCENE
// link to the sidebars
connect(searchBox, SIGNAL(searchResults(QStringList)), listView, SLOT(searchStrings(QStringList)));

View File

@@ -70,6 +70,10 @@ SearchBox::SearchBox(MainWindow *main, QWidget *parent)
setObjectName("SearchBox");
setStyleSheet(QString( //"QLineEdit { padding-right: %1px; } "
"QLineEdit#SearchBox {"
#ifdef Q_OS_MAC
" border-radius: 10px; "
" border: 1px solid rgba(127,127,127,127);"
#endif
" padding: 0px %1px;"
"}"
).arg(clearButton->sizeHint().width() + frameWidth + 12));