diff --git a/qt/python/mantidqt/widgets/plotconfigdialog/curvestabwidget/presenter.py b/qt/python/mantidqt/widgets/plotconfigdialog/curvestabwidget/presenter.py
index db3fb0fb500359453269829111fc68f2ab5a074b..9ac1c01f46ae483cee4ade0a08967bb51df0227b 100644
--- a/qt/python/mantidqt/widgets/plotconfigdialog/curvestabwidget/presenter.py
+++ b/qt/python/mantidqt/widgets/plotconfigdialog/curvestabwidget/presenter.py
@@ -321,16 +321,16 @@ class CurvesTabWidgetPresenter:
         """
         current_curve_index = self.view.select_curve_combo_box.currentIndex()
 
-        line_style_index = self.view.line.line_style_combo_box.currentIndex()
-        draw_style_index = self.view.line.draw_style_combo_box.currentIndex()
-        width = self.view.line.line_width_spin_box.value()
+        line_style = self.view.line.get_style()
+        draw_style = self.view.line.get_draw_style()
+        width = self.view.line.get_width()
 
         for i in range(len(self.curve_names_dict)):
             self.view.select_curve_combo_box.setCurrentIndex(i)
 
-            self.view.line.line_style_combo_box.setCurrentIndex(line_style_index)
-            self.view.line.draw_style_combo_box.setCurrentIndex(draw_style_index)
-            self.view.line.line_width_spin_box.setValue(width)
+            self.view.line.set_style(line_style)
+            self.view.line.set_draw_style(draw_style)
+            self.view.line.set_width(width)
 
             self.apply_properties()
 
@@ -340,14 +340,14 @@ class CurvesTabWidgetPresenter:
     def marker_apply_to_all(self):
         current_curve_index = self.view.select_curve_combo_box.currentIndex()
 
-        marker_style_index = self.view.marker.marker_style_combo_box.currentIndex()
-        marker_size = self.view.marker.marker_size_spin_box.value()
+        marker_style = self.view.marker.get_style()
+        marker_size = self.view.marker.get_size()
 
         for i in range(len(self.curve_names_dict)):
             self.view.select_curve_combo_box.setCurrentIndex(i)
 
-            self.view.marker.marker_style_combo_box.setCurrentIndex(marker_style_index)
-            self.view.marker.marker_size_spin_box.setValue(marker_size)
+            self.view.marker.set_style(marker_style)
+            self.view.marker.set_size(marker_size)
 
             self.apply_properties()
 
@@ -357,24 +357,24 @@ class CurvesTabWidgetPresenter:
     def errorbars_apply_to_all(self):
         current_curve_index = self.view.select_curve_combo_box.currentIndex()
 
-        checked = self.view.errorbars.hide_errorbars_tickbox.isChecked()
+        checked = self.view.errorbars.get_hide()
 
         if not checked:
-            width = self.view.errorbars.width_spin_box.value()
-            capsize = self.view.errorbars.capsize_spin_box.value()
-            cap_thickness = self.view.errorbars.cap_thickness_spin_box.value()
-            error_every = self.view.errorbars.error_every_spin_box.value()
+            width = self.view.errorbars.get_width()
+            capsize = self.view.errorbars.get_capsize()
+            cap_thickness = self.view.errorbars.get_cap_thickness()
+            error_every = self.view.errorbars.get_error_every()
 
         for i in range(len(self.curve_names_dict)):
             self.view.select_curve_combo_box.setCurrentIndex(i)
 
-            self.view.errorbars.hide_errorbars_tickbox.setChecked(checked)
+            self.view.errorbars.set_hide(checked)
 
             if not checked:
-                self.view.errorbars.width_spin_box.setValue(width)
-                self.view.errorbars.capsize_spin_box.setValue(capsize)
-                self.view.errorbars.cap_thickness_spin_box.setValue(cap_thickness)
-                self.view.errorbars.error_every_spin_box.setValue(error_every)
+                self.view.errorbars.set_width(width)
+                self.view.errorbars.set_capsize(capsize)
+                self.view.errorbars.set_cap_thickness(cap_thickness)
+                self.view.errorbars.set_error_every(error_every)
 
             self.apply_properties()
 
diff --git a/qt/python/mantidqt/widgets/plotconfigdialog/curvestabwidget/test/test_curvestabwidgetpresenter.py b/qt/python/mantidqt/widgets/plotconfigdialog/curvestabwidget/test/test_curvestabwidgetpresenter.py
index 91dece126ea348fd435ffabad92ffb7ac491bdd2..9de0d4a66b016c63d2c47095488aec0779f3dcdf 100644
--- a/qt/python/mantidqt/widgets/plotconfigdialog/curvestabwidget/test/test_curvestabwidgetpresenter.py
+++ b/qt/python/mantidqt/widgets/plotconfigdialog/curvestabwidget/test/test_curvestabwidgetpresenter.py
@@ -11,8 +11,10 @@ from __future__ import (absolute_import, unicode_literals)
 import unittest
 
 from matplotlib import use as mpl_use
+
 mpl_use('Agg')  # noqa
 from matplotlib.pyplot import figure
+from qtpy.QtCore import Qt
 
 from mantid.simpleapi import CreateWorkspace
 from mantid.plots import MantidAxes  # register MantidAxes projection  # noqa
@@ -217,6 +219,78 @@ class CurvesTabWidgetPresenterTest(unittest.TestCase):
         presenter.apply_properties()
         self.assertFalse(ax.containers[0][2][0].get_visible())
 
+    def make_figure_with_multiple_curves(self):
+        fig = figure()
+        ax = fig.add_subplot(111, projection='mantid')
+        ax.set_title('Axes 0')
+        ax.plot(self.ws, specNum=1, label='Workspace')
+        ax.plot(self.ws, specNum=1, label='Workspace 2')
+        ax.plot(self.ws, specNum=1, label='Workspace 3')
+        return fig
+
+    @patch.object(CurvesTabWidgetPresenter, "apply_properties")
+    def test_line_apply_to_all_button_sets_and_applies_properties_to_each_curve(self, mock_apply_properties):
+        fig = self.make_figure_with_multiple_curves()
+
+        presenter = self._generate_presenter(fig=fig)
+        presenter.line_apply_to_all()
+
+        self.assertEqual(presenter.view.line.set_style.call_count, 3)
+        self.assertEqual(presenter.view.line.set_draw_style.call_count, 3)
+        self.assertEqual(presenter.view.line.set_width.call_count, 3)
+        self.assertEqual(mock_apply_properties.call_count, 3)
+
+    @patch.object(CurvesTabWidgetPresenter, "apply_properties")
+    def test_marker_apply_to_all_button_sets_and_applies_properties_to_each_curve(self, mock_apply_properties):
+        fig = self.make_figure_with_multiple_curves()
+
+        presenter = self._generate_presenter(fig=fig)
+        presenter.marker_apply_to_all()
+
+        self.assertEqual(presenter.view.marker.set_style.call_count, 3)
+        self.assertEqual(presenter.view.marker.set_size.call_count, 3)
+        self.assertEqual(mock_apply_properties.call_count, 3)
+
+    @patch.object(CurvesTabWidgetPresenter, "apply_properties")
+    def test_errorbar_apply_to_all_button_sets_and_applies_properties_to_each_curve_if_hide_errorbars_is_unticked\
+                    (self, mock_apply_properties):
+        fig = self.make_figure_with_multiple_curves()
+
+        mock_view = Mock(get_selected_ax_name=lambda: "Axes 0: (0, 0)",
+                         get_selected_curve_name=lambda: "Workspace")
+
+        mock_view.errorbars.get_hide.return_value = False
+
+        presenter = self._generate_presenter(fig=fig, mock_view=mock_view)
+        presenter.errorbars_apply_to_all()
+
+        self.assertEqual(presenter.view.errorbars.set_hide.call_count, 3)
+        self.assertEqual(presenter.view.errorbars.set_width.call_count, 3)
+        self.assertEqual(presenter.view.errorbars.set_capsize.call_count, 3)
+        self.assertEqual(presenter.view.errorbars.set_cap_thickness.call_count, 3)
+        self.assertEqual(presenter.view.errorbars.set_error_every.call_count, 3)
+        self.assertEqual(mock_apply_properties.call_count, 3)
+
+    @patch.object(CurvesTabWidgetPresenter, "apply_properties")
+    def test_errorbar_apply_to_all_button_does_not_set_properties_if_hide_errorbars_is_ticked\
+                    (self, mock_apply_properties):
+        fig = self.make_figure_with_multiple_curves()
+
+        mock_view = Mock(get_selected_ax_name=lambda: "Axes 0: (0, 0)",
+                         get_selected_curve_name=lambda: "Workspace")
+
+        mock_view.errorbars.get_hide.return_value = True
+
+        presenter = self._generate_presenter(fig=fig, mock_view=mock_view)
+        presenter.errorbars_apply_to_all()
+
+        self.assertEqual(presenter.view.errorbars.set_hide.call_count, 3)
+        self.assertEqual(presenter.view.errorbars.set_width.call_count, 0)
+        self.assertEqual(presenter.view.errorbars.set_capsize.call_count, 0)
+        self.assertEqual(presenter.view.errorbars.set_cap_thickness.call_count, 0)
+        self.assertEqual(presenter.view.errorbars.set_error_every.call_count, 0)
+        self.assertEqual(mock_apply_properties.call_count, 3)
+
 
 if __name__ == '__main__':
     unittest.main()