void Settings::loadConfig( bool dialogRejected ) { settings.beginGroup( "General" ); ui.refreshCombo->setCurrentIndex( settings.value( "refresh-index", 3 ).toInt() ); int lang = ui.languageCombo->findData( settings.value( "language", QLocale::system().name() ).toString() ); if ( lang == -1 ) lang = 0; ui.languageCombo->setCurrentIndex( lang ); ui.confirmDeletionBox->setChecked( settings.value( "confirmTweetDeletion", true ).toBool() ); ui.notificationsBox->setChecked( settings.value( "notifications", true ).toBool() ); settings.endGroup(); settings.beginGroup( "Network" ); settings.beginGroup( "Proxy" ); ui.proxyBox->setChecked( settings.value( "enabled", false ).toBool() ); ui.hostEdit->setText( settings.value( "host" ).toString() ); ui.portEdit->setText( settings.value( "port" ).toString() ); settings.endGroup(); settings.beginGroup( "updates" ); ui.updatesCheckBox->setChecked( settings.value( "check", true ).toBool() ); ui.lastChecked->setText( settings.value( "last", tr( "never" ) ).toString() ); settings.endGroup(); #ifdef Q_WS_X11 useCustomBrowserCheckBox->setChecked( settings.value( "customBrowser", Qt::Unchecked ).toBool() ); selectBrowserEdit->setText( settings.value( "browser" ).toString() ); #endif settings.endGroup(); settings.beginGroup( "Appearance" ); ui.statusCountBox->setValue( settings.value( "tweet count", 20 ).toInt() ); ui.colorBox->setCurrentIndex( settings.value( "color scheme", 2 ).toInt() ); int displayMode = settings.value( "display-mode", 0 ).toInt(); switch (displayMode) { case StatusModel::DisplayNames: ui.displayNamesButton->setChecked( true ); break; case StatusModel::DisplayNicks: ui.displayNicksButton->setChecked( true ); break; case StatusModel::DisplayBoth: ui.displayBothButton->setChecked( true ); break; } int trayIcon = settings.value( "tray-icon", 0 ).toInt(); switch (trayIcon) { case MainWindow::VisibleAlways: ui.trayIconAlwaysVisible->setChecked( true ); break; case MainWindow::VisibleWhenMinimized: ui.trayIconVisibleWhenMinimized->setChecked( true ); break; default:; } int closeButton = settings.value( "close-button", 0 ).toInt(); switch (closeButton) { case MainWindow::CloseButtonHidesApp: ui.radioHide->setChecked(true); break; case MainWindow::CloseButtonClosesApp: ui.radioClose->setChecked(true); break; default:; } settings.endGroup(); ui.hostEdit->setEnabled( (bool) ui.proxyBox->checkState() ); ui.portEdit->setEnabled( (bool) ui.proxyBox->checkState() ); if ( !dialogRejected ) { settings.beginGroup( "MainWindow" ); if ( QTwitterApp::mainWindow() ) { QPoint offset( settings.value( "pos", QPoint(500,200) ).toPoint() ); if ( QApplication::desktop()->width() < offset.x() + settings.value( "size" ).toSize().width() ) { offset.setX( QApplication::desktop()->width() - settings.value( "size" ).toSize().width() ); } if ( QApplication::desktop()->height() < offset.y() + settings.value( "size" ).toSize().height() ) { offset.setY( QApplication::desktop()->height() - settings.value( "size" ).toSize().height() ); } QTwitterApp::mainWindow()->resize( settings.value( "size", QSize(350,450) ).toSize() ); QTwitterApp::mainWindow()->move( offset ); } settings.endGroup(); QPoint offset = settings.value( "SettingsWindow/pos", QPoint(350,200) ).toPoint(); if ( QApplication::desktop()->width() < offset.x() + size().width() ) { offset.setX( QApplication::desktop()->width() - size().width() ); } if ( QApplication::desktop()->height() < offset.y() + size().height() ) { offset.setY( QApplication::desktop()->height() - size().height() ); } move( offset ); applySettings(); } settings.beginGroup( "Plugins" ); foreach( ConfigFileInterface *iface, configFilePlugins ) { iface->loadConfig( &settings ); }