mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
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:
parent
616cb18b29
commit
4e95beabc2
6 changed files with 83 additions and 101 deletions
|
@ -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);
|
||||
|
|
|
@ -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, ¤t_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()
|
||||
{
|
||||
|
|
|
@ -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;
|
||||
|
|
130
qt-ui/maintab.ui
130
qt-ui/maintab.ui
|
@ -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>
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
Loading…
Add table
Reference in a new issue