aboutsummaryrefslogtreecommitdiffstats
path: root/qt-ui
diff options
context:
space:
mode:
Diffstat (limited to 'qt-ui')
-rw-r--r--qt-ui/maintab.cpp27
-rw-r--r--qt-ui/maintab.h2
-rw-r--r--qt-ui/mainwindow.cpp6
-rw-r--r--qt-ui/mainwindow.h3
4 files changed, 30 insertions, 8 deletions
diff --git a/qt-ui/maintab.cpp b/qt-ui/maintab.cpp
index c6b49da39..843724374 100644
--- a/qt-ui/maintab.cpp
+++ b/qt-ui/maintab.cpp
@@ -90,28 +90,39 @@ MainTab::MainTab(QWidget *parent) : QTabWidget(parent),
ui->weights->horizontalHeader()->setResizeMode (WeightModel::REMOVE , QHeaderView::Fixed);
ui->weights->verticalHeader()->setDefaultSectionSize( metrics.height() +8 );
ui->weights->setItemDelegateForColumn(WeightModel::TYPE, new WSInfoDelegate());
+
+ connect(this, SIGNAL(currentChanged(int)), this, SLOT(tabChanged(int)));
initialUiSetup();
}
// We need to manually position the 'plus' on cylinder and weight.
void MainTab::resizeEvent(QResizeEvent* event)
{
- if (ui->cylindersGroup->isVisible())
- addCylinder->setGeometry(ui->cylindersGroup->contentsRect().width() - 30, 2, 24,24);
-
- if (ui->weightGroup->isVisible())
- addWeight->setGeometry(ui->weightGroup->contentsRect().width() - 30, 2, 24,24);
-
+ equipmentPlusUpdate();
QTabWidget::resizeEvent(event);
}
void MainTab::showEvent(QShowEvent* event)
{
QTabWidget::showEvent(event);
- addCylinder->setGeometry(ui->cylindersGroup->contentsRect().width() - 30, 2, 24,24);
- addWeight->setGeometry(ui->weightGroup->contentsRect().width() - 30, 2, 24,24);
+ equipmentPlusUpdate();
+}
+
+void MainTab::tabChanged(int idx)
+{
+ /* if the current tab has become of index 1 (i.e. the equipment tab) call update
+ * for the plus signs */
+ if (idx == 1)
+ equipmentPlusUpdate();
}
+void MainTab::equipmentPlusUpdate()
+{
+ if (ui->cylindersGroup->isVisible())
+ addCylinder->setGeometry(ui->cylindersGroup->contentsRect().width() - 30, 2, 24,24);
+ if (ui->weightGroup->isVisible())
+ addWeight->setGeometry(ui->weightGroup->contentsRect().width() - 30, 2, 24,24);
+}
bool MainTab::eventFilter(QObject* object, QEvent* event)
{
diff --git a/qt-ui/maintab.h b/qt-ui/maintab.h
index 739c089ec..764ed2306 100644
--- a/qt-ui/maintab.h
+++ b/qt-ui/maintab.h
@@ -43,6 +43,7 @@ public:
virtual void hideEvent(QHideEvent* );
void initialUiSetup();
+ void equipmentPlusUpdate();
public slots:
@@ -58,6 +59,7 @@ public slots:
void on_notes_textChanged();
void on_rating_valueChanged(int value);
void on_visibility_valueChanged(int value);
+ void tabChanged(int idx);
private:
Ui::MainTab *ui;
diff --git a/qt-ui/mainwindow.cpp b/qt-ui/mainwindow.cpp
index 0655e7a40..43376f9ac 100644
--- a/qt-ui/mainwindow.cpp
+++ b/qt-ui/mainwindow.cpp
@@ -299,6 +299,12 @@ void MainWindow::on_actionYearlyStatistics_triggered()
view->show();
}
+void MainWindow::on_infoProfileSplitter_splitterMoved(int pos, int idx)
+{
+ /* always update the floating plus sign icons in the equipment tab */
+ ui->InfoWidget->equipmentPlusUpdate();
+}
+
/**
* So, here's the deal.
* We have a few QSplitters that takes care of helping us with the
diff --git a/qt-ui/mainwindow.h b/qt-ui/mainwindow.h
index bac74689d..4890cb2ef 100644
--- a/qt-ui/mainwindow.h
+++ b/qt-ui/mainwindow.h
@@ -88,6 +88,9 @@ private slots:
void on_actionUserManual_triggered();
void on_actionDivePlanner_triggered();
+ /* monitor resize of the info-profile splitter */
+ void on_infoProfileSplitter_splitterMoved(int pos, int idx);
+
void current_dive_changed(int divenr);
void initialUiSetup();