// $Id$ //----------------------------------------------------------------------- // The GSI Online Offline Object Oriented (Go4) Project // Experiment Data Processing at EE department, GSI //----------------------------------------------------------------------- // Copyright (C) 2000- GSI Helmholtzzentrum für Schwerionenforschung GmbH // Planckstr. 1, 64291 Darmstadt, Germany // Contact: http://go4.gsi.de //----------------------------------------------------------------------- // This software can be used under the license agreements as stated // in Go4License.txt file which is part of the distribution. //----------------------------------------------------------------------- #include "TGo4QSettings.h" #include "Riostream.h" #include #include "qdir.h" #include "qfile.h" #include "qfont.h" #include "qapplication.h" #include "qmainwindow.h" #include "TGo4Log.h" #include "TGo4Marker.h" #include "TGo4Condition.h" #include "TGo4WorkSpace.h" const char* fxToolsfile = "/go4toolsrc"; const char* fxSettingsfolder = "/.qt"; bool TGo4QSettings::fgbUSEMYLOCATION = false; QString TGo4QSettings::fgxSETTINGSLOCATION = ""; QString TGo4QSettings::fgxSETTINGSNAME = "/go4"; QString TGo4QSettings::fgxHOMESETTINGSNAME = "/go4"; TGo4QSettings* go4sett = 0; TGo4QSettings::TGo4QSettings() : QSettings() { SetSettingsPath(); } TGo4QSettings::TGo4QSettings(Format format) : QSettings(format) { SetSettingsPath(); } TGo4QSettings::~TGo4QSettings() { } void TGo4QSettings::SetToCurrentDir(bool on) { fgbUSEMYLOCATION=on; if(on) { fgxSETTINGSLOCATION = QDir::currentDirPath()+ "/.go4"; fgxSETTINGSNAME = fgxHOMESETTINGSNAME+"local"; } else fgxSETTINGSNAME = fgxHOMESETTINGSNAME; } void TGo4QSettings::DumpSettingsLocation() { if(fgbUSEMYLOCATION) cout <<"Using Qt Settings at "<> *tgt; f.close(); cout <<"Loaded Go4 toolbar settings from "<> *tgt; fdefault.close(); cout <<"Loaded Go4 toolbar settings from "<width() ); writeEntry(GetSettingsName()+"/geometry/MainWinHeight", w->height() ); writeEntry(GetSettingsName()+"/geometry/MainWinX", w->x() ); writeEntry(GetSettingsName()+"/geometry/MainWinY", w->y() ); } void TGo4QSettings::restoreGeometry(QMainWindow* w) { int Width, Height, PosX, PosY; Width = readNumEntry(GetSettingsName()+"/geometry/MainWinWidth", 997 ); Height = readNumEntry(GetSettingsName()+"/geometry/MainWinHeight", 690 ); PosX = readNumEntry(GetSettingsName()+"/geometry/MainWinX", 129 ); PosY = readNumEntry(GetSettingsName()+"/geometry/MainWinY", 132 ); w->resize( Width, Height ); w->move( PosX, PosY ); } void TGo4QSettings::storePanelSize(QWidget* w) { writeEntry(GetSettingsName()+"/geometry/ViewPanelWidth", w->width() ); writeEntry(GetSettingsName()+"/geometry/ViewPanelHeight", w->height() ); } void TGo4QSettings::restorePanelSize(QWidget* w) { QSize rect; rect.setWidth(readNumEntry(GetSettingsName()+"/geometry/ViewPanelWidth", 300)); rect.setHeight(readNumEntry(GetSettingsName()+"/geometry/ViewPanelHeight", 300)); if (rect.height() > TGo4WorkSpace::Instance()->height()*4/5) rect.setHeight(TGo4WorkSpace::Instance()->height()*4/5); if (rect.width() > TGo4WorkSpace::Instance()->width()*4/5) rect.setWidth(TGo4WorkSpace::Instance()->width()*4/5); w->resize(rect); } void TGo4QSettings::setBrowserColumn(const char* name, int width) { writeEntry(GetSettingsName()+"/Browser/" + name, width); } int TGo4QSettings::getBrowserColumn(const char* name, int defwidth) { return readNumEntry(GetSettingsName()+"/Browser/" + name, defwidth); } void TGo4QSettings::setOptStat(int value) { writeEntry(GetSettingsName()+"/HistStatsBox/OptStats", value); } int TGo4QSettings::getOptStat() { return readNumEntry(GetSettingsName()+"/HistStatsBox/OptStats", 11111111); } void TGo4QSettings::setStatBoxVisible(bool on) { writeEntry(GetSettingsName()+"/HistStatsBox/Visible", on ? 1: 0); } bool TGo4QSettings::getStatBoxVisible() { return readNumEntry(GetSettingsName()+"/HistStatsBox/Visible", 1); } void TGo4QSettings::setStatBoxErrors(bool on) { writeEntry(GetSettingsName()+"/HistStatsBox/Errors", on ? 1: 0); } bool TGo4QSettings::getStatBoxErrors() { return readNumEntry(GetSettingsName()+"/HistStatsBox/Errors", 0); } void TGo4QSettings::setHistName(const QString& value) { writeEntry(GetSettingsName()+"/NewHist/Name", value); } QString TGo4QSettings::getHistName() { return readEntry(GetSettingsName()+"/NewHist/Name", "histo1"); } void TGo4QSettings::setHistTitle(const QString& value) { writeEntry(GetSettingsName()+"/NewHist/Title", value); } QString TGo4QSettings::getHistTitle() { return readEntry(GetSettingsName()+"/NewHist/Title", "histogram title"); } void TGo4QSettings::setHistType(int value) { writeEntry(GetSettingsName()+"/NewHist/HType", value); } int TGo4QSettings::getHistType() { return readNumEntry(GetSettingsName()+"/NewHist/HType", 14); } void TGo4QSettings::setHistAxisPars(int naxis, int npoints, double min, double max) { QString sname = GetSettingsName()+"/NewHist/Axis"; switch (naxis) { case 0: sname+="X_"; break; case 1: sname+="Y_"; break; case 2: sname+="Z_"; break; default: sname+="X_"; break; } writeEntry(sname+"NPoints", npoints); writeEntry(sname+"Min", min); writeEntry(sname+"Max", max); } void TGo4QSettings::getHistAxisPars(int naxis, int& npoints, double& min, double& max) { QString sname = GetSettingsName()+"/NewHist/Axis"; switch (naxis) { case 0: sname+="X_"; break; case 1: sname+="Y_"; break; case 2: sname+="Z_"; break; default: sname+="X_"; break; } npoints = readDoubleEntry(sname+"NPoints", 100); min = readDoubleEntry(sname+"Min", 0.); max = readDoubleEntry(sname+"Max", 100.); } void TGo4QSettings::setFetchDataWhenDraw(bool on) { writeEntry( GetSettingsName()+"/preferences/FetchWhenDraw", on ? 1: 0); } bool TGo4QSettings::getFetchDataWhenDraw() { return readNumEntry( GetSettingsName()+"/preferences/FetchWhenDraw", 1) != 0; } void TGo4QSettings::setFetchDataWhenCopy(bool on) { writeEntry( GetSettingsName()+"/preferences/FetchWhenCopy", on ? 1: 0); } bool TGo4QSettings::getFetchDataWhenCopy() { return readNumEntry( GetSettingsName()+"/preferences/FetchWhenCopy", 0) != 0; } void TGo4QSettings::setFetchDataWhenSave(bool on) { writeEntry( GetSettingsName()+"/preferences/FetchWhenSave", on ? 1 : 0); } bool TGo4QSettings::getFetchDataWhenSave() { return readNumEntry( GetSettingsName()+"/preferences/FetchWhenSave", 0) != 0; } void TGo4QSettings::setHideTGo4EventElement(bool on) { writeEntry( GetSettingsName()+"/preferences/HideEventElement", on ? 1 : 0); } bool TGo4QSettings::getHideTGo4EventElement() { return readNumEntry( GetSettingsName()+"/preferences/HideEventElement", 0) != 0; } void TGo4QSettings::setGStyleStatFormat(const QString& v) { writeEntry(GetSettingsName() + "/preferences/StatFormat", v); } QString TGo4QSettings::getGStyleStatFormat() { return readEntry(GetSettingsName() + "/preferences/StatFormat", ""); } void TGo4QSettings::setRemoteFileSett(const QString& hostname, const QString& filename, const QString& protocol) { writeEntry(GetSettingsName()+"/OpenRemoteFile/Host", hostname); writeEntry(GetSettingsName()+"/OpenRemoteFile/File", filename); writeEntry(GetSettingsName()+"/OpenRemoteFile/Type", protocol); } void TGo4QSettings::getRemoteFileSett(QString& hostname, QString& filename, QString& protocol) { hostname = readEntry(GetSettingsName()+"/OpenRemoteFile/Host", "machine.gsi.de"); filename = readEntry(GetSettingsName()+"/OpenRemoteFile/File", "tmp/hsimple.root"); protocol = readEntry(GetSettingsName()+"/OpenRemoteFile/Type", "root:"); } void TGo4QSettings::setPrinterSett(const QString& name, const QString& cmd) { writeEntry(GetSettingsName()+"/Printer", name); writeEntry(GetSettingsName()+"/PrintProg", cmd); } void TGo4QSettings::getPrinterSett(QString& name, QString& cmd) { name = readEntry(GetSettingsName()+"/Printer", getenv("PRINTER")); cmd = readEntry(GetSettingsName()+"/PrintProg","lpr"); } void TGo4QSettings::setMbsMonitorNode(const QString& name) { writeEntry(GetSettingsName()+"/MbsMonitor/Node", name); } QString TGo4QSettings::getMbsMonitorNode() { return readEntry(GetSettingsName()+"/MbsMonitor/Node", "r2-d2"); } void TGo4QSettings::setMbsMonitorFreq(int secs) { writeEntry(GetSettingsName()+"/MbsMonitor/Frequency", secs); } int TGo4QSettings::getMbsMonitorFreq() { return readNumEntry(GetSettingsName()+"/MbsMonitor/Frequency", 5); } void TGo4QSettings::setMbsMonitorBins(int num) { writeEntry(GetSettingsName()+"/MbsMonitor/Bins", num); } int TGo4QSettings::getMbsMonitorBins() { return readNumEntry(GetSettingsName()+"/MbsMonitor/Bins", 200); } void TGo4QSettings::setMbsMonitorTrend(bool on) { writeEntry( GetSettingsName()+"/MbsMonitor/TrendOn", on ? 1: 0); } bool TGo4QSettings::getMbsMonitorTrend() { return readNumEntry( GetSettingsName()+"/MbsMonitor/TrendOn", 0) != 0; } void TGo4QSettings::setMbsMonitorMore(bool on) { writeEntry( GetSettingsName()+"/MbsMonitor/ShowMore", on ? 1: 0); } bool TGo4QSettings::getMbsMonitorMore() { return readNumEntry( GetSettingsName()+"/MbsMonitor/ShowMore", 1) != 0; } void TGo4QSettings::setMbsMonitorMonitorActive(bool on) { writeEntry( GetSettingsName()+"/MbsMonitor/MonitorActive", on ? 1: 0); } bool TGo4QSettings::getMbsMonitorMonitorActive() { return readNumEntry( GetSettingsName()+"/MbsMonitor/MonitorActive", 0) != 0; } void TGo4QSettings::setMbsMonitorBackwardsTrending(bool on) { writeEntry( GetSettingsName()+"/MbsMonitor/BackwardsTrending", on ? 1: 0); } bool TGo4QSettings::getMbsMonitorBackwardsTrending() { return readNumEntry( GetSettingsName()+"/MbsMonitor/BackwardsTrending", 1) != 0; } void TGo4QSettings::setDabcMonitorNode(const QString& name) { writeEntry(GetSettingsName()+"/DabcMonitor/Node", name); } QString TGo4QSettings::getDabcMonitorNode() { return readEntry(GetSettingsName()+"/DabcMonitor/Node", "dimDns.gsi.de"); } void TGo4QSettings::setDabcMonitorFreq(int secs) { writeEntry(GetSettingsName()+"/DabcMonitor/Frequency", secs); } int TGo4QSettings::getDabcMonitorFreq() { return readNumEntry(GetSettingsName()+"/DabcMonitor/Frequency", 5); } void TGo4QSettings::setDabcMonitorBins(int num) { writeEntry(GetSettingsName()+"/DabcMonitor/Bins", num); } int TGo4QSettings::getDabcMonitorBins() { return readNumEntry(GetSettingsName()+"/DabcMonitor/Bins", 200); } void TGo4QSettings::setDabcMonitorBackwardsTrending(bool on) { writeEntry( GetSettingsName()+"/DabcMonitor/BackwardsTrending", on ? 1: 0); } bool TGo4QSettings::getDabcMonitorBackwardsTrending() { return readNumEntry( GetSettingsName()+"/DabcMonitor/BackwardsTrending", 1) != 0; } void TGo4QSettings::setBool(const QString& name, bool value) { writeEntry( GetSettingsName()+name, value ? 1: 0); } bool TGo4QSettings::getBool(const QString& name, bool def) { return readNumEntry( GetSettingsName()+name, def ? 1 : 0) != 0; } void TGo4QSettings::setInt(const QString& name, int value) { writeEntry( GetSettingsName()+name, value); } int TGo4QSettings::getInt(const QString& name, int def) { return readNumEntry( GetSettingsName()+name, def); } void TGo4QSettings::setStr(const QString& name, const QString& value) { writeEntry( GetSettingsName()+name, value); } QString TGo4QSettings::getStr(const QString& name, const QString& def) { return readEntry( GetSettingsName()+name, def); } QStringList TGo4QSettings::getCommandsHistoryGUI() { return readListEntry( GetSettingsName()+"/CommandsHistoryGUI"); } void TGo4QSettings::setCommandsHistoryGUI(QStringList & commands) { writeEntry( GetSettingsName()+"/CommandsHistoryGUI", commands); }