diff --git a/src/libslic3r/Technologies.hpp b/src/libslic3r/Technologies.hpp
index b3c3c2066..ad23b4cbe 100644
--- a/src/libslic3r/Technologies.hpp
+++ b/src/libslic3r/Technologies.hpp
@@ -39,8 +39,6 @@
 //====================
 #define ENABLE_2_5_0_ALPHA1 1
 
-// Enable changes in preview layout
-#define ENABLE_PREVIEW_LAYOUT (1 && ENABLE_2_5_0_ALPHA1)
 // Enable removal of wipe tower magic object_id equal to 1000
 #define ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL (1 && ENABLE_2_5_0_ALPHA1)
 // Enable removal of legacy OpenGL calls
diff --git a/src/slic3r/GUI/GCodeViewer.cpp b/src/slic3r/GUI/GCodeViewer.cpp
index 0f9075d98..be232c178 100644
--- a/src/slic3r/GUI/GCodeViewer.cpp
+++ b/src/slic3r/GUI/GCodeViewer.cpp
@@ -907,21 +907,10 @@ void GCodeViewer::refresh(const GCodeProcessorResult& gcode_result, const std::v
 #endif // ENABLE_GCODE_VIEWER_STATISTICS
 
     // update buffers' render paths
-#if ENABLE_PREVIEW_LAYOUT
     refresh_render_paths(false, false);
-#else
-    refresh_render_paths();
-#endif // ENABLE_PREVIEW_LAYOUT
     log_memory_used("Refreshed G-code extrusion paths, ");
 }
 
-#if !ENABLE_PREVIEW_LAYOUT
-void GCodeViewer::refresh_render_paths()
-{
-    refresh_render_paths(false, false);
-}
-#endif // !ENABLE_PREVIEW_LAYOUT
-
 void GCodeViewer::update_shells_color_by_extruder(const DynamicPrintConfig* config)
 {
     if (config != nullptr)
@@ -958,9 +947,7 @@ void GCodeViewer::reset()
     m_statistics.reset_all();
 #endif // ENABLE_GCODE_VIEWER_STATISTICS
     m_contained_in_bed = true;
-#if ENABLE_PREVIEW_LAYOUT
     m_legend_resizer.reset();
-#endif // ENABLE_PREVIEW_LAYOUT
 }
 
 void GCodeViewer::render()
@@ -1073,9 +1060,6 @@ unsigned int GCodeViewer::get_options_visibility_flags() const
     flags = set_flag(flags, static_cast<unsigned int>(Preview::OptionType::CenterOfGravity), m_cog.is_visible());
     flags = set_flag(flags, static_cast<unsigned int>(Preview::OptionType::Shells), m_shells.visible);
     flags = set_flag(flags, static_cast<unsigned int>(Preview::OptionType::ToolMarker), m_sequential_view.marker.is_visible());
-#if !ENABLE_PREVIEW_LAYOUT
-    flags = set_flag(flags, static_cast<unsigned int>(Preview::OptionType::Legend), is_legend_enabled());
-#endif // !ENABLE_PREVIEW_LAYOUT
     return flags;
 }
 
@@ -1097,9 +1081,6 @@ void GCodeViewer::set_options_visibility_from_flags(unsigned int flags)
     m_cog.set_visible(is_flag_set(static_cast<unsigned int>(Preview::OptionType::CenterOfGravity)));
     m_shells.visible = is_flag_set(static_cast<unsigned int>(Preview::OptionType::Shells));
     m_sequential_view.marker.set_visible(is_flag_set(static_cast<unsigned int>(Preview::OptionType::ToolMarker)));
-#if !ENABLE_PREVIEW_LAYOUT
-    enable_legend(is_flag_set(static_cast<unsigned int>(Preview::OptionType::Legend)));
-#endif // !ENABLE_PREVIEW_LAYOUT
 }
 
 void GCodeViewer::set_layers_z_range(const std::array<unsigned int, 2>& layers_z_range)
@@ -3434,11 +3415,7 @@ void GCodeViewer::render_legend(float& legend_height)
     const float max_height = 0.75f * static_cast<float>(cnv_size.get_height());
     const float child_height = 0.3333f * max_height;
     ImGui::SetNextWindowSizeConstraints({ 0.0f, 0.0f }, { -1.0f, max_height });
-#if ENABLE_PREVIEW_LAYOUT
     imgui.begin(std::string("Legend"), ImGuiWindowFlags_AlwaysAutoResize | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoMove);
-#else
-    imgui.begin(std::string("Legend"), ImGuiWindowFlags_AlwaysAutoResize | ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoCollapse | ImGuiWindowFlags_NoMove);
-#endif // ENABLE_PREVIEW_LAYOUT
 
     enum class EItemType : unsigned char
     {
@@ -3792,7 +3769,6 @@ void GCodeViewer::render_legend(float& legend_height)
         offsets = calculate_offsets(labels, times, { "Extruder NNN", longest_used_filament_string }, icon_size);
     }
 
-#if ENABLE_PREVIEW_LAYOUT
     // selection section
     bool view_type_changed = false;
     int old_view_type = static_cast<int>(get_view_type());
@@ -3830,156 +3806,124 @@ void GCodeViewer::render_legend(float& legend_height)
         append_headers({ _u8L(""), _u8L("Used filament"), _u8L(""), _u8L("") }, offsets);
     else
         ImGui::Separator();
-#else
-    // extrusion paths section -> title
-    switch (m_view_type)
-    {
-    case EViewType::FeatureType:
-    {
-        append_headers({ _u8L("Feature type"), _u8L("Time"), _u8L("Percentage"), _u8L("Used filament") }, offsets);
-        break;
-    }
-    case EViewType::Height:               { imgui.title(_u8L("Height (mm)")); break; }
-    case EViewType::Width:                { imgui.title(_u8L("Width (mm)")); break; }
-    case EViewType::Feedrate:             { imgui.title(_u8L("Speed (mm/s)")); break; }
-    case EViewType::FanSpeed:             { imgui.title(_u8L("Fan Speed (%)")); break; }
-    case EViewType::Temperature:          { imgui.title(_u8L("Temperature (°C)")); break; }
-    case EViewType::VolumetricRate:       { imgui.title(_u8L("Volumetric flow rate (mm³/s)")); break; }
-    case EViewType::LayerTimeLinear:      { imgui.title(_u8L("Layer time (linear)")); break; }
-    case EViewType::LayerTimeLogarithmic: { imgui.title(_u8L("Layer time (logarithmic)")); break; }
-    case EViewType::Tool:                 {
-        append_headers({ _u8L("Tool"), _u8L("Used filament") }, offsets);
-        break;
-    }
-    case EViewType::ColorPrint:           { imgui.title(_u8L("Color Print")); break; }
-    default: { break; }
-    }
-#endif // ENABLE_PREVIEW_LAYOUT
 
-#if ENABLE_PREVIEW_LAYOUT
     if (!view_type_changed) {
-#endif // ENABLE_PREVIEW_LAYOUT
-    // extrusion paths section -> items
-    switch (m_view_type)
-    {
-    case EViewType::FeatureType:
-    {
-        max_time_percent = std::max(max_time_percent, time_mode.travel_time / time_mode.time);
+        // extrusion paths section -> items
+        switch (m_view_type)
+        {
+        case EViewType::FeatureType:
+        {
+            max_time_percent = std::max(max_time_percent, time_mode.travel_time / time_mode.time);
 
-        for (size_t i = 0; i < m_roles.size(); ++i) {
-            ExtrusionRole role = m_roles[i];
-            if (role >= erCount)
-                continue;
-            const bool visible = is_visible(role);
-            append_item(EItemType::Rect, Extrusion_Role_Colors[static_cast<unsigned int>(role)], labels[i],
-                visible, times[i], percents[i], max_time_percent, offsets, used_filaments_m[i], used_filaments_g[i], [this, role, visible]() {
-                    m_extrusions.role_visibility_flags = visible ? m_extrusions.role_visibility_flags & ~(1 << role) : m_extrusions.role_visibility_flags | (1 << role);
-                    // update buffers' render paths
-                    refresh_render_paths(false, false);
-                    wxGetApp().plater()->update_preview_moves_slider();
-                    wxGetApp().plater()->get_current_canvas3D()->set_as_dirty();
-#if !ENABLE_PREVIEW_LAYOUT
-                    wxGetApp().plater()->update_preview_bottom_toolbar();
-#endif // !ENABLE_PREVIEW_LAYOUT
-                }
-            );
-        }
-
-        if (m_buffers[buffer_id(EMoveType::Travel)].visible)
-            append_item(EItemType::Line, Travel_Colors[0], _u8L("Travel"), true, short_time(get_time_dhms(time_mode.travel_time)),
-                time_mode.travel_time / time_mode.time, max_time_percent, offsets, 0.0f, 0.0f);
-
-        break;
-    }
-    case EViewType::Height:               { append_range(m_extrusions.ranges.height, 3); break; }
-    case EViewType::Width:                { append_range(m_extrusions.ranges.width, 3); break; }
-    case EViewType::Feedrate:             { append_range(m_extrusions.ranges.feedrate, 1); break; }
-    case EViewType::FanSpeed:             { append_range(m_extrusions.ranges.fan_speed, 0); break; }
-    case EViewType::Temperature:          { append_range(m_extrusions.ranges.temperature, 0); break; }
-    case EViewType::VolumetricRate:       { append_range(m_extrusions.ranges.volumetric_rate, 3); break; }
-    case EViewType::LayerTimeLinear:      { append_time_range(m_extrusions.ranges.layer_time[static_cast<size_t>(m_time_estimate_mode)], Extrusions::Range::EType::Linear); break; }
-    case EViewType::LayerTimeLogarithmic: { append_time_range(m_extrusions.ranges.layer_time[static_cast<size_t>(m_time_estimate_mode)], Extrusions::Range::EType::Logarithmic); break; }
-    case EViewType::Tool:                 {
-        // shows only extruders actually used
-        for (unsigned char extruder_id : m_extruder_ids) {
-            if (used_filaments_m[extruder_id] > 0.0 && used_filaments_g[extruder_id] > 0.0)
-                append_item(EItemType::Rect, m_tool_colors[extruder_id], _u8L("Extruder") + " " + std::to_string(extruder_id + 1),
-                    true, "", 0.0f, 0.0f, offsets, used_filaments_m[extruder_id], used_filaments_g[extruder_id]);
-        }
-        break;
-    }
-    case EViewType::ColorPrint:
-    {
-        const std::vector<CustomGCode::Item>& custom_gcode_per_print_z = wxGetApp().is_editor() ? wxGetApp().plater()->model().custom_gcode_per_print_z.gcodes : m_custom_gcode_per_print_z;
-        size_t total_items = 1;
-        for (unsigned char i : m_extruder_ids) {
-            total_items += color_print_ranges(i, custom_gcode_per_print_z).size();
-        }
-
-        const bool need_scrollable = static_cast<float>(total_items) * icon_size + (static_cast<float>(total_items) - 1.0f) * ImGui::GetStyle().ItemSpacing.y > child_height;
-
-        // add scrollable region, if needed
-        if (need_scrollable)
-            ImGui::BeginChild("color_prints", { -1.0f, child_height }, false);
-        if (m_extruders_count == 1) { // single extruder use case
-            const std::vector<std::pair<ColorRGBA, std::pair<double, double>>> cp_values = color_print_ranges(0, custom_gcode_per_print_z);
-            const int items_cnt = static_cast<int>(cp_values.size());
-            if (items_cnt == 0)  // There are no color changes, but there are some pause print or custom Gcode
-                append_item(EItemType::Rect, m_tool_colors.front(), _u8L("Default color"));
-            else {
-                for (int i = items_cnt; i >= 0; --i) {
-                    // create label for color change item
-                    if (i == 0) {
-                        append_item(EItemType::Rect, m_tool_colors[0], upto_label(cp_values.front().second.first));
-                        break;
+            for (size_t i = 0; i < m_roles.size(); ++i) {
+                ExtrusionRole role = m_roles[i];
+                if (role >= erCount)
+                    continue;
+                const bool visible = is_visible(role);
+                append_item(EItemType::Rect, Extrusion_Role_Colors[static_cast<unsigned int>(role)], labels[i],
+                    visible, times[i], percents[i], max_time_percent, offsets, used_filaments_m[i], used_filaments_g[i], [this, role, visible]() {
+                        m_extrusions.role_visibility_flags = visible ? m_extrusions.role_visibility_flags & ~(1 << role) : m_extrusions.role_visibility_flags | (1 << role);
+                        // update buffers' render paths
+                        refresh_render_paths(false, false);
+                        wxGetApp().plater()->update_preview_moves_slider();
+                        wxGetApp().plater()->get_current_canvas3D()->set_as_dirty();
                     }
-                    else if (i == items_cnt) {
-                        append_item(EItemType::Rect, cp_values[i - 1].first, above_label(cp_values[i - 1].second.second));
-                        continue;
-                    }
-                    append_item(EItemType::Rect, cp_values[i - 1].first, fromto_label(cp_values[i - 1].second.second, cp_values[i].second.first));
-                }
+                );
             }
+
+            if (m_buffers[buffer_id(EMoveType::Travel)].visible)
+                append_item(EItemType::Line, Travel_Colors[0], _u8L("Travel"), true, short_time(get_time_dhms(time_mode.travel_time)),
+                    time_mode.travel_time / time_mode.time, max_time_percent, offsets, 0.0f, 0.0f);
+
+            break;
         }
-        else { // multi extruder use case
+        case EViewType::Height:               { append_range(m_extrusions.ranges.height, 3); break; }
+        case EViewType::Width:                { append_range(m_extrusions.ranges.width, 3); break; }
+        case EViewType::Feedrate:             { append_range(m_extrusions.ranges.feedrate, 1); break; }
+        case EViewType::FanSpeed:             { append_range(m_extrusions.ranges.fan_speed, 0); break; }
+        case EViewType::Temperature:          { append_range(m_extrusions.ranges.temperature, 0); break; }
+        case EViewType::VolumetricRate:       { append_range(m_extrusions.ranges.volumetric_rate, 3); break; }
+        case EViewType::LayerTimeLinear:      { append_time_range(m_extrusions.ranges.layer_time[static_cast<size_t>(m_time_estimate_mode)], Extrusions::Range::EType::Linear); break; }
+        case EViewType::LayerTimeLogarithmic: { append_time_range(m_extrusions.ranges.layer_time[static_cast<size_t>(m_time_estimate_mode)], Extrusions::Range::EType::Logarithmic); break; }
+        case EViewType::Tool:                 {
             // shows only extruders actually used
+            for (unsigned char extruder_id : m_extruder_ids) {
+                if (used_filaments_m[extruder_id] > 0.0 && used_filaments_g[extruder_id] > 0.0)
+                    append_item(EItemType::Rect, m_tool_colors[extruder_id], _u8L("Extruder") + " " + std::to_string(extruder_id + 1),
+                        true, "", 0.0f, 0.0f, offsets, used_filaments_m[extruder_id], used_filaments_g[extruder_id]);
+            }
+            break;
+        }
+        case EViewType::ColorPrint:
+        {
+            const std::vector<CustomGCode::Item>& custom_gcode_per_print_z = wxGetApp().is_editor() ? wxGetApp().plater()->model().custom_gcode_per_print_z.gcodes : m_custom_gcode_per_print_z;
+            size_t total_items = 1;
             for (unsigned char i : m_extruder_ids) {
-                const std::vector<std::pair<ColorRGBA, std::pair<double, double>>> cp_values = color_print_ranges(i, custom_gcode_per_print_z);
+                total_items += color_print_ranges(i, custom_gcode_per_print_z).size();
+            }
+
+            const bool need_scrollable = static_cast<float>(total_items) * icon_size + (static_cast<float>(total_items) - 1.0f) * ImGui::GetStyle().ItemSpacing.y > child_height;
+
+            // add scrollable region, if needed
+            if (need_scrollable)
+                ImGui::BeginChild("color_prints", { -1.0f, child_height }, false);
+            if (m_extruders_count == 1) { // single extruder use case
+                const std::vector<std::pair<ColorRGBA, std::pair<double, double>>> cp_values = color_print_ranges(0, custom_gcode_per_print_z);
                 const int items_cnt = static_cast<int>(cp_values.size());
-                if (items_cnt == 0)
-                    // There are no color changes, but there are some pause print or custom Gcode
-                    append_item(EItemType::Rect, m_tool_colors[i], _u8L("Extruder") + " " + std::to_string(i + 1) + " " + _u8L("default color"));
+                if (items_cnt == 0)  // There are no color changes, but there are some pause print or custom Gcode
+                    append_item(EItemType::Rect, m_tool_colors.front(), _u8L("Default color"));
                 else {
-                    for (int j = items_cnt; j >= 0; --j) {
+                    for (int i = items_cnt; i >= 0; --i) {
                         // create label for color change item
-                        std::string label = _u8L("Extruder") + " " + std::to_string(i + 1);
-                        if (j == 0) {
-                            label += " " + upto_label(cp_values.front().second.first);
-                            append_item(EItemType::Rect, m_tool_colors[i], label);
+                        if (i == 0) {
+                            append_item(EItemType::Rect, m_tool_colors[0], upto_label(cp_values.front().second.first));
                             break;
                         }
-                        else if (j == items_cnt) {
-                            label += " " + above_label(cp_values[j - 1].second.second);
-                            append_item(EItemType::Rect, cp_values[j - 1].first, label);
+                        else if (i == items_cnt) {
+                            append_item(EItemType::Rect, cp_values[i - 1].first, above_label(cp_values[i - 1].second.second));
                             continue;
                         }
-
-                        label += " " + fromto_label(cp_values[j - 1].second.second, cp_values[j].second.first);
-                        append_item(EItemType::Rect, cp_values[j - 1].first, label);
+                        append_item(EItemType::Rect, cp_values[i - 1].first, fromto_label(cp_values[i - 1].second.second, cp_values[i].second.first));
                     }
                 }
             }
-        }
-        if (need_scrollable)
-            ImGui::EndChild();
+            else { // multi extruder use case
+                // shows only extruders actually used
+                for (unsigned char i : m_extruder_ids) {
+                    const std::vector<std::pair<ColorRGBA, std::pair<double, double>>> cp_values = color_print_ranges(i, custom_gcode_per_print_z);
+                    const int items_cnt = static_cast<int>(cp_values.size());
+                    if (items_cnt == 0)
+                        // There are no color changes, but there are some pause print or custom Gcode
+                        append_item(EItemType::Rect, m_tool_colors[i], _u8L("Extruder") + " " + std::to_string(i + 1) + " " + _u8L("default color"));
+                    else {
+                        for (int j = items_cnt; j >= 0; --j) {
+                            // create label for color change item
+                            std::string label = _u8L("Extruder") + " " + std::to_string(i + 1);
+                            if (j == 0) {
+                                label += " " + upto_label(cp_values.front().second.first);
+                                append_item(EItemType::Rect, m_tool_colors[i], label);
+                                break;
+                            }
+                            else if (j == items_cnt) {
+                                label += " " + above_label(cp_values[j - 1].second.second);
+                                append_item(EItemType::Rect, cp_values[j - 1].first, label);
+                                continue;
+                            }
 
-        break;
+                            label += " " + fromto_label(cp_values[j - 1].second.second, cp_values[j].second.first);
+                            append_item(EItemType::Rect, cp_values[j - 1].first, label);
+                        }
+                    }
+                }
+            }
+            if (need_scrollable)
+                ImGui::EndChild();
+
+            break;
+        }
+        default: { break; }
+        }
     }
-    default: { break; }
-    }
-#if ENABLE_PREVIEW_LAYOUT
-    }
-#endif // ENABLE_PREVIEW_LAYOUT
 
     // partial estimated printing time section
     if (m_view_type == EViewType::ColorPrint) {
@@ -4156,89 +4100,6 @@ void GCodeViewer::render_legend(float& legend_height)
         }
     }
 
-#if !ENABLE_PREVIEW_LAYOUT
-    // travel paths section
-    if (m_buffers[buffer_id(EMoveType::Travel)].visible) {
-        switch (m_view_type)
-        {
-        case EViewType::Feedrate:
-        case EViewType::Tool:
-        case EViewType::ColorPrint: {
-            break;
-        }
-        default: {
-            // title
-            ImGui::Spacing();
-            imgui.title(_u8L("Travel"));
-
-            // items
-            append_item(EItemType::Line, Travel_Colors[0], _u8L("Movement"));
-            append_item(EItemType::Line, Travel_Colors[1], _u8L("Extrusion"));
-            append_item(EItemType::Line, Travel_Colors[2], _u8L("Retraction"));
-
-            break;
-        }
-        }
-    }
-
-    // wipe paths section
-    if (m_buffers[buffer_id(EMoveType::Wipe)].visible) {
-        switch (m_view_type)
-        {
-        case EViewType::Feedrate:
-        case EViewType::Tool:
-        case EViewType::ColorPrint: { break; }
-        default: {
-            // title
-            ImGui::Spacing();
-            imgui.title(_u8L("Wipe"));
-
-            // items
-            append_item(EItemType::Line, Wipe_Color, _u8L("Wipe"));
-
-            break;
-        }
-        }
-    }
-
-    auto any_option_available = [this]() {
-        auto available = [this](EMoveType type) {
-            const TBuffer& buffer = m_buffers[buffer_id(type)];
-            return buffer.visible && buffer.has_data();
-        };
-
-        return available(EMoveType::Color_change) ||
-            available(EMoveType::Custom_GCode) ||
-            available(EMoveType::Pause_Print) ||
-            available(EMoveType::Retract) ||
-            available(EMoveType::Tool_change) ||
-            available(EMoveType::Unretract) ||
-            available(EMoveType::Seam);
-    };
-
-    auto add_option = [this, append_item](EMoveType move_type, EOptionsColors color, const std::string& text) {
-        const TBuffer& buffer = m_buffers[buffer_id(move_type)];
-        if (buffer.visible && buffer.has_data())
-            append_item(EItemType::Circle, Options_Colors[static_cast<unsigned int>(color)], text);
-    };
-
-    // options section
-    if (any_option_available()) {
-        // title
-        ImGui::Spacing();
-        imgui.title(_u8L("Options"));
-
-        // items
-        add_option(EMoveType::Retract, EOptionsColors::Retractions, _u8L("Retractions"));
-        add_option(EMoveType::Unretract, EOptionsColors::Unretractions, _u8L("Deretractions"));
-        add_option(EMoveType::Seam, EOptionsColors::Seams, _u8L("Seams"));
-        add_option(EMoveType::Tool_change, EOptionsColors::ToolChanges, _u8L("Tool changes"));
-        add_option(EMoveType::Color_change, EOptionsColors::ColorChanges, _u8L("Color changes"));
-        add_option(EMoveType::Pause_Print, EOptionsColors::PausePrints, _u8L("Print pauses"));
-        add_option(EMoveType::Custom_GCode, EOptionsColors::CustomGCodes, _u8L("Custom G-codes"));
-    }
-#endif // !ENABLE_PREVIEW_LAYOUT
-
     auto add_strings_row_to_table = [&imgui](const std::string& col_1, const ImVec4& col_1_color, const std::string& col_2, const ImVec4& col_2_color) {
         ImGui::TableNextRow();
         ImGui::TableSetColumnIndex(0);
@@ -4361,7 +4222,6 @@ void GCodeViewer::render_legend(float& legend_height)
         }
     }
 
-#if ENABLE_PREVIEW_LAYOUT
     // toolbar section
     auto toggle_button = [this, &imgui, icon_size](Preview::OptionType type, const std::string& name,
         std::function<void(ImGuiWindow& window, const ImVec2& pos, float size)> draw_callback) {
@@ -4472,7 +4332,6 @@ void GCodeViewer::render_legend(float& legend_height)
         wxGetApp().plater()->get_current_canvas3D()->request_extra_frame();
     }
     m_legend_resizer.dirty = size_dirty;
-#endif // ENABLE_PREVIEW_LAYOUT
 
     legend_height = ImGui::GetWindowHeight();
 
diff --git a/src/slic3r/GUI/GCodeViewer.hpp b/src/slic3r/GUI/GCodeViewer.hpp
index 6f7f01560..0785f6a04 100644
--- a/src/slic3r/GUI/GCodeViewer.hpp
+++ b/src/slic3r/GUI/GCodeViewer.hpp
@@ -773,14 +773,12 @@ private:
     COG m_cog;
     EViewType m_view_type{ EViewType::FeatureType };
     bool m_legend_enabled{ true };
-#if ENABLE_PREVIEW_LAYOUT
     struct LegendResizer
     {
         bool dirty{ true };
         void reset() { dirty = true; }
     };
     LegendResizer m_legend_resizer;
-#endif // ENABLE_PREVIEW_LAYOUT
     PrintEstimatedStatistics m_print_statistics;
     PrintEstimatedStatistics::ETimeMode m_time_estimate_mode{ PrintEstimatedStatistics::ETimeMode::Normal };
 #if ENABLE_GCODE_VIEWER_STATISTICS
@@ -808,11 +806,7 @@ public:
 #endif // ENABLE_LEGACY_OPENGL_REMOVAL
     // recalculate ranges in dependence of what is visible and sets tool/print colors
     void refresh(const GCodeProcessorResult& gcode_result, const std::vector<std::string>& str_tool_colors);
-#if ENABLE_PREVIEW_LAYOUT
     void refresh_render_paths(bool keep_sequential_current_first, bool keep_sequential_current_last) const;
-#else
-    void refresh_render_paths();
-#endif // ENABLE_PREVIEW_LAYOUT
     void update_shells_color_by_extruder(const DynamicPrintConfig* config);
 
     void reset();
@@ -857,9 +851,7 @@ public:
     std::vector<CustomGCode::Item>& get_custom_gcode_per_print_z() { return m_custom_gcode_per_print_z; }
     size_t get_extruders_count() { return m_extruders_count; }
 
-#if ENABLE_PREVIEW_LAYOUT
     void invalidate_legend() { m_legend_resizer.reset(); }
-#endif // ENABLE_PREVIEW_LAYOUT
 
 private:
     void load_toolpaths(const GCodeProcessorResult& gcode_result);
@@ -868,9 +860,6 @@ private:
 #else
     void load_shells(const Print& print, bool initialized);
 #endif // ENABLE_LEGACY_OPENGL_REMOVAL
-#if !ENABLE_PREVIEW_LAYOUT
-    void refresh_render_paths(bool keep_sequential_current_first, bool keep_sequential_current_last) const;
-#endif // !ENABLE_PREVIEW_LAYOUT
     void render_toolpaths();
     void render_shells();
     void render_legend(float& legend_height);
diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp
index 84a892859..04a691871 100644
--- a/src/slic3r/GUI/GLCanvas3D.cpp
+++ b/src/slic3r/GUI/GLCanvas3D.cpp
@@ -2506,21 +2506,12 @@ void GLCanvas3D::load_gcode_preview(const GCodeProcessorResult& gcode_result, co
     request_extra_frame();
 }
 
-#if ENABLE_PREVIEW_LAYOUT
 void GLCanvas3D::refresh_gcode_preview_render_paths(bool keep_sequential_current_first, bool keep_sequential_current_last)
 {
     m_gcode_viewer.refresh_render_paths(keep_sequential_current_first, keep_sequential_current_last);
     set_as_dirty();
     request_extra_frame();
 }
-#else
-void GLCanvas3D::refresh_gcode_preview_render_paths()
-{
-    m_gcode_viewer.refresh_render_paths();
-    set_as_dirty();
-    request_extra_frame();
-}
-#endif // ENABLE_PREVIEW_LAYOUT
 
 void GLCanvas3D::load_sla_preview()
 {
@@ -2827,15 +2818,8 @@ void GLCanvas3D::on_char(wxKeyEvent& evt)
         case 'k': { wxGetApp().plater()->get_camera().select_next_type(); m_dirty = true; break; }
         case 'L': 
         case 'l': { 
-            if (!m_main_toolbar.is_enabled()) { 
-#if ENABLE_PREVIEW_LAYOUT
+            if (!m_main_toolbar.is_enabled())
                 show_legend(!is_legend_shown());
-#else
-                m_gcode_viewer.enable_legend(!m_gcode_viewer.is_legend_enabled());
-                m_dirty = true;
-                wxGetApp().plater()->update_preview_bottom_toolbar();
-#endif // ENABLE_PREVIEW_LAYOUT
-            }
             break;
         }
         case 'O':
@@ -4284,9 +4268,7 @@ void GLCanvas3D::set_cursor(ECursorType type)
 
 void GLCanvas3D::msw_rescale()
 {
-#if ENABLE_PREVIEW_LAYOUT
     m_gcode_viewer.invalidate_legend();
-#endif // ENABLE_PREVIEW_LAYOUT
 }
 
 void GLCanvas3D::update_tooltip_for_settings_item_in_main_toolbar()
diff --git a/src/slic3r/GUI/GLCanvas3D.hpp b/src/slic3r/GUI/GLCanvas3D.hpp
index ec6f82011..0adf1cb26 100644
--- a/src/slic3r/GUI/GLCanvas3D.hpp
+++ b/src/slic3r/GUI/GLCanvas3D.hpp
@@ -817,11 +817,7 @@ public:
     void reload_scene(bool refresh_immediately, bool force_full_scene_refresh = false);
 
     void load_gcode_preview(const GCodeProcessorResult& gcode_result, const std::vector<std::string>& str_tool_colors);
-#if ENABLE_PREVIEW_LAYOUT
     void refresh_gcode_preview_render_paths(bool keep_sequential_current_first, bool keep_sequential_current_last);
-#else
-    void refresh_gcode_preview_render_paths();
-#endif // ENABLE_PREVIEW_LAYOUT
     void set_gcode_view_preview_type(GCodeViewer::EViewType type) { return m_gcode_viewer.set_view_type(type); }
     GCodeViewer::EViewType get_gcode_view_preview_type() const { return m_gcode_viewer.get_view_type(); }
     void load_sla_preview();
@@ -915,10 +911,8 @@ public:
     bool are_labels_shown() const { return m_labels.is_shown(); }
     void show_labels(bool show) { m_labels.show(show); }
 
-#if ENABLE_PREVIEW_LAYOUT
     bool is_legend_shown() const { return m_gcode_viewer.is_legend_enabled(); }
     void show_legend(bool show) { m_gcode_viewer.enable_legend(show); m_dirty = true; }
-#endif // ENABLE_PREVIEW_LAYOUT
 
     bool is_using_slope() const { return m_slope.is_used(); }
     void use_slope(bool use) { m_slope.use(use); }
diff --git a/src/slic3r/GUI/GUI_Preview.cpp b/src/slic3r/GUI/GUI_Preview.cpp
index 4f965e604..7989c3cdc 100644
--- a/src/slic3r/GUI/GUI_Preview.cpp
+++ b/src/slic3r/GUI/GUI_Preview.cpp
@@ -208,73 +208,6 @@ bool Preview::init(wxWindow* parent, Bed3D& bed, Model* model)
     m_layers_slider_sizer = create_layers_slider_sizer();
 
     wxGetApp().UpdateDarkUI(m_bottom_toolbar_panel = new wxPanel(this));
-#if !ENABLE_PREVIEW_LAYOUT
-    m_label_view_type = new wxStaticText(m_bottom_toolbar_panel, wxID_ANY, _L("View"));
-#ifdef _WIN32
-    wxGetApp().UpdateDarkUI(m_choice_view_type = new BitmapComboBox(m_bottom_toolbar_panel, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, wxCB_READONLY));
-#else
-    m_choice_view_type = new wxComboBox(m_bottom_toolbar_panel, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, wxCB_READONLY);
-#endif
-    m_choice_view_type->Append(_L("Feature type"));
-    m_choice_view_type->Append(_L("Height"));
-    m_choice_view_type->Append(_L("Width"));
-    m_choice_view_type->Append(_L("Speed"));
-    m_choice_view_type->Append(_L("Fan speed"));
-    m_choice_view_type->Append(_L("Temperature"));
-    m_choice_view_type->Append(_L("Volumetric flow rate"));
-    m_choice_view_type->Append(_L("Layer time (linear)"));
-    m_choice_view_type->Append(_L("Layer time (logarithmic)"));
-    m_choice_view_type->Append(_L("Tool"));
-    m_choice_view_type->Append(_L("Color Print"));
-    m_choice_view_type->SetSelection(0);
-
-    m_label_show = new wxStaticText(m_bottom_toolbar_panel, wxID_ANY, _L("Show"));
-
-#ifdef _WIN32
-    long combo_style = wxCB_READONLY | wxBORDER_SIMPLE; //set border allows use default color instead of theme color wich is allways light under MSW
-#else
-    long combo_style = wxCB_READONLY;
-#endif
-
-    m_combochecklist_features = new wxComboCtrl();
-    m_combochecklist_features->Create(m_bottom_toolbar_panel, wxID_ANY, _L("Feature types"), wxDefaultPosition, wxDefaultSize, combo_style);
-    std::string feature_items = GUI::into_u8(
-        _L("Unknown") + "|1|" +
-        _L("Perimeter") + "|1|" +
-        _L("External perimeter") + "|1|" +
-        _L("Overhang perimeter") + "|1|" +
-        _L("Internal infill") + "|1|" +
-        _L("Solid infill") + "|1|" +
-        _L("Top solid infill") + "|1|" +
-        _L("Ironing") + "|1|" +
-        _L("Bridge infill") + "|1|" +
-        _L("Gap fill") + "|1|" +
-        _L("Skirt/Brim") + "|1|" +
-        _L("Support material") + "|1|" +
-        _L("Support material interface") + "|1|" +
-        _L("Wipe tower") + "|1|" +
-        _L("Custom") + "|1"
-    );
-    Slic3r::GUI::create_combochecklist(m_combochecklist_features, GUI::into_u8(_L("Feature types")), feature_items);
-
-    m_combochecklist_options = new wxComboCtrl();
-    m_combochecklist_options->Create(m_bottom_toolbar_panel, wxID_ANY, _L("Options"), wxDefaultPosition, wxDefaultSize, combo_style);
-    std::string options_items = GUI::into_u8(
-        get_option_type_string(OptionType::Travel) + "|0|" +
-        get_option_type_string(OptionType::Wipe) + "|0|" +
-        get_option_type_string(OptionType::Retractions) + "|0|" +
-        get_option_type_string(OptionType::Unretractions) + "|0|" +
-        get_option_type_string(OptionType::Seams) + "|0|" +
-        get_option_type_string(OptionType::ToolChanges) + "|0|" +
-        get_option_type_string(OptionType::ColorChanges) + "|0|" +
-        get_option_type_string(OptionType::PausePrints) + "|0|" +
-        get_option_type_string(OptionType::CustomGCodes) + "|0|" +
-        get_option_type_string(OptionType::Shells) + "|0|" +
-        get_option_type_string(OptionType::ToolMarker) + "|1|" +
-        get_option_type_string(OptionType::Legend) + "|1"
-    );
-    Slic3r::GUI::create_combochecklist(m_combochecklist_options, GUI::into_u8(_L("Options")), options_items);
-#endif // !ENABLE_PREVIEW_LAYOUT
 
     m_left_sizer = new wxBoxSizer(wxVERTICAL);
     m_left_sizer->Add(m_canvas_widget, 1, wxALL | wxEXPAND, 0);
@@ -286,19 +219,6 @@ bool Preview::init(wxWindow* parent, Bed3D& bed, Model* model)
     m_moves_slider->SetDrawMode(DoubleSlider::dmSequentialGCodeView);
 
     wxBoxSizer* bottom_toolbar_sizer = new wxBoxSizer(wxHORIZONTAL);
-#if !ENABLE_PREVIEW_LAYOUT
-    bottom_toolbar_sizer->AddSpacer(5);
-    bottom_toolbar_sizer->Add(m_label_view_type, 0, wxALIGN_CENTER_VERTICAL | wxRIGHT, 5);
-    bottom_toolbar_sizer->Add(m_choice_view_type, 0, wxALIGN_CENTER_VERTICAL, 0);
-    bottom_toolbar_sizer->AddSpacer(5);
-    bottom_toolbar_sizer->Add(m_label_show, 0, wxALIGN_CENTER_VERTICAL | wxLEFT | wxRIGHT, 5);
-    bottom_toolbar_sizer->Add(m_combochecklist_options, 0, wxALIGN_CENTER_VERTICAL, 0);
-    // change the following number if editing the layout of the bottom toolbar sizer. It is used into update_bottom_toolbar()
-    m_combochecklist_features_pos = 6;
-    bottom_toolbar_sizer->Add(m_combochecklist_features, 0, wxALIGN_CENTER_VERTICAL | wxLEFT, 5);
-    bottom_toolbar_sizer->Hide(m_combochecklist_features);
-    bottom_toolbar_sizer->AddSpacer(5);
-#endif // !ENABLE_PREVIEW_LAYOUT
     bottom_toolbar_sizer->Add(m_moves_slider, 1, wxALL | wxEXPAND, 0);
     m_bottom_toolbar_panel->SetSizer(bottom_toolbar_sizer);
 
@@ -360,9 +280,6 @@ void Preview::load_print(bool keep_z_range)
     else if (tech == ptSLA)
         load_print_as_sla();
 
-#if !ENABLE_PREVIEW_LAYOUT
-    update_bottom_toolbar();
-#endif // !ENABLE_PREVIEW_LAYOUT
     Layout();
 }
 
@@ -405,12 +322,6 @@ void Preview::refresh_print()
 
 void Preview::msw_rescale()
 {
-#if !ENABLE_PREVIEW_LAYOUT
-#ifdef _WIN32
-    m_choice_view_type->Rescale();
-    m_choice_view_type->SetMinSize(m_choice_view_type->GetSize());
-#endif
-#endif // !ENABLE_PREVIEW_LAYOUT
     // rescale slider
     if (m_layers_slider != nullptr) m_layers_slider->msw_rescale();
     if (m_moves_slider != nullptr) m_moves_slider->msw_rescale();
@@ -426,16 +337,8 @@ void Preview::sys_color_changed()
 {
 #ifdef _WIN32
     wxWindowUpdateLocker noUpdates(this);
-
     wxGetApp().UpdateAllStaticTextDarkUI(m_bottom_toolbar_panel);
-#if !ENABLE_PREVIEW_LAYOUT
-    wxGetApp().UpdateDarkUI(m_choice_view_type);
-    wxGetApp().UpdateDarkUI(m_combochecklist_features);
-    wxGetApp().UpdateDarkUI(static_cast<wxCheckListBoxComboPopup*>(m_combochecklist_features->GetPopupControl()));
-    wxGetApp().UpdateDarkUI(m_combochecklist_options);
-    wxGetApp().UpdateDarkUI(static_cast<wxCheckListBoxComboPopup*>(m_combochecklist_options->GetPopupControl()));
-#endif // !ENABLE_PREVIEW_LAYOUT
-#endif
+#endif // _WIN32
 
     if (m_layers_slider != nullptr)
         m_layers_slider->sys_color_changed();
@@ -459,22 +362,12 @@ void Preview::edit_layers_slider(wxKeyEvent& evt)
 void Preview::bind_event_handlers()
 {
     Bind(wxEVT_SIZE, &Preview::on_size, this);
-#if !ENABLE_PREVIEW_LAYOUT
-    m_choice_view_type->Bind(wxEVT_COMBOBOX, &Preview::on_choice_view_type, this);
-    m_combochecklist_features->Bind(wxEVT_CHECKLISTBOX, &Preview::on_combochecklist_features, this);
-    m_combochecklist_options->Bind(wxEVT_CHECKLISTBOX, &Preview::on_combochecklist_options, this);
-#endif // !ENABLE_PREVIEW_LAYOUT
     m_moves_slider->Bind(wxEVT_SCROLL_CHANGED, &Preview::on_moves_slider_scroll_changed, this);
 }
 
 void Preview::unbind_event_handlers()
 {
     Unbind(wxEVT_SIZE, &Preview::on_size, this);
-#if !ENABLE_PREVIEW_LAYOUT
-    m_choice_view_type->Unbind(wxEVT_COMBOBOX, &Preview::on_choice_view_type, this);
-    m_combochecklist_features->Unbind(wxEVT_CHECKLISTBOX, &Preview::on_combochecklist_features, this);
-    m_combochecklist_options->Unbind(wxEVT_CHECKLISTBOX, &Preview::on_combochecklist_options, this);
-#endif // !ENABLE_PREVIEW_LAYOUT
     m_moves_slider->Unbind(wxEVT_SCROLL_CHANGED, &Preview::on_moves_slider_scroll_changed, this);
 }
 
@@ -495,75 +388,6 @@ void Preview::on_size(wxSizeEvent& evt)
     Refresh();
 }
 
-#if !ENABLE_PREVIEW_LAYOUT
-void Preview::on_choice_view_type(wxCommandEvent& evt)
-{
-    int selection = m_choice_view_type->GetCurrentSelection();
-    if (0 <= selection && selection < static_cast<int>(GCodeViewer::EViewType::Count)) {
-        m_canvas->set_toolpath_view_type(static_cast<GCodeViewer::EViewType>(selection));
-        m_keep_current_preview_type = true;
-    }
-    refresh_print();
-}
-
-void Preview::on_combochecklist_features(wxCommandEvent& evt)
-{
-    unsigned int flags = Slic3r::GUI::combochecklist_get_flags(m_combochecklist_features);
-    m_canvas->set_toolpath_role_visibility_flags(flags);
-    refresh_print();
-}
-
-void Preview::on_combochecklist_options(wxCommandEvent& evt)
-{
-    const unsigned int curr_flags = m_canvas->get_gcode_options_visibility_flags();
-    const unsigned int new_flags = Slic3r::GUI::combochecklist_get_flags(m_combochecklist_options);
-    if (curr_flags == new_flags)
-        return;
-
-    m_canvas->set_gcode_options_visibility_from_flags(new_flags);
-    if (m_canvas->get_gcode_view_type() == GCodeViewer::EViewType::Feedrate) {
-        const unsigned int diff_flags = curr_flags ^ new_flags;
-        if ((diff_flags & (1 << static_cast<unsigned int>(Preview::OptionType::Travel))) != 0)
-            refresh_print();
-        else
-            m_canvas->refresh_gcode_preview_render_paths();
-    }
-    else
-        m_canvas->refresh_gcode_preview_render_paths();
-
-    update_moves_slider();
-}
-
-void Preview::update_bottom_toolbar()
-{
-    combochecklist_set_flags(m_combochecklist_features, m_canvas->get_toolpath_role_visibility_flags());
-    combochecklist_set_flags(m_combochecklist_options, m_canvas->get_gcode_options_visibility_flags());
-
-    // updates visibility of features combobox
-    if (m_bottom_toolbar_panel->IsShown()) {
-        wxSizer* sizer = m_bottom_toolbar_panel->GetSizer();
-        bool show = !m_canvas->is_gcode_legend_enabled() || m_canvas->get_gcode_view_type() != GCodeViewer::EViewType::FeatureType;
-
-        if (show) {
-            if (sizer->GetItem(m_combochecklist_features) == nullptr) {
-                sizer->Insert(m_combochecklist_features_pos, m_combochecklist_features, 0, wxALIGN_CENTER_VERTICAL | wxLEFT, 5);
-                sizer->Show(m_combochecklist_features);
-                sizer->Layout();
-                Refresh();
-            }
-        }
-        else {
-            if (sizer->GetItem(m_combochecklist_features) != nullptr) {
-                sizer->Hide(m_combochecklist_features);
-                sizer->Detach(m_combochecklist_features);
-                sizer->Layout();
-                Refresh();
-            }
-        }
-    }
-}
-#endif // !ENABLE_PREVIEW_LAYOUT
-
 wxBoxSizer* Preview::create_layers_slider_sizer()
 {
     wxBoxSizer* sizer = new wxBoxSizer(wxHORIZONTAL);
@@ -1022,7 +846,6 @@ void Preview::load_print_as_fff(bool keep_z_range)
                 m_canvas->get_custom_gcode_per_print_z();
             const bool contains_color_gcodes = std::any_of(std::begin(gcodes), std::end(gcodes),
                 [] (auto const& item) { return item.type == CustomGCode::Type::ColorChange; });
-#if ENABLE_PREVIEW_LAYOUT
             const GCodeViewer::EViewType choice = contains_color_gcodes ?
                 GCodeViewer::EViewType::ColorPrint :
                 (number_extruders > 1) ? GCodeViewer::EViewType::Tool : GCodeViewer::EViewType::FeatureType;
@@ -1032,21 +855,6 @@ void Preview::load_print_as_fff(bool keep_z_range)
                     m_keep_current_preview_type = true;
                 refresh_print();
             }
-#else
-            const wxString choice = contains_color_gcodes ?
-                _L("Color Print") :
-                (number_extruders > 1) ? _L("Tool") : _L("Feature type");
-            int type = m_choice_view_type->FindString(choice);
-            if (m_choice_view_type->GetSelection() != type) {
-                if (0 <= type && type < static_cast<int>(GCodeViewer::EViewType::Count)) {
-                    m_choice_view_type->SetSelection(type);
-                    m_canvas->set_gcode_view_preview_type(static_cast<GCodeViewer::EViewType>(type));
-                    if (wxGetApp().is_gcode_viewer())
-                        m_keep_current_preview_type = true;
-                    refresh_print();
-                }
-            }
-#endif // ENABLE_PREVIEW_LAYOUT
         }
 
         if (zs.empty()) {
@@ -1121,27 +929,5 @@ void Preview::on_moves_slider_scroll_changed(wxCommandEvent& event)
     m_canvas->render();
 }
 
-#if !ENABLE_PREVIEW_LAYOUT
-wxString Preview::get_option_type_string(OptionType type) const
-{
-    switch (type)
-    {
-    case OptionType::Travel:        { return _L("Travel"); }
-    case OptionType::Wipe:          { return _L("Wipe"); }
-    case OptionType::Retractions:   { return _L("Retractions"); }
-    case OptionType::Unretractions: { return _L("Deretractions"); }
-    case OptionType::Seams:         { return _L("Seams"); }
-    case OptionType::ToolChanges:   { return _L("Tool changes"); }
-    case OptionType::ColorChanges:  { return _L("Color changes"); }
-    case OptionType::PausePrints:   { return _L("Print pauses"); }
-    case OptionType::CustomGCodes:  { return _L("Custom G-codes"); }
-    case OptionType::Shells:        { return _L("Shells"); }
-    case OptionType::ToolMarker:    { return _L("Tool marker"); }
-    case OptionType::Legend:        { return _L("Legend/Estimated printing time"); }
-    default:                        { return ""; }
-    }
-}
-#endif // !ENABLE_PREVIEW_LAYOUT
-
 } // namespace GUI
 } // namespace Slic3r
diff --git a/src/slic3r/GUI/GUI_Preview.hpp b/src/slic3r/GUI/GUI_Preview.hpp
index 1137f11b9..25d9fe084 100644
--- a/src/slic3r/GUI/GUI_Preview.hpp
+++ b/src/slic3r/GUI/GUI_Preview.hpp
@@ -80,18 +80,6 @@ class Preview : public wxPanel
     wxBoxSizer* m_left_sizer { nullptr };
     wxBoxSizer* m_layers_slider_sizer { nullptr };
     wxPanel* m_bottom_toolbar_panel { nullptr };
-#if !ENABLE_PREVIEW_LAYOUT
-    wxStaticText* m_label_view_type { nullptr };
-#ifdef _WIN32
-    BitmapComboBox* m_choice_view_type { nullptr };
-#else
-    wxComboBox* m_choice_view_type { nullptr };
-#endif
-    wxStaticText* m_label_show{ nullptr };
-    wxComboCtrl* m_combochecklist_features { nullptr };
-    size_t m_combochecklist_features_pos { 0 };
-    wxComboCtrl* m_combochecklist_options { nullptr };
-#endif // !ENABLE_PREVIEW_LAYOUT
 
     DynamicPrintConfig* m_config;
     BackgroundSlicingProcess* m_process;
@@ -129,9 +117,6 @@ public:
         CenterOfGravity,
         Shells,
         ToolMarker,
-#if !ENABLE_PREVIEW_LAYOUT
-        Legend
-#endif // !ENABLE_PREVIEW_LAYOUT
     };
 
     Preview(wxWindow* parent, Bed3D& bed, Model* model, DynamicPrintConfig* config, BackgroundSlicingProcess* process, 
@@ -159,17 +144,12 @@ public:
 
     bool is_loaded() const { return m_loaded; }
 
-#if !ENABLE_PREVIEW_LAYOUT
-    void update_bottom_toolbar();
-#endif // !ENABLE_PREVIEW_LAYOUT
     void update_moves_slider();
     void enable_moves_slider(bool enable);
     void move_moves_slider(wxKeyEvent& evt);
     void hide_layers_slider();
 
-#if ENABLE_PREVIEW_LAYOUT
     void set_keep_current_preview_type(bool value) { m_keep_current_preview_type = value; }
-#endif // ENABLE_PREVIEW_LAYOUT
 
 private:
     bool init(wxWindow* parent, Bed3D& bed, Model* model);
@@ -178,11 +158,6 @@ private:
     void unbind_event_handlers();
 
     void on_size(wxSizeEvent& evt);
-#if !ENABLE_PREVIEW_LAYOUT
-    void on_choice_view_type(wxCommandEvent& evt);
-    void on_combochecklist_features(wxCommandEvent& evt);
-    void on_combochecklist_options(wxCommandEvent& evt);
-#endif // !ENABLE_PREVIEW_LAYOUT
 
     // Create/Update/Reset double slider on 3dPreview
     wxBoxSizer* create_layers_slider_sizer();
@@ -199,9 +174,6 @@ private:
 
     void on_layers_slider_scroll_changed(wxCommandEvent& event);
     void on_moves_slider_scroll_changed(wxCommandEvent& event);
-#if !ENABLE_PREVIEW_LAYOUT
-    wxString get_option_type_string(OptionType type) const;
-#endif // !ENABLE_PREVIEW_LAYOUT
 };
 
 } // namespace GUI
diff --git a/src/slic3r/GUI/ImGuiWrapper.cpp b/src/slic3r/GUI/ImGuiWrapper.cpp
index 34d1d73f4..fe3f69a58 100644
--- a/src/slic3r/GUI/ImGuiWrapper.cpp
+++ b/src/slic3r/GUI/ImGuiWrapper.cpp
@@ -389,7 +389,6 @@ bool ImGuiWrapper::radio_button(const wxString &label, bool active)
     return ImGui::RadioButton(label_utf8.c_str(), active);
 }
 
-#if ENABLE_PREVIEW_LAYOUT
 bool ImGuiWrapper::draw_radio_button(const std::string& name, float size, bool active,
     std::function<void(ImGuiWindow& window, const ImVec2& pos, float size)> draw_callback)
 {
@@ -423,7 +422,6 @@ bool ImGuiWrapper::draw_radio_button(const std::string& name, float size, bool a
     IMGUI_TEST_ENGINE_ITEM_INFO(id, label, window.DC.LastItemStatusFlags);
     return pressed;
 }
-#endif // ENABLE_PREVIEW_LAYOUT
 
 bool ImGuiWrapper::input_double(const std::string &label, const double &value, const std::string &format)
 {
@@ -671,14 +669,10 @@ bool ImGuiWrapper::image_button(ImTextureID user_texture_id, const ImVec2& size,
 bool ImGuiWrapper::combo(const wxString& label, const std::vector<std::string>& options, int& selection, ImGuiComboFlags flags)
 {
     // this is to force the label to the left of the widget:
-#if ENABLE_PREVIEW_LAYOUT
     if (!label.empty()) {
-#endif // ENABLE_PREVIEW_LAYOUT
         text(label);
         ImGui::SameLine();
-#if ENABLE_PREVIEW_LAYOUT
     }
-#endif // ENABLE_PREVIEW_LAYOUT
 
     int selection_out = selection;
     bool res = false;
diff --git a/src/slic3r/GUI/ImGuiWrapper.hpp b/src/slic3r/GUI/ImGuiWrapper.hpp
index 8e1d2630d..769deccb8 100644
--- a/src/slic3r/GUI/ImGuiWrapper.hpp
+++ b/src/slic3r/GUI/ImGuiWrapper.hpp
@@ -21,9 +21,7 @@ class wxString;
 class wxMouseEvent;
 class wxKeyEvent;
 
-#if ENABLE_PREVIEW_LAYOUT
 struct IMGUI_API ImGuiWindow;
-#endif // ENABLE_PREVIEW_LAYOUT
 
 namespace Slic3r {
 namespace GUI {
@@ -90,9 +88,7 @@ public:
     bool button(const wxString &label);
 	bool button(const wxString& label, float width, float height);
     bool radio_button(const wxString &label, bool active);
-#if ENABLE_PREVIEW_LAYOUT
     bool draw_radio_button(const std::string& name, float size, bool active, std::function<void(ImGuiWindow& window, const ImVec2& pos, float size)> draw_callback);
-#endif // ENABLE_PREVIEW_LAYOUT
     bool input_double(const std::string &label, const double &value, const std::string &format = "%.3f");
     bool input_double(const wxString &label, const double &value, const std::string &format = "%.3f");
     bool input_vec3(const std::string &label, const Vec3d &value, float width, const std::string &format = "%.3f");
diff --git a/src/slic3r/GUI/MainFrame.cpp b/src/slic3r/GUI/MainFrame.cpp
index df531c562..96959f33b 100644
--- a/src/slic3r/GUI/MainFrame.cpp
+++ b/src/slic3r/GUI/MainFrame.cpp
@@ -1494,11 +1494,9 @@ void MainFrame::init_menubar_as_editor()
         append_menu_check_item(viewMenu, wxID_ANY, _L("Show &Labels") + sep + "E", _L("Show object/instance labels in 3D scene"),
             [this](wxCommandEvent&) { m_plater->show_view3D_labels(!m_plater->are_view3D_labels_shown()); }, this,
             [this]() { return m_plater->is_view3D_shown(); }, [this]() { return m_plater->are_view3D_labels_shown(); }, this);
-#if ENABLE_PREVIEW_LAYOUT
         append_menu_check_item(viewMenu, wxID_ANY, _L("Show Legen&d") + sep + "L", _L("Show legend in preview"),
             [this](wxCommandEvent&) { m_plater->show_legend(!m_plater->is_legend_shown()); }, this,
             [this]() { return m_plater->is_preview_shown(); }, [this]() { return m_plater->is_legend_shown(); }, this);
-#endif // ENABLE_PREVIEW_LAYOUT
         append_menu_check_item(viewMenu, wxID_ANY, _L("&Collapse Sidebar") + sep + "Shift+" + sep_space + "Tab", _L("Collapse sidebar"),
             [this](wxCommandEvent&) { m_plater->collapse_sidebar(!m_plater->is_sidebar_collapsed()); }, this,
             []() { return true; }, [this]() { return m_plater->is_sidebar_collapsed(); }, this);
@@ -1616,12 +1614,10 @@ void MainFrame::init_menubar_as_gcodeviewer()
     if (m_plater != nullptr) {
         viewMenu = new wxMenu();
         add_common_view_menu_items(viewMenu, this, std::bind(&MainFrame::can_change_view, this));
-#if ENABLE_PREVIEW_LAYOUT
         viewMenu->AppendSeparator();
         append_menu_check_item(viewMenu, wxID_ANY, _L("Show legen&d") + sep + "L", _L("Show legend"),
             [this](wxCommandEvent&) { m_plater->show_legend(!m_plater->is_legend_shown()); }, this,
             [this]() { return m_plater->is_preview_shown(); }, [this]() { return m_plater->is_legend_shown(); }, this);
-#endif // ENABLE_PREVIEW_LAYOUT
     }
 
     // helpmenu
diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp
index 683789215..326bd79e2 100644
--- a/src/slic3r/GUI/Plater.cpp
+++ b/src/slic3r/GUI/Plater.cpp
@@ -1767,10 +1767,8 @@ struct Plater::priv
     bool are_view3D_labels_shown() const { return (current_panel == view3D) && view3D->get_canvas3d()->are_labels_shown(); }
     void show_view3D_labels(bool show) { if (current_panel == view3D) view3D->get_canvas3d()->show_labels(show); }
 
-#if ENABLE_PREVIEW_LAYOUT
     bool is_legend_shown() const { return (current_panel == preview) && preview->get_canvas3d()->is_legend_shown(); }
     void show_legend(bool show) { if (current_panel == preview) preview->get_canvas3d()->show_legend(show); }
-#endif // ENABLE_PREVIEW_LAYOUT
 
     bool is_sidebar_collapsed() const   { return sidebar->is_collapsed(); }
     void collapse_sidebar(bool collapse);
@@ -1785,9 +1783,6 @@ struct Plater::priv
     bool init_view_toolbar();
     bool init_collapse_toolbar();
 
-#if !ENABLE_PREVIEW_LAYOUT
-    void update_preview_bottom_toolbar();
-#endif // !ENABLE_PREVIEW_LAYOUT
     void update_preview_moves_slider();
     void enable_preview_moves_slider(bool enable);
 
@@ -4740,13 +4735,6 @@ bool Plater::priv::init_collapse_toolbar()
     return true;
 }
 
-#if !ENABLE_PREVIEW_LAYOUT
-void Plater::priv::update_preview_bottom_toolbar()
-{
-    preview->update_bottom_toolbar();
-}
-#endif // !ENABLE_PREVIEW_LAYOUT
-
 void Plater::priv::update_preview_moves_slider()
 {
     preview->update_moves_slider();
@@ -5723,10 +5711,8 @@ bool Plater::is_view3D_shown() const { return p->is_view3D_shown(); }
 bool Plater::are_view3D_labels_shown() const { return p->are_view3D_labels_shown(); }
 void Plater::show_view3D_labels(bool show) { p->show_view3D_labels(show); }
 
-#if ENABLE_PREVIEW_LAYOUT
 bool Plater::is_legend_shown() const { return p->is_legend_shown(); }
 void Plater::show_legend(bool show) { p->show_legend(show); }
-#endif // ENABLE_PREVIEW_LAYOUT
 
 bool Plater::is_sidebar_collapsed() const { return p->is_sidebar_collapsed(); }
 void Plater::collapse_sidebar(bool show) { p->collapse_sidebar(show); }
@@ -7084,13 +7070,6 @@ GLToolbar& Plater::get_collapse_toolbar()
     return p->collapse_toolbar;
 }
 
-#if !ENABLE_PREVIEW_LAYOUT
-void Plater::update_preview_bottom_toolbar()
-{
-    p->update_preview_bottom_toolbar();
-}
-#endif // !ENABLE_PREVIEW_LAYOUT
-
 void Plater::update_preview_moves_slider()
 {
     p->update_preview_moves_slider();
@@ -7199,12 +7178,10 @@ bool Plater::is_render_statistic_dialog_visible() const
     return p->show_render_statistic_dialog;
 }
 
-#if ENABLE_PREVIEW_LAYOUT
 void Plater::set_keep_current_preview_type(bool value)
 {
     p->preview->set_keep_current_preview_type(value);
 }
-#endif // ENABLE_PREVIEW_LAYOUT
 
 Plater::TakeSnapshot::TakeSnapshot(Plater *plater, const std::string &snapshot_name)
 : TakeSnapshot(plater, from_u8(snapshot_name)) {}
diff --git a/src/slic3r/GUI/Plater.hpp b/src/slic3r/GUI/Plater.hpp
index 79e23a7a9..d099e0361 100644
--- a/src/slic3r/GUI/Plater.hpp
+++ b/src/slic3r/GUI/Plater.hpp
@@ -225,10 +225,8 @@ public:
     bool are_view3D_labels_shown() const;
     void show_view3D_labels(bool show);
 
-#if ENABLE_PREVIEW_LAYOUT
     bool is_legend_shown() const;
     void show_legend(bool show);
-#endif // ENABLE_PREVIEW_LAYOUT
 
     bool is_sidebar_collapsed() const;
     void collapse_sidebar(bool show);
@@ -390,9 +388,6 @@ public:
     const GLToolbar& get_collapse_toolbar() const;
     GLToolbar& get_collapse_toolbar();
 
-#if !ENABLE_PREVIEW_LAYOUT
-    void update_preview_bottom_toolbar();
-#endif // !ENABLE_PREVIEW_LAYOUT
     void update_preview_moves_slider();
     void enable_preview_moves_slider(bool enable);
 
@@ -458,9 +453,7 @@ public:
     void toggle_render_statistic_dialog();
     bool is_render_statistic_dialog_visible() const;
 
-#if ENABLE_PREVIEW_LAYOUT
     void set_keep_current_preview_type(bool value);
-#endif // ENABLE_PREVIEW_LAYOUT
 
 	// Wrapper around wxWindow::PopupMenu to suppress error messages popping out while tracking the popup menu.
 	bool PopupMenu(wxMenu *menu, const wxPoint& pos = wxDefaultPosition);