mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-01 02:13:24 +00:00
Improve the Dirk edit mode.
The dirk edit mode will be triggered as soon as the user clicks on the field that he wants to edit. then he can edit all fields, till he press ok / reset. Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org>
This commit is contained in:
parent
206a148e07
commit
55b998d528
2 changed files with 39 additions and 4 deletions
|
@ -16,10 +16,6 @@
|
|||
#include <QLabel>
|
||||
#include <QDebug>
|
||||
|
||||
#define GTK_EDIT_STYLE 0
|
||||
#define TEST_EDIT_STYLE 1
|
||||
#define EDIT_STYLE GTK_EDIT_STYLE
|
||||
|
||||
MainTab::MainTab(QWidget *parent) : QTabWidget(parent),
|
||||
ui(new Ui::MainTab()),
|
||||
weightModel(new WeightModel()),
|
||||
|
@ -43,6 +39,13 @@ MainTab::MainTab(QWidget *parent) : QTabWidget(parent),
|
|||
ui->rating->setReadOnly(false);
|
||||
ui->editNotes->hide();
|
||||
ui->resetNotes->hide();
|
||||
|
||||
ui->location->installEventFilter(this);
|
||||
ui->divemaster->installEventFilter(this);
|
||||
ui->buddy->installEventFilter(this);
|
||||
ui->suit->installEventFilter(this);
|
||||
ui->notes->installEventFilter(this);
|
||||
ui->rating->installEventFilter(this);
|
||||
#endif
|
||||
|
||||
/* example of where code is more concise than Qt designer */
|
||||
|
@ -60,6 +63,20 @@ MainTab::MainTab(QWidget *parent) : QTabWidget(parent),
|
|||
}
|
||||
}
|
||||
|
||||
bool MainTab::eventFilter(QObject* object, QEvent* event)
|
||||
{
|
||||
if(event->type() == QEvent::FocusIn){
|
||||
if (ui->editNotes->isVisible()){
|
||||
return false;
|
||||
}
|
||||
ui->editNotes->setChecked(true);
|
||||
ui->editNotes->show();
|
||||
ui->resetNotes->show();
|
||||
on_editNotes_clicked(true);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
void MainTab::clearEquipment()
|
||||
{
|
||||
}
|
||||
|
@ -253,6 +270,13 @@ void MainTab::on_editNotes_clicked(bool edit)
|
|||
ui->diveNotesMessage->animatedHide();
|
||||
ui->editNotes->setText(tr("edit"));
|
||||
}
|
||||
|
||||
#if !EDIT_STYLE
|
||||
if(!edit){
|
||||
ui->editNotes->hide();
|
||||
ui->resetNotes->hide();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void MainTab::on_resetNotes_clicked()
|
||||
|
@ -277,6 +301,11 @@ void MainTab::on_resetNotes_clicked()
|
|||
ui->notes->setReadOnly(true);
|
||||
ui->rating->setReadOnly(true);
|
||||
mainWindow()->dive_list()->setEnabled(true);
|
||||
|
||||
#if !EDIT_STYLE
|
||||
ui->editCylinder->hide();
|
||||
ui->resetNotes->hide();
|
||||
#endif
|
||||
}
|
||||
|
||||
#define EDIT_NOTES(what, text) \
|
||||
|
|
|
@ -26,6 +26,10 @@ struct NotesBackup{
|
|||
QString divemaster;
|
||||
};
|
||||
|
||||
#define DIRK_EDIT_STYLE 0
|
||||
#define TEST_EDIT_STYLE 1
|
||||
#define EDIT_STYLE DIRK_EDIT_STYLE
|
||||
|
||||
class MainTab : public QTabWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
|
@ -36,6 +40,8 @@ public:
|
|||
void clearEquipment();
|
||||
void reload();
|
||||
|
||||
bool eventFilter(QObject* , QEvent*);
|
||||
|
||||
public Q_SLOTS:
|
||||
void on_addCylinder_clicked();
|
||||
void on_editCylinder_clicked();
|
||||
|
|
Loading…
Add table
Reference in a new issue