mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-30 22:20:21 +00:00
8678e2d57c
There are a couple of problems with said icons: - When the Equip. tab is first seen, no relative event is monitored so that the correct position is updated and the icons are positioned. To solve that we connect the signal MainTab::currentChanged(int) and call MainTab::equipmentPlusUpdate(). - When the info-profile QSplitter resizes with a snap towards/from the edges of the main window, no resize handler is called such as MainTab::resizeEvent(). A solution is to monitor the resize of the info-profile splitter with MainWindow::on_infoProfileSplitter_splitterMoved() and again call MainTab::equipmentPlusUpdate() Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
75 lines
1.4 KiB
C++
75 lines
1.4 KiB
C++
/*
|
|
* maintab.h
|
|
*
|
|
* header file for the main tab of Subsurface
|
|
*
|
|
*/
|
|
#ifndef MAINTAB_H
|
|
#define MAINTAB_H
|
|
|
|
#include <QTabWidget>
|
|
#include <QDialog>
|
|
|
|
#include "models.h"
|
|
|
|
namespace Ui
|
|
{
|
|
class MainTab;
|
|
}
|
|
|
|
struct NotesBackup{
|
|
QString location;
|
|
QString notes;
|
|
QString buddy;
|
|
QString suit;
|
|
int rating;
|
|
int visibility;
|
|
QString divemaster;
|
|
};
|
|
|
|
class MainTab : public QTabWidget
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
MainTab(QWidget *parent);
|
|
void clearStats();
|
|
void clearInfo();
|
|
void clearEquipment();
|
|
void reload();
|
|
|
|
bool eventFilter(QObject* , QEvent*);
|
|
virtual void resizeEvent(QResizeEvent*);
|
|
virtual void showEvent(QShowEvent*);
|
|
virtual void hideEvent(QHideEvent* );
|
|
|
|
void initialUiSetup();
|
|
void equipmentPlusUpdate();
|
|
|
|
|
|
public slots:
|
|
void addCylinder_clicked();
|
|
void addWeight_clicked();
|
|
void updateDiveInfo(int dive);
|
|
void on_editAccept_clicked(bool edit);
|
|
void on_editReset_clicked();
|
|
void on_location_textChanged(const QString& text);
|
|
void on_divemaster_textChanged(const QString& text);
|
|
void on_buddy_textChanged(const QString& text);
|
|
void on_suit_textChanged(const QString& text);
|
|
void on_notes_textChanged();
|
|
void on_rating_valueChanged(int value);
|
|
void on_visibility_valueChanged(int value);
|
|
void tabChanged(int idx);
|
|
|
|
private:
|
|
Ui::MainTab *ui;
|
|
WeightModel *weightModel;
|
|
CylindersModel *cylindersModel;
|
|
NotesBackup notesBackup;
|
|
struct dive* currentDive;
|
|
QPushButton *addCylinder;
|
|
QPushButton *addWeight;
|
|
enum { NONE, DIVE, TRIP } editMode;
|
|
};
|
|
|
|
#endif
|