From 3fdea49e706a147e4f714e5642993169f7a7e8dc Mon Sep 17 00:00:00 2001 From: Tomaz Canabrava Date: Tue, 21 May 2013 23:07:19 -0300 Subject: Fixed the hide / show columns using the settings. This also changed a bit the behavior on how the QSettings are managed, till now, we used the QSettings constructor passing the name of the software and the 'company', but this is now default - so there's no need to pass anything by the QSettings contructor. Signed-off-by: Tomaz Canabrava --- qt-gui.cpp | 3 +++ qt-ui/divelistview.cpp | 8 +++++++- qt-ui/mainwindow.cpp | 4 ++-- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/qt-gui.cpp b/qt-gui.cpp index dfc1df19d..3705c6040 100644 --- a/qt-gui.cpp +++ b/qt-gui.cpp @@ -61,6 +61,9 @@ const char *existing_filename; void init_qt_ui(int *argcp, char ***argvp) { application->installTranslator(new Translator(application)); + QCoreApplication::setOrganizationName("hohndel"); + QCoreApplication::setOrganizationDomain("hohndel.org"); + QCoreApplication::setApplicationName("Subsurface"); MainWindow *window = new MainWindow(); window->show(); } diff --git a/qt-ui/divelistview.cpp b/qt-ui/divelistview.cpp index 248a29634..9ee99394b 100644 --- a/qt-ui/divelistview.cpp +++ b/qt-ui/divelistview.cpp @@ -48,15 +48,20 @@ void DiveListView::reload() QSettings s; s.beginGroup("DiveListColumnState"); for(int i = 0; i < model()->columnCount(); i++){ - QString title = QString("show %1").arg( model()->headerData( i, Qt::Horizontal).toString()); + QString title = QString("show %1").arg(model()->headerData( i, Qt::Horizontal).toString()); QAction *a = new QAction(title, header()); a->setCheckable(true); a->setChecked( s.value(title, true).toBool()); a->setProperty("index", i); connect(a, SIGNAL(triggered(bool)), this, SLOT(hideColumnByIndex())); header()->addAction(a); + if (a->isChecked()) + showColumn(true); + else + hideColumn(false); } s.endGroup(); + s.sync(); } } @@ -70,6 +75,7 @@ void DiveListView::hideColumnByIndex() s.beginGroup("DiveListColumnState"); s.setValue(action->text(), action->isChecked()); s.endGroup(); + s.sync(); if (action->isChecked()) showColumn(action->property("index").toInt()); diff --git a/qt-ui/mainwindow.cpp b/qt-ui/mainwindow.cpp index 30629ce95..56b512a3a 100644 --- a/qt-ui/mainwindow.cpp +++ b/qt-ui/mainwindow.cpp @@ -323,7 +323,7 @@ void MainWindow::readSettings() { int i; QVariant v; - QSettings settings("hohndel.org","subsurface"); + QSettings settings; settings.beginGroup("MainWindow"); QSize sz = settings.value("size").value(); @@ -416,7 +416,7 @@ void MainWindow::readSettings() void MainWindow::writeSettings() { int i; - QSettings settings("hohndel.org","subsurface"); + QSettings settings; settings.beginGroup("MainWindow"); settings.setValue("size",size()); -- cgit v1.2.3-70-g09d2