mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-28 05:00:20 +00:00
code to show profile again
Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org>
This commit is contained in:
parent
5868b37e6b
commit
b0374047dd
5 changed files with 39 additions and 8 deletions
10
divelist.c
10
divelist.c
|
@ -144,7 +144,7 @@ int trip_has_selected_dives(dive_trip_t *trip)
|
|||
return 0;
|
||||
}
|
||||
|
||||
/* Get the values as we want to show them. Whole feet. But meters with one decimal for
|
||||
/* Get the values as we want to show them. Whole feet. But meters with one decimal for
|
||||
* values less than 20m, without decimals for larger values */
|
||||
void get_depth_values(int depth, int *depth_int, int *depth_decimal, int *show_decimal)
|
||||
{
|
||||
|
@ -924,9 +924,11 @@ void merge_dive_index(int i, struct dive *a)
|
|||
void select_dive(int idx)
|
||||
{
|
||||
struct dive *dive = get_dive(idx);
|
||||
if (dive && !dive->selected) {
|
||||
dive->selected = 1;
|
||||
amount_selected++;
|
||||
if (dive) {
|
||||
if (!dive->selected){
|
||||
dive->selected = 1;
|
||||
amount_selected++;
|
||||
}
|
||||
selected_dive = idx;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -55,6 +55,24 @@ void DiveListView::keyReleaseEvent(QKeyEvent* event)
|
|||
QWidget::keyReleaseEvent(event);
|
||||
}
|
||||
|
||||
void DiveListView::currentChanged(const QModelIndex& current, const QModelIndex& previous)
|
||||
{
|
||||
if (!current.isValid())
|
||||
return;
|
||||
const QAbstractItemModel *model = current.model();
|
||||
int selectedDive = 0;
|
||||
struct dive *dive = (struct dive*) model->data(current, TreeItemDT::DIVE_ROLE).value<void*>();
|
||||
if (!dive) { // it's a trip! select first child.
|
||||
dive = (struct dive*) model->data(current.child(0,0), TreeItemDT::DIVE_ROLE).value<void*>();
|
||||
selectedDive = get_divenr(dive);
|
||||
}else{
|
||||
selectedDive = get_divenr(dive);
|
||||
}
|
||||
if (selectedDive == selected_dive)
|
||||
return;
|
||||
Q_EMIT currentDiveChanged(selectedDive);
|
||||
}
|
||||
|
||||
void DiveListView::selectionChanged(const QItemSelection& selected, const QItemSelection& deselected)
|
||||
{
|
||||
QList<QModelIndex> parents;
|
||||
|
|
|
@ -18,19 +18,19 @@
|
|||
|
||||
class DiveListView : public QTreeView
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
DiveListView(QWidget *parent = 0);
|
||||
|
||||
void selectionChanged(const QItemSelection& selected, const QItemSelection& deselected);
|
||||
void currentChanged(const QModelIndex& current, const QModelIndex& previous);
|
||||
void setModel(QAbstractItemModel* model);
|
||||
|
||||
void mousePressEvent(QMouseEvent* event);
|
||||
void mouseReleaseEvent(QMouseEvent* event);
|
||||
void keyPressEvent(QKeyEvent* event);
|
||||
void keyReleaseEvent(QKeyEvent*);
|
||||
|
||||
void setSelection(const QRect& rect, QItemSelectionModel::SelectionFlags command);
|
||||
|
||||
Q_SIGNALS:
|
||||
void currentDiveChanged(int divenr);
|
||||
private:
|
||||
bool mouseClickSelection;
|
||||
};
|
||||
|
|
|
@ -42,6 +42,15 @@ MainWindow::MainWindow() : ui(new Ui::MainWindow()),
|
|||
ui->ListWidget->setCurrentIndex(sortModel->index(0,0, firstDiveOrTrip));
|
||||
else
|
||||
ui->ListWidget->setCurrentIndex(firstDiveOrTrip);
|
||||
|
||||
connect(ui->ListWidget, SIGNAL(currentDiveChanged(int)), this, SLOT(current_dive_changed(int)));
|
||||
}
|
||||
|
||||
void MainWindow::current_dive_changed(int divenr)
|
||||
{
|
||||
select_dive(divenr);
|
||||
redrawProfile();
|
||||
ui->InfoWidget->updateDiveInfo(divenr);
|
||||
}
|
||||
|
||||
void MainWindow::redrawProfile()
|
||||
|
|
|
@ -69,6 +69,8 @@ private Q_SLOTS:
|
|||
void on_actionAboutSubsurface_triggered();
|
||||
void on_actionUserManual_triggered();
|
||||
|
||||
void current_dive_changed(int divenr);
|
||||
|
||||
protected:
|
||||
void closeEvent(QCloseEvent *);
|
||||
|
||||
|
|
Loading…
Reference in a new issue