mirror of
https://github.com/GoldenCheetah/GoldenCheetah.git
synced 2026-02-13 16:18:42 +00:00
Enable View - Reset Layout considering perspectives
It behaves as before: current view layout is discarded and default layout with perspectives is fetched from goldencheetah.org first and, if not available, baked in layout is used. Website defaults are not updated yet, so baked in layouts are used now.
This commit is contained in:
@@ -365,8 +365,9 @@ AbstractView::restoreState(bool useDefault)
|
||||
if (content == "") {
|
||||
|
||||
// if no local perspectives file fall back to old
|
||||
// layout file (pre-version 3.6) - will get a single perspective
|
||||
if (!finfo.exists()) {
|
||||
// layout file (pre-version 3.6) - will get a single perspective,
|
||||
// except when useDefault is requested
|
||||
if (!finfo.exists() && !useDefault) {
|
||||
filename = context->athlete->home->config().canonicalPath() + "/" + view + "-layout.xml";
|
||||
finfo.setFile(filename);
|
||||
useDefault = false;
|
||||
@@ -710,7 +711,7 @@ AbstractView::sidebarChanged()
|
||||
}
|
||||
|
||||
void
|
||||
AbstractView::setPerspectives(QComboBox *perspectiveSelector)
|
||||
AbstractView::setPerspectives(QComboBox *perspectiveSelector, bool selectChart)
|
||||
{
|
||||
perspectiveactive=true;
|
||||
|
||||
@@ -728,7 +729,7 @@ AbstractView::setPerspectives(QComboBox *perspectiveSelector)
|
||||
|
||||
// if we only just loaded the charts and views, we need to select
|
||||
// one to get the ride item and date range selected
|
||||
if (!loaded) {
|
||||
if (!loaded || selectChart) {
|
||||
loaded = true;
|
||||
|
||||
// generally we just go to the first perspective
|
||||
@@ -816,13 +817,17 @@ AbstractView::selectionChanged()
|
||||
}
|
||||
|
||||
void
|
||||
AbstractView::resetLayout()
|
||||
AbstractView::resetLayout( QComboBox *perspectiveSelector)
|
||||
{
|
||||
// delete all current perspectives
|
||||
// XXX TODO
|
||||
foreach(Perspective *p, perspectives_) delete p;
|
||||
perspectives_.clear();
|
||||
|
||||
// reload from default (website / baked in)
|
||||
// XXX TODO
|
||||
restoreState(true);
|
||||
|
||||
// set the new perspectives and do initial selections
|
||||
setPerspectives(perspectiveSelector, true);
|
||||
}
|
||||
|
||||
void
|
||||
|
||||
@@ -78,7 +78,7 @@ class AbstractView : public QWidget
|
||||
void saveState();
|
||||
void appendPerspective(Perspective *page);
|
||||
|
||||
void setPerspectives(QComboBox *perspectiveSelector); // set the combobox when view selected
|
||||
void setPerspectives(QComboBox *perspectiveSelector, bool selectChart=false); // set the combobox when view selected
|
||||
void perspectiveSelected(int index); // combobox selections changed because the user selected a perspective
|
||||
|
||||
// add a new perspective
|
||||
@@ -124,7 +124,7 @@ class AbstractView : public QWidget
|
||||
virtual void sidebarChanged();
|
||||
virtual void tileModeChanged();
|
||||
virtual void selectionChanged();
|
||||
virtual void resetLayout();
|
||||
virtual void resetLayout(QComboBox *perspectiveSelector);
|
||||
|
||||
virtual void addChart(GcWinID id);
|
||||
|
||||
|
||||
@@ -147,7 +147,7 @@ void AthleteTab::toggleSidebar() { view(currentView())->setSidebarEnabled(!view(
|
||||
void AthleteTab::setTiled(bool x) { view(currentView())->setTiled(x); }
|
||||
bool AthleteTab::isTiled() { return view(currentView())->isTiled(); }
|
||||
void AthleteTab::toggleTile() { view(currentView())->setTiled(!view(currentView())->isTiled()); }
|
||||
void AthleteTab::resetLayout() { view(currentView())->resetLayout(); }
|
||||
void AthleteTab::resetLayout(QComboBox *perspectiveSelector) { view(currentView())->resetLayout(perspectiveSelector); }
|
||||
void AthleteTab::addChart(GcWinID i) { view(currentView())->addChart(i); }
|
||||
void AthleteTab::addIntervals() { analysisView->addIntervals(); }
|
||||
|
||||
|
||||
@@ -84,7 +84,7 @@ class AthleteTab: public QWidget
|
||||
void setBottomRequested(bool x);
|
||||
|
||||
// layout
|
||||
void resetLayout();
|
||||
void resetLayout(QComboBox *perspectiveSelector);
|
||||
void addChart(GcWinID);
|
||||
|
||||
// switch views
|
||||
|
||||
@@ -1234,7 +1234,7 @@ void MainWindow::resetWindowLayout()
|
||||
msgBox.exec();
|
||||
|
||||
if(msgBox.clickedButton() == msgBox.button(QMessageBox::Ok))
|
||||
currentAthleteTab->resetLayout();
|
||||
currentAthleteTab->resetLayout(perspectiveSelector);
|
||||
}
|
||||
|
||||
void MainWindow::manualProcess(QString name)
|
||||
|
||||
Reference in New Issue
Block a user