mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Disable specific tabs when dive trip selected
Disable tabs for equipment, info, pictures and extra info if a dive trip is selected. Remember specific tab selection for dives and dive trip to recover selection when browsing dive list. Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
This commit is contained in:
parent
ba83ce34e0
commit
0fc4bd8976
2 changed files with 28 additions and 1 deletions
|
@ -44,7 +44,9 @@ MainTab::MainTab(QWidget *parent) : QTabWidget(parent),
|
|||
cylindersModel(new CylindersModel(this)),
|
||||
editMode(NONE),
|
||||
copyPaste(false),
|
||||
currentTrip(0)
|
||||
currentTrip(0),
|
||||
lastTabSelectedDive(0),
|
||||
lastTabSelectedDiveTrip(0)
|
||||
{
|
||||
ui.setupUi(this);
|
||||
|
||||
|
@ -469,7 +471,18 @@ void MainTab::updateDiveInfo(bool clear)
|
|||
ui.dateEdit->setDate(localTime.date());
|
||||
ui.timeEdit->setTime(localTime.time());
|
||||
if (MainWindow::instance() && MainWindow::instance()->dive_list()->selectedTrips().count() == 1) {
|
||||
// Remember the tab selected for last dive
|
||||
if (lastSelectedDive)
|
||||
lastTabSelectedDive = ui.tabWidget->currentIndex();
|
||||
ui.tabWidget->setTabText(0, tr("Trip notes"));
|
||||
ui.tabWidget->setTabEnabled(1, false);
|
||||
ui.tabWidget->setTabEnabled(2, false);
|
||||
ui.tabWidget->setTabEnabled(4, false);
|
||||
ui.tabWidget->setTabEnabled(5, false);
|
||||
// Recover the tab selected for last dive trip
|
||||
if (lastSelectedDive)
|
||||
ui.tabWidget->setCurrentIndex(lastTabSelectedDiveTrip);
|
||||
lastSelectedDive = false;
|
||||
currentTrip = *MainWindow::instance()->dive_list()->selectedTrips().begin();
|
||||
// only use trip relevant fields
|
||||
ui.divemaster->setVisible(false);
|
||||
|
@ -511,7 +524,18 @@ void MainTab::updateDiveInfo(bool clear)
|
|||
ui.duration->setVisible(false);
|
||||
ui.durationLabel->setVisible(false);
|
||||
} else {
|
||||
// Remember the tab selected for last dive trip
|
||||
if (!lastSelectedDive)
|
||||
lastTabSelectedDiveTrip = ui.tabWidget->currentIndex();
|
||||
ui.tabWidget->setTabText(0, tr("Notes"));
|
||||
ui.tabWidget->setTabEnabled(1, true);
|
||||
ui.tabWidget->setTabEnabled(2, true);
|
||||
ui.tabWidget->setTabEnabled(4, true);
|
||||
ui.tabWidget->setTabEnabled(5, true);
|
||||
// Recover the tab selected for last dive
|
||||
if (!lastSelectedDive)
|
||||
ui.tabWidget->setCurrentIndex(lastTabSelectedDive);
|
||||
lastSelectedDive = true;
|
||||
currentTrip = NULL;
|
||||
// make all the fields visible writeable
|
||||
ui.diveTripLocation->hide();
|
||||
|
|
|
@ -115,6 +115,9 @@ private:
|
|||
Completers completers;
|
||||
bool modified;
|
||||
bool copyPaste;
|
||||
bool lastSelectedDive;
|
||||
int lastTabSelectedDive;
|
||||
int lastTabSelectedDiveTrip;
|
||||
void resetPallete();
|
||||
void saveTags();
|
||||
void saveTaggedStrings();
|
||||
|
|
Loading…
Add table
Reference in a new issue