diff options
author | Dirk Hohndel <dirk@hohndel.org> | 2013-10-04 11:12:11 -0700 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2013-10-04 11:12:11 -0700 |
commit | f63605e02e4656b60c6c095f4289dbffa293bc2d (patch) | |
tree | 93fd7eed42b5893226d75296b8ed1381134b7833 | |
parent | 9035e1b53cb97464662343012da47f9cb13a5124 (diff) | |
parent | 834800a1794f1ed92f447a2995767ce820473fed (diff) | |
download | subsurface-f63605e02e4656b60c6c095f4289dbffa293bc2d.tar.gz |
Merge branch 'bugfixes' of git://github.com/tcanabrava/subsurface
-rw-r--r-- | main.cpp | 5 | ||||
-rw-r--r-- | pref.h | 12 | ||||
-rw-r--r-- | prefs.c | 17 | ||||
-rw-r--r-- | qt-ui/divelistview.cpp | 11 | ||||
-rw-r--r-- | qt-ui/mainwindow.cpp | 54 | ||||
-rw-r--r-- | subsurfacestartup.c | 1 |
6 files changed, 43 insertions, 57 deletions
@@ -52,9 +52,10 @@ int main(int argc, char **argv) } } if (no_filenames) { - files.push_back( QString(prefs.default_filename) ); + QString defaultFile(prefs.default_filename); + if (!defaultFile.isEmpty()) + files.push_back( QString(prefs.default_filename) ); } - parse_xml_exit(); subsurface_command_line_exit(&argc, &argv); mainWindow()->loadFiles(files); @@ -7,17 +7,6 @@ extern "C" { /* can't use 'bool' for the boolean values - different size in C and C++ */ typedef struct { - short cylinder; - short temperature; - short totalweight; - short suit; - short nitrox; - short sac; - short otu; - short maxcns; -} visible_cols_t; - -typedef struct { short po2; short pn2; short phe; @@ -30,7 +19,6 @@ struct preferences { const char *divelist_font; const char *default_filename; double font_size; - visible_cols_t visible_cols; partial_pressure_graphs_t pp_graphs; short mod; double mod_ppO2; @@ -81,15 +81,6 @@ void save_preferences(void) SAVE_UNIT("fahrenheit", temperature, FAHRENHEIT); SAVE_UNIT("lbs", weight, LBS); - SAVE_BOOL("TEMPERATURE", visible_cols.temperature); - SAVE_BOOL("TOTALWEIGHT", visible_cols.totalweight); - SAVE_BOOL("SUIT", visible_cols.suit); - SAVE_BOOL("CYLINDER", visible_cols.cylinder); - SAVE_BOOL("NITROX", visible_cols.nitrox); - SAVE_BOOL("SAC", visible_cols.sac); - SAVE_BOOL("OTU", visible_cols.otu); - SAVE_BOOL("MAXCNS", visible_cols.maxcns); - SAVE_STRING("divelist_font", divelist_font); SAVE_BOOL("po2graph", pp_graphs.po2); @@ -144,14 +135,6 @@ void load_preferences(void) GET_UNIT("lbs", weight, KG, LBS); /* an unset key is 'default' */ - GET_BOOL("CYLINDER", visible_cols.cylinder); - GET_BOOL("TEMPERATURE", visible_cols.temperature); - GET_BOOL("TOTALWEIGHT", visible_cols.totalweight); - GET_BOOL("SUIT", visible_cols.suit); - GET_BOOL("NITROX", visible_cols.nitrox); - GET_BOOL("OTU", visible_cols.otu); - GET_BOOL("MAXCNS", visible_cols.maxcns); - GET_BOOL("SAC", visible_cols.sac); GET_BOOL("po2graph", pp_graphs.po2); GET_BOOL("pn2graph", pp_graphs.pn2); GET_BOOL("phegraph", pp_graphs.phe); diff --git a/qt-ui/divelistview.cpp b/qt-ui/divelistview.cpp index 0996130c4..6ed77fb19 100644 --- a/qt-ui/divelistview.cpp +++ b/qt-ui/divelistview.cpp @@ -192,7 +192,16 @@ void DiveListView::reloadHeaderActions() QString title = QString("%1").arg(model()->headerData(i, Qt::Horizontal).toString()); QString settingName = QString("showColumn%1").arg(i); QAction *a = new QAction(title, header()); - bool shown = s.value(settingName, true).toBool(); + bool showHeaderFirstRun = !( + i == DiveTripModel::MAXCNS + || i == DiveTripModel::NITROX + || i == DiveTripModel::OTU + || i == DiveTripModel::TEMPERATURE + || i == DiveTripModel::TOTALWEIGHT + || i == DiveTripModel::SUIT + || i == DiveTripModel::CYLINDER + || i == DiveTripModel::SAC ); + bool shown = s.value(settingName, showHeaderFirstRun).toBool(); a->setCheckable(true); a->setChecked(shown); a->setProperty("index", i); diff --git a/qt-ui/mainwindow.cpp b/qt-ui/mainwindow.cpp index 6beee5cf7..84b1bc50b 100644 --- a/qt-ui/mainwindow.cpp +++ b/qt-ui/mainwindow.cpp @@ -16,6 +16,7 @@ #include <QFontMetrics> #include <QWebView> #include <QTableView> +#include <QDesktopWidget> #include "divelistview.h" #include "starwidget.h" @@ -504,11 +505,30 @@ void MainWindow::initialUiSetup() int i; settings.beginGroup("MainWindow"); - QSize sz = settings.value("size").value<QSize>(); + QSize sz = settings.value("size", qApp->desktop()->size()).value<QSize>(); resize(sz); - ui.mainSplitter->restoreState(settings.value("mainSplitter").toByteArray()); - ui.infoProfileSplitter->restoreState(settings.value("infoProfileSplitter").toByteArray()); - ui.listGlobeSplitter->restoreState(settings.value("listGlobeSplitter").toByteArray()); + + if (settings.value("mainSplitter").isValid()){ + ui.mainSplitter->restoreState(settings.value("mainSplitter").toByteArray()); + ui.infoProfileSplitter->restoreState(settings.value("infoProfileSplitter").toByteArray()); + ui.listGlobeSplitter->restoreState(settings.value("listGlobeSplitter").toByteArray()); + } else { + QList<int> mainSizes; + mainSizes.append( qApp->desktop()->size().height() * 0.7 ); + mainSizes.append( qApp->desktop()->size().height() * 0.3 ); + ui.mainSplitter->setSizes( mainSizes ); + + QList<int> infoProfileSizes; + infoProfileSizes.append( qApp->desktop()->size().width() * 0.3 ); + infoProfileSizes.append( qApp->desktop()->size().width() * 0.7 ); + ui.infoProfileSplitter->setSizes(infoProfileSizes); + + QList<int> listGlobeSizes; + listGlobeSizes.append( qApp->desktop()->size().width() * 0.7 ); + listGlobeSizes.append( qApp->desktop()->size().width() * 0.3 ); + ui.listGlobeSplitter->setSizes(listGlobeSizes); + } + settings.endGroup(); settings.beginGroup("ListWidget"); @@ -550,16 +570,6 @@ void MainWindow::readSettings() } GET_UNIT("vertical_speed_time", vertical_speed_time, units::MINUTES, units::SECONDS); s.endGroup(); - s.beginGroup("DisplayListColumns"); - GET_BOOL("CYLINDER", visible_cols.cylinder); - GET_BOOL("TEMPERATURE", visible_cols.temperature); - GET_BOOL("TOTALWEIGHT", visible_cols.totalweight); - GET_BOOL("SUIT", visible_cols.suit); - GET_BOOL("NITROX", visible_cols.nitrox); - GET_BOOL("OTU", visible_cols.otu); - GET_BOOL("MAXCNS", visible_cols.maxcns); - GET_BOOL("SAC", visible_cols.sac); - s.endGroup(); s.beginGroup("TecDetails"); GET_BOOL("po2graph", pp_graphs.po2); GET_BOOL("pn2graph", pp_graphs.pn2); @@ -618,16 +628,6 @@ void MainWindow::writeSettings() SAVE_VALUE("weight", units.weight); SAVE_VALUE("vertical_speed_time", units.vertical_speed_time); settings.endGroup(); - settings.beginGroup("DisplayListColumns"); - SAVE_VALUE("TEMPERATURE", visible_cols.temperature); - SAVE_VALUE("TOTALWEIGHT", visible_cols.totalweight); - SAVE_VALUE("SUIT", visible_cols.suit); - SAVE_VALUE("CYLINDER", visible_cols.cylinder); - SAVE_VALUE("NITROX", visible_cols.nitrox); - SAVE_VALUE("SAC", visible_cols.sac); - SAVE_VALUE("OTU", visible_cols.otu); - SAVE_VALUE("MAXCNS", visible_cols.maxcns); - settings.endGroup(); settings.beginGroup("TecDetails"); SAVE_VALUE("po2graph", pp_graphs.po2); SAVE_VALUE("pn2graph", pp_graphs.pn2); @@ -751,6 +751,9 @@ void MainWindow::setTitle(enum MainWindowTitleFormat format) void MainWindow::importFiles(const QStringList fileNames) { + if (fileNames.isEmpty()) + return; + QByteArray fileNamePtr; char *error = NULL; for (int i = 0; i < fileNames.size(); ++i) { @@ -774,6 +777,9 @@ void MainWindow::importFiles(const QStringList fileNames) void MainWindow::loadFiles(const QStringList fileNames) { + if (fileNames.isEmpty()) + return; + char *error = NULL; QByteArray fileNamePtr; diff --git a/subsurfacestartup.c b/subsurfacestartup.c index 954840928..741606ee4 100644 --- a/subsurfacestartup.c +++ b/subsurfacestartup.c @@ -6,7 +6,6 @@ struct preferences prefs; struct preferences default_prefs = { .units = SI_UNITS, .unit_system = METRIC, - .visible_cols = { TRUE, FALSE, }, .pp_graphs = { .po2 = FALSE, .pn2 = FALSE, |