Dive list: add context menu function to renumber dive(s)

No attempt is made to ensure that what the user does is sane. So this can
result in duplicate numbers, non-consecutive numbers, non-monotonous
numbers, whatever floats the users boat.

You can renumber a single dive or all selected dives (with a starting
number given that is applied to the oldest selected dive and then for each
newer selected dive that number is incremented by one).

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Dirk Hohndel 2014-05-20 06:11:32 +09:00
parent 4d14059d7c
commit b303f217a9
7 changed files with 32 additions and 10 deletions

View file

@ -16,8 +16,9 @@
#include <QDateTime>
#include <QShortcut>
#include "exif.h"
#include "../dive.h"
#include "../file.h"
#include "dive.h"
#include "file.h"
#include "display.h"
#include "mainwindow.h"
#include "helpers.h"
@ -117,15 +118,24 @@ RenumberDialog *RenumberDialog::instance()
return self;
}
void RenumberDialog::renumberOnlySelected(bool selected)
{
if (selected && amount_selected == 1)
ui.groupBox->setTitle(tr("New number"));
else
ui.groupBox->setTitle(tr("New starting number"));
selectedOnly = selected;
}
void RenumberDialog::buttonClicked(QAbstractButton *button)
{
if (ui.buttonBox->buttonRole(button) == QDialogButtonBox::AcceptRole) {
qDebug() << "Renumbering.";
renumber_dives(ui.spinBox->value());
renumber_dives(ui.spinBox->value(), selectedOnly);
}
}
RenumberDialog::RenumberDialog(QWidget *parent) : QDialog(parent)
RenumberDialog::RenumberDialog(QWidget *parent) : QDialog(parent), selectedOnly(false)
{
ui.setupUi(this);
connect(ui.buttonBox, SIGNAL(clicked(QAbstractButton *)), this, SLOT(buttonClicked(QAbstractButton *)));