mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Change the git progress update callback signature
This way we can include additional text. This will be used in later patches. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
8b710f4d6c
commit
eea1ff6a83
4 changed files with 25 additions and 12 deletions
|
@ -66,8 +66,10 @@
|
|||
QProgressDialog *progressDialog = NULL;
|
||||
bool progressDialogCanceled = false;
|
||||
|
||||
extern "C" int updateProgress(int percent)
|
||||
extern "C" int updateProgress(int percent, const char *text)
|
||||
{
|
||||
if (verbose)
|
||||
qDebug() << "git storage:" << percent << "% with note" << text;
|
||||
if (progressDialog)
|
||||
progressDialog->setValue(percent);
|
||||
return progressDialogCanceled;
|
||||
|
|
|
@ -7,6 +7,8 @@
|
|||
#include <QDesktopServices>
|
||||
#include <QTextDocument>
|
||||
#include <QRegularExpression>
|
||||
#include <QApplication>
|
||||
#include <QElapsedTimer>
|
||||
|
||||
#include "qt-models/divelistmodel.h"
|
||||
#include <gpslistmodel.h>
|
||||
|
@ -30,15 +32,24 @@ static void appendTextToLogStandalone(const char *text)
|
|||
self->appendTextToLog(QString(text));
|
||||
}
|
||||
|
||||
extern "C" int gitProgressCB(int percent)
|
||||
extern "C" int gitProgressCB(int percent, const char *text)
|
||||
{
|
||||
static int lastPercent = -10;
|
||||
static QElapsedTimer timer;
|
||||
static qint64 lastTime = 0;
|
||||
|
||||
if (percent - lastPercent >= 10) {
|
||||
lastPercent += 10;
|
||||
QMLManager *self = QMLManager::instance();
|
||||
if (self)
|
||||
self->loadDiveProgress(percent);
|
||||
if (!timer.isValid() || percent == 0) {
|
||||
timer.restart();
|
||||
lastTime = 0;
|
||||
}
|
||||
QMLManager *self = QMLManager::instance();
|
||||
if (self) {
|
||||
qint64 elapsed = timer.elapsed();
|
||||
self->loadDiveProgress(percent);
|
||||
self->appendTextToLog(QString::number(elapsed / 1000.0, 'f', 1) + " / " + QString::number((elapsed - lastTime) / 1000.0, 'f', 3) +
|
||||
QString(" : git progress %1 (%2)").arg(percent).arg(text));
|
||||
qApp->processEvents();
|
||||
qApp->flush();
|
||||
lastTime = elapsed;
|
||||
}
|
||||
// return 0 so that we don't end the download
|
||||
return 0;
|
||||
|
|
|
@ -22,9 +22,9 @@
|
|||
|
||||
bool is_subsurface_cloud = false;
|
||||
|
||||
int (*update_progress_cb)(int) = NULL;
|
||||
int (*update_progress_cb)(int, const char *) = NULL;
|
||||
|
||||
void set_git_update_cb(int(*cb)(int))
|
||||
void set_git_update_cb(int(*cb)(int, const char *))
|
||||
{
|
||||
update_progress_cb = cb;
|
||||
}
|
||||
|
@ -34,7 +34,7 @@ static int update_progress(int percent)
|
|||
static int last_percent = -10;
|
||||
int ret = 0;
|
||||
if (update_progress_cb)
|
||||
ret = (*update_progress_cb)(percent);
|
||||
ret = (*update_progress_cb)(percent, "");
|
||||
if (verbose && percent - 10 >= last_percent) {
|
||||
last_percent = percent;
|
||||
fprintf(stderr, "git progress %d%%\n", percent);
|
||||
|
|
|
@ -23,7 +23,7 @@ extern int do_git_save(git_repository *repo, const char *branch, const char *rem
|
|||
extern const char *saved_git_id;
|
||||
extern void clear_git_id(void);
|
||||
extern void set_git_id(const struct git_oid *);
|
||||
void set_git_update_cb(int(*cb)(int));
|
||||
void set_git_update_cb(int (*)(int, const char *));
|
||||
char *get_local_dir(const char *remote, const char *branch);
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue