When adding a dive site, enter the name field of the new dive site. Thus, when adding a new dive site, the user can immediately edit the name. The code is rather subtle: It hooks into the dive site added signal before executing the command and unhooks afterwards. This only works, because signals are executed in order of connect - thus the model adds the index first and only *then* is the field edited. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
24 lines
466 B
C++
24 lines
466 B
C++
// SPDX-License-Identifier: GPL-2.0
|
|
#ifndef TAB_DIVE_SITE_H
|
|
#define TAB_DIVE_SITE_H
|
|
|
|
#include "TabBase.h"
|
|
#include "ui_TabDiveSite.h"
|
|
#include "qt-models/divelocationmodel.h"
|
|
|
|
class TabDiveSite : public TabBase {
|
|
Q_OBJECT
|
|
public:
|
|
TabDiveSite(QWidget *parent = 0);
|
|
void updateData() override;
|
|
void clear() override;
|
|
private slots:
|
|
void add();
|
|
void diveSiteAdded(struct dive_site *, int idx);
|
|
private:
|
|
Ui::TabDiveSite ui;
|
|
DiveSiteSortedModel model;
|
|
};
|
|
|
|
#endif
|