e6d2300562
- add qSort() for cachedAddressTable, as qLowerBound() and qUpperBound()
require the list to be in ascending order (see
http://harmattan-dev.nokia.com/docs/library/html/qt4/qtalgorithms.html#qLowerBound)
- add a new check in AddressTableModel::setData() to just return, when no
changes were made to a label or an address (prevents entry duplication
issue)
- remove "rec->label = value.toString();" from
AddressTableModel::setData() as the label gets updated by
AddressTablePriv::updateEntry() anyway (seems @sipa added this line via
1025440184 (L6R225)
)
- add another new check in AddressTableModel::setData() to just return, if
a duplicate address was found (prevents address overwrite)
- add a new check to EditAddressDialog::setModel() to prevent setting an
invalid model
- re-work the switch-case statement in AddressTableModel::accept() to
always break (as return get's called anyway) and order the list to match
the enum definition
- make accept() in editaddressdialog.h a public slot, which it should be
- misc small coding style changes
52 lines
955 B
C++
52 lines
955 B
C++
#ifndef EDITADDRESSDIALOG_H
|
|
#define EDITADDRESSDIALOG_H
|
|
|
|
#include <QDialog>
|
|
|
|
QT_BEGIN_NAMESPACE
|
|
class QDataWidgetMapper;
|
|
QT_END_NAMESPACE
|
|
|
|
namespace Ui {
|
|
class EditAddressDialog;
|
|
}
|
|
class AddressTableModel;
|
|
|
|
/** Dialog for editing an address and associated information.
|
|
*/
|
|
class EditAddressDialog : public QDialog
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
enum Mode {
|
|
NewReceivingAddress,
|
|
NewSendingAddress,
|
|
EditReceivingAddress,
|
|
EditSendingAddress
|
|
};
|
|
|
|
explicit EditAddressDialog(Mode mode, QWidget *parent = 0);
|
|
~EditAddressDialog();
|
|
|
|
void setModel(AddressTableModel *model);
|
|
void loadRow(int row);
|
|
|
|
QString getAddress() const;
|
|
void setAddress(const QString &address);
|
|
|
|
public slots:
|
|
void accept();
|
|
|
|
private:
|
|
bool saveCurrentRow();
|
|
|
|
Ui::EditAddressDialog *ui;
|
|
QDataWidgetMapper *mapper;
|
|
Mode mode;
|
|
AddressTableModel *model;
|
|
|
|
QString address;
|
|
};
|
|
|
|
#endif // EDITADDRESSDIALOG_H
|