Improve settings migration and management (#5107)
[opentx.git] / companion / src / comparedialog.h
blob03e709360ebed49e255da4dd13925d4cde75e0b4
1 /*
2 * Copyright (C) OpenTX
4 * Based on code named
5 * th9x - http://code.google.com/p/th9x
6 * er9x - http://code.google.com/p/er9x
7 * gruvin9x - http://code.google.com/p/gruvin9x
9 * License GPLv2: http://www.gnu.org/licenses/gpl-2.0.html
11 * This program is free software; you can redistribute it and/or modify
12 * it under the terms of the GNU General Public License version 2 as
13 * published by the Free Software Foundation.
15 * This program is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU General Public License for more details.
21 #ifndef _COMPAREDIALOG_H_
22 #define _COMPAREDIALOG_H_
24 #include <QtWidgets>
25 #include "multimodelprinter.h"
27 namespace Ui {
28 class CompareDialog;
31 class CompareDialog : public QDialog
33 Q_OBJECT
35 public:
36 CompareDialog(QWidget *parent, Firmware * firmware);
37 ~CompareDialog();
39 protected:
40 struct GMData {
41 ModelData model;
42 GeneralSettings gs;
45 MultiModelPrinter * multimodelprinter;
46 QVector<GMData> modelsList;
47 QMap<int, GMData> modelsMap;
48 Ui::CompareDialog * ui;
50 protected slots:
51 void removeModelBtnClicked();
52 void on_printButton_clicked();
53 void on_printFileButton_clicked();
55 protected:
56 virtual void closeEvent(QCloseEvent * event);
57 virtual void dragMoveEvent(QDragMoveEvent *event);
58 virtual void dragEnterEvent(QDragEnterEvent *event);
59 virtual void dragLeaveEvent(QDragLeaveEvent *event);
60 virtual void dropEvent(QDropEvent *event);
61 bool handleMimeData(const QMimeData * mimeData);
62 void compare();
63 void removeModel(int idx);
66 #endif // _COMPAREDIALOG_H_