diff --git a/Userland/Applications/PixelPaint/ToolPropertiesWidget.cpp b/Userland/Applications/PixelPaint/ToolPropertiesWidget.cpp index 699a47eb75..f9ec4937ba 100644 --- a/Userland/Applications/PixelPaint/ToolPropertiesWidget.cpp +++ b/Userland/Applications/PixelPaint/ToolPropertiesWidget.cpp @@ -22,7 +22,6 @@ ToolPropertiesWidget::ToolPropertiesWidget() m_group_box = add("Tool properties"sv); m_group_box->set_layout(8); m_tool_widget_stack = m_group_box->add(); - m_blank_widget = m_tool_widget_stack->add(); m_error_label = m_tool_widget_stack->add(); m_error_label->set_enabled(false); } @@ -33,18 +32,7 @@ void ToolPropertiesWidget::set_active_tool(Tool* tool) return; m_active_tool = tool; - auto active_tool_widget_or_error = tool->get_properties_widget(); - if (active_tool_widget_or_error.is_error()) { - m_active_tool_widget = nullptr; - m_error_label->set_text(String::formatted("Error creating tool properties: {}", active_tool_widget_or_error.release_error()).release_value_but_fixme_should_propagate_errors()); - m_tool_widget_stack->set_active_widget(m_error_label); - return; - } - m_active_tool_widget = active_tool_widget_or_error.release_value(); - if (m_active_tool_widget == nullptr) { - m_tool_widget_stack->set_active_widget(m_blank_widget); - return; - } + m_active_tool_widget = tool->get_properties_widget(); if (!m_tool_widget_stack->is_ancestor_of(*m_active_tool_widget)) m_tool_widget_stack->add_child(*m_active_tool_widget); diff --git a/Userland/Applications/PixelPaint/ToolPropertiesWidget.h b/Userland/Applications/PixelPaint/ToolPropertiesWidget.h index 0ec49b774c..3bea69987a 100644 --- a/Userland/Applications/PixelPaint/ToolPropertiesWidget.h +++ b/Userland/Applications/PixelPaint/ToolPropertiesWidget.h @@ -31,7 +31,6 @@ private: Tool* m_active_tool { nullptr }; RefPtr m_tool_widget_stack; - RefPtr m_blank_widget; RefPtr m_error_label; GUI::Widget* m_active_tool_widget { nullptr }; }; diff --git a/Userland/Applications/PixelPaint/Tools/BrushTool.cpp b/Userland/Applications/PixelPaint/Tools/BrushTool.cpp index 1a252163c8..9ba2c5f525 100644 --- a/Userland/Applications/PixelPaint/Tools/BrushTool.cpp +++ b/Userland/Applications/PixelPaint/Tools/BrushTool.cpp @@ -197,7 +197,7 @@ void BrushTool::draw_line(Gfx::Bitmap& bitmap, Gfx::Color color, Gfx::IntPoint s } } -ErrorOr BrushTool::get_properties_widget() +NonnullRefPtr BrushTool::get_properties_widget() { if (!m_properties_widget) { auto properties_widget = GUI::Widget::construct(); @@ -348,7 +348,7 @@ ErrorOr BrushTool::get_properties_widget() m_properties_widget = properties_widget; } - return m_properties_widget.ptr(); + return *m_properties_widget; } NonnullRefPtr BrushTool::build_cursor() diff --git a/Userland/Applications/PixelPaint/Tools/BrushTool.h b/Userland/Applications/PixelPaint/Tools/BrushTool.h index 6d06b8aa6b..59a842ffed 100644 --- a/Userland/Applications/PixelPaint/Tools/BrushTool.h +++ b/Userland/Applications/PixelPaint/Tools/BrushTool.h @@ -22,7 +22,7 @@ public: virtual void on_mousedown(Layer*, MouseEvent&) override; virtual void on_mousemove(Layer*, MouseEvent&) override; virtual void on_mouseup(Layer*, MouseEvent&) override; - virtual ErrorOr get_properties_widget() override; + virtual NonnullRefPtr get_properties_widget() override; virtual Variant> cursor() override { if (m_editor && m_editor->scale() != m_scale_last_created_cursor) diff --git a/Userland/Applications/PixelPaint/Tools/BucketTool.cpp b/Userland/Applications/PixelPaint/Tools/BucketTool.cpp index ebddaa08cf..2feffee196 100644 --- a/Userland/Applications/PixelPaint/Tools/BucketTool.cpp +++ b/Userland/Applications/PixelPaint/Tools/BucketTool.cpp @@ -61,7 +61,7 @@ void BucketTool::on_mousedown(Layer* layer, MouseEvent& event) m_editor->did_complete_action(tool_name()); } -ErrorOr BucketTool::get_properties_widget() +NonnullRefPtr BucketTool::get_properties_widget() { if (!m_properties_widget) { auto properties_widget = GUI::Widget::construct(); @@ -86,7 +86,7 @@ ErrorOr BucketTool::get_properties_widget() m_properties_widget = properties_widget; } - return m_properties_widget.ptr(); + return *m_properties_widget; } } diff --git a/Userland/Applications/PixelPaint/Tools/BucketTool.h b/Userland/Applications/PixelPaint/Tools/BucketTool.h index 09bf0d4c5f..8c2a78005f 100644 --- a/Userland/Applications/PixelPaint/Tools/BucketTool.h +++ b/Userland/Applications/PixelPaint/Tools/BucketTool.h @@ -17,7 +17,7 @@ public: virtual ~BucketTool() override = default; virtual void on_mousedown(Layer*, MouseEvent&) override; - virtual ErrorOr get_properties_widget() override; + virtual NonnullRefPtr get_properties_widget() override; virtual Variant> cursor() override { return m_cursor; } private: diff --git a/Userland/Applications/PixelPaint/Tools/CloneTool.cpp b/Userland/Applications/PixelPaint/Tools/CloneTool.cpp index 716df549c9..372a79546b 100644 --- a/Userland/Applications/PixelPaint/Tools/CloneTool.cpp +++ b/Userland/Applications/PixelPaint/Tools/CloneTool.cpp @@ -125,7 +125,7 @@ void CloneTool::on_keyup(GUI::KeyEvent& event) } } -ErrorOr CloneTool::get_properties_widget() +NonnullRefPtr CloneTool::get_properties_widget() { if (!m_properties_widget) { auto properties_widget = GUI::Widget::construct(); @@ -168,7 +168,7 @@ ErrorOr CloneTool::get_properties_widget() m_properties_widget = properties_widget; } - return m_properties_widget.ptr(); + return *m_properties_widget; } Optional CloneTool::sample_marker_rect() diff --git a/Userland/Applications/PixelPaint/Tools/CloneTool.h b/Userland/Applications/PixelPaint/Tools/CloneTool.h index 053378b381..6b7cd7c4d9 100644 --- a/Userland/Applications/PixelPaint/Tools/CloneTool.h +++ b/Userland/Applications/PixelPaint/Tools/CloneTool.h @@ -15,7 +15,7 @@ public: CloneTool() = default; virtual ~CloneTool() override = default; - virtual ErrorOr get_properties_widget() override; + virtual NonnullRefPtr get_properties_widget() override; virtual Variant> cursor() override; virtual bool is_overriding_alt() override { return true; } diff --git a/Userland/Applications/PixelPaint/Tools/EllipseTool.cpp b/Userland/Applications/PixelPaint/Tools/EllipseTool.cpp index 8cf20c1c09..6edbf1e3e3 100644 --- a/Userland/Applications/PixelPaint/Tools/EllipseTool.cpp +++ b/Userland/Applications/PixelPaint/Tools/EllipseTool.cpp @@ -126,7 +126,7 @@ bool EllipseTool::on_keydown(GUI::KeyEvent& event) return Tool::on_keydown(event); } -ErrorOr EllipseTool::get_properties_widget() +NonnullRefPtr EllipseTool::get_properties_widget() { if (!m_properties_widget) { auto properties_widget = GUI::Widget::construct(); @@ -208,7 +208,7 @@ ErrorOr EllipseTool::get_properties_widget() m_properties_widget = properties_widget; } - return m_properties_widget.ptr(); + return *m_properties_widget; } } diff --git a/Userland/Applications/PixelPaint/Tools/EllipseTool.h b/Userland/Applications/PixelPaint/Tools/EllipseTool.h index 0e0601ac50..75bd1cedeb 100644 --- a/Userland/Applications/PixelPaint/Tools/EllipseTool.h +++ b/Userland/Applications/PixelPaint/Tools/EllipseTool.h @@ -25,7 +25,7 @@ public: virtual void on_mouseup(Layer*, MouseEvent&) override; virtual void on_second_paint(Layer const*, GUI::PaintEvent&) override; virtual bool on_keydown(GUI::KeyEvent&) override; - virtual ErrorOr get_properties_widget() override; + virtual NonnullRefPtr get_properties_widget() override; virtual Variant> cursor() override { return Gfx::StandardCursor::Crosshair; } private: diff --git a/Userland/Applications/PixelPaint/Tools/EraseTool.cpp b/Userland/Applications/PixelPaint/Tools/EraseTool.cpp index 1d5d9af936..5686928b2b 100644 --- a/Userland/Applications/PixelPaint/Tools/EraseTool.cpp +++ b/Userland/Applications/PixelPaint/Tools/EraseTool.cpp @@ -54,7 +54,7 @@ void EraseTool::draw_point(Gfx::Bitmap& bitmap, Gfx::Color color, Gfx::IntPoint } } -ErrorOr EraseTool::get_properties_widget() +NonnullRefPtr EraseTool::get_properties_widget() { if (!m_properties_widget) { auto properties_widget = GUI::Widget::construct(); @@ -135,7 +135,7 @@ ErrorOr EraseTool::get_properties_widget() m_properties_widget = properties_widget; } - return m_properties_widget.ptr(); + return *m_properties_widget; } NonnullRefPtr EraseTool::build_cursor() diff --git a/Userland/Applications/PixelPaint/Tools/EraseTool.h b/Userland/Applications/PixelPaint/Tools/EraseTool.h index 59db17165d..f073bc6bfc 100644 --- a/Userland/Applications/PixelPaint/Tools/EraseTool.h +++ b/Userland/Applications/PixelPaint/Tools/EraseTool.h @@ -20,7 +20,7 @@ public: EraseTool() = default; virtual ~EraseTool() override = default; - virtual ErrorOr get_properties_widget() override; + virtual NonnullRefPtr get_properties_widget() override; protected: virtual Color color_for(GUI::MouseEvent const& event) override; diff --git a/Userland/Applications/PixelPaint/Tools/GradientTool.cpp b/Userland/Applications/PixelPaint/Tools/GradientTool.cpp index 971eb377fb..fad240147b 100644 --- a/Userland/Applications/PixelPaint/Tools/GradientTool.cpp +++ b/Userland/Applications/PixelPaint/Tools/GradientTool.cpp @@ -198,7 +198,7 @@ void GradientTool::on_tool_activation() reset(); } -ErrorOr GradientTool::get_properties_widget() +NonnullRefPtr GradientTool::get_properties_widget() { if (!m_properties_widget) { auto properties_widget = GUI::Widget::construct(); @@ -304,7 +304,7 @@ ErrorOr GradientTool::get_properties_widget() m_properties_widget = properties_widget; } - return m_properties_widget.ptr(); + return *m_properties_widget; } void GradientTool::rasterize_gradient() diff --git a/Userland/Applications/PixelPaint/Tools/GradientTool.h b/Userland/Applications/PixelPaint/Tools/GradientTool.h index 43c38cdbac..1cfd8db9a4 100644 --- a/Userland/Applications/PixelPaint/Tools/GradientTool.h +++ b/Userland/Applications/PixelPaint/Tools/GradientTool.h @@ -23,7 +23,7 @@ public: virtual void on_primary_color_change(Color) override; virtual void on_secondary_color_change(Color) override; virtual void on_tool_activation() override; - virtual ErrorOr get_properties_widget() override; + virtual NonnullRefPtr get_properties_widget() override; virtual Variant> cursor() override; virtual void on_second_paint(Layer const*, GUI::PaintEvent&) override; diff --git a/Userland/Applications/PixelPaint/Tools/GuideTool.cpp b/Userland/Applications/PixelPaint/Tools/GuideTool.cpp index 10ca16410b..54a904887f 100644 --- a/Userland/Applications/PixelPaint/Tools/GuideTool.cpp +++ b/Userland/Applications/PixelPaint/Tools/GuideTool.cpp @@ -176,7 +176,7 @@ void GuideTool::on_tool_activation() m_editor->set_guide_visibility(true); } -ErrorOr GuideTool::get_properties_widget() +NonnullRefPtr GuideTool::get_properties_widget() { if (!m_properties_widget) { auto properties_widget = GUI::Widget::construct(); @@ -202,7 +202,7 @@ ErrorOr GuideTool::get_properties_widget() m_properties_widget = properties_widget; } - return m_properties_widget.ptr(); + return *m_properties_widget; } } diff --git a/Userland/Applications/PixelPaint/Tools/GuideTool.h b/Userland/Applications/PixelPaint/Tools/GuideTool.h index a87207699c..170e530d09 100644 --- a/Userland/Applications/PixelPaint/Tools/GuideTool.h +++ b/Userland/Applications/PixelPaint/Tools/GuideTool.h @@ -27,7 +27,7 @@ public: virtual void on_tool_activation() override; - virtual ErrorOr get_properties_widget() override; + virtual NonnullRefPtr get_properties_widget() override; virtual Variant> cursor() override { return Gfx::StandardCursor::Crosshair; } private: diff --git a/Userland/Applications/PixelPaint/Tools/LassoSelectTool.cpp b/Userland/Applications/PixelPaint/Tools/LassoSelectTool.cpp index 2363fd488f..3a66c2758b 100644 --- a/Userland/Applications/PixelPaint/Tools/LassoSelectTool.cpp +++ b/Userland/Applications/PixelPaint/Tools/LassoSelectTool.cpp @@ -154,10 +154,10 @@ bool LassoSelectTool::on_keydown(GUI::KeyEvent& key_event) return Tool::on_keydown(key_event); } -ErrorOr LassoSelectTool::get_properties_widget() +NonnullRefPtr LassoSelectTool::get_properties_widget() { if (m_properties_widget) { - return m_properties_widget.ptr(); + return *m_properties_widget.ptr(); } auto properties_widget = GUI::Widget::construct(); @@ -207,7 +207,7 @@ ErrorOr LassoSelectTool::get_properties_widget() }; m_properties_widget = properties_widget; - return m_properties_widget.ptr(); + return *m_properties_widget; } } diff --git a/Userland/Applications/PixelPaint/Tools/LassoSelectTool.h b/Userland/Applications/PixelPaint/Tools/LassoSelectTool.h index dd1123f341..e9ba54428a 100644 --- a/Userland/Applications/PixelPaint/Tools/LassoSelectTool.h +++ b/Userland/Applications/PixelPaint/Tools/LassoSelectTool.h @@ -25,7 +25,7 @@ public: virtual void on_mousemove(Layer*, MouseEvent& event) override; virtual bool on_keydown(GUI::KeyEvent&) override; virtual void on_second_paint(Layer const*, GUI::PaintEvent&) override; - virtual ErrorOr get_properties_widget() override; + virtual NonnullRefPtr get_properties_widget() override; virtual Variant> cursor() override { return Gfx::StandardCursor::Crosshair; } private: diff --git a/Userland/Applications/PixelPaint/Tools/LineTool.cpp b/Userland/Applications/PixelPaint/Tools/LineTool.cpp index 688b1b63ae..654338707d 100644 --- a/Userland/Applications/PixelPaint/Tools/LineTool.cpp +++ b/Userland/Applications/PixelPaint/Tools/LineTool.cpp @@ -119,7 +119,7 @@ bool LineTool::on_keydown(GUI::KeyEvent& event) return Tool::on_keydown(event); } -ErrorOr LineTool::get_properties_widget() +NonnullRefPtr LineTool::get_properties_widget() { if (!m_properties_widget) { auto properties_widget = GUI::Widget::construct(); @@ -158,7 +158,7 @@ ErrorOr LineTool::get_properties_widget() m_properties_widget = properties_widget; } - return m_properties_widget.ptr(); + return *m_properties_widget; } } diff --git a/Userland/Applications/PixelPaint/Tools/LineTool.h b/Userland/Applications/PixelPaint/Tools/LineTool.h index b362b0f971..153c209242 100644 --- a/Userland/Applications/PixelPaint/Tools/LineTool.h +++ b/Userland/Applications/PixelPaint/Tools/LineTool.h @@ -23,7 +23,7 @@ public: virtual void on_mouseup(Layer*, MouseEvent&) override; virtual void on_second_paint(Layer const*, GUI::PaintEvent&) override; virtual bool on_keydown(GUI::KeyEvent&) override; - virtual ErrorOr get_properties_widget() override; + virtual NonnullRefPtr get_properties_widget() override; virtual Variant> cursor() override { return Gfx::StandardCursor::Crosshair; } void draw_using(GUI::Painter&, Gfx::IntPoint start_position, Gfx::IntPoint end_position, Color color, int thickness); diff --git a/Userland/Applications/PixelPaint/Tools/MoveTool.cpp b/Userland/Applications/PixelPaint/Tools/MoveTool.cpp index d5c2b33167..32aae7574f 100644 --- a/Userland/Applications/PixelPaint/Tools/MoveTool.cpp +++ b/Userland/Applications/PixelPaint/Tools/MoveTool.cpp @@ -289,7 +289,7 @@ Variant> MoveTool::cursor( return Gfx::StandardCursor::Move; } -ErrorOr MoveTool::get_properties_widget() +NonnullRefPtr MoveTool::get_properties_widget() { if (!m_properties_widget) { auto properties_widget = GUI::Widget::construct(); @@ -319,7 +319,7 @@ ErrorOr MoveTool::get_properties_widget() m_properties_widget = properties_widget; } - return m_properties_widget.ptr(); + return *m_properties_widget; } void MoveTool::toggle_selection_mode() diff --git a/Userland/Applications/PixelPaint/Tools/MoveTool.h b/Userland/Applications/PixelPaint/Tools/MoveTool.h index 7452bcde24..7a6924ddda 100644 --- a/Userland/Applications/PixelPaint/Tools/MoveTool.h +++ b/Userland/Applications/PixelPaint/Tools/MoveTool.h @@ -35,7 +35,7 @@ public: virtual bool on_keydown(GUI::KeyEvent&) override; virtual void on_keyup(GUI::KeyEvent&) override; virtual void on_second_paint(Layer const*, GUI::PaintEvent&) override; - virtual ErrorOr get_properties_widget() override; + virtual NonnullRefPtr get_properties_widget() override; virtual Variant> cursor() override; virtual bool is_overriding_alt() override { return true; } LayerSelectionMode layer_selection_mode() const { return m_layer_selection_mode; } diff --git a/Userland/Applications/PixelPaint/Tools/PenTool.cpp b/Userland/Applications/PixelPaint/Tools/PenTool.cpp index 3981d23b71..200e4f4485 100644 --- a/Userland/Applications/PixelPaint/Tools/PenTool.cpp +++ b/Userland/Applications/PixelPaint/Tools/PenTool.cpp @@ -35,7 +35,7 @@ void PenTool::draw_line(Gfx::Bitmap& bitmap, Gfx::Color color, Gfx::IntPoint sta painter.draw_line(start, end, color, size()); } -ErrorOr PenTool::get_properties_widget() +NonnullRefPtr PenTool::get_properties_widget() { if (!m_properties_widget) { auto properties_widget = GUI::Widget::construct(); @@ -60,7 +60,7 @@ ErrorOr PenTool::get_properties_widget() m_properties_widget = properties_widget; } - return m_properties_widget.ptr(); + return *m_properties_widget; } } diff --git a/Userland/Applications/PixelPaint/Tools/PenTool.h b/Userland/Applications/PixelPaint/Tools/PenTool.h index 0452337209..68d5e0edfa 100644 --- a/Userland/Applications/PixelPaint/Tools/PenTool.h +++ b/Userland/Applications/PixelPaint/Tools/PenTool.h @@ -19,7 +19,7 @@ public: PenTool(); virtual ~PenTool() override = default; virtual Variant> cursor() override { return Gfx::StandardCursor::Crosshair; } - virtual ErrorOr get_properties_widget() override; + virtual NonnullRefPtr get_properties_widget() override; protected: virtual void draw_point(Gfx::Bitmap& bitmap, Gfx::Color color, Gfx::IntPoint point) override; diff --git a/Userland/Applications/PixelPaint/Tools/PickerTool.cpp b/Userland/Applications/PixelPaint/Tools/PickerTool.cpp index eb198a12e1..96c2d3583e 100644 --- a/Userland/Applications/PixelPaint/Tools/PickerTool.cpp +++ b/Userland/Applications/PixelPaint/Tools/PickerTool.cpp @@ -41,7 +41,7 @@ void PickerTool::on_mousemove(Layer* layer, MouseEvent& event) m_editor->set_editor_color_to_color_at_mouse_position(layer_event, m_sample_all_layers); } -ErrorOr PickerTool::get_properties_widget() +NonnullRefPtr PickerTool::get_properties_widget() { if (!m_properties_widget) { auto properties_widget = GUI::Widget::construct(); @@ -55,7 +55,7 @@ ErrorOr PickerTool::get_properties_widget() m_properties_widget = properties_widget; } - return m_properties_widget.ptr(); + return *m_properties_widget; } } diff --git a/Userland/Applications/PixelPaint/Tools/PickerTool.h b/Userland/Applications/PixelPaint/Tools/PickerTool.h index 1a82423fee..004b7e974d 100644 --- a/Userland/Applications/PixelPaint/Tools/PickerTool.h +++ b/Userland/Applications/PixelPaint/Tools/PickerTool.h @@ -21,7 +21,7 @@ public: virtual void on_mouseup(Layer*, MouseEvent&) override; virtual void on_mousemove(Layer*, MouseEvent&) override; - virtual ErrorOr get_properties_widget() override; + virtual NonnullRefPtr get_properties_widget() override; virtual Variant> cursor() override { return Gfx::StandardCursor::Eyedropper; } private: diff --git a/Userland/Applications/PixelPaint/Tools/PolygonalSelectTool.cpp b/Userland/Applications/PixelPaint/Tools/PolygonalSelectTool.cpp index 94019cd91a..4fae919b03 100644 --- a/Userland/Applications/PixelPaint/Tools/PolygonalSelectTool.cpp +++ b/Userland/Applications/PixelPaint/Tools/PolygonalSelectTool.cpp @@ -184,10 +184,10 @@ bool PolygonalSelectTool::on_keydown(GUI::KeyEvent& key_event) return Tool::on_keydown(key_event); } -ErrorOr PolygonalSelectTool::get_properties_widget() +NonnullRefPtr PolygonalSelectTool::get_properties_widget() { if (m_properties_widget) - return m_properties_widget.ptr(); + return *m_properties_widget.ptr(); auto properties_widget = GUI::Widget::construct(); properties_widget->set_layout(); @@ -236,7 +236,7 @@ ErrorOr PolygonalSelectTool::get_properties_widget() }; m_properties_widget = properties_widget; - return m_properties_widget.ptr(); + return *m_properties_widget; } Gfx::IntPoint PolygonalSelectTool::point_position_to_preferred_cell(Gfx::FloatPoint position) const diff --git a/Userland/Applications/PixelPaint/Tools/PolygonalSelectTool.h b/Userland/Applications/PixelPaint/Tools/PolygonalSelectTool.h index 32e6666e99..892f9e6cb6 100644 --- a/Userland/Applications/PixelPaint/Tools/PolygonalSelectTool.h +++ b/Userland/Applications/PixelPaint/Tools/PolygonalSelectTool.h @@ -22,7 +22,7 @@ public: virtual void on_mousemove(Layer*, MouseEvent& event) override; virtual bool on_keydown(GUI::KeyEvent&) override; virtual void on_second_paint(Layer const*, GUI::PaintEvent&) override; - virtual ErrorOr get_properties_widget() override; + virtual NonnullRefPtr get_properties_widget() override; virtual Variant> cursor() override { return Gfx::StandardCursor::Crosshair; } virtual Gfx::IntPoint point_position_to_preferred_cell(Gfx::FloatPoint position) const override; diff --git a/Userland/Applications/PixelPaint/Tools/RectangleSelectTool.cpp b/Userland/Applications/PixelPaint/Tools/RectangleSelectTool.cpp index ce22af2635..d622aa587d 100644 --- a/Userland/Applications/PixelPaint/Tools/RectangleSelectTool.cpp +++ b/Userland/Applications/PixelPaint/Tools/RectangleSelectTool.cpp @@ -151,10 +151,10 @@ void RectangleSelectTool::on_second_paint(Layer const*, GUI::PaintEvent& event) m_editor->draw_marching_ants(painter, rect_in_editor.to_rounded()); } -ErrorOr RectangleSelectTool::get_properties_widget() +NonnullRefPtr RectangleSelectTool::get_properties_widget() { if (m_properties_widget) { - return m_properties_widget.ptr(); + return *m_properties_widget.ptr(); } auto properties_widget = GUI::Widget::construct(); @@ -191,16 +191,16 @@ ErrorOr RectangleSelectTool::get_properties_widget() for (int i = 0; i < (int)Selection::MergeMode::__Count; i++) { switch ((Selection::MergeMode)i) { case Selection::MergeMode::Set: - TRY(m_merge_mode_names.try_append("Set")); + m_merge_mode_names.append("Set"); break; case Selection::MergeMode::Add: - TRY(m_merge_mode_names.try_append("Add")); + m_merge_mode_names.append("Add"); break; case Selection::MergeMode::Subtract: - TRY(m_merge_mode_names.try_append("Subtract")); + m_merge_mode_names.append("Subtract"); break; case Selection::MergeMode::Intersect: - TRY(m_merge_mode_names.try_append("Intersect")); + m_merge_mode_names.append("Intersect"); break; default: VERIFY_NOT_REACHED(); @@ -219,7 +219,7 @@ ErrorOr RectangleSelectTool::get_properties_widget() }; m_properties_widget = properties_widget; - return m_properties_widget.ptr(); + return *m_properties_widget; } Gfx::IntPoint RectangleSelectTool::point_position_to_preferred_cell(Gfx::FloatPoint position) const diff --git a/Userland/Applications/PixelPaint/Tools/RectangleSelectTool.h b/Userland/Applications/PixelPaint/Tools/RectangleSelectTool.h index 168d8e9fca..0392f3f469 100644 --- a/Userland/Applications/PixelPaint/Tools/RectangleSelectTool.h +++ b/Userland/Applications/PixelPaint/Tools/RectangleSelectTool.h @@ -26,7 +26,7 @@ public: virtual bool on_keydown(GUI::KeyEvent&) override; virtual void on_keyup(GUI::KeyEvent&) override; virtual void on_second_paint(Layer const*, GUI::PaintEvent&) override; - virtual ErrorOr get_properties_widget() override; + virtual NonnullRefPtr get_properties_widget() override; virtual Variant> cursor() override { return Gfx::StandardCursor::Crosshair; } virtual Gfx::IntPoint point_position_to_preferred_cell(Gfx::FloatPoint position) const override; diff --git a/Userland/Applications/PixelPaint/Tools/RectangleTool.cpp b/Userland/Applications/PixelPaint/Tools/RectangleTool.cpp index 7353d2bad6..a8225ec52f 100644 --- a/Userland/Applications/PixelPaint/Tools/RectangleTool.cpp +++ b/Userland/Applications/PixelPaint/Tools/RectangleTool.cpp @@ -140,7 +140,7 @@ bool RectangleTool::on_keydown(GUI::KeyEvent& event) return Tool::on_keydown(event); } -ErrorOr RectangleTool::get_properties_widget() +NonnullRefPtr RectangleTool::get_properties_widget() { if (!m_properties_widget) { auto properties_widget = GUI::Widget::construct(); @@ -258,7 +258,7 @@ ErrorOr RectangleTool::get_properties_widget() m_properties_widget = properties_widget; } - return m_properties_widget.ptr(); + return *m_properties_widget; } } diff --git a/Userland/Applications/PixelPaint/Tools/RectangleTool.h b/Userland/Applications/PixelPaint/Tools/RectangleTool.h index 11e4471865..5dcb72adaf 100644 --- a/Userland/Applications/PixelPaint/Tools/RectangleTool.h +++ b/Userland/Applications/PixelPaint/Tools/RectangleTool.h @@ -24,7 +24,7 @@ public: virtual void on_mouseup(Layer*, MouseEvent&) override; virtual void on_second_paint(Layer const*, GUI::PaintEvent&) override; virtual bool on_keydown(GUI::KeyEvent&) override; - virtual ErrorOr get_properties_widget() override; + virtual NonnullRefPtr get_properties_widget() override; virtual Variant> cursor() override { return Gfx::StandardCursor::Crosshair; } private: diff --git a/Userland/Applications/PixelPaint/Tools/SprayTool.cpp b/Userland/Applications/PixelPaint/Tools/SprayTool.cpp index 71db516f25..c7bfd3ea44 100644 --- a/Userland/Applications/PixelPaint/Tools/SprayTool.cpp +++ b/Userland/Applications/PixelPaint/Tools/SprayTool.cpp @@ -90,7 +90,7 @@ void SprayTool::on_mouseup(Layer*, MouseEvent&) } } -ErrorOr SprayTool::get_properties_widget() +NonnullRefPtr SprayTool::get_properties_widget() { if (!m_properties_widget) { auto properties_widget = GUI::Widget::construct(); @@ -132,7 +132,7 @@ ErrorOr SprayTool::get_properties_widget() m_properties_widget = properties_widget; } - return m_properties_widget.ptr(); + return *m_properties_widget; } } diff --git a/Userland/Applications/PixelPaint/Tools/SprayTool.h b/Userland/Applications/PixelPaint/Tools/SprayTool.h index 19c0d704c0..85ddc820bc 100644 --- a/Userland/Applications/PixelPaint/Tools/SprayTool.h +++ b/Userland/Applications/PixelPaint/Tools/SprayTool.h @@ -22,7 +22,7 @@ public: virtual void on_mousedown(Layer*, MouseEvent&) override; virtual void on_mouseup(Layer*, MouseEvent&) override; virtual void on_mousemove(Layer*, MouseEvent&) override; - virtual ErrorOr get_properties_widget() override; + virtual NonnullRefPtr get_properties_widget() override; virtual Variant> cursor() override { return Gfx::StandardCursor::Crosshair; } private: diff --git a/Userland/Applications/PixelPaint/Tools/TextTool.cpp b/Userland/Applications/PixelPaint/Tools/TextTool.cpp index 4c274b9765..32975110bd 100644 --- a/Userland/Applications/PixelPaint/Tools/TextTool.cpp +++ b/Userland/Applications/PixelPaint/Tools/TextTool.cpp @@ -103,10 +103,10 @@ void TextTool::on_mousedown(Layer*, MouseEvent& event) } } -ErrorOr TextTool::get_properties_widget() +NonnullRefPtr TextTool::get_properties_widget() { if (m_properties_widget) - return m_properties_widget.ptr(); + return *m_properties_widget.ptr(); auto properties_widget = GUI::Widget::construct(); properties_widget->set_layout(); @@ -128,7 +128,7 @@ ErrorOr TextTool::get_properties_widget() }; m_properties_widget = properties_widget; - return m_properties_widget.ptr(); + return *m_properties_widget; } void TextTool::on_second_paint(Layer const* layer, GUI::PaintEvent& event) diff --git a/Userland/Applications/PixelPaint/Tools/TextTool.h b/Userland/Applications/PixelPaint/Tools/TextTool.h index 60d0cb9bad..5dd69b70e8 100644 --- a/Userland/Applications/PixelPaint/Tools/TextTool.h +++ b/Userland/Applications/PixelPaint/Tools/TextTool.h @@ -41,7 +41,7 @@ public: virtual void on_primary_color_change(Color) override; virtual void on_tool_deactivation() override; virtual Variant> cursor() override; - virtual ErrorOr get_properties_widget() override; + virtual NonnullRefPtr get_properties_widget() override; private: virtual StringView tool_name() const override { return "Text Tool"sv; } diff --git a/Userland/Applications/PixelPaint/Tools/Tool.h b/Userland/Applications/PixelPaint/Tools/Tool.h index 393c37b0e8..5410669c8b 100644 --- a/Userland/Applications/PixelPaint/Tools/Tool.h +++ b/Userland/Applications/PixelPaint/Tools/Tool.h @@ -67,7 +67,7 @@ public: virtual void on_secondary_color_change(Color) { } virtual void on_tool_activation() { } virtual void on_tool_deactivation() { } - virtual ErrorOr get_properties_widget() { return nullptr; } + virtual NonnullRefPtr get_properties_widget() { return GUI::Widget::construct(); } virtual Variant> cursor() { return Gfx::StandardCursor::None; } virtual Gfx::IntPoint point_position_to_preferred_cell(Gfx::FloatPoint position) const { return position.to_type(); } diff --git a/Userland/Applications/PixelPaint/Tools/WandSelectTool.cpp b/Userland/Applications/PixelPaint/Tools/WandSelectTool.cpp index 7ba50c51e4..1ba18e7a3e 100644 --- a/Userland/Applications/PixelPaint/Tools/WandSelectTool.cpp +++ b/Userland/Applications/PixelPaint/Tools/WandSelectTool.cpp @@ -66,10 +66,10 @@ void WandSelectTool::on_mousedown(Layer* layer, MouseEvent& event) m_editor->did_complete_action(tool_name()); } -ErrorOr WandSelectTool::get_properties_widget() +NonnullRefPtr WandSelectTool::get_properties_widget() { if (m_properties_widget) { - return m_properties_widget.ptr(); + return *m_properties_widget.ptr(); } auto properties_widget = GUI::Widget::construct(); @@ -104,16 +104,16 @@ ErrorOr WandSelectTool::get_properties_widget() for (int i = 0; i < (int)Selection::MergeMode::__Count; i++) { switch ((Selection::MergeMode)i) { case Selection::MergeMode::Set: - TRY(m_merge_mode_names.try_append("Set")); + m_merge_mode_names.append("Set"); break; case Selection::MergeMode::Add: - TRY(m_merge_mode_names.try_append("Add")); + m_merge_mode_names.append("Add"); break; case Selection::MergeMode::Subtract: - TRY(m_merge_mode_names.try_append("Subtract")); + m_merge_mode_names.append("Subtract"); break; case Selection::MergeMode::Intersect: - TRY(m_merge_mode_names.try_append("Intersect")); + m_merge_mode_names.append("Intersect"); break; default: VERIFY_NOT_REACHED(); @@ -132,7 +132,7 @@ ErrorOr WandSelectTool::get_properties_widget() }; m_properties_widget = properties_widget; - return m_properties_widget.ptr(); + return *m_properties_widget; } } diff --git a/Userland/Applications/PixelPaint/Tools/WandSelectTool.h b/Userland/Applications/PixelPaint/Tools/WandSelectTool.h index e0241af396..dd67eb00c7 100644 --- a/Userland/Applications/PixelPaint/Tools/WandSelectTool.h +++ b/Userland/Applications/PixelPaint/Tools/WandSelectTool.h @@ -23,7 +23,7 @@ public: virtual void on_mousedown(Layer*, MouseEvent& event) override; virtual bool on_keydown(GUI::KeyEvent&) override; - virtual ErrorOr get_properties_widget() override; + virtual NonnullRefPtr get_properties_widget() override; virtual Variant> cursor() override { return Gfx::StandardCursor::Crosshair; } private: diff --git a/Userland/Applications/PixelPaint/Tools/ZoomTool.cpp b/Userland/Applications/PixelPaint/Tools/ZoomTool.cpp index 9354407d5e..28e5f88697 100644 --- a/Userland/Applications/PixelPaint/Tools/ZoomTool.cpp +++ b/Userland/Applications/PixelPaint/Tools/ZoomTool.cpp @@ -23,7 +23,7 @@ void ZoomTool::on_mousedown(Layer*, MouseEvent& event) m_editor->scale_centered(new_scale, raw_event.position()); } -ErrorOr ZoomTool::get_properties_widget() +NonnullRefPtr ZoomTool::get_properties_widget() { if (!m_properties_widget) { auto properties_widget = GUI::Widget::construct(); @@ -48,7 +48,7 @@ ErrorOr ZoomTool::get_properties_widget() m_properties_widget = properties_widget; } - return m_properties_widget.ptr(); + return *m_properties_widget; } } diff --git a/Userland/Applications/PixelPaint/Tools/ZoomTool.h b/Userland/Applications/PixelPaint/Tools/ZoomTool.h index 867b305c09..e84d09854f 100644 --- a/Userland/Applications/PixelPaint/Tools/ZoomTool.h +++ b/Userland/Applications/PixelPaint/Tools/ZoomTool.h @@ -18,7 +18,7 @@ public: virtual ~ZoomTool() override = default; virtual void on_mousedown(Layer*, MouseEvent&) override; - virtual ErrorOr get_properties_widget() override; + virtual NonnullRefPtr get_properties_widget() override; virtual Variant> cursor() override { return Gfx::StandardCursor::Zoom; } private: