subsurface/qt-ui/mainwindow.h
Tomaz Canabrava 046eacabe5 Make impossible to change dives while editing one.
This is to prevent loss of data, so if the user is editing something,
either cancel the edition or save it, to continue moving around on
the Dive List.  - Only the dive list is affected, user can still
play with the globe and the profile.

Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-05-18 21:30:54 -07:00

101 lines
2.1 KiB
C++

/*
* mainwindow.h
*
* header file for the main window of Subsurface
*
*/
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QModelIndex>
#include <QAction>
struct DiveList;
class QSortFilterProxyModel;
class DiveTripModel;
namespace Ui
{
class MainWindow;
}
class DiveInfo;
class DiveNotes;
class Stats;
class Equipment;
class QItemSelection;
class DiveListView;
class GlobeGPS;
class MainTab;
class ProfileGraphicsView;
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow();
ProfileGraphicsView *graphics();
MainTab *information();
DiveListView *dive_list();
GlobeGPS *globe();
private Q_SLOTS:
/* file menu action */
void on_actionNew_triggered();
void on_actionOpen_triggered();
void on_actionSave_triggered();
void on_actionSaveAs_triggered();
void on_actionClose_triggered();
void on_actionImport_triggered();
void on_actionExportUDDF_triggered();
void on_actionPrint_triggered();
void on_actionPreferences_triggered();
void on_actionQuit_triggered();
/* log menu actions */
void on_actionDownloadDC_triggered();
void on_actionDownloadWeb_triggered();
void on_actionEditDeviceNames_triggered();
void on_actionAddDive_triggered();
void on_actionRenumber_triggered();
void on_actionAutoGroup_triggered();
void on_actionToggleZoom_triggered();
void on_actionYearlyStatistics_triggered();
/* view menu actions */
void on_actionViewList_triggered();
void on_actionViewProfile_triggered();
void on_actionViewInfo_triggered();
void on_actionViewAll_triggered();
void on_actionPreviousDC_triggered();
void on_actionNextDC_triggered();
/* other menu actions */
void on_actionSelectEvents_triggered();
void on_actionInputPlan_triggered();
void on_actionAboutSubsurface_triggered();
void on_actionUserManual_triggered();
void current_dive_changed(int divenr);
protected:
void closeEvent(QCloseEvent *);
private:
Ui::MainWindow *ui;
QAction *actionNextDive;
QAction *actionPreviousDive;
QString filter();
bool askSaveChanges();
void readSettings();
void writeSettings();
void redrawProfile();
};
MainWindow *mainWindow();
#endif