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 <tcanabrava@kde.org>
This commit is contained in:
Tomaz Canabrava 2013-05-21 23:07:19 -03:00
parent 37ada91000
commit 3fdea49e70
3 changed files with 12 additions and 3 deletions

View file

@ -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();
}

View file

@ -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());

View file

@ -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<QSize>();
@ -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());