mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-07 20:53:25 +00:00
debug: try to capture changes that don't invalidate git cache
At least in those cases where we are sending a divesChanged signal we can easily check if the cache was properly invalidated. Of course this won't help in cases where we don't notify the dive list about changes, either. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
45d37fd51b
commit
7d9e907681
5 changed files with 34 additions and 3 deletions
|
@ -688,7 +688,6 @@ void EditTagsBase::undo()
|
||||||
#else
|
#else
|
||||||
emit diveListNotifier.divesChanged(QVector<dive *>::fromStdVector(dives), id);
|
emit diveListNotifier.divesChanged(QVector<dive *>::fromStdVector(dives), id);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
setSelection(selectedDives, current);
|
setSelection(selectedDives, current);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -37,8 +37,6 @@
|
||||||
#include "core/settings/qPrefPartialPressureGas.h"
|
#include "core/settings/qPrefPartialPressureGas.h"
|
||||||
#include "core/settings/qPrefTechnicalDetails.h"
|
#include "core/settings/qPrefTechnicalDetails.h"
|
||||||
|
|
||||||
#include "core/subsurface-qt/divelistnotifier.h"
|
|
||||||
|
|
||||||
#include "desktop-widgets/about.h"
|
#include "desktop-widgets/about.h"
|
||||||
#include "desktop-widgets/divecomputermanagementdialog.h"
|
#include "desktop-widgets/divecomputermanagementdialog.h"
|
||||||
#include "desktop-widgets/divelistview.h"
|
#include "desktop-widgets/divelistview.h"
|
||||||
|
@ -218,6 +216,11 @@ MainWindow::MainWindow() : QMainWindow(),
|
||||||
|
|
||||||
connect(&windowTitleUpdate, &WindowTitleUpdate::updateTitle, this, &MainWindow::setAutomaticTitle);
|
connect(&windowTitleUpdate, &WindowTitleUpdate::updateTitle, this, &MainWindow::setAutomaticTitle);
|
||||||
connect(&diveListNotifier, &DiveListNotifier::numShownChanged, this, &MainWindow::setAutomaticTitle);
|
connect(&diveListNotifier, &DiveListNotifier::numShownChanged, this, &MainWindow::setAutomaticTitle);
|
||||||
|
// monitor when dives changed - but only in verbose mode
|
||||||
|
// careful - changing verbose at runtime isn't enough (of course that could be added if we want it)
|
||||||
|
if (verbose)
|
||||||
|
connect(&diveListNotifier, &DiveListNotifier::divesChanged, this, &MainWindow::divesChanged);
|
||||||
|
|
||||||
#ifdef NO_PRINTING
|
#ifdef NO_PRINTING
|
||||||
plannerDetails->printPlan()->hide();
|
plannerDetails->printPlan()->hide();
|
||||||
ui.menuFile->removeAction(ui.actionPrint);
|
ui.menuFile->removeAction(ui.actionPrint);
|
||||||
|
@ -1944,3 +1947,13 @@ void MainWindow::unsetProfTissues()
|
||||||
ui.profTissues->setChecked(false);
|
ui.profTissues->setChecked(false);
|
||||||
qPrefTechnicalDetails::set_percentagegraph(false);
|
qPrefTechnicalDetails::set_percentagegraph(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MainWindow::divesChanged(const QVector<dive *> &dives, DiveField field)
|
||||||
|
{
|
||||||
|
Q_UNUSED(field)
|
||||||
|
for (struct dive *d: dives) {
|
||||||
|
qDebug() << "dive #" << d->number << "changed, cache is" << (dive_cache_is_valid(d) ? "valid" : "invalidated");
|
||||||
|
// a brute force way to deal with that would of course be to call
|
||||||
|
// invalidate_dive_cache(d);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -22,6 +22,7 @@
|
||||||
#include "core/applicationstate.h"
|
#include "core/applicationstate.h"
|
||||||
#include "core/gpslocation.h"
|
#include "core/gpslocation.h"
|
||||||
#include "core/dive.h"
|
#include "core/dive.h"
|
||||||
|
#include "core/subsurface-qt/divelistnotifier.h"
|
||||||
|
|
||||||
#define NUM_RECENT_FILES 4
|
#define NUM_RECENT_FILES 4
|
||||||
|
|
||||||
|
@ -252,6 +253,7 @@ private:
|
||||||
GpsLocation *locationProvider;
|
GpsLocation *locationProvider;
|
||||||
QMenu *connections;
|
QMenu *connections;
|
||||||
QAction *share_on_fb;
|
QAction *share_on_fb;
|
||||||
|
void divesChanged(const QVector<dive *> &dives, DiveField field);
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // MAINWINDOW_H
|
#endif // MAINWINDOW_H
|
||||||
|
|
|
@ -264,6 +264,11 @@ QMLManager::QMLManager() : m_locationServiceEnabled(false),
|
||||||
what.tags = true;
|
what.tags = true;
|
||||||
what.cylinders = true;
|
what.cylinders = true;
|
||||||
what.weights = true;
|
what.weights = true;
|
||||||
|
|
||||||
|
// monitor when dives changed - but only in verbose mode
|
||||||
|
// careful - changing verbose at runtime isn't enough (of course that could be added if we want it)
|
||||||
|
if (verbose)
|
||||||
|
connect(&diveListNotifier, &DiveListNotifier::divesChanged, this, &QMLManager::divesChanged);
|
||||||
}
|
}
|
||||||
|
|
||||||
void QMLManager::applicationStateChanged(Qt::ApplicationState state)
|
void QMLManager::applicationStateChanged(Qt::ApplicationState state)
|
||||||
|
@ -2189,3 +2194,13 @@ void QMLManager::setOldStatus(const qPrefCloudStorage::cloud_status value)
|
||||||
emit oldStatusChanged();
|
emit oldStatusChanged();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void QMLManager::divesChanged(const QVector<dive *> &dives, DiveField field)
|
||||||
|
{
|
||||||
|
Q_UNUSED(field)
|
||||||
|
for (struct dive *d: dives) {
|
||||||
|
qDebug() << "dive #" << d->number << "changed, cache is" << (dive_cache_is_valid(d) ? "valid" : "invalidated");
|
||||||
|
// a brute force way to deal with that would of course be to call
|
||||||
|
// invalidate_dive_cache(d);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -17,6 +17,7 @@
|
||||||
#include "qt-models/completionmodels.h"
|
#include "qt-models/completionmodels.h"
|
||||||
#include "qt-models/divelocationmodel.h"
|
#include "qt-models/divelocationmodel.h"
|
||||||
#include "core/settings/qPrefCloudStorage.h"
|
#include "core/settings/qPrefCloudStorage.h"
|
||||||
|
#include "core/subsurface-qt/divelistnotifier.h"
|
||||||
|
|
||||||
#define NOCLOUD_LOCALSTORAGE format_string("%s/cloudstorage/localrepo[master]", system_default_directory())
|
#define NOCLOUD_LOCALSTORAGE format_string("%s/cloudstorage/localrepo[master]", system_default_directory())
|
||||||
|
|
||||||
|
@ -226,6 +227,7 @@ public slots:
|
||||||
void hasLocationSourceChanged();
|
void hasLocationSourceChanged();
|
||||||
void btRescan();
|
void btRescan();
|
||||||
void showDownloadPage(QString deviceString);
|
void showDownloadPage(QString deviceString);
|
||||||
|
void divesChanged(const QVector<dive *> &dives, DiveField field);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
BuddyCompletionModel buddyModel;
|
BuddyCompletionModel buddyModel;
|
||||||
|
|
Loading…
Add table
Reference in a new issue