Added the Message and the Buttons on the Equipment Tab

Added the Message and the ok/cancel buttons on the Equipment
Tab, they don't control the Equipment edition yet, but already
does the same as the Notes one, Now I need to merge the other
part - the actuall Equipment Edition.

Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org>
This commit is contained in:
Tomaz Canabrava 2013-09-18 23:23:04 -03:00
parent 506b133875
commit df63bcd8b7
3 changed files with 32 additions and 5 deletions

View file

@ -389,6 +389,7 @@ void KMessageWidget::animatedShow()
void KMessageWidget::animatedHide() void KMessageWidget::animatedHide()
{ {
if (!isVisible()) { if (!isVisible()) {
hide();
return; return;
} }

View file

@ -33,8 +33,11 @@ MainTab::MainTab(QWidget *parent) : QTabWidget(parent),
ui->cylinders->setModel(cylindersModel); ui->cylinders->setModel(cylindersModel);
ui->weights->setModel(weightModel); ui->weights->setModel(weightModel);
ui->diveNotesMessage->hide(); ui->diveNotesMessage->hide();
ui->diveEquipmentMessage->hide();
ui->notesButtonBox->hide(); ui->notesButtonBox->hide();
ui->equipmentButtonBox->hide();
ui->diveNotesMessage->setCloseButtonVisible(false); ui->diveNotesMessage->setCloseButtonVisible(false);
ui->diveEquipmentMessage->setCloseButtonVisible(false);
#ifdef __APPLE__ #ifdef __APPLE__
setDocumentMode(false); setDocumentMode(false);
#else #else
@ -71,6 +74,9 @@ MainTab::MainTab(QWidget *parent) : QTabWidget(parent),
connect(ui->weights->view(), SIGNAL(clicked(QModelIndex)), this, SLOT(editWeigthWidget(QModelIndex))); connect(ui->weights->view(), SIGNAL(clicked(QModelIndex)), this, SLOT(editWeigthWidget(QModelIndex)));
connect(ui->notesButtonBox, SIGNAL(accepted()), this, SLOT(acceptChanges())); connect(ui->notesButtonBox, SIGNAL(accepted()), this, SLOT(acceptChanges()));
connect(ui->notesButtonBox, SIGNAL(rejected()), this, SLOT(rejectChanges())); connect(ui->notesButtonBox, SIGNAL(rejected()), this, SLOT(rejectChanges()));
connect(ui->equipmentButtonBox, SIGNAL(accepted()), this, SLOT(acceptChanges()));
connect(ui->equipmentButtonBox, SIGNAL(rejected()), this, SLOT(rejectChanges()));
ui->cylinders->view()->setItemDelegateForColumn(CylindersModel::TYPE, new TankInfoDelegate()); ui->cylinders->view()->setItemDelegateForColumn(CylindersModel::TYPE, new TankInfoDelegate());
ui->weights->view()->setItemDelegateForColumn(WeightModel::TYPE, new WSInfoDelegate()); ui->weights->view()->setItemDelegateForColumn(WeightModel::TYPE, new WSInfoDelegate());
@ -86,24 +92,29 @@ MainTab::MainTab(QWidget *parent) : QTabWidget(parent),
void MainTab::enableEdition() void MainTab::enableEdition()
{ {
mainWindow()->dive_list()->setEnabled(false); if (!selected_dive)
if (ui->notesButtonBox->isVisible() || !selected_dive)
return; return;
mainWindow()->dive_list()->setEnabled(false);
// We may be editing one or more dives here. backup everything. // We may be editing one or more dives here. backup everything.
notesBackup.clear(); notesBackup.clear();
ui->notesButtonBox->show(); ui->notesButtonBox->show();
ui->equipmentButtonBox->show();
if (mainWindow() && mainWindow()->dive_list()->selectedTrips.count() == 1) { if (mainWindow() && mainWindow()->dive_list()->selectedTrips.count() == 1) {
// we are editing trip location and notes // we are editing trip location and notes
ui->diveNotesMessage->setText(tr("This trip is being edited. Select Save or Undo when ready.")); ui->diveNotesMessage->setText(tr("This trip is being edited. Select Save or Undo when ready."));
ui->diveNotesMessage->animatedShow(); ui->diveNotesMessage->animatedShow();
ui->diveEquipmentMessage->setText(tr("This trip is being edited. Select Save or Undo when ready."));
ui->diveEquipmentMessage->animatedShow();
notesBackup[NULL].notes = ui->notes->toPlainText(); notesBackup[NULL].notes = ui->notes->toPlainText();
notesBackup[NULL].location = ui->location->text(); notesBackup[NULL].location = ui->location->text();
editMode = TRIP; editMode = TRIP;
} else { } else {
ui->diveNotesMessage->setText(tr("This dive is being edited. Select Save or Undo when ready.")); ui->diveNotesMessage->setText(tr("This dive is being edited. Select Save or Undo when ready."));
ui->diveNotesMessage->animatedShow(); ui->diveNotesMessage->animatedShow();
ui->diveEquipmentMessage->setText(tr("This dive is being edited. Select Save or Undo when ready."));
ui->diveEquipmentMessage->animatedShow();
// We may be editing one or more dives here. backup everything. // We may be editing one or more dives here. backup everything.
struct dive *mydive; struct dive *mydive;
@ -345,7 +356,9 @@ void MainTab::acceptChanges()
tabBar()->setTabIcon(0, QIcon()); // Notes tabBar()->setTabIcon(0, QIcon()); // Notes
tabBar()->setTabIcon(1, QIcon()); // Equipment tabBar()->setTabIcon(1, QIcon()); // Equipment
ui->diveNotesMessage->animatedHide(); ui->diveNotesMessage->animatedHide();
ui->diveEquipmentMessage->animatedHide();
ui->notesButtonBox->hide(); ui->notesButtonBox->hide();
ui->equipmentButtonBox->hide();
/* now figure out if things have changed */ /* now figure out if things have changed */
if (mainWindow() && mainWindow()->dive_list()->selectedTrips.count() == 1) { if (mainWindow() && mainWindow()->dive_list()->selectedTrips.count() == 1) {
if (notesBackup[NULL].notes != ui->notes->toPlainText() || if (notesBackup[NULL].notes != ui->notes->toPlainText() ||
@ -393,6 +406,7 @@ void MainTab::rejectChanges()
{ {
tabBar()->setTabIcon(0, QIcon()); // Notes tabBar()->setTabIcon(0, QIcon()); // Notes
tabBar()->setTabIcon(1, QIcon()); // Equipment tabBar()->setTabIcon(1, QIcon()); // Equipment
mainWindow()->dive_list()->setEnabled(true); mainWindow()->dive_list()->setEnabled(true);
if (mainWindow() && mainWindow()->dive_list()->selectedTrips.count() == 1){ if (mainWindow() && mainWindow()->dive_list()->selectedTrips.count() == 1){
ui->notes->setText(notesBackup[NULL].notes ); ui->notes->setText(notesBackup[NULL].notes );
@ -428,10 +442,12 @@ void MainTab::rejectChanges()
mydive->visibility = notesBackup[mydive].visibility; mydive->visibility = notesBackup[mydive].visibility;
} }
} }
ui->diveNotesMessage->animatedHide();
mainWindow()->dive_list()->setEnabled(true);
ui->diveNotesMessage->animatedHide();
ui->diveEquipmentMessage->animatedHide();
mainWindow()->dive_list()->setEnabled(true);
ui->notesButtonBox->hide(); ui->notesButtonBox->hide();
ui->equipmentButtonBox->hide();
notesBackup.clear(); notesBackup.clear();
QPalette p; QPalette p;
ui->buddy->setPalette(p); ui->buddy->setPalette(p);

View file

@ -150,7 +150,7 @@
<string>Equipment</string> <string>Equipment</string>
</attribute> </attribute>
<layout class="QGridLayout" name="gridLayout_4"> <layout class="QGridLayout" name="gridLayout_4">
<item row="0" column="0"> <item row="1" column="0">
<widget class="QWidget" name="widget" native="true"> <widget class="QWidget" name="widget" native="true">
<layout class="QVBoxLayout" name="verticalLayout"> <layout class="QVBoxLayout" name="verticalLayout">
<property name="spacing"> <property name="spacing">
@ -180,6 +180,16 @@
</layout> </layout>
</widget> </widget>
</item> </item>
<item row="0" column="0">
<widget class="KMessageWidget" name="diveEquipmentMessage" native="true"/>
</item>
<item row="2" column="0">
<widget class="QDialogButtonBox" name="equipmentButtonBox">
<property name="standardButtons">
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
</property>
</widget>
</item>
</layout> </layout>
</widget> </widget>
<widget class="QWidget" name="infoTab"> <widget class="QWidget" name="infoTab">