mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-30 22:20:21 +00:00
e39dea3d68
This is a long commit, because it introduces a new abstraction: a general std::vector<> of std::unique_ptrs<>. Moreover, it replaces a number of pointers by C++ references, when the callee does not suppoert null objects. This simplifies memory management and makes ownership more explicit. It is a proof-of-concept and a test-bed for the other core data structrures. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
41 lines
846 B
C++
41 lines
846 B
C++
// SPDX-License-Identifier: GPL-2.0
|
|
#ifndef DIVESITEIMPORTDIALOG_H
|
|
#define DIVESITEIMPORTDIALOG_H
|
|
|
|
#include <QDialog>
|
|
#include <QThread>
|
|
#include <QHash>
|
|
#include <QMap>
|
|
#include <QAbstractTableModel>
|
|
#include <memory>
|
|
|
|
#include "ui_divesiteimportdialog.h"
|
|
#include "core/divesite.h"
|
|
|
|
namespace Ui {
|
|
class DivesiteImportDialog;
|
|
}
|
|
|
|
class DivesiteImportedModel;
|
|
|
|
class DivesiteImportDialog : public QDialog {
|
|
Q_OBJECT
|
|
public:
|
|
// Note: takes ownership of importedd table
|
|
DivesiteImportDialog(dive_site_table imported, QString source, QWidget *parent = 0);
|
|
~DivesiteImportDialog();
|
|
|
|
public
|
|
slots:
|
|
void on_ok_clicked();
|
|
void on_cancel_clicked();
|
|
|
|
private:
|
|
Ui::DivesiteImportDialog ui;
|
|
dive_site_table importedSites;
|
|
QString importedSource;
|
|
|
|
std::unique_ptr<DivesiteImportedModel> divesiteImportedModel;
|
|
};
|
|
|
|
#endif // DIVESITEIMPORTDIALOG_H
|