Remove Combobox from LocationManagement

I tought about it a bit, and the combobox of the location management was a
bit overkill - we already have another combobox to select the divesite and
also the plus button to add one.

If the user wanna edit the current divesite, he can go to menu and edit it.

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Tomaz Canabrava 2015-06-01 22:30:33 -03:00 committed by Dirk Hohndel
parent 3d63fc9855
commit 9dc32de878
4 changed files with 36 additions and 66 deletions

View file

@ -1,5 +1,6 @@
#include "divelocationmodel.h"
#include "dive.h"
#include <QDebug>
bool dive_site_less_than(dive_site *a, dive_site *b)
{

View file

@ -39,7 +39,7 @@ private:
bool doubleClick;
signals:
void coordinatesChanged(void);
void coordinatesChanged();
public
slots:

View file

@ -17,52 +17,47 @@
<string>Dive Site</string>
</property>
<layout class="QGridLayout" name="gridLayout">
<property name="leftMargin">
<number>12</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<property name="horizontalSpacing">
<number>2</number>
</property>
<property name="verticalSpacing">
<number>5</number>
</property>
<item row="1" column="0">
<widget class="QLabel" name="label_5">
<property name="text">
<string>Current Location</string>
</property>
</widget>
<item row="0" column="0" colspan="2">
<widget class="KMessageWidget" name="diveSiteMessage" native="true"/>
</item>
<item row="3" column="0">
<item row="1" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>Name</string>
</property>
</widget>
</item>
<item row="0" column="0" colspan="3">
<widget class="KMessageWidget" name="diveSiteMessage" native="true"/>
<item row="1" column="1">
<widget class="QLineEdit" name="diveSiteName"/>
</item>
<item row="5" column="0">
<item row="2" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
<string>Coordinates</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLineEdit" name="diveSiteCoordinates"/>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>Description</string>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QLineEdit" name="diveSiteCoordinates"/>
<item row="3" column="1">
<widget class="QLineEdit" name="diveSiteDescription"/>
</item>
<item row="7" column="0">
<item row="4" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>Notes</string>
</property>
</widget>
</item>
<item row="5" column="0">
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
@ -75,32 +70,9 @@
</property>
</spacer>
</item>
<item row="6" column="1" rowspan="2" colspan="2">
<item row="4" column="1" rowspan="2">
<widget class="QPlainTextEdit" name="diveSiteNotes"/>
</item>
<item row="6" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>Notes</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QLineEdit" name="diveSiteName"/>
</item>
<item row="5" column="1">
<widget class="QLineEdit" name="diveSiteDescription"/>
</item>
<item row="4" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
<string>Coordinates</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QComboBox" name="currentLocation"/>
</item>
</layout>
</widget>
<customwidgets>

View file

@ -28,8 +28,6 @@ LocationInformationWidget::LocationInformationWidget(QWidget *parent) : QGroupBo
ui.diveSiteMessage->setText(tr("Dive site management"));
ui.diveSiteMessage->addAction(closeAction);
ui.currentLocation->setModel(LocationInformationModel::instance());
connect(ui.currentLocation, SIGNAL(currentIndexChanged(int)), this, SLOT(setCurrentDiveSite(int)));
connect(this, SIGNAL(startFilterDiveSite(uint32_t)), MultiFilterSortModel::instance(), SLOT(startFilterDiveSite(uint32_t)));
connect(this, SIGNAL(stopFilterDiveSite()), MultiFilterSortModel::instance(), SLOT(stopFilterDiveSite()));
}
@ -54,13 +52,6 @@ void LocationInformationWidget::setCurrentDiveSiteByUuid(uint32_t uuid)
displayed_dive_site = *currentDs;
if (ui.currentLocation->currentText() != displayed_dive_site.name) {
// this will trigger setCurrentDiveSite again, and thus,
// will gethere with the correct uuid.
ui.currentLocation->setCurrentText(displayed_dive_site.name);
return;
}
if (displayed_dive_site.name)
ui.diveSiteName->setText(displayed_dive_site.name);
else
@ -206,7 +197,13 @@ void LocationInformationWidget::on_diveSiteName_textChanged(const QString& text)
// This needs to be changed directly into the model so that
// the changes are replyed on the ComboBox with the current selection.
QModelIndex idx = ui.currentLocation->model()->index(ui.currentLocation->currentIndex(),0);
int i;
struct dive_site *ds;
for_each_dive_site(i,ds)
if (ds->uuid == currentDs->uuid)
break;
QModelIndex idx = LocationInformationModel::instance()->index(i,0);
LocationInformationModel::instance()->setData(idx, text, Qt::EditRole);
markChangedWidget(ui.diveSiteName);
emit coordinatesChanged();