diff --git a/Code/Mantid/MantidPlot/src/ApplicationWindow.cpp b/Code/Mantid/MantidPlot/src/ApplicationWindow.cpp index f0cee30737a961318a0e2406d5777738eb128313..b0add8c6a8fe645d445efe4079c468e24e72955b 100644 --- a/Code/Mantid/MantidPlot/src/ApplicationWindow.cpp +++ b/Code/Mantid/MantidPlot/src/ApplicationWindow.cpp @@ -5242,13 +5242,13 @@ void ApplicationWindow::readSettings() settings.beginGroup("/2DPlots"); settings.beginGroup("/General"); titleOn = settings.value("/Title", true).toBool(); - //allAxesOn = settings.value("/AllAxes", false).toBool(); canvasFrameWidth = settings.value("/CanvasFrameWidth", 0).toInt(); defaultPlotMargin = settings.value("/Margin", 0).toInt(); drawBackbones = settings.value("/AxesBackbones", true).toBool(); - //xaxisScale = settings.value("/AxisXScale", "linear").toString(); - //yaxisScale = settings.value("/AxisYScale", "linear").toString(); - //zaxisScale = settings.value("/AxisZScale", "linear").toString(); + d_axes_scales[0] = settings.value("/AxisYScale", "linear").toString(); + d_axes_scales[1] = settings.value("/AxisZScale", "linear").toString(); + d_axes_scales[2] = settings.value("/AxisXScale", "linear").toString(); + d_axes_scales[3] = settings.value("/AxisTScale", "linear").toString(); axesLineWidth = settings.value("/AxesLineWidth", 1).toInt(); autoscale2DPlots = settings.value("/Autoscale", true).toBool(); autoScaleFonts = settings.value("/AutoScaleFonts", true).toBool(); @@ -5268,13 +5268,25 @@ void ApplicationWindow::readSettings() d_in_place_editing = settings.value("/InPlaceEditing", true).toBool(); d_graph_axes_labels_dist = settings.value("/LabelsAxesDist", d_graph_axes_labels_dist).toInt(); d_graph_tick_labels_dist = settings.value("/TickLabelsDist", d_graph_tick_labels_dist).toInt(); - int size = settings.beginReadArray("EnabledAxes"); - for (int i = 0; i < size; ++i) { - settings.setArrayIndex(i); - d_show_axes[i] = settings.value("enabled", true).toBool(); - d_show_axes_labels[i] = settings.value("labels", true).toBool(); + // Transform from the old setting for controlling visible axes. Will only happen once, after which it's deleted. + if ( settings.contains("/AllAxes") ) + { + if ( settings.value("/AllAxes").toBool() ) + { + d_show_axes = QVector<bool> (QwtPlot::axisCnt, true); + } + settings.remove("/AllAxes"); + } + else + { + int size = settings.beginReadArray("EnabledAxes"); + for (int i = 0; i < size; ++i) { + settings.setArrayIndex(i); + d_show_axes[i] = settings.value("enabled", true).toBool(); + d_show_axes_labels[i] = settings.value("labels", true).toBool(); + } + settings.endArray(); } - settings.endArray(); d_synchronize_graph_scales = settings.value("/SynchronizeScales", d_synchronize_graph_scales).toBool(); settings.endGroup(); // General @@ -5597,13 +5609,13 @@ void ApplicationWindow::saveSettings() settings.beginGroup("/2DPlots"); settings.beginGroup("/General"); settings.setValue("/Title", titleOn); - //settings.setValue("/AllAxes", allAxesOn); settings.setValue("/CanvasFrameWidth", canvasFrameWidth); settings.setValue("/Margin", defaultPlotMargin); settings.setValue("/AxesBackbones", drawBackbones); - settings.setValue("/AxisXScale", "linear");//xaxisScale); - settings.setValue("/AxisYScale", "linear");//yaxisScale); - settings.setValue("/AxisZScale", "linear");//zaxisScale); + settings.setValue("/AxisYScale", d_axes_scales[0]); + settings.setValue("/AxisZScale", d_axes_scales[1]); + settings.setValue("/AxisXScale", d_axes_scales[2]); + settings.setValue("/AxisTScale", d_axes_scales[3]); settings.setValue("/AxesLineWidth", axesLineWidth); settings.setValue("/Autoscale", autoscale2DPlots); settings.setValue("/AutoScaleFonts", autoScaleFonts); @@ -5637,14 +5649,14 @@ void ApplicationWindow::saveSettings() settings.setValue("/InPlaceEditing", d_in_place_editing); settings.setValue("/LabelsAxesDist", d_graph_axes_labels_dist); settings.setValue("/TickLabelsDist", d_graph_tick_labels_dist); - //settings.beginWriteArray("EnabledAxes"); - //for (int i = 0; i < QwtPlot::axisCnt; ++i) { - // settings.setArrayIndex(i); - // settings.setValue("axis", i); - // settings.setValue("enabled", d_show_axes[i]); - // settings.setValue("labels", d_show_axes_labels[i]); - //} - //settings.endArray(); + settings.beginWriteArray("EnabledAxes"); + for (int i = 0; i < QwtPlot::axisCnt; ++i) { + settings.setArrayIndex(i); + settings.setValue("axis", i); + settings.setValue("enabled", d_show_axes[i]); + settings.setValue("labels", d_show_axes_labels[i]); + } + settings.endArray(); settings.setValue("/SynchronizeScales", d_synchronize_graph_scales); settings.endGroup(); // General