00001
00002
00003
00004
00005
00006
00007 #include "EngaugeAssert.h"
00008 #include <QSettings>
00009 #include "Settings.h"
00010 #include "SettingsForGraph.h"
00011
00012 SettingsForGraph::SettingsForGraph ()
00013 {
00014 }
00015
00016 QString SettingsForGraph::defaultCurveName (int indexOneBased,
00017 const QString &defaultName) const
00018 {
00019 QString groupName = groupNameForNthCurve (indexOneBased);
00020
00021 QSettings settings (SETTINGS_ENGAUGE, SETTINGS_DIGITIZER);
00022 settings.beginGroup (groupName);
00023
00024 QString curveName = settings.value (SETTINGS_CURVE_NAME,
00025 defaultName).toString();
00026
00027 settings.endGroup ();
00028
00029 return curveName;
00030 }
00031
00032 QString SettingsForGraph::groupNameForNthCurve (int indexOneBased) const
00033 {
00034 ENGAUGE_ASSERT (indexOneBased != 0);
00035
00036 QString groupNameWithPlaceholder = SETTINGS_GROUP_CURVE_GRAPH;
00037 QString groupName = groupNameWithPlaceholder.replace (SETTINGS_GROUP_CURVE_GRAPH_PLACEHOLDER,
00038 QString::number (indexOneBased));
00039
00040 return groupName;
00041 }
00042
00043 int SettingsForGraph::numberOfCurvesForImport() const
00044 {
00045 const QString EMPTY_CURVE_NAME;
00046
00047
00048 int indexOneBased = 1;
00049 while (defaultCurveName (indexOneBased + 1, EMPTY_CURVE_NAME) != EMPTY_CURVE_NAME) {
00050 ++indexOneBased;
00051 }
00052
00053 return indexOneBased;
00054 }