mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Dive d/l selection UI:: Add skeleton for the dialog
So the user can remove the ones they don't like. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
5f4770a5bd
commit
db367ae0a2
2 changed files with 64 additions and 17 deletions
|
@ -53,6 +53,7 @@ DownloadFromDCWidget::DownloadFromDCWidget(QWidget *parent, Qt::WindowFlags f) :
|
||||||
ui.progressBar->hide();
|
ui.progressBar->hide();
|
||||||
ui.progressBar->setMinimum(0);
|
ui.progressBar->setMinimum(0);
|
||||||
ui.progressBar->setMaximum(100);
|
ui.progressBar->setMaximum(100);
|
||||||
|
diveImportedModel = new DiveImportedModel(this);
|
||||||
|
|
||||||
progress_bar_text = "";
|
progress_bar_text = "";
|
||||||
|
|
||||||
|
@ -388,23 +389,7 @@ void DownloadFromDCWidget::onDownloadThreadFinished()
|
||||||
for (int i = dive_table.nr - 1; i >= previousLast; i--)
|
for (int i = dive_table.nr - 1; i >= previousLast; i--)
|
||||||
delete_single_dive(i);
|
delete_single_dive(i);
|
||||||
} else if (dive_table.nr) {
|
} else if (dive_table.nr) {
|
||||||
int uniqId, idx;
|
diveImportedModel->setImportedDivesIndexes(previousLast, dive_table.nr-1);
|
||||||
// remember the last downloaded dive (on most dive computers this will be the chronologically
|
|
||||||
// first new dive) and select it again after processing all the dives
|
|
||||||
MainWindow::instance()->dive_list()->unselectDives();
|
|
||||||
uniqId = get_dive(dive_table.nr - 1)->id;
|
|
||||||
process_dives(true, preferDownloaded());
|
|
||||||
// after process_dives does any merging or resorting needed, we need
|
|
||||||
// to recreate the model for the dive list so we can select the newest dive
|
|
||||||
MainWindow::instance()->recreateDiveList();
|
|
||||||
idx = get_idx_by_uniq_id(uniqId);
|
|
||||||
// this shouldn't be necessary - but there are reports that somehow existing dives stay selected
|
|
||||||
// (but not visible as selected)
|
|
||||||
MainWindow::instance()->dive_list()->unselectDives();
|
|
||||||
MainWindow::instance()->dive_list()->selectDive(idx, true);
|
|
||||||
QString dcName = data.devname;
|
|
||||||
if (ostcFirmwareCheck && currentState == DONE)
|
|
||||||
ostcFirmwareCheck->checkLatest(this, &data);
|
|
||||||
}
|
}
|
||||||
} else if (currentState == CANCELLING || currentState == CANCELLED) {
|
} else if (currentState == CANCELLING || currentState == CANCELLED) {
|
||||||
if (import_thread_cancelled) {
|
if (import_thread_cancelled) {
|
||||||
|
@ -416,6 +401,27 @@ void DownloadFromDCWidget::onDownloadThreadFinished()
|
||||||
updateState(CANCELLED);
|
updateState(CANCELLED);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
|
* This needs to get moved somewhere else.
|
||||||
|
int uniqId, idx;
|
||||||
|
// remember the last downloaded dive (on most dive computers this will be the chronologically
|
||||||
|
// first new dive) and select it again after processing all the dives
|
||||||
|
MainWindow::instance()->dive_list()->unselectDives();
|
||||||
|
uniqId = get_dive(dive_table.nr - 1)->id;
|
||||||
|
process_dives(true, preferDownloaded());
|
||||||
|
// after process_dives does any merging or resorting needed, we need
|
||||||
|
// to recreate the model for the dive list so we can select the newest dive
|
||||||
|
MainWindow::instance()->recreateDiveList();
|
||||||
|
idx = get_idx_by_uniq_id(uniqId);
|
||||||
|
// this shouldn't be necessary - but there are reports that somehow existing dives stay selected
|
||||||
|
// (but not visible as selected)
|
||||||
|
MainWindow::instance()->dive_list()->unselectDives();
|
||||||
|
MainWindow::instance()->dive_list()->selectDive(idx, true);
|
||||||
|
QString dcName = data.devname;
|
||||||
|
if (ostcFirmwareCheck && currentState == DONE)
|
||||||
|
ostcFirmwareCheck->checkLatest(this, &data);
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
void DownloadFromDCWidget::markChildrenAsDisabled()
|
void DownloadFromDCWidget::markChildrenAsDisabled()
|
||||||
{
|
{
|
||||||
|
@ -491,3 +497,28 @@ void DownloadThread::run()
|
||||||
if (errorText)
|
if (errorText)
|
||||||
error = str_error(errorText, data->devname, data->vendor, data->product);
|
error = str_error(errorText, data->devname, data->vendor, data->product);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
DiveImportedModel::DiveImportedModel(QObject *o)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
int DiveImportedModel::columnCount(const QModelIndex& model ) const
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
int DiveImportedModel::rowCount(const QModelIndex& model) const
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
QVariant DiveImportedModel::data(const QModelIndex& model, int role) const
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void DiveImportedModel::setImportedDivesIndexes(int first, int last)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
#include <QThread>
|
#include <QThread>
|
||||||
#include <QHash>
|
#include <QHash>
|
||||||
#include <QMap>
|
#include <QMap>
|
||||||
|
#include <QAbstractTableModel>
|
||||||
|
|
||||||
#include "libdivecomputer.h"
|
#include "libdivecomputer.h"
|
||||||
#include "configuredivecomputerdialog.h"
|
#include "configuredivecomputerdialog.h"
|
||||||
|
@ -24,6 +25,20 @@ private:
|
||||||
device_data_t *data;
|
device_data_t *data;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class DiveImportedModel : public QAbstractTableModel
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
public:
|
||||||
|
DiveImportedModel(QObject *o);
|
||||||
|
int columnCount(const QModelIndex& index = QModelIndex()) const;
|
||||||
|
int rowCount(const QModelIndex& index = QModelIndex()) const;
|
||||||
|
QVariant data(const QModelIndex& index, int role) const;
|
||||||
|
void setImportedDivesIndexes(int first, int last);
|
||||||
|
private:
|
||||||
|
int firstIndex;
|
||||||
|
int lastIndex;
|
||||||
|
};
|
||||||
|
|
||||||
class DownloadFromDCWidget : public QDialog {
|
class DownloadFromDCWidget : public QDialog {
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
|
@ -77,6 +92,7 @@ private:
|
||||||
QTimer *timer;
|
QTimer *timer;
|
||||||
bool dumpWarningShown;
|
bool dumpWarningShown;
|
||||||
OstcFirmwareCheck *ostcFirmwareCheck;
|
OstcFirmwareCheck *ostcFirmwareCheck;
|
||||||
|
DiveImportedModel *diveImportedModel;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
bool preferDownloaded();
|
bool preferDownloaded();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue