Compare commits
16 Commits
master
...
v4.0-branc
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
26349a94ab | ||
|
|
f2ba929839 | ||
|
|
3e2d757bb1 | ||
|
|
53326b4ec6 | ||
|
|
c4e43fda68 | ||
|
|
c127a6516d | ||
|
|
74568f0314 | ||
|
|
21655131c9 | ||
|
|
ba2b6fe3b8 | ||
|
|
749bc6023e | ||
|
|
42fad46ae3 | ||
|
|
f62f17ea7d | ||
|
|
dfddce5616 | ||
|
|
a1b9d353e8 | ||
|
|
8112f193bd | ||
|
|
4c98d0e1c7 |
@ -11,7 +11,7 @@
|
|||||||
<key>CFBundleSignature</key>
|
<key>CFBundleSignature</key>
|
||||||
<string>SBSF</string>
|
<string>SBSF</string>
|
||||||
<key>CFBundleExecutable</key>
|
<key>CFBundleExecutable</key>
|
||||||
<string>subsurface</string>
|
<string>Subsurface</string>
|
||||||
<key>CFBundleIdentifier</key>
|
<key>CFBundleIdentifier</key>
|
||||||
<string>org.hohndel.subsurface</string>
|
<string>org.hohndel.subsurface</string>
|
||||||
<key>CFBundleInfoDictionaryVersion</key>
|
<key>CFBundleInfoDictionaryVersion</key>
|
||||||
|
|||||||
@ -2,24 +2,51 @@
|
|||||||
# Hash is 3A8CE62A483083EDEA5581A61E770EC1FA8BECE8 but it doesn't seem to
|
# Hash is 3A8CE62A483083EDEA5581A61E770EC1FA8BECE8 but it doesn't seem to
|
||||||
# find the key by hash
|
# find the key by hash
|
||||||
|
|
||||||
|
echo -- copy over the Info.plist files
|
||||||
|
cp ~/Qt5.2.0/5.2.0/clang_64/lib/QtCore.framework/Contents/Info.plist staging/Subsurface.app/Contents/Frameworks/QtCore.framework/Resources/
|
||||||
|
cp ~/Qt5.2.0/5.2.0/clang_64/lib/QtGui.framework/Contents/Info.plist staging/Subsurface.app/Contents/Frameworks/QtGui.framework/Resources/
|
||||||
|
cp ~/Qt5.2.0/5.2.0/clang_64/lib/QtNetwork.framework/Contents/Info.plist staging/Subsurface.app/Contents/Frameworks/QtNetwork.framework/Resources/
|
||||||
|
cp ~/Qt5.2.0/5.2.0/clang_64/lib/QtScript.framework/Contents/Info.plist staging/Subsurface.app/Contents/Frameworks/QtScript.framework/Resources/
|
||||||
|
cp ~/Qt5.2.0/5.2.0/clang_64/lib/QtSql.framework/Contents/Info.plist staging/Subsurface.app/Contents/Frameworks/QtSql.framework/Resources/
|
||||||
|
cp ~/Qt5.2.0/5.2.0/clang_64/lib/QtSvg.framework/Contents/Info.plist staging/Subsurface.app/Contents/Frameworks/QtSvg.framework/Resources/
|
||||||
|
cp ~/Qt5.2.0/5.2.0/clang_64/lib/QtWebKit.framework/Contents/Info.plist staging/Subsurface.app/Contents/Frameworks/QtWebKit.framework/Resources/
|
||||||
|
cp ~/Qt5.2.0/5.2.0/clang_64/lib/QtMultimedia.framework/Contents/Info.plist staging/Subsurface.app/Contents/Frameworks/QtMultimedia.framework/Resources/
|
||||||
|
cp ~/Qt5.2.0/5.2.0/clang_64/lib/QtMultimediaWidgets.framework/Contents/Info.plist staging/Subsurface.app/Contents/Frameworks/QtMultimediaWidgets.framework/Resources/
|
||||||
|
cp ~/Qt5.2.0/5.2.0/clang_64/lib/QtOpenGL.framework/Contents/Info.plist staging/Subsurface.app/Contents/Frameworks/QtOpenGL.framework/Resources/
|
||||||
|
cp ~/Qt5.2.0/5.2.0/clang_64/lib/QtPositioning.framework/Contents/Info.plist staging/Subsurface.app/Contents/Frameworks/QtPositioning.framework/Resources/
|
||||||
|
cp ~/Qt5.2.0/5.2.0/clang_64/lib/QtPrintSupport.framework/Contents/Info.plist staging/Subsurface.app/Contents/Frameworks/QtPrintSupport.framework/Resources/
|
||||||
|
cp ~/Qt5.2.0/5.2.0/clang_64/lib/QtQml.framework/Contents/Info.plist staging/Subsurface.app/Contents/Frameworks/QtQml.framework/Resources/
|
||||||
|
cp ~/Qt5.2.0/5.2.0/clang_64/lib/QtQuick.framework/Contents/Info.plist staging/Subsurface.app/Contents/Frameworks/QtQuick.framework/Resources/
|
||||||
|
cp ~/Qt5.2.0/5.2.0/clang_64/lib/QtSensors.framework/Contents/Info.plist staging/Subsurface.app/Contents/Frameworks/QtSensors.framework/Resources/
|
||||||
|
cp ~/Qt5.2.0/5.2.0/clang_64/lib/QtWebKitWidgets.framework/Contents/Info.plist staging/Subsurface.app/Contents/Frameworks/QtWebKitWidgets.framework/Resources/
|
||||||
|
cp ~/Qt5.2.0/5.2.0/clang_64/lib/QtWidgets.framework/Contents/Info.plist staging/Subsurface.app/Contents/Frameworks/QtWidgets.framework/Resources/
|
||||||
|
cp ~/Qt5.2.0/5.2.0/clang_64/lib/QtXml.framework/Contents/Info.plist staging/Subsurface.app/Contents/Frameworks/QtXml.framework/Resources/
|
||||||
|
|
||||||
echo -- signing staging/Subsurface.app
|
echo -- signing staging/Subsurface.app
|
||||||
cd staging
|
|
||||||
|
|
||||||
echo -- signing Qt frameworks
|
echo -- signing Qt frameworks
|
||||||
|
codesign --verbose --force -s G2PU7Q4ELP staging/Subsurface.app/Contents/Frameworks/QtCore.framework/
|
||||||
codesign --keychain /Users/hohndel/Library/Keychains/login.keychain -s Dirk ./Subsurface.app//Contents/Frameworks/QtCore.framework/Versions/4/QtCore
|
codesign --verbose --force -s G2PU7Q4ELP staging/Subsurface.app/Contents/Frameworks/QtGui.framework/
|
||||||
codesign --keychain /Users/hohndel/Library/Keychains/login.keychain -s Dirk ./Subsurface.app//Contents/Frameworks/QtDeclarative.framework/Versions/4/QtDeclarative
|
codesign --verbose --force -s G2PU7Q4ELP staging/Subsurface.app/Contents/Frameworks/QtNetwork.framework/
|
||||||
codesign --keychain /Users/hohndel/Library/Keychains/login.keychain -s Dirk ./Subsurface.app//Contents/Frameworks/QtGui.framework/Versions/4/QtGui
|
codesign --verbose --force -s G2PU7Q4ELP staging/Subsurface.app/Contents/Frameworks/QtScript.framework/
|
||||||
codesign --keychain /Users/hohndel/Library/Keychains/login.keychain -s Dirk ./Subsurface.app//Contents/Frameworks/QtNetwork.framework/Versions/4/QtNetwork
|
codesign --verbose --force -s G2PU7Q4ELP staging/Subsurface.app/Contents/Frameworks/QtSql.framework/
|
||||||
codesign --keychain /Users/hohndel/Library/Keychains/login.keychain -s Dirk ./Subsurface.app//Contents/Frameworks/QtScript.framework/Versions/4/QtScript
|
codesign --verbose --force -s G2PU7Q4ELP staging/Subsurface.app/Contents/Frameworks/QtSvg.framework/
|
||||||
codesign --keychain /Users/hohndel/Library/Keychains/login.keychain -s Dirk ./Subsurface.app//Contents/Frameworks/QtSql.framework/Versions/4/QtSql
|
codesign --verbose --force -s G2PU7Q4ELP staging/Subsurface.app/Contents/Frameworks/QtWebKit.framework/
|
||||||
codesign --keychain /Users/hohndel/Library/Keychains/login.keychain -s Dirk ./Subsurface.app//Contents/Frameworks/QtSvg.framework/Versions/4/QtSvg
|
codesign --verbose --force -s G2PU7Q4ELP staging/Subsurface.app/Contents/Frameworks/QtMultimedia.framework/
|
||||||
codesign --keychain /Users/hohndel/Library/Keychains/login.keychain -s Dirk ./Subsurface.app//Contents/Frameworks/QtWebKit.framework/Versions/4/QtWebkit
|
codesign --verbose --force -s G2PU7Q4ELP staging/Subsurface.app/Contents/Frameworks/QtMultimediaWidgets.framework/
|
||||||
codesign --keychain /Users/hohndel/Library/Keychains/login.keychain -s Dirk ./Subsurface.app//Contents/Frameworks/QtXml.framework/Versions/4/QtXml
|
codesign --verbose --force -s G2PU7Q4ELP staging/Subsurface.app/Contents/Frameworks/QtOpenGL.framework/
|
||||||
codesign --keychain /Users/hohndel/Library/Keychains/login.keychain -s Dirk ./Subsurface.app//Contents/Frameworks/QtXmlPatterns.framework/Versions/4/QtXmlPatterns
|
codesign --verbose --force -s G2PU7Q4ELP staging/Subsurface.app/Contents/Frameworks/QtPositioning.framework/
|
||||||
|
codesign --verbose --force -s G2PU7Q4ELP staging/Subsurface.app/Contents/Frameworks/QtPrintSupport.framework/
|
||||||
|
codesign --verbose --force -s G2PU7Q4ELP staging/Subsurface.app/Contents/Frameworks/QtQml.framework/
|
||||||
|
codesign --verbose --force -s G2PU7Q4ELP staging/Subsurface.app/Contents/Frameworks/QtQuick.framework/
|
||||||
|
codesign --verbose --force -s G2PU7Q4ELP staging/Subsurface.app/Contents/Frameworks/QtSensors.framework/
|
||||||
|
codesign --verbose --force -s G2PU7Q4ELP staging/Subsurface.app/Contents/Frameworks/QtWebKitWidgets.framework/
|
||||||
|
codesign --verbose --force -s G2PU7Q4ELP staging/Subsurface.app/Contents/Frameworks/QtWidgets.framework/
|
||||||
|
codesign --verbose --force -s G2PU7Q4ELP staging/Subsurface.app/Contents/Frameworks/QtXml.framework/
|
||||||
|
|
||||||
echo -- signing plugins
|
echo -- signing plugins
|
||||||
find ./Subsurface.app/Contents/PlugIns -name \*.dylib | xargs codesign --keychain /Users/hohndel/Library/Keychains/login.keychain -s Dirk
|
find staging/Subsurface.app/Contents -name \*.dylib | xargs codesign --verbose --force -s G2PU7Q4ELP
|
||||||
|
|
||||||
echo -- finally sign .app
|
echo -- finally sign .app
|
||||||
codesign --keychain /Users/hohndel/Library/Keychains/login.keychain -s Dirk ./Subsurface.app
|
codesign --verbose --force -s G2PU7Q4ELP -v staging/Subsurface.app/Contents/MacOS/Subsurface
|
||||||
|
codesign --verbose --force -s G2PU7Q4ELP -v staging/Subsurface.app
|
||||||
|
|||||||
@ -60,7 +60,7 @@ void CSVImportDialog::on_buttonBox_accepted()
|
|||||||
free(error);
|
free(error);
|
||||||
error = NULL;
|
error = NULL;
|
||||||
}
|
}
|
||||||
process_dives(TRUE, FALSE);
|
process_dives(true, false);
|
||||||
|
|
||||||
mainWindow()->refreshDisplay();
|
mainWindow()->refreshDisplay();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -319,7 +319,11 @@ void DiveListView::reload(DiveTripModel::Layout layout, bool forceSort)
|
|||||||
layout = currentLayout;
|
layout = currentLayout;
|
||||||
else
|
else
|
||||||
currentLayout = layout;
|
currentLayout = layout;
|
||||||
|
#if QT_VERSION < QT_VERSION_CHECK(5,0,0)
|
||||||
header()->setClickable(true);
|
header()->setClickable(true);
|
||||||
|
#else
|
||||||
|
header()->setSectionsClickable(true);
|
||||||
|
#endif
|
||||||
connect(header(), SIGNAL(sectionPressed(int)), this, SLOT(headerClicked(int)), Qt::UniqueConnection);
|
connect(header(), SIGNAL(sectionPressed(int)), this, SLOT(headerClicked(int)), Qt::UniqueConnection);
|
||||||
|
|
||||||
QSortFilterProxyModel *m = qobject_cast<QSortFilterProxyModel*>(model());
|
QSortFilterProxyModel *m = qobject_cast<QSortFilterProxyModel*>(model());
|
||||||
@ -529,7 +533,7 @@ void DiveListView::merge_trip(const QModelIndex &a, int offset)
|
|||||||
reload(currentLayout, false);
|
reload(currentLayout, false);
|
||||||
fixMessyQtModelBehaviour();
|
fixMessyQtModelBehaviour();
|
||||||
restoreSelection();
|
restoreSelection();
|
||||||
mark_divelist_changed(TRUE);
|
mark_divelist_changed(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DiveListView::mergeTripAbove()
|
void DiveListView::mergeTripAbove()
|
||||||
@ -548,13 +552,13 @@ void DiveListView::removeFromTrip()
|
|||||||
struct dive *d;
|
struct dive *d;
|
||||||
for_each_dive(i, d) {
|
for_each_dive(i, d) {
|
||||||
if (d->selected)
|
if (d->selected)
|
||||||
remove_dive_from_trip(d, FALSE);
|
remove_dive_from_trip(d, false);
|
||||||
}
|
}
|
||||||
rememberSelection();
|
rememberSelection();
|
||||||
reload(currentLayout, false);
|
reload(currentLayout, false);
|
||||||
fixMessyQtModelBehaviour();
|
fixMessyQtModelBehaviour();
|
||||||
restoreSelection();
|
restoreSelection();
|
||||||
mark_divelist_changed(TRUE);
|
mark_divelist_changed(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DiveListView::newTripAbove()
|
void DiveListView::newTripAbove()
|
||||||
@ -573,7 +577,7 @@ void DiveListView::newTripAbove()
|
|||||||
trip->expanded = 1;
|
trip->expanded = 1;
|
||||||
reload(currentLayout, false);
|
reload(currentLayout, false);
|
||||||
fixMessyQtModelBehaviour();
|
fixMessyQtModelBehaviour();
|
||||||
mark_divelist_changed(TRUE);
|
mark_divelist_changed(true);
|
||||||
restoreSelection();
|
restoreSelection();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -616,7 +620,7 @@ void DiveListView::addToTripAbove()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
trip->expanded = 1;
|
trip->expanded = 1;
|
||||||
mark_divelist_changed(TRUE);
|
mark_divelist_changed(true);
|
||||||
reload(currentLayout, false);
|
reload(currentLayout, false);
|
||||||
restoreSelection();
|
restoreSelection();
|
||||||
fixMessyQtModelBehaviour();
|
fixMessyQtModelBehaviour();
|
||||||
@ -637,9 +641,9 @@ void DiveListView::markDiveInvalid()
|
|||||||
if (amount_selected == 0) {
|
if (amount_selected == 0) {
|
||||||
mainWindow()->cleanUpEmpty();
|
mainWindow()->cleanUpEmpty();
|
||||||
}
|
}
|
||||||
mark_divelist_changed(TRUE);
|
mark_divelist_changed(true);
|
||||||
mainWindow()->refreshDisplay();
|
mainWindow()->refreshDisplay();
|
||||||
if(prefs.display_invalid_dives == FALSE) {
|
if(prefs.display_invalid_dives == false) {
|
||||||
clearSelection();
|
clearSelection();
|
||||||
// select top dive that isn't marked invalid
|
// select top dive that isn't marked invalid
|
||||||
rememberSelection();
|
rememberSelection();
|
||||||
@ -668,7 +672,7 @@ void DiveListView::deleteDive()
|
|||||||
if (amount_selected == 0) {
|
if (amount_selected == 0) {
|
||||||
mainWindow()->cleanUpEmpty();
|
mainWindow()->cleanUpEmpty();
|
||||||
}
|
}
|
||||||
mark_divelist_changed(TRUE);
|
mark_divelist_changed(true);
|
||||||
mainWindow()->refreshDisplay();
|
mainWindow()->refreshDisplay();
|
||||||
if(lastDiveNr != -1){
|
if(lastDiveNr != -1){
|
||||||
clearSelection();
|
clearSelection();
|
||||||
@ -766,7 +770,7 @@ void DiveListView::saveSelectedDivesAs()
|
|||||||
settings.endGroup();
|
settings.endGroup();
|
||||||
|
|
||||||
QByteArray bt = QFile::encodeName(fileName);
|
QByteArray bt = QFile::encodeName(fileName);
|
||||||
save_dives_logic(bt.data(), TRUE);
|
save_dives_logic(bt.data(), true);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DiveListView::exportSelectedDivesAsUDDF()
|
void DiveListView::exportSelectedDivesAsUDDF()
|
||||||
|
|||||||
@ -1490,7 +1490,7 @@ void DivePlannerPointsModel::createPlan()
|
|||||||
cyl->end.mbar = cyl->start.mbar - consumption;
|
cyl->end.mbar = cyl->start.mbar - consumption;
|
||||||
}
|
}
|
||||||
|
|
||||||
mark_divelist_changed(TRUE);
|
mark_divelist_changed(true);
|
||||||
|
|
||||||
// Remove and clean the diveplan, so we don't delete
|
// Remove and clean the diveplan, so we don't delete
|
||||||
// the dive by mistake.
|
// the dive by mistake.
|
||||||
|
|||||||
@ -77,6 +77,7 @@ DownloadFromDCWidget::DownloadFromDCWidget(QWidget* parent, Qt::WindowFlags f) :
|
|||||||
timer->setInterval(200);
|
timer->setInterval(200);
|
||||||
connect(timer, SIGNAL(timeout()), this, SLOT(updateProgressBar()));
|
connect(timer, SIGNAL(timeout()), this, SLOT(updateProgressBar()));
|
||||||
updateState(INITIAL);
|
updateState(INITIAL);
|
||||||
|
memset(&data, 0, sizeof(data));
|
||||||
}
|
}
|
||||||
|
|
||||||
void DownloadFromDCWidget::runDialog()
|
void DownloadFromDCWidget::runDialog()
|
||||||
@ -348,7 +349,7 @@ void DownloadFromDCWidget::onDownloadThreadFinished()
|
|||||||
for (int i = dive_table.nr - 1; i >= previousLast; i--)
|
for (int i = dive_table.nr - 1; i >= previousLast; i--)
|
||||||
delete_single_dive(i);
|
delete_single_dive(i);
|
||||||
} else {
|
} else {
|
||||||
process_dives(TRUE, preferDownloaded());
|
process_dives(true, preferDownloaded());
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
updateState(CANCELLED);
|
updateState(CANCELLED);
|
||||||
|
|||||||
@ -266,7 +266,7 @@ void GlobeGPS::changeDiveGeoPosition(qreal lon, qreal lat, GeoDataCoordinates::U
|
|||||||
}
|
}
|
||||||
centerOn(lon, lat, true);
|
centerOn(lon, lat, true);
|
||||||
editingDiveLocation = false;
|
editingDiveLocation = false;
|
||||||
mark_divelist_changed(TRUE);
|
mark_divelist_changed(true);
|
||||||
mainWindow()->refreshDisplay();
|
mainWindow()->refreshDisplay();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -30,7 +30,7 @@
|
|||||||
#ifndef __GROUPEDLINEEDIT_H__
|
#ifndef __GROUPEDLINEEDIT_H__
|
||||||
#define __GROUPEDLINEEDIT_H__
|
#define __GROUPEDLINEEDIT_H__
|
||||||
|
|
||||||
#include <QtGui/QPlainTextEdit>
|
#include <QPlainTextEdit>
|
||||||
#include <QStringList>
|
#include <QStringList>
|
||||||
|
|
||||||
class GroupedLineEdit : public QPlainTextEdit
|
class GroupedLineEdit : public QPlainTextEdit
|
||||||
|
|||||||
@ -358,7 +358,7 @@ void MainTab::clearStats()
|
|||||||
if (!d || d->field.mkelvin == 0) \
|
if (!d || d->field.mkelvin == 0) \
|
||||||
ui.field->setText(""); \
|
ui.field->setText(""); \
|
||||||
else \
|
else \
|
||||||
ui.field->setText(get_temperature_string(d->field, TRUE))
|
ui.field->setText(get_temperature_string(d->field, true))
|
||||||
|
|
||||||
bool MainTab::isEditing()
|
bool MainTab::isEditing()
|
||||||
{
|
{
|
||||||
@ -461,29 +461,29 @@ void MainTab::updateDiveInfo(int dive)
|
|||||||
taglist_get_tagstring(d->tag_list, buf, 1024);
|
taglist_get_tagstring(d->tag_list, buf, 1024);
|
||||||
ui.tagWidget->setText(QString(buf));
|
ui.tagWidget->setText(QString(buf));
|
||||||
}
|
}
|
||||||
ui.maximumDepthText->setText(get_depth_string(d->maxdepth, TRUE));
|
ui.maximumDepthText->setText(get_depth_string(d->maxdepth, true));
|
||||||
ui.averageDepthText->setText(get_depth_string(d->meandepth, TRUE));
|
ui.averageDepthText->setText(get_depth_string(d->meandepth, true));
|
||||||
ui.otuText->setText(QString("%1").arg(d->otu));
|
ui.otuText->setText(QString("%1").arg(d->otu));
|
||||||
ui.waterTemperatureText->setText(get_temperature_string(d->watertemp, TRUE));
|
ui.waterTemperatureText->setText(get_temperature_string(d->watertemp, true));
|
||||||
ui.airTemperatureText->setText(get_temperature_string(d->airtemp, TRUE));
|
ui.airTemperatureText->setText(get_temperature_string(d->airtemp, true));
|
||||||
volume_t gases[MAX_CYLINDERS] = {};
|
volume_t gases[MAX_CYLINDERS] = {};
|
||||||
get_gas_used(d, gases);
|
get_gas_used(d, gases);
|
||||||
QString volumes = get_volume_string(gases[0], TRUE);
|
QString volumes = get_volume_string(gases[0], true);
|
||||||
int mean[MAX_CYLINDERS], duration[MAX_CYLINDERS];
|
int mean[MAX_CYLINDERS], duration[MAX_CYLINDERS];
|
||||||
per_cylinder_mean_depth(d, select_dc(&d->dc), mean, duration);
|
per_cylinder_mean_depth(d, select_dc(&d->dc), mean, duration);
|
||||||
volume_t sac;
|
volume_t sac;
|
||||||
QString SACs;
|
QString SACs;
|
||||||
if (mean[0] && duration[0]) {
|
if (mean[0] && duration[0]) {
|
||||||
sac.mliter = gases[0].mliter * 1000.0 / (depth_to_mbar(mean[0], d) * duration[0] / 60.0);
|
sac.mliter = gases[0].mliter * 1000.0 / (depth_to_mbar(mean[0], d) * duration[0] / 60.0);
|
||||||
SACs = get_volume_string(sac, TRUE).append(tr("/min"));
|
SACs = get_volume_string(sac, true).append(tr("/min"));
|
||||||
} else {
|
} else {
|
||||||
SACs = QString(tr("unknown"));
|
SACs = QString(tr("unknown"));
|
||||||
}
|
}
|
||||||
for(int i=1; i < MAX_CYLINDERS && gases[i].mliter != 0; i++) {
|
for(int i=1; i < MAX_CYLINDERS && gases[i].mliter != 0; i++) {
|
||||||
volumes.append("\n" + get_volume_string(gases[i], TRUE));
|
volumes.append("\n" + get_volume_string(gases[i], true));
|
||||||
if (duration[i]) {
|
if (duration[i]) {
|
||||||
sac.mliter = gases[i].mliter * 1000.0 / (depth_to_mbar(mean[i], d) * duration[i] / 60);
|
sac.mliter = gases[i].mliter * 1000.0 / (depth_to_mbar(mean[i], d) * duration[i] / 60);
|
||||||
SACs.append("\n" + get_volume_string(sac, TRUE).append(tr("/min")));
|
SACs.append("\n" + get_volume_string(sac, true).append(tr("/min")));
|
||||||
} else {
|
} else {
|
||||||
SACs.append("\n");
|
SACs.append("\n");
|
||||||
}
|
}
|
||||||
@ -509,17 +509,17 @@ void MainTab::updateDiveInfo(int dive)
|
|||||||
ui.salinityText->setText(QString("%1g/l").arg(d->salinity/10.0));
|
ui.salinityText->setText(QString("%1g/l").arg(d->salinity/10.0));
|
||||||
else
|
else
|
||||||
ui.salinityText->clear();
|
ui.salinityText->clear();
|
||||||
ui.depthLimits->setMaximum(get_depth_string(stats_selection.max_depth, TRUE));
|
ui.depthLimits->setMaximum(get_depth_string(stats_selection.max_depth, true));
|
||||||
ui.depthLimits->setMinimum(get_depth_string(stats_selection.min_depth, TRUE));
|
ui.depthLimits->setMinimum(get_depth_string(stats_selection.min_depth, true));
|
||||||
ui.depthLimits->setAverage(get_depth_string(stats_selection.avg_depth, TRUE));
|
ui.depthLimits->setAverage(get_depth_string(stats_selection.avg_depth, true));
|
||||||
ui.sacLimits->setMaximum(get_volume_string(stats_selection.max_sac, TRUE).append(tr("/min")));
|
ui.sacLimits->setMaximum(get_volume_string(stats_selection.max_sac, true).append(tr("/min")));
|
||||||
ui.sacLimits->setMinimum(get_volume_string(stats_selection.min_sac, TRUE).append(tr("/min")));
|
ui.sacLimits->setMinimum(get_volume_string(stats_selection.min_sac, true).append(tr("/min")));
|
||||||
ui.sacLimits->setAverage(get_volume_string(stats_selection.avg_sac, TRUE).append(tr("/min")));
|
ui.sacLimits->setAverage(get_volume_string(stats_selection.avg_sac, true).append(tr("/min")));
|
||||||
ui.divesAllText->setText(QString::number(stats_selection.selection_size));
|
ui.divesAllText->setText(QString::number(stats_selection.selection_size));
|
||||||
temp.mkelvin = stats_selection.max_temp;
|
temp.mkelvin = stats_selection.max_temp;
|
||||||
ui.tempLimits->setMaximum(get_temperature_string(temp, TRUE));
|
ui.tempLimits->setMaximum(get_temperature_string(temp, true));
|
||||||
temp.mkelvin = stats_selection.min_temp;
|
temp.mkelvin = stats_selection.min_temp;
|
||||||
ui.tempLimits->setMinimum(get_temperature_string(temp, TRUE));
|
ui.tempLimits->setMinimum(get_temperature_string(temp, true));
|
||||||
if (stats_selection.combined_temp && stats_selection.combined_count) {
|
if (stats_selection.combined_temp && stats_selection.combined_count) {
|
||||||
const char *unit;
|
const char *unit;
|
||||||
get_temp_units(0, &unit);
|
get_temp_units(0, &unit);
|
||||||
@ -580,7 +580,7 @@ void MainTab::acceptChanges()
|
|||||||
if (mainWindow() && mainWindow()->dive_list()->selectedTrips().count() == 1) {
|
if (mainWindow() && mainWindow()->dive_list()->selectedTrips().count() == 1) {
|
||||||
if (notesBackup[NULL].notes != ui.notes->toPlainText() ||
|
if (notesBackup[NULL].notes != ui.notes->toPlainText() ||
|
||||||
notesBackup[NULL].location != ui.location->text())
|
notesBackup[NULL].location != ui.location->text())
|
||||||
mark_divelist_changed(TRUE);
|
mark_divelist_changed(true);
|
||||||
} else {
|
} else {
|
||||||
struct dive *curr = current_dive;
|
struct dive *curr = current_dive;
|
||||||
//Reset coordinates field, in case it contains garbage.
|
//Reset coordinates field, in case it contains garbage.
|
||||||
@ -597,7 +597,7 @@ void MainTab::acceptChanges()
|
|||||||
notesBackup[curr].datetime != ui.dateTimeEdit->dateTime().toString() ||
|
notesBackup[curr].datetime != ui.dateTimeEdit->dateTime().toString() ||
|
||||||
notesBackup[curr].visibility != ui.rating->currentStars() ||
|
notesBackup[curr].visibility != ui.rating->currentStars() ||
|
||||||
notesBackup[curr].tags != ui.tagWidget->text()) {
|
notesBackup[curr].tags != ui.tagWidget->text()) {
|
||||||
mark_divelist_changed(TRUE);
|
mark_divelist_changed(true);
|
||||||
}
|
}
|
||||||
if (notesBackup[curr].location != ui.location->text() ||
|
if (notesBackup[curr].location != ui.location->text() ||
|
||||||
notesBackup[curr].coordinates != ui.coordinates->text()) {
|
notesBackup[curr].coordinates != ui.coordinates->text()) {
|
||||||
@ -609,7 +609,7 @@ void MainTab::acceptChanges()
|
|||||||
if (editMode == MANUALLY_ADDED_DIVE) {
|
if (editMode == MANUALLY_ADDED_DIVE) {
|
||||||
DivePlannerPointsModel::instance()->copyCylinders(curr);
|
DivePlannerPointsModel::instance()->copyCylinders(curr);
|
||||||
} else if (editMode != ADD && cylindersModel->changed) {
|
} else if (editMode != ADD && cylindersModel->changed) {
|
||||||
mark_divelist_changed(TRUE);
|
mark_divelist_changed(true);
|
||||||
Q_FOREACH (dive *d, notesBackup.keys()) {
|
Q_FOREACH (dive *d, notesBackup.keys()) {
|
||||||
for (int i = 0; i < MAX_CYLINDERS; i++) {
|
for (int i = 0; i < MAX_CYLINDERS; i++) {
|
||||||
if (notesBackup.keys().count() > 1)
|
if (notesBackup.keys().count() > 1)
|
||||||
@ -622,7 +622,7 @@ void MainTab::acceptChanges()
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (weightModel->changed) {
|
if (weightModel->changed) {
|
||||||
mark_divelist_changed(TRUE);
|
mark_divelist_changed(true);
|
||||||
Q_FOREACH (dive *d, notesBackup.keys()) {
|
Q_FOREACH (dive *d, notesBackup.keys()) {
|
||||||
for (int i = 0; i < MAX_WEIGHTSYSTEMS; i++) {
|
for (int i = 0; i < MAX_WEIGHTSYSTEMS; i++) {
|
||||||
d->weightsystem[i] = multiEditEquipmentPlaceholder.weightsystem[i];
|
d->weightsystem[i] = multiEditEquipmentPlaceholder.weightsystem[i];
|
||||||
@ -644,7 +644,7 @@ void MainTab::acceptChanges()
|
|||||||
current_dive->number = get_dive(dive_table.nr - 2)->number + 1;
|
current_dive->number = get_dive(dive_table.nr - 2)->number + 1;
|
||||||
DivePlannerPointsModel::instance()->cancelPlan();
|
DivePlannerPointsModel::instance()->cancelPlan();
|
||||||
mainWindow()->showProfile();
|
mainWindow()->showProfile();
|
||||||
mark_divelist_changed(TRUE);
|
mark_divelist_changed(true);
|
||||||
DivePlannerPointsModel::instance()->setPlanMode(DivePlannerPointsModel::NOTHING);
|
DivePlannerPointsModel::instance()->setPlanMode(DivePlannerPointsModel::NOTHING);
|
||||||
}
|
}
|
||||||
// each dive that was selected might have had the temperatures in its active divecomputer changed
|
// each dive that was selected might have had the temperatures in its active divecomputer changed
|
||||||
@ -872,7 +872,7 @@ void MainTab::saveTags()
|
|||||||
QString tag;
|
QString tag;
|
||||||
taglist_clear(mydive->tag_list);
|
taglist_clear(mydive->tag_list);
|
||||||
foreach (tag, ui.tagWidget->getBlockStringList())
|
foreach (tag, ui.tagWidget->getBlockStringList())
|
||||||
taglist_add_tag(mydive->tag_list, tag.toAscii().data());
|
taglist_add_tag(mydive->tag_list, tag.toUtf8().data());
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -149,7 +149,7 @@ void MainWindow::on_actionClose_triggered()
|
|||||||
QMessageBox::warning(this, tr("Warning"), tr("Please save or cancel the current dive edit before closing the file."));
|
QMessageBox::warning(this, tr("Warning"), tr("Please save or cancel the current dive edit before closing the file."));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (unsaved_changes() && (askSaveChanges() == FALSE))
|
if (unsaved_changes() && (askSaveChanges() == false))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
/* free the dives and trips */
|
/* free the dives and trips */
|
||||||
@ -162,7 +162,7 @@ void MainWindow::on_actionClose_triggered()
|
|||||||
|
|
||||||
existing_filename = NULL;
|
existing_filename = NULL;
|
||||||
cleanUpEmpty();
|
cleanUpEmpty();
|
||||||
mark_divelist_changed(FALSE);
|
mark_divelist_changed(false);
|
||||||
|
|
||||||
clear_events();
|
clear_events();
|
||||||
}
|
}
|
||||||
@ -255,7 +255,7 @@ void MainWindow::on_actionQuit_triggered()
|
|||||||
QMessageBox::warning(this, tr("Warning"), tr("Please save or cancel the current dive edit before closing the file."));
|
QMessageBox::warning(this, tr("Warning"), tr("Please save or cancel the current dive edit before closing the file."));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (unsaved_changes() && (askSaveChanges() == FALSE))
|
if (unsaved_changes() && (askSaveChanges() == false))
|
||||||
return;
|
return;
|
||||||
writeSettings();
|
writeSettings();
|
||||||
QApplication::quit();
|
QApplication::quit();
|
||||||
@ -573,7 +573,7 @@ bool MainWindow::askSaveChanges()
|
|||||||
#define GET_BOOL(name, field) \
|
#define GET_BOOL(name, field) \
|
||||||
v = s.value(QString(name)); \
|
v = s.value(QString(name)); \
|
||||||
if (v.isValid()) \
|
if (v.isValid()) \
|
||||||
prefs.field = v.toInt() ? TRUE : FALSE; \
|
prefs.field = v.toInt() ? true : false; \
|
||||||
else \
|
else \
|
||||||
prefs.field = default_prefs.field
|
prefs.field = default_prefs.field
|
||||||
|
|
||||||
@ -716,7 +716,7 @@ void MainWindow::closeEvent(QCloseEvent *event)
|
|||||||
helpView->deleteLater();
|
helpView->deleteLater();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (unsaved_changes() && (askSaveChanges() == FALSE)) {
|
if (unsaved_changes() && (askSaveChanges() == false)) {
|
||||||
event->ignore();
|
event->ignore();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -761,9 +761,9 @@ void MainWindow::file_save_as(void)
|
|||||||
ui.InfoWidget->acceptChanges();
|
ui.InfoWidget->acceptChanges();
|
||||||
|
|
||||||
save_dives(filename.toUtf8().data());
|
save_dives(filename.toUtf8().data());
|
||||||
set_filename(filename.toUtf8().data(), TRUE);
|
set_filename(filename.toUtf8().data(), true);
|
||||||
setTitle(MWTF_FILENAME);
|
setTitle(MWTF_FILENAME);
|
||||||
mark_divelist_changed(FALSE);
|
mark_divelist_changed(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -786,7 +786,7 @@ void MainWindow::file_save(void)
|
|||||||
current_def_dir.mkpath(current_def_dir.absolutePath());
|
current_def_dir.mkpath(current_def_dir.absolutePath());
|
||||||
}
|
}
|
||||||
save_dives(existing_filename);
|
save_dives(existing_filename);
|
||||||
mark_divelist_changed(FALSE);
|
mark_divelist_changed(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::showError(QString message)
|
void MainWindow::showError(QString message)
|
||||||
@ -834,7 +834,7 @@ void MainWindow::importFiles(const QStringList fileNames)
|
|||||||
error = NULL;
|
error = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
process_dives(TRUE, FALSE);
|
process_dives(true, false);
|
||||||
refreshDisplay();
|
refreshDisplay();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -849,7 +849,7 @@ void MainWindow::loadFiles(const QStringList fileNames)
|
|||||||
for (int i = 0; i < fileNames.size(); ++i) {
|
for (int i = 0; i < fileNames.size(); ++i) {
|
||||||
fileNamePtr = QFile::encodeName(fileNames.at(i));
|
fileNamePtr = QFile::encodeName(fileNames.at(i));
|
||||||
parse_file(fileNamePtr.data(), &error);
|
parse_file(fileNamePtr.data(), &error);
|
||||||
set_filename(fileNamePtr.data(), TRUE);
|
set_filename(fileNamePtr.data(), true);
|
||||||
setTitle(MWTF_FILENAME);
|
setTitle(MWTF_FILENAME);
|
||||||
|
|
||||||
if (error != NULL) {
|
if (error != NULL) {
|
||||||
@ -858,7 +858,7 @@ void MainWindow::loadFiles(const QStringList fileNames)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
process_dives(FALSE, FALSE);
|
process_dives(false, false);
|
||||||
|
|
||||||
refreshDisplay();
|
refreshDisplay();
|
||||||
ui.actionAutoGroup->setChecked(autogroup);
|
ui.actionAutoGroup->setChecked(autogroup);
|
||||||
@ -868,7 +868,7 @@ void MainWindow::on_actionImportCSV_triggered()
|
|||||||
{
|
{
|
||||||
CSVImportDialog *csvImport = new CSVImportDialog();
|
CSVImportDialog *csvImport = new CSVImportDialog();
|
||||||
csvImport->show();
|
csvImport->show();
|
||||||
process_dives(TRUE, FALSE);
|
process_dives(true, false);
|
||||||
refreshDisplay();
|
refreshDisplay();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -13,7 +13,9 @@
|
|||||||
|
|
||||||
// -> does not appear to be needed #include "marble_export.h"
|
// -> does not appear to be needed #include "marble_export.h"
|
||||||
|
|
||||||
#include <QtCore/QAbstractItemModel>
|
#include <QAbstractItemModel>
|
||||||
|
|
||||||
|
class QItemSelectionModel;
|
||||||
|
|
||||||
namespace Marble
|
namespace Marble
|
||||||
{
|
{
|
||||||
@ -70,7 +72,9 @@ class MARBLE_EXPORT GeoDataTreeModel : public QAbstractItemModel
|
|||||||
|
|
||||||
bool setData ( const QModelIndex & index, const QVariant & value, int role = Qt::EditRole );
|
bool setData ( const QModelIndex & index, const QVariant & value, int role = Qt::EditRole );
|
||||||
|
|
||||||
void reset() { QAbstractItemModel::reset(); }
|
void reset();
|
||||||
|
|
||||||
|
QItemSelectionModel *selectionModel();
|
||||||
|
|
||||||
public Q_SLOTS:
|
public Q_SLOTS:
|
||||||
|
|
||||||
@ -82,11 +86,11 @@ public Q_SLOTS:
|
|||||||
void setRootDocument( GeoDataDocument *document );
|
void setRootDocument( GeoDataDocument *document );
|
||||||
GeoDataDocument* rootDocument();
|
GeoDataDocument* rootDocument();
|
||||||
|
|
||||||
int addFeature( GeoDataContainer *parent, GeoDataFeature *feature );
|
int addFeature( GeoDataContainer *parent, GeoDataFeature *feature, int row = -1 );
|
||||||
|
|
||||||
bool removeFeature( GeoDataContainer *parent, int index );
|
bool removeFeature( GeoDataContainer *parent, int index );
|
||||||
|
|
||||||
bool removeFeature( GeoDataFeature *feature );
|
int removeFeature( const GeoDataFeature *feature );
|
||||||
|
|
||||||
void updateFeature( GeoDataFeature *feature );
|
void updateFeature( GeoDataFeature *feature );
|
||||||
|
|
||||||
|
|||||||
@ -112,23 +112,23 @@ QVariant CylindersModel::data(const QModelIndex& index, int role) const
|
|||||||
break;
|
break;
|
||||||
case SIZE:
|
case SIZE:
|
||||||
if (cyl->type.size.mliter)
|
if (cyl->type.size.mliter)
|
||||||
ret = get_volume_string(cyl->type.size, TRUE, cyl->type.workingpressure.mbar);
|
ret = get_volume_string(cyl->type.size, true, cyl->type.workingpressure.mbar);
|
||||||
break;
|
break;
|
||||||
case WORKINGPRESS:
|
case WORKINGPRESS:
|
||||||
if (cyl->type.workingpressure.mbar)
|
if (cyl->type.workingpressure.mbar)
|
||||||
ret = get_pressure_string(cyl->type.workingpressure, TRUE);
|
ret = get_pressure_string(cyl->type.workingpressure, true);
|
||||||
break;
|
break;
|
||||||
case START:
|
case START:
|
||||||
if (cyl->start.mbar)
|
if (cyl->start.mbar)
|
||||||
ret = get_pressure_string(cyl->start, TRUE);
|
ret = get_pressure_string(cyl->start, true);
|
||||||
else if (cyl->sample_start.mbar)
|
else if (cyl->sample_start.mbar)
|
||||||
ret = get_pressure_string(cyl->sample_start, TRUE);
|
ret = get_pressure_string(cyl->sample_start, true);
|
||||||
break;
|
break;
|
||||||
case END:
|
case END:
|
||||||
if (cyl->end.mbar)
|
if (cyl->end.mbar)
|
||||||
ret = get_pressure_string(cyl->end, TRUE);
|
ret = get_pressure_string(cyl->end, true);
|
||||||
else if (cyl->sample_end.mbar)
|
else if (cyl->sample_end.mbar)
|
||||||
ret = get_pressure_string(cyl->sample_end, TRUE);
|
ret = get_pressure_string(cyl->sample_end, true);
|
||||||
break;
|
break;
|
||||||
case O2:
|
case O2:
|
||||||
ret = percent_string(cyl->gasmix.o2);
|
ret = percent_string(cyl->gasmix.o2);
|
||||||
@ -137,7 +137,7 @@ QVariant CylindersModel::data(const QModelIndex& index, int role) const
|
|||||||
ret = percent_string(cyl->gasmix.he);
|
ret = percent_string(cyl->gasmix.he);
|
||||||
break;
|
break;
|
||||||
case DEPTH:
|
case DEPTH:
|
||||||
ret = get_depth_string(cyl->depth, TRUE);
|
ret = get_depth_string(cyl->depth, true);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -211,7 +211,7 @@ bool CylindersModel::setData(const QModelIndex& index, const QVariant& value, in
|
|||||||
QModelIndexList matches = tanks->match(tanks->index(0,0), Qt::DisplayRole, cyl->type.description);
|
QModelIndexList matches = tanks->match(tanks->index(0,0), Qt::DisplayRole, cyl->type.description);
|
||||||
|
|
||||||
cyl->type.size = string_to_volume(vString.toUtf8().data(), cyl->type.workingpressure);
|
cyl->type.size = string_to_volume(vString.toUtf8().data(), cyl->type.workingpressure);
|
||||||
mark_divelist_changed(TRUE);
|
mark_divelist_changed(true);
|
||||||
if (!matches.isEmpty())
|
if (!matches.isEmpty())
|
||||||
tanks->setData(tanks->index(matches.first().row(), TankInfoModel::ML), cyl->type.size.mliter);
|
tanks->setData(tanks->index(matches.first().row(), TankInfoModel::ML), cyl->type.size.mliter);
|
||||||
changed = true;
|
changed = true;
|
||||||
@ -393,7 +393,7 @@ QVariant WeightModel::data(const QModelIndex& index, int role) const
|
|||||||
ret = gettextFromC::instance()->tr(ws->description);
|
ret = gettextFromC::instance()->tr(ws->description);
|
||||||
break;
|
break;
|
||||||
case WEIGHT:
|
case WEIGHT:
|
||||||
ret = get_weight_string(ws->weight, TRUE);
|
ret = get_weight_string(ws->weight, true);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -646,7 +646,7 @@ bool WSInfoModel::setData(const QModelIndex& index, const QVariant& value, int r
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
emit dataChanged(index, index);
|
emit dataChanged(index, index);
|
||||||
return TRUE;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void WSInfoModel::clear()
|
void WSInfoModel::clear()
|
||||||
@ -775,7 +775,7 @@ bool TankInfoModel::setData(const QModelIndex& index, const QVariant& value, int
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
emit dataChanged(index, index);
|
emit dataChanged(index, index);
|
||||||
return TRUE;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void TankInfoModel::clear()
|
void TankInfoModel::clear()
|
||||||
@ -1100,7 +1100,7 @@ bool DiveItem::setData(const QModelIndex& index, const QVariant& value, int role
|
|||||||
}
|
}
|
||||||
|
|
||||||
dive->number = value.toInt();
|
dive->number = value.toInt();
|
||||||
mark_divelist_changed(TRUE);
|
mark_divelist_changed(true);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1381,7 +1381,7 @@ void DiveComputerModel::dropWorkingList()
|
|||||||
void DiveComputerModel::keepWorkingList()
|
void DiveComputerModel::keepWorkingList()
|
||||||
{
|
{
|
||||||
if (dcList.dcMap != dcWorkingMap)
|
if (dcList.dcMap != dcWorkingMap)
|
||||||
mark_divelist_changed(TRUE);
|
mark_divelist_changed(true);
|
||||||
dcList.dcMap = dcWorkingMap;
|
dcList.dcMap = dcWorkingMap;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1511,7 +1511,7 @@ void YearlyStatisticsModel::update_yearly_stats()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (stats_by_trip != NULL && stats_by_trip[0].is_trip == TRUE) {
|
if (stats_by_trip != NULL && stats_by_trip[0].is_trip == true) {
|
||||||
YearStatisticsItem *item = new YearStatisticsItem(stats_by_trip[0]);
|
YearStatisticsItem *item = new YearStatisticsItem(stats_by_trip[0]);
|
||||||
for (i = 1; stats_by_trip != NULL && stats_by_trip[i].is_trip; ++i) {
|
for (i = 1; stats_by_trip != NULL && stats_by_trip[i].is_trip; ++i) {
|
||||||
YearStatisticsItem *iChild = new YearStatisticsItem(stats_by_trip[i]);
|
YearStatisticsItem *iChild = new YearStatisticsItem(stats_by_trip[i]);
|
||||||
@ -1558,7 +1558,8 @@ void TablePrintModel::insertRow(int index)
|
|||||||
|
|
||||||
void TablePrintModel::callReset()
|
void TablePrintModel::callReset()
|
||||||
{
|
{
|
||||||
reset();
|
beginResetModel();
|
||||||
|
endResetModel();
|
||||||
}
|
}
|
||||||
|
|
||||||
QVariant TablePrintModel::data(const QModelIndex &index, int role) const
|
QVariant TablePrintModel::data(const QModelIndex &index, int role) const
|
||||||
|
|||||||
@ -219,9 +219,14 @@ QTableView *PrintLayout::createProfileTable(ProfilePrintModel *model, const int
|
|||||||
table->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
|
table->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
|
||||||
table->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
|
table->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
|
||||||
hHeader->setVisible(false);
|
hHeader->setVisible(false);
|
||||||
hHeader->setResizeMode(QHeaderView::Fixed);
|
|
||||||
vHeader->setVisible(false);
|
vHeader->setVisible(false);
|
||||||
|
#if QT_VERSION < QT_VERSION_CHECK(5,0,0)
|
||||||
|
hHeader->setResizeMode(QHeaderView::Fixed);
|
||||||
vHeader->setResizeMode(QHeaderView::Fixed);
|
vHeader->setResizeMode(QHeaderView::Fixed);
|
||||||
|
#else
|
||||||
|
hHeader->setSectionResizeMode(QHeaderView::Fixed);
|
||||||
|
vHeader->setSectionResizeMode(QHeaderView::Fixed);
|
||||||
|
#endif
|
||||||
// set the model
|
// set the model
|
||||||
table->setModel(model);
|
table->setModel(model);
|
||||||
|
|
||||||
@ -284,9 +289,14 @@ void PrintLayout::printTable()
|
|||||||
table.setSelectionMode(QAbstractItemView::NoSelection);
|
table.setSelectionMode(QAbstractItemView::NoSelection);
|
||||||
table.setFocusPolicy(Qt::NoFocus);
|
table.setFocusPolicy(Qt::NoFocus);
|
||||||
table.horizontalHeader()->setVisible(false);
|
table.horizontalHeader()->setVisible(false);
|
||||||
table.horizontalHeader()->setResizeMode(QHeaderView::Fixed);
|
|
||||||
table.verticalHeader()->setVisible(false);
|
table.verticalHeader()->setVisible(false);
|
||||||
|
#if QT_VERSION < QT_VERSION_CHECK(5,0,0)
|
||||||
|
table.horizontalHeader()->setResizeMode(QHeaderView::Fixed);
|
||||||
table.verticalHeader()->setResizeMode(QHeaderView::ResizeToContents);
|
table.verticalHeader()->setResizeMode(QHeaderView::ResizeToContents);
|
||||||
|
#else
|
||||||
|
table.horizontalHeader()->setSectionResizeMode(QHeaderView::Fixed);
|
||||||
|
table.verticalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents);
|
||||||
|
#endif
|
||||||
table.setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
|
table.setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
|
||||||
table.setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
|
table.setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
|
||||||
// fit table to one page initially
|
// fit table to one page initially
|
||||||
|
|||||||
@ -183,8 +183,8 @@ void ProfileGraphicsView::addBookmark()
|
|||||||
QPointF scenePos = mapToScene(viewPos);
|
QPointF scenePos = mapToScene(viewPos);
|
||||||
int seconds = scenePos.x() / gc.maxx * (gc.rightx - gc.leftx) + gc.leftx;
|
int seconds = scenePos.x() / gc.maxx * (gc.rightx - gc.leftx) + gc.leftx;
|
||||||
add_event(current_dc, seconds, SAMPLE_EVENT_BOOKMARK, 0, 0, "bookmark");
|
add_event(current_dc, seconds, SAMPLE_EVENT_BOOKMARK, 0, 0, "bookmark");
|
||||||
mark_divelist_changed(TRUE);
|
mark_divelist_changed(true);
|
||||||
plot(current_dive, TRUE);
|
plot(current_dive, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ProfileGraphicsView::changeGas()
|
void ProfileGraphicsView::changeGas()
|
||||||
@ -198,8 +198,8 @@ void ProfileGraphicsView::changeGas()
|
|||||||
validate_gas(gas.toUtf8().constData(), &o2, &he);
|
validate_gas(gas.toUtf8().constData(), &o2, &he);
|
||||||
int seconds = scenePos.x() / gc.maxx * (gc.rightx - gc.leftx) + gc.leftx;
|
int seconds = scenePos.x() / gc.maxx * (gc.rightx - gc.leftx) + gc.leftx;
|
||||||
add_gas_switch_event(current_dive, current_dc, seconds, get_gasidx(current_dive, o2, he));
|
add_gas_switch_event(current_dive, current_dc, seconds, get_gasidx(current_dive, o2, he));
|
||||||
mark_divelist_changed(TRUE);
|
mark_divelist_changed(true);
|
||||||
plot(current_dive, TRUE);
|
plot(current_dive, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ProfileGraphicsView::hideEvents()
|
void ProfileGraphicsView::hideEvents()
|
||||||
@ -220,7 +220,7 @@ void ProfileGraphicsView::hideEvents()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
plot(current_dive, TRUE);
|
plot(current_dive, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -229,7 +229,7 @@ void ProfileGraphicsView::unhideEvents()
|
|||||||
for (int i = 0; i < evn_used; i++) {
|
for (int i = 0; i < evn_used; i++) {
|
||||||
ev_namelist[i].plot_ev = true;
|
ev_namelist[i].plot_ev = true;
|
||||||
}
|
}
|
||||||
plot(current_dive, TRUE);
|
plot(current_dive, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ProfileGraphicsView::removeEvent()
|
void ProfileGraphicsView::removeEvent()
|
||||||
@ -251,8 +251,8 @@ void ProfileGraphicsView::removeEvent()
|
|||||||
*ep = event->next;
|
*ep = event->next;
|
||||||
free(event);
|
free(event);
|
||||||
}
|
}
|
||||||
mark_divelist_changed(TRUE);
|
mark_divelist_changed(true);
|
||||||
plot(current_dive, TRUE);
|
plot(current_dive, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -348,7 +348,7 @@ void ProfileGraphicsView::clear()
|
|||||||
void ProfileGraphicsView::refresh()
|
void ProfileGraphicsView::refresh()
|
||||||
{
|
{
|
||||||
clear();
|
clear();
|
||||||
plot(current_dive, TRUE);
|
plot(current_dive, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ProfileGraphicsView::setPrintMode(bool mode, bool grayscale)
|
void ProfileGraphicsView::setPrintMode(bool mode, bool grayscale)
|
||||||
@ -715,7 +715,7 @@ void ProfileGraphicsView::plot_cylinder_pressure_text()
|
|||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
int mbar, cyl;
|
int mbar, cyl;
|
||||||
int seen_cyl[MAX_CYLINDERS] = { FALSE, };
|
int seen_cyl[MAX_CYLINDERS] = { false, };
|
||||||
int last_pressure[MAX_CYLINDERS] = { 0, };
|
int last_pressure[MAX_CYLINDERS] = { 0, };
|
||||||
int last_time[MAX_CYLINDERS] = { 0, };
|
int last_time[MAX_CYLINDERS] = { 0, };
|
||||||
struct plot_data *entry;
|
struct plot_data *entry;
|
||||||
@ -738,7 +738,7 @@ void ProfileGraphicsView::plot_cylinder_pressure_text()
|
|||||||
plot_gas_value(mbar, entry->sec, LEFT, TOP,
|
plot_gas_value(mbar, entry->sec, LEFT, TOP,
|
||||||
get_o2(&dive->cylinder[cyl].gasmix),
|
get_o2(&dive->cylinder[cyl].gasmix),
|
||||||
get_he(&dive->cylinder[cyl].gasmix));
|
get_he(&dive->cylinder[cyl].gasmix));
|
||||||
seen_cyl[cyl] = TRUE;
|
seen_cyl[cyl] = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
last_pressure[cyl] = mbar;
|
last_pressure[cyl] = mbar;
|
||||||
@ -882,8 +882,8 @@ void ProfileGraphicsView::plot_cylinder_pressure()
|
|||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
int last_index = -1;
|
int last_index = -1;
|
||||||
int lift_pen = FALSE;
|
int lift_pen = false;
|
||||||
int first_plot = TRUE;
|
int first_plot = true;
|
||||||
|
|
||||||
if (!get_cylinder_pressure_range(&gc))
|
if (!get_cylinder_pressure_range(&gc))
|
||||||
return;
|
return;
|
||||||
@ -895,10 +895,10 @@ void ProfileGraphicsView::plot_cylinder_pressure()
|
|||||||
|
|
||||||
mbar = GET_PRESSURE(entry);
|
mbar = GET_PRESSURE(entry);
|
||||||
if (entry->cylinderindex != last_index) {
|
if (entry->cylinderindex != last_index) {
|
||||||
lift_pen = TRUE;
|
lift_pen = true;
|
||||||
}
|
}
|
||||||
if (!mbar) {
|
if (!mbar) {
|
||||||
lift_pen = TRUE;
|
lift_pen = true;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -917,10 +917,10 @@ void ProfileGraphicsView::plot_cylinder_pressure()
|
|||||||
item->setPen(pen);
|
item->setPen(pen);
|
||||||
scene()->addItem(item);
|
scene()->addItem(item);
|
||||||
} else {
|
} else {
|
||||||
first_plot = FALSE;
|
first_plot = false;
|
||||||
from = QPointF(SCALEGC(entry->sec, mbar));
|
from = QPointF(SCALEGC(entry->sec, mbar));
|
||||||
}
|
}
|
||||||
lift_pen = FALSE;
|
lift_pen = false;
|
||||||
} else {
|
} else {
|
||||||
to = QPointF(SCALEGC(entry->sec, mbar));
|
to = QPointF(SCALEGC(entry->sec, mbar));
|
||||||
QGraphicsLineItem *item = new QGraphicsLineItem(from.x(), from.y(), to.x(), to.y());
|
QGraphicsLineItem *item = new QGraphicsLineItem(from.x(), from.y(), to.x(), to.y());
|
||||||
|
|||||||
@ -100,7 +100,7 @@ private:
|
|||||||
class EventItem : public QGraphicsPixmapItem
|
class EventItem : public QGraphicsPixmapItem
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
explicit EventItem(struct event *ev, QGraphicsItem* parent = 0, bool grayscale = FALSE);
|
explicit EventItem(struct event *ev, QGraphicsItem* parent = 0, bool grayscale = false);
|
||||||
struct event* ev;
|
struct event* ev;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
@ -131,10 +131,10 @@ public:
|
|||||||
enum Mode{DIVE, PLAN};
|
enum Mode{DIVE, PLAN};
|
||||||
|
|
||||||
ProfileGraphicsView(QWidget* parent = 0);
|
ProfileGraphicsView(QWidget* parent = 0);
|
||||||
void plot(struct dive *d, bool forceRedraw = FALSE);
|
void plot(struct dive *d, bool forceRedraw = false);
|
||||||
bool eventFilter(QObject* obj, QEvent* event);
|
bool eventFilter(QObject* obj, QEvent* event);
|
||||||
void clear();
|
void clear();
|
||||||
void setPrintMode(bool mode, bool grayscale = FALSE);
|
void setPrintMode(bool mode, bool grayscale = false);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void resizeEvent(QResizeEvent *event);
|
void resizeEvent(QResizeEvent *event);
|
||||||
|
|||||||
@ -142,7 +142,7 @@ void ShiftTimesDialog::buttonClicked(QAbstractButton* button)
|
|||||||
// DANGER, DANGER - this could get our dive_table unsorted...
|
// DANGER, DANGER - this could get our dive_table unsorted...
|
||||||
shift_times(amount);
|
shift_times(amount);
|
||||||
sort_table(&dive_table);
|
sort_table(&dive_table);
|
||||||
mark_divelist_changed(TRUE);
|
mark_divelist_changed(true);
|
||||||
mainWindow()->dive_list()->rememberSelection();
|
mainWindow()->dive_list()->rememberSelection();
|
||||||
mainWindow()->refreshDisplay();
|
mainWindow()->refreshDisplay();
|
||||||
mainWindow()->dive_list()->restoreSelection();
|
mainWindow()->dive_list()->restoreSelection();
|
||||||
|
|||||||
@ -22,6 +22,10 @@
|
|||||||
# include <unistd.h> // for dup(2)
|
# include <unistd.h> // for dup(2)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if QT_VERSION >= QT_VERSION_CHECK(5,0,0)
|
||||||
|
# include <QUrlQuery>
|
||||||
|
#endif
|
||||||
|
|
||||||
struct dive_table gps_location_table;
|
struct dive_table gps_location_table;
|
||||||
static bool merge_locations_into_dives(void);
|
static bool merge_locations_into_dives(void);
|
||||||
|
|
||||||
@ -30,8 +34,8 @@ static bool is_automatic_fix(struct dive *gpsfix)
|
|||||||
if (gpsfix && gpsfix->location &&
|
if (gpsfix && gpsfix->location &&
|
||||||
(!strcmp(gpsfix->location, "automatic fix") ||
|
(!strcmp(gpsfix->location, "automatic fix") ||
|
||||||
!strcmp(gpsfix->location, "Auto-created dive")))
|
!strcmp(gpsfix->location, "Auto-created dive")))
|
||||||
return TRUE;
|
return true;
|
||||||
return FALSE;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
#define SAME_GROUP 6 * 3600 // six hours
|
#define SAME_GROUP 6 * 3600 // six hours
|
||||||
@ -332,7 +336,7 @@ void SubsurfaceWebServices::buttonClicked(QAbstractButton* button)
|
|||||||
|
|
||||||
/* now merge the data in the gps_location table into the dive_table */
|
/* now merge the data in the gps_location table into the dive_table */
|
||||||
if (merge_locations_into_dives()) {
|
if (merge_locations_into_dives()) {
|
||||||
mark_divelist_changed(TRUE);
|
mark_divelist_changed(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* store last entered uid in config */
|
/* store last entered uid in config */
|
||||||
@ -363,7 +367,13 @@ void SubsurfaceWebServices::buttonClicked(QAbstractButton* button)
|
|||||||
void SubsurfaceWebServices::startDownload()
|
void SubsurfaceWebServices::startDownload()
|
||||||
{
|
{
|
||||||
QUrl url("http://api.hohndel.org/api/dive/get/");
|
QUrl url("http://api.hohndel.org/api/dive/get/");
|
||||||
|
#if QT_VERSION < QT_VERSION_CHECK(5,0,0)
|
||||||
url.addQueryItem("login", ui.userID->text().toUpper());
|
url.addQueryItem("login", ui.userID->text().toUpper());
|
||||||
|
#else
|
||||||
|
QUrlQuery query;
|
||||||
|
query.addQueryItem("login", ui.userID->text().toUpper());
|
||||||
|
url.setQuery(query);
|
||||||
|
#endif
|
||||||
|
|
||||||
QNetworkRequest request;
|
QNetworkRequest request;
|
||||||
request.setUrl(url);
|
request.setUrl(url);
|
||||||
@ -674,7 +684,7 @@ void DivelogsDeWebServices::startDownload()
|
|||||||
body.addQueryItem("user", ui.userID->text());
|
body.addQueryItem("user", ui.userID->text());
|
||||||
body.addQueryItem("pass", ui.password->text());
|
body.addQueryItem("pass", ui.password->text());
|
||||||
|
|
||||||
reply = manager()->post(request, body.query(QUrl::FullyEncoded).toLatin1())
|
reply = manager()->post(request, body.query(QUrl::FullyEncoded).toLatin1());
|
||||||
#endif
|
#endif
|
||||||
connect(reply, SIGNAL(finished()), this, SLOT(listDownloadFinished()));
|
connect(reply, SIGNAL(finished()), this, SLOT(listDownloadFinished()));
|
||||||
connect(reply, SIGNAL(error(QNetworkReply::NetworkError)),
|
connect(reply, SIGNAL(error(QNetworkReply::NetworkError)),
|
||||||
@ -720,7 +730,7 @@ void DivelogsDeWebServices::listDownloadFinished()
|
|||||||
body.addQueryItem("pass", ui.password->text());
|
body.addQueryItem("pass", ui.password->text());
|
||||||
body.addQueryItem("ids", diveList.idList);
|
body.addQueryItem("ids", diveList.idList);
|
||||||
|
|
||||||
reply = manager()->post(request, body.query(QUrl::FullyEncoded).toLatin1())
|
reply = manager()->post(request, body.query(QUrl::FullyEncoded).toLatin1());
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
connect(reply, SIGNAL(readyRead()), this, SLOT(saveToZipFile()));
|
connect(reply, SIGNAL(readyRead()), this, SLOT(saveToZipFile()));
|
||||||
@ -847,7 +857,7 @@ void DivelogsDeWebServices::buttonClicked(QAbstractButton* button)
|
|||||||
mainWindow()->showError(error);
|
mainWindow()->showError(error);
|
||||||
free(error);
|
free(error);
|
||||||
}
|
}
|
||||||
process_dives(TRUE, FALSE);
|
process_dives(true, false);
|
||||||
mainWindow()->refreshDisplay();
|
mainWindow()->refreshDisplay();
|
||||||
|
|
||||||
/* store last entered user/pass in config */
|
/* store last entered user/pass in config */
|
||||||
|
|||||||
@ -111,7 +111,7 @@ link_pkgconfig {
|
|||||||
|
|
||||||
QMAKE_CFLAGS *= $$XML2_CFLAGS $$XSLT_CFLAGS
|
QMAKE_CFLAGS *= $$XML2_CFLAGS $$XSLT_CFLAGS
|
||||||
QMAKE_CXXFLAGS *= $$XML2_CFLAGS $$XSLT_CFLAGS
|
QMAKE_CXXFLAGS *= $$XML2_CFLAGS $$XSLT_CFLAGS
|
||||||
LIBS *= $$XML2_LIBS $$XSLT_LIBS
|
LIBS *= $$XSLT_LIBS $$XML2_LIBS
|
||||||
|
|
||||||
#
|
#
|
||||||
# Find other pkg-config-based projects
|
# Find other pkg-config-based projects
|
||||||
|
|||||||
@ -13,7 +13,7 @@ exists(.git/HEAD): {
|
|||||||
PRODVERSION_STRING = $$system("sh scripts/get-version win $$FULL_VERSION || $${VERSION}.0.0")
|
PRODVERSION_STRING = $$system("sh scripts/get-version win $$FULL_VERSION || $${VERSION}.0.0")
|
||||||
VERSION_STRING = $$system("sh scripts/get-version linux $$FULL_VERSION || $${VERSION}")
|
VERSION_STRING = $$system("sh scripts/get-version linux $$FULL_VERSION || $${VERSION}")
|
||||||
version_h.depends = $$VERSION_SCRIPT $$PWD/.git/$$system("$$SET_GIT_DIR=$$PWD/.git git rev-parse --symbolic-full-name HEAD")
|
version_h.depends = $$VERSION_SCRIPT $$PWD/.git/$$system("$$SET_GIT_DIR=$$PWD/.git git rev-parse --symbolic-full-name HEAD")
|
||||||
version_h.commands = echo \\$${LITERAL_HASH}define VERSION_STRING \\\"`GIT_DIR=$$PWD/.git $$VERSION_SCRIPT $$VER_OS`\\\" > ${QMAKE_FILE_OUT}
|
version_h.commands = echo \\$${LITERAL_HASH}define VERSION_STRING \\\"`GIT_DIR=$$PWD/.git $$VERSION_SCRIPT linux`\\\" > ${QMAKE_FILE_OUT}
|
||||||
version_h.input = GIT_HEAD
|
version_h.input = GIT_HEAD
|
||||||
version_h.output = $$VERSION_FILE
|
version_h.output = $$VERSION_FILE
|
||||||
version_h.variable_out = GENERATED_FILES
|
version_h.variable_out = GENERATED_FILES
|
||||||
|
|||||||
@ -2,13 +2,17 @@ marbledir.files = $$MARBLEDIR
|
|||||||
doc.files = $$DOC_FILES
|
doc.files = $$DOC_FILES
|
||||||
translation.files = $$replace(TRANSLATIONS, .ts, .qm)
|
translation.files = $$replace(TRANSLATIONS, .ts, .qm)
|
||||||
exists($$[QT_INSTALL_TRANSLATIONS]) {
|
exists($$[QT_INSTALL_TRANSLATIONS]) {
|
||||||
qt_translation_dir = $$[QT_INSTALL_TRANSLATIONS]/
|
qt_translation_dir = $$[QT_INSTALL_TRANSLATIONS]
|
||||||
} else: exists(/usr/share/qt4/translations) {
|
} else: exists(/usr/share/qt4/translations) {
|
||||||
# On some cross-compilation environments, the translations are either missing or not
|
# On some cross-compilation environments, the translations are either missing or not
|
||||||
# where they're expected to be. In such cases, try copying from the system.
|
# where they're expected to be. In such cases, try copying from the system.
|
||||||
qt_translation_dir = /usr/share/qt4/translations
|
qt_translation_dir = /usr/share/qt4/translations
|
||||||
}
|
}
|
||||||
qttranslation.files = $$join(QTTRANSLATIONS," "$$qt_translation_dir/,$$qt_translation_dir/)
|
|
||||||
|
# Prepend the Qt translation dir so we can actually find the files
|
||||||
|
qttranslation.files =
|
||||||
|
for(translation, QTTRANSLATIONS): \
|
||||||
|
qttranslation.files += $${qt_translation_dir}/$$translation
|
||||||
|
|
||||||
nltab = $$escape_expand(\\n\\t)
|
nltab = $$escape_expand(\\n\\t)
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,11 @@
|
|||||||
include(subsurface-configure.pri)
|
include(subsurface-configure.pri)
|
||||||
|
|
||||||
QT = core gui network webkit svg
|
QT = core gui network svg
|
||||||
|
lessThan(QT_MAJOR_VERSION, 5) {
|
||||||
|
QT += webkit
|
||||||
|
} else {
|
||||||
|
QT += webkitwidgets
|
||||||
|
}
|
||||||
INCLUDEPATH += qt-ui $$PWD
|
INCLUDEPATH += qt-ui $$PWD
|
||||||
|
|
||||||
mac: TARGET = Subsurface
|
mac: TARGET = Subsurface
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user