summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Dirk Hohndel <dirk@hohndel.org>2013-10-04 11:12:11 -0700
committerGravatar Dirk Hohndel <dirk@hohndel.org>2013-10-04 11:12:11 -0700
commitf63605e02e4656b60c6c095f4289dbffa293bc2d (patch)
tree93fd7eed42b5893226d75296b8ed1381134b7833
parent9035e1b53cb97464662343012da47f9cb13a5124 (diff)
parent834800a1794f1ed92f447a2995767ce820473fed (diff)
downloadsubsurface-f63605e02e4656b60c6c095f4289dbffa293bc2d.tar.gz
Merge branch 'bugfixes' of git://github.com/tcanabrava/subsurface
-rw-r--r--main.cpp5
-rw-r--r--pref.h12
-rw-r--r--prefs.c17
-rw-r--r--qt-ui/divelistview.cpp11
-rw-r--r--qt-ui/mainwindow.cpp54
-rw-r--r--subsurfacestartup.c1
6 files changed, 43 insertions, 57 deletions
diff --git a/main.cpp b/main.cpp
index a6e39ec53..f12d293d6 100644
--- a/main.cpp
+++ b/main.cpp
@@ -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);
diff --git a/pref.h b/pref.h
index 8098c2799..8d181f20a 100644
--- a/pref.h
+++ b/pref.h
@@ -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;
diff --git a/prefs.c b/prefs.c
index d1073c88f..b2cbea751 100644
--- a/prefs.c
+++ b/prefs.c
@@ -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,