00001 #include "settings.h"
00002 #include "../Mainwindow/mainwindow.h"
00003
00004 Settings::Settings()
00005 {
00006 }
00007
00008 void Settings::setMainWindow(MainWindow *main)
00009 {
00010 mainwindow = main;
00011 }
00012
00013 bool Settings::read()
00014 {
00015 QSettings settings(QSettings::IniFormat, QSettings::UserScope, "FrieSoft", "Allevo");
00016
00017 checkautomatically = settings.value("program/checkForUpdates").toBool();
00018
00019 workspacedir = QDir(settings.value("projects/workspace").toString());
00020
00021 productionCostsCU = settings.value("colors/productionCostsCU").value<QRgb>();
00022 profitCU = settings.value("colors/profitCU").value<QRgb>();
00023 commissionCU = settings.value("colors/commissionCU").value<QRgb>();
00024 tradeDiscount = settings.value("colors/tradeDiscount").value<QRgb>();
00025 discountCU = settings.value("colors/discountCU").value<QRgb>();
00026 salesTaxCU = settings.value("colors/salesTaxCU").value<QRgb>();
00027
00028 if(mainwindow)
00029 {
00030 mainwindow->restoreLastGemoetry(settings.value("geometry").toByteArray());
00031 if(!workspacedir.exists())
00032 {
00033 mainwindow->showSettingsDialog(SettingsDialogPages::Project);
00034 }
00035 }
00036
00037 return true;
00038 }
00039
00040 bool Settings::write()
00041 {
00042 QSettings settings(QSettings::IniFormat, QSettings::UserScope, "FrieSoft", "Allevo");
00043 settings.setValue("geometry", mainwindow->saveGeometry());
00044
00045 settings.setValue("program/checkForUpdates", checkautomatically);
00046
00047 settings.setValue("projects/workspace", workspacedir.absolutePath());
00048
00049 settings.setValue("colors/productionCostsCU", productionCostsCU);
00050 settings.setValue("colors/profitCU", profitCU);
00051 settings.setValue("colors/commissionCU", commissionCU);
00052 settings.setValue("colors/tradeDiscount", tradeDiscount);
00053 settings.setValue("colors/discountCU", discountCU);
00054 settings.setValue("colors/salesTaxCU", salesTaxCU);
00055
00056 return true;
00057 }
00058
00059 QString Settings::chooseWorkspacePath()
00060 {
00061 return QFileDialog::getExistingDirectory(NULL, tr("Arbeitsbereich festlegen"), workspace().absolutePath(), QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks);
00062 }