Remove coordinates from main tab

It seems to make sense to only have them on the dive site screen. For the
main UI they were redundant (we have the map) and not all that useful. The
only time people would want them is if they wanted to manually add GPS
coordinates for a dive, but that should now be done via the dive site UI.

There are a couple of FIXMEs in the code and a few code blocks that have
been commented out as they will be needed in one form or another once this
GPS handling is done on the dive site UI, which right now it is NOT.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Dirk Hohndel 2015-02-12 22:24:12 -08:00
parent 616cb18b29
commit 4e95beabc2
6 changed files with 83 additions and 101 deletions

View file

@ -347,7 +347,12 @@ void GlobeGPS::mousePressEvent(QMouseEvent *event)
// there could be two scenarios that got us here; let's check if we are editing a dive
if (MainWindow::instance()->information()->isEditing() && clickOnGlobe) {
MainWindow::instance()->information()->updateCoordinatesText(lat, lon);
//
// FIXME
// TODO
//
// this needs to do this on the dive site screen
// MainWindow::instance()->information()->updateCoordinatesText(lat, lon);
repopulateLabels();
} else if (clickOnGlobe) {
changeDiveGeoPosition(lon, lat, GeoDataCoordinates::Degree);

View file

@ -72,7 +72,6 @@ MainTab::MainTab(QWidget *parent) : QTabWidget(parent),
setEnabled(false);
ui.location->installEventFilter(this);
ui.coordinates->installEventFilter(this);
ui.divemaster->installEventFilter(this);
ui.buddy->installEventFilter(this);
ui.suit->installEventFilter(this);
@ -443,7 +442,6 @@ void MainTab::updateDiveInfo(bool clear)
ui.location->setText(ds->name);
else
ui.location->clear();
updateGpsCoordinates();
// Subsurface always uses "local time" as in "whatever was the local time at the location"
// so all time stamps have no time zone information and are in UTC
QDateTime localTime = QDateTime::fromTime_t(displayed_dive.when - gettimezoneoffset(displayed_dive.when));
@ -454,8 +452,6 @@ void MainTab::updateDiveInfo(bool clear)
setTabText(0, tr("Trip notes"));
currentTrip = *MainWindow::instance()->dive_list()->selectedTrips().begin();
// only use trip relevant fields
ui.coordinates->setVisible(false);
ui.CoordinatedLabel->setVisible(false);
ui.divemaster->setVisible(false);
ui.DivemasterLabel->setVisible(false);
ui.buddy->setVisible(false);
@ -485,8 +481,6 @@ void MainTab::updateDiveInfo(bool clear)
setTabText(0, tr("Dive notes"));
currentTrip = NULL;
// make all the fields visible writeable
ui.coordinates->setVisible(true);
ui.CoordinatedLabel->setVisible(true);
ui.divemaster->setVisible(true);
ui.buddy->setVisible(true);
ui.suit->setVisible(true);
@ -655,7 +649,6 @@ void MainTab::updateDiveInfo(bool clear)
clearStats();
clearEquipment();
ui.rating->setCurrentStars(0);
ui.coordinates->clear();
ui.visibility->setCurrentStars(0);
ui.location->clear();
}
@ -765,8 +758,6 @@ void MainTab::acceptChanges()
copy_samples(&displayed_dive.dc, &current_dive->dc);
}
struct dive *cd = current_dive;
//Reset coordinates field, in case it contains garbage.
updateGpsCoordinates();
// now check if something has changed and if yes, edit the selected dives that
// were identical with the master dive shown (and mark the divelist as changed)
if (!same_string(displayed_dive.buddy, cd->buddy))
@ -794,17 +785,6 @@ void MainTab::acceptChanges()
time_t offset = cd->when - displayed_dive.when;
MODIFY_SELECTED_DIVES(mydive->when -= offset;);
}
if (displayed_dive.latitude.udeg != cd->latitude.udeg ||
displayed_dive.longitude.udeg != cd->longitude.udeg)
MODIFY_SELECTED_DIVES(
if (copyPaste ||
(same_string(mydive->location, cd->location) &&
mydive->latitude.udeg == cd->latitude.udeg &&
mydive->longitude.udeg == cd->longitude.udeg))
gpsHasChanged(mydive, cd, ui.coordinates->text(), 0);
);
if (!same_string(displayed_dive.location, cd->location))
MODIFY_SELECTED_DIVES(EDIT_TEXT(location));
saveTags();
@ -910,7 +890,6 @@ void MainTab::resetPallete()
ui.buddy->setPalette(p);
ui.notes->setPalette(p);
ui.location->setPalette(p);
ui.coordinates->setPalette(p);
ui.divemaster->setPalette(p);
ui.suit->setPalette(p);
ui.airtemp->setPalette(p);
@ -1148,8 +1127,17 @@ void MainTab::on_location_textChanged(const QString &text)
free(displayedTrip.location);
displayedTrip.location = strdup(ui.location->text().toUtf8().data());
} else {
free(displayed_dive.location);
displayed_dive.location = strdup(ui.location->text().toUtf8().data());
// this means we switched dive sites... this requires a lot more thinking
//
//
// FIXME
//
// TODO
//
//
//
// free(displayed_dive.location);
// displayed_dive.location = strdup(ui.location->text().toUtf8().data());
}
markChangedWidget(ui.location);
}
@ -1195,6 +1183,7 @@ void MainTab::on_notes_textChanged()
markChangedWidget(ui.notes);
}
#if 0 // we'll need something like this for the dive site management
void MainTab::on_coordinates_textChanged(const QString &text)
{
if (editMode == IGNORE || acceptingEdit == true)
@ -1211,6 +1200,7 @@ void MainTab::on_coordinates_textChanged(const QString &text)
ui.coordinates->setPalette(p); // marks things red
}
}
#endif
void MainTab::on_rating_valueChanged(int value)
{
@ -1262,6 +1252,7 @@ void MainTab::editWeightWidget(const QModelIndex &index)
ui.weights->edit(index);
}
#if 0 // we'll need this for dive sites
void MainTab::updateCoordinatesText(qreal lat, qreal lon)
{
int ulat = rint(lat * 1000000);
@ -1283,6 +1274,7 @@ void MainTab::updateGpsCoordinates()
ui.coordinates->clear();
}
}
#endif
void MainTab::escDetected()
{

View file

@ -66,7 +66,6 @@ slots:
void rejectChanges();
void on_location_textChanged(const QString &text);
void on_location_editingFinished();
void on_coordinates_textChanged(const QString &text);
void on_divemaster_textChanged();
void on_buddy_textChanged();
void on_suit_textChanged(const QString &text);
@ -93,7 +92,6 @@ slots:
void escDetected(void);
void photoDoubleClicked(const QString filePath);
void removeSelectedPhotos();
void updateGpsCoordinates();
void prepareDiveSiteEdit();
private:
Ui::MainTab ui;

View file

@ -22,7 +22,9 @@
<number>0</number>
</property>
<item row="2" column="1">
<widget class="KMessageWidget" name="diveNotesMessage" native="true"/>
<widget class="KMessageWidget" name="diveNotesMessage" native="true">
<zorder>scrollArea</zorder>
</widget>
</item>
<item row="3" column="1">
<widget class="QScrollArea" name="scrollArea">
@ -40,8 +42,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>443</width>
<height>758</height>
<width>441</width>
<height>753</height>
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
@ -139,40 +141,6 @@
</item>
</layout>
</item>
<item>
<layout class="QGridLayout" name="gridLayout_2">
<item row="0" column="0">
<widget class="QLabel" name="CoordinatedLabel">
<property name="sizePolicy">
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Coordinates</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="TypeLabel">
<property name="text">
<string>Dive mode</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLineEdit" name="coordinates">
<property name="readOnly">
<bool>false</bool>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QComboBox" name="DiveType"/>
</item>
</layout>
</item>
<item>
<layout class="QGridLayout" name="gridLayout_4">
<item row="0" column="0">
@ -251,6 +219,7 @@
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
<zorder>tagWidget</zorder>
</widget>
</item>
<item row="1" column="1">
@ -276,36 +245,50 @@
</layout>
</item>
<item>
<widget class="QLabel" name="TagLabel">
<property name="text">
<string>Tags</string>
</property>
</widget>
</item>
<item>
<widget class="TagWidget" name="tagWidget">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="verticalScrollBarPolicy">
<enum>Qt::ScrollBarAlwaysOff</enum>
</property>
<property name="horizontalScrollBarPolicy">
<enum>Qt::ScrollBarAlwaysOff</enum>
</property>
<property name="lineWrapMode">
<enum>QPlainTextEdit::NoWrap</enum>
</property>
</widget>
<layout class="QGridLayout" name="gridLayout_2">
<item row="1" column="1">
<widget class="QComboBox" name="DiveType"/>
</item>
<item row="0" column="0">
<widget class="QLabel" name="TagLabel">
<property name="text">
<string>Tags</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="TypeLabel">
<property name="text">
<string>Dive mode</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="TagWidget" name="tagWidget">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="verticalScrollBarPolicy">
<enum>Qt::ScrollBarAlwaysOff</enum>
</property>
<property name="horizontalScrollBarPolicy">
<enum>Qt::ScrollBarAlwaysOff</enum>
</property>
<property name="lineWrapMode">
<enum>QPlainTextEdit::NoWrap</enum>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QLabel" name="NotesLabel">
@ -400,8 +383,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>443</width>
<height>752</height>
<width>68</width>
<height>40</height>
</rect>
</property>
<layout class="QGridLayout" name="equipmentTabScrollAreaLayout">
@ -456,8 +439,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>443</width>
<height>752</height>
<width>441</width>
<height>363</height>
</rect>
</property>
<layout class="QGridLayout" name="diveInfoScrollAreaLayout">
@ -773,8 +756,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>443</width>
<height>752</height>
<width>446</width>
<height>215</height>
</rect>
</property>
<layout class="QGridLayout" name="statsScrollAreaLayout">
@ -1036,7 +1019,6 @@
<tabstop>rating</tabstop>
<tabstop>visibility</tabstop>
<tabstop>suit</tabstop>
<tabstop>tagWidget</tabstop>
<tabstop>notes</tabstop>
</tabstops>
<resources>

View file

@ -133,7 +133,10 @@ MainWindow::MainWindow() : QMainWindow(),
#ifdef NO_MARBLE
ui.menuView->removeAction(ui.actionViewGlobe);
#else
connect(globe(), SIGNAL(coordinatesChanged()), information(), SLOT(updateGpsCoordinates()));
// FIXME
// TODO
// we need this on the dive sites
//connect(globe(), SIGNAL(coordinatesChanged()), information(), SLOT(updateGpsCoordinates()));
#endif
#ifdef NO_USERMANUAL
ui.menuHelp->removeAction(ui.actionUserManual);

View file

@ -165,6 +165,7 @@ bool parseGpsText(const QString &gps_text, double *latitude, double *longitude)
pos == gps_text.size();
}
#if 0 // we'll need something like this for the dive site management, eventually
bool gpsHasChanged(struct dive *dive, struct dive *master, const QString &gps_text, bool *parsed_out)
{
double latitude, longitude;
@ -193,6 +194,7 @@ bool gpsHasChanged(struct dive *dive, struct dive *master, const QString &gps_te
dive->longitude.udeg = longudeg;
return true;
}
#endif
QList<int> getDivesInTrip(dive_trip_t *trip)
{