Create DivesiteImportDialog to select sites to import

Creates the dialog box to select which sites to import from the file
selected in mainwindow.cpp. The DivesiteImportModel is created as a
table to display and select which sites are to be imported. Once the
sites are selected, the Command::importDiveSites command is called to
add the sites to the core dive site table with undo/redo functions.

Signed-off-by: Doug Junkins <junkins@foghead.com>
This commit is contained in:
Doug Junkins 2019-05-04 20:51:16 -07:00 committed by bstoeger
parent 98b3a326bd
commit 00ec824129
7 changed files with 421 additions and 0 deletions

View file

@ -0,0 +1,40 @@
// 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:
DivesiteImportDialog(struct dive_site_table &imported, QString source, QWidget *parent = 0 );
~DivesiteImportDialog();
public
slots:
void on_ok_clicked();
void on_cancel_clicked();
private:
Ui::DivesiteImportDialog ui;
struct dive_site_table importedSites;
QString importedSource;
DivesiteImportedModel *divesiteImportedModel;
};
#endif // DIVESITEIMPORTDIALOG_H