diff options
| author | Emmanuel Gil Peyrot <linkmauve@linkmauve.fr> | 2018-11-22 05:59:31 +0000 |
|---|---|---|
| committer | Tavmjong Bah <tavmjong@free.fr> | 2018-12-03 09:35:13 +0000 |
| commit | da21d890c67eb751e12f0af89aac67ecb2629ca0 (patch) | |
| tree | 0a100c27779967329616f87da2c7be8d613c9273 /src/ui | |
| parent | Replace InkGC with std::shared_ptr for MessageStack (diff) | |
| download | inkscape-da21d890c67eb751e12f0af89aac67ecb2629ca0.tar.gz inkscape-da21d890c67eb751e12f0af89aac67ecb2629ca0.zip | |
Use std::unique_ptr for all MessageContext
Diffstat (limited to 'src/ui')
| -rw-r--r-- | src/ui/dialog/xml-tree.cpp | 8 | ||||
| -rw-r--r-- | src/ui/dialog/xml-tree.h | 2 | ||||
| -rw-r--r-- | src/ui/tools/arc-tool.cpp | 2 | ||||
| -rw-r--r-- | src/ui/tools/box3d-tool.cpp | 2 | ||||
| -rw-r--r-- | src/ui/tools/calligraphic-tool.cpp | 2 | ||||
| -rw-r--r-- | src/ui/tools/connector-tool.cpp | 2 | ||||
| -rw-r--r-- | src/ui/tools/dynamic-base.h | 2 | ||||
| -rw-r--r-- | src/ui/tools/eraser-tool.cpp | 2 | ||||
| -rw-r--r-- | src/ui/tools/pen-tool.cpp | 2 | ||||
| -rw-r--r-- | src/ui/tools/pencil-tool.cpp | 2 | ||||
| -rw-r--r-- | src/ui/tools/rect-tool.cpp | 2 | ||||
| -rw-r--r-- | src/ui/tools/select-tool.h | 1 | ||||
| -rw-r--r-- | src/ui/tools/spiral-tool.cpp | 2 | ||||
| -rw-r--r-- | src/ui/tools/spray-tool.cpp | 4 | ||||
| -rw-r--r-- | src/ui/tools/star-tool.cpp | 2 | ||||
| -rw-r--r-- | src/ui/tools/tool-base.cpp | 4 | ||||
| -rw-r--r-- | src/ui/tools/tool-base.h | 7 | ||||
| -rw-r--r-- | src/ui/tools/tweak-tool.cpp | 2 | ||||
| -rw-r--r-- | src/ui/view/view.cpp | 3 | ||||
| -rw-r--r-- | src/ui/view/view.h | 4 |
20 files changed, 25 insertions, 32 deletions
diff --git a/src/ui/dialog/xml-tree.cpp b/src/ui/dialog/xml-tree.cpp index b430c17be..d6173c7b6 100644 --- a/src/ui/dialog/xml-tree.cpp +++ b/src/ui/dialog/xml-tree.cpp @@ -96,7 +96,7 @@ XmlTree::XmlTree() : contents->pack_start(*notebook_content, true, true, 0); _message_stack = std::make_shared<Inkscape::MessageStack>(); - _message_context = new Inkscape::MessageContext(_message_stack); + _message_context = std::unique_ptr<Inkscape::MessageContext>(new Inkscape::MessageContext(_message_stack)); _message_changed_connection = _message_stack->connectChanged( sigc::bind(sigc::ptr_fun(_set_status_message), GTK_WIDGET(status.gobj()))); @@ -235,7 +235,6 @@ XmlTree::~XmlTree () set_tree_desktop(nullptr); _message_changed_connection.disconnect(); - delete _message_context; _message_context = nullptr; _message_stack = nullptr; _message_changed_connection.~connection(); @@ -268,9 +267,8 @@ void XmlTree::attr_reset_context(gint attr) } else { const gchar *name = g_quark_to_string(attr); - gchar *message = g_strdup_printf(_("Attribute <b>%s</b> selected. Press <b>Ctrl+Enter</b> when done editing to commit changes."), name); - _message_context->set(Inkscape::NORMAL_MESSAGE, message); - g_free(message); + _message_context->setF(Inkscape::NORMAL_MESSAGE, + _("Attribute <b>%s</b> selected. Press <b>Ctrl+Enter</b> when done editing to commit changes."), name); } } diff --git a/src/ui/dialog/xml-tree.h b/src/ui/dialog/xml-tree.h index 973534ebd..14144cacd 100644 --- a/src/ui/dialog/xml-tree.h +++ b/src/ui/dialog/xml-tree.h @@ -194,7 +194,7 @@ private: * Status bar */ std::shared_ptr<Inkscape::MessageStack> _message_stack; - Inkscape::MessageContext *_message_context; + std::unique_ptr<Inkscape::MessageContext> _message_context; /** * Signal handlers diff --git a/src/ui/tools/arc-tool.cpp b/src/ui/tools/arc-tool.cpp index 18bd36361..b10b8904c 100644 --- a/src/ui/tools/arc-tool.cpp +++ b/src/ui/tools/arc-tool.cpp @@ -320,7 +320,7 @@ bool ArcTool::root_handler(GdkEvent* event) { void ArcTool::drag(Geom::Point pt, guint state) { if (!this->arc) { - if (Inkscape::have_viable_layer(desktop, this->message_context) == false) { + if (Inkscape::have_viable_layer(desktop, defaultMessageContext()) == false) { return; } diff --git a/src/ui/tools/box3d-tool.cpp b/src/ui/tools/box3d-tool.cpp index 76dba4eea..203e224a3 100644 --- a/src/ui/tools/box3d-tool.cpp +++ b/src/ui/tools/box3d-tool.cpp @@ -496,7 +496,7 @@ bool Box3dTool::root_handler(GdkEvent* event) { void Box3dTool::drag(guint /*state*/) { if (!this->box3d) { - if (Inkscape::have_viable_layer(desktop, this->message_context) == false) { + if (Inkscape::have_viable_layer(desktop, defaultMessageContext()) == false) { return; } diff --git a/src/ui/tools/calligraphic-tool.cpp b/src/ui/tools/calligraphic-tool.cpp index 80031cffc..5ce2c4813 100644 --- a/src/ui/tools/calligraphic-tool.cpp +++ b/src/ui/tools/calligraphic-tool.cpp @@ -447,7 +447,7 @@ bool CalligraphicTool::root_handler(GdkEvent* event) { switch (event->type) { case GDK_BUTTON_PRESS: if (event->button.button == 1 && !this->space_panning) { - if (Inkscape::have_viable_layer(desktop, this->message_context) == false) { + if (Inkscape::have_viable_layer(desktop, defaultMessageContext()) == false) { return TRUE; } diff --git a/src/ui/tools/connector-tool.cpp b/src/ui/tools/connector-tool.cpp index 4b2340913..95b13f92c 100644 --- a/src/ui/tools/connector-tool.cpp +++ b/src/ui/tools/connector-tool.cpp @@ -470,7 +470,7 @@ bool ConnectorTool::_handleButtonPress(GdkEventButton const &bevent) bool ret = false; if ( bevent.button == 1 && !this->space_panning ) { - if (Inkscape::have_viable_layer(desktop, this->message_context) == false) { + if (Inkscape::have_viable_layer(desktop, defaultMessageContext()) == false) { return true; } diff --git a/src/ui/tools/dynamic-base.h b/src/ui/tools/dynamic-base.h index d9c1f9804..1a36f302c 100644 --- a/src/ui/tools/dynamic-base.h +++ b/src/ui/tools/dynamic-base.h @@ -102,8 +102,6 @@ protected: double tremor; double cap_rounding; - //Inkscape::MessageContext *_message_context; - bool is_drawing; /** uses absolute width independent of zoom */ diff --git a/src/ui/tools/eraser-tool.cpp b/src/ui/tools/eraser-tool.cpp index 4f9e3de08..36e6a44aa 100644 --- a/src/ui/tools/eraser-tool.cpp +++ b/src/ui/tools/eraser-tool.cpp @@ -384,7 +384,7 @@ bool EraserTool::root_handler(GdkEvent* event) { switch (event->type) { case GDK_BUTTON_PRESS: if (event->button.button == 1 && !this->space_panning) { - if (Inkscape::have_viable_layer(desktop, this->message_context) == false) { + if (Inkscape::have_viable_layer(desktop, defaultMessageContext()) == false) { return TRUE; } diff --git a/src/ui/tools/pen-tool.cpp b/src/ui/tools/pen-tool.cpp index d9feb89c2..89d100c71 100644 --- a/src/ui/tools/pen-tool.cpp +++ b/src/ui/tools/pen-tool.cpp @@ -390,7 +390,7 @@ bool PenTool::_handleButtonPress(GdkEventButton const &bevent) { // make sure this is not the last click for a waiting LPE (otherwise we want to finish the path) && this->expecting_clicks_for_LPE != 1) { - if (Inkscape::have_viable_layer(desktop, this->message_context) == false) { + if (Inkscape::have_viable_layer(desktop, defaultMessageContext()) == false) { return true; } diff --git a/src/ui/tools/pencil-tool.cpp b/src/ui/tools/pencil-tool.cpp index eac7c585f..8e1966f4c 100644 --- a/src/ui/tools/pencil-tool.cpp +++ b/src/ui/tools/pencil-tool.cpp @@ -178,7 +178,7 @@ bool PencilTool::_handleButtonPress(GdkEventButton const &bevent) { if ( bevent.button == 1 && !this->space_panning) { Inkscape::Selection *selection = desktop->getSelection(); - if (Inkscape::have_viable_layer(desktop, this->message_context) == false) { + if (Inkscape::have_viable_layer(desktop, defaultMessageContext()) == false) { return true; } diff --git a/src/ui/tools/rect-tool.cpp b/src/ui/tools/rect-tool.cpp index f6387d6dc..4000e4924 100644 --- a/src/ui/tools/rect-tool.cpp +++ b/src/ui/tools/rect-tool.cpp @@ -362,7 +362,7 @@ void RectTool::drag(Geom::Point const pt, guint state) { SPDesktop *desktop = this->desktop; if (!this->rect) { - if (Inkscape::have_viable_layer(desktop, this->message_context) == false) { + if (Inkscape::have_viable_layer(desktop, defaultMessageContext()) == false) { return; } diff --git a/src/ui/tools/select-tool.h b/src/ui/tools/select-tool.h index 12e4b1aa7..c721771e2 100644 --- a/src/ui/tools/select-tool.h +++ b/src/ui/tools/select-tool.h @@ -21,7 +21,6 @@ struct SPCanvasItem; namespace Inkscape { - class MessageContext; class SelTrans; class SelectionDescriber; } diff --git a/src/ui/tools/spiral-tool.cpp b/src/ui/tools/spiral-tool.cpp index f05f54fca..c1620d919 100644 --- a/src/ui/tools/spiral-tool.cpp +++ b/src/ui/tools/spiral-tool.cpp @@ -331,7 +331,7 @@ void SpiralTool::drag(Geom::Point const &p, guint state) { int const snaps = prefs->getInt("/options/rotationsnapsperpi/value", 12); if (!this->spiral) { - if (Inkscape::have_viable_layer(desktop, this->message_context) == false) { + if (Inkscape::have_viable_layer(desktop, defaultMessageContext()) == false) { return; } diff --git a/src/ui/tools/spray-tool.cpp b/src/ui/tools/spray-tool.cpp index fd13b4d3d..91dedd742 100644 --- a/src/ui/tools/spray-tool.cpp +++ b/src/ui/tools/spray-tool.cpp @@ -1232,7 +1232,7 @@ bool SprayTool::root_handler(GdkEvent* event) { break; case GDK_BUTTON_PRESS: if (event->button.button == 1 && !this->space_panning) { - if (Inkscape::have_viable_layer(desktop, this->message_context) == false) { + if (Inkscape::have_viable_layer(desktop, defaultMessageContext()) == false) { return TRUE; } this->setCloneTilerPrefs(); @@ -1307,7 +1307,7 @@ bool SprayTool::root_handler(GdkEvent* event) { case GDK_SCROLL_DOWN: case GDK_SCROLL_UP: case GDK_SCROLL_SMOOTH: { - if (Inkscape::have_viable_layer(desktop, this->message_context) == false) { + if (Inkscape::have_viable_layer(desktop, defaultMessageContext()) == false) { return TRUE; } this->last_push = desktop->dt2doc(scroll_dt); diff --git a/src/ui/tools/star-tool.cpp b/src/ui/tools/star-tool.cpp index ce0fa9aef..2e92d1ae9 100644 --- a/src/ui/tools/star-tool.cpp +++ b/src/ui/tools/star-tool.cpp @@ -342,7 +342,7 @@ void StarTool::drag(Geom::Point p, guint state) int const snaps = prefs->getInt("/options/rotationsnapsperpi/value", 12); if (!this->star) { - if (Inkscape::have_viable_layer(desktop, this->message_context) == false) { + if (Inkscape::have_viable_layer(desktop, defaultMessageContext()) == false) { return; } diff --git a/src/ui/tools/tool-base.cpp b/src/ui/tools/tool-base.cpp index a10165554..624c4df4a 100644 --- a/src/ui/tools/tool-base.cpp +++ b/src/ui/tools/tool-base.cpp @@ -119,9 +119,7 @@ ToolBase::ToolBase(gchar const *const *cursor_shape, bool uses_snap) } ToolBase::~ToolBase() { - if (this->message_context) { - delete this->message_context; - } + this->message_context = nullptr; if (this->desktop) { this->desktop = nullptr; diff --git a/src/ui/tools/tool-base.h b/src/ui/tools/tool-base.h index e43b347f0..3533482cf 100644 --- a/src/ui/tools/tool-base.h +++ b/src/ui/tools/tool-base.h @@ -15,6 +15,7 @@ #include <cstddef> #include <string> +#include <memory> #include "knot.h" #include "knotholder.h" #include <2geom/point.h> @@ -162,11 +163,11 @@ public: SPItem *item_to_select; ///< the item where mouse_press occurred, to ///< be selected if this is a click not drag - Inkscape::MessageContext *defaultMessageContext() { - return message_context; + Inkscape::MessageContext *defaultMessageContext() const { + return message_context.get(); } - Inkscape::MessageContext *message_context; + std::unique_ptr<Inkscape::MessageContext> message_context; Inkscape::SelCue *_selcue; diff --git a/src/ui/tools/tweak-tool.cpp b/src/ui/tools/tweak-tool.cpp index 3f530c278..cbc3dfd99 100644 --- a/src/ui/tools/tweak-tool.cpp +++ b/src/ui/tools/tweak-tool.cpp @@ -1156,7 +1156,7 @@ bool TweakTool::root_handler(GdkEvent* event) { case GDK_BUTTON_PRESS: if (event->button.button == 1 && !this->space_panning) { - if (Inkscape::have_viable_layer(desktop, this->message_context) == false) { + if (Inkscape::have_viable_layer(desktop, defaultMessageContext()) == false) { return TRUE; } diff --git a/src/ui/view/view.cpp b/src/ui/view/view.cpp index e15ea7780..b595ce1a7 100644 --- a/src/ui/view/view.cpp +++ b/src/ui/view/view.cpp @@ -59,7 +59,7 @@ View::View() : _doc(nullptr) { _message_stack = std::make_shared<Inkscape::MessageStack>(); - _tips_message_context = new Inkscape::MessageContext(_message_stack); + _tips_message_context = std::unique_ptr<Inkscape::MessageContext>(new Inkscape::MessageContext(_message_stack)); _resized_connection = _resized_signal.connect (sigc::bind (sigc::ptr_fun (&_onResized), this)); _redraw_requested_connection = _redraw_requested_signal.connect (sigc::bind (sigc::ptr_fun (&_onRedrawRequested), this)); @@ -75,7 +75,6 @@ View::~View() void View::_close() { _message_changed_connection.disconnect(); - delete _tips_message_context; _tips_message_context = nullptr; _message_stack = nullptr; diff --git a/src/ui/view/view.h b/src/ui/view/view.h index 1134e727a..d3afc73c3 100644 --- a/src/ui/view/view.h +++ b/src/ui/view/view.h @@ -90,7 +90,7 @@ public: { return _message_stack; } /// Returns a pointer to the view's tipsMessageContext. Inkscape::MessageContext *tipsMessageContext() const - { return _tips_message_context; } + { return _tips_message_context.get(); } void emitResized(gdouble width, gdouble height); void requestRedraw(); @@ -110,7 +110,7 @@ public: protected: SPDocument *_doc; std::shared_ptr<Inkscape::MessageStack> _message_stack; - Inkscape::MessageContext *_tips_message_context; + std::unique_ptr<Inkscape::MessageContext> _tips_message_context; virtual void _close(); |
