Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGonzalo Odiard <godiard@gmail.com>2013-12-20 13:51:26 (GMT)
committer Gonzalo Odiard <godiard@gmail.com>2013-12-20 13:51:26 (GMT)
commitfc74c6b45c6a9af08ba3119fba6df5bf1fb8d686 (patch)
treee198265f6db02815a02034993e4929a65d9fd05e
parenta92be290f4f912d13c4f3dbfd0d4a8ff2c16082e (diff)
Fix the operation of end a selection
Now, when a tool is selected, and a selection is active, the selection finish. Also the canvas is updated properly. Signed-off-by: Gonzalo Odiard <gonzalo@laptop.org>
-rw-r--r--Area.py12
-rw-r--r--toolbox.py18
2 files changed, 21 insertions, 9 deletions
diff --git a/Area.py b/Area.py
index 52d155d..3f8b3e0 100644
--- a/Area.py
+++ b/Area.py
@@ -532,17 +532,21 @@ class Area(Gtk.DrawingArea):
self._selmove = False
self._selresize = True
else:
- self.getout()
- self._selmove = False
- self._selresize = False
+ self.end_selection()
design_mode = False
-
else:
self._selmove = False
if design_mode:
self.desenha = True
+ def end_selection(self):
+ if self.is_selected():
+ self.getout()
+ self._selmove = False
+ self._selresize = False
+ self.queue_draw()
+
def calculate_damaged_area(self, points):
min_x = points[0][0]
min_y = points[0][1]
diff --git a/toolbox.py b/toolbox.py
index 26b5418..78cf76c 100644
--- a/toolbox.py
+++ b/toolbox.py
@@ -340,7 +340,7 @@ class DrawToolButton(RadioToolButton):
class ToolsToolbarBuilder():
#Tool default definitions
- _TOOL_PENCIL_NAME = 'pencil'
+ #_TOOL_PENCIL_NAME = 'pencil'
_TOOL_BRUSH_NAME = 'brush'
_TOOL_ERASER_NAME = 'eraser'
_TOOL_BUCKET_NAME = 'bucket'
@@ -354,6 +354,7 @@ class ToolsToolbarBuilder():
self._activity = activity
self.properties = self._activity.area.tool
self._fill_color_button = fill_color_button
+ self._selected_tool_name = self._TOOL_BRUSH_NAME
self._tool_brush = DrawToolButton('tool-brush',
activity.tool_group, _('Brush'))
@@ -390,11 +391,10 @@ class ToolsToolbarBuilder():
self._tool_brush,
self.set_tool)
- self._tool_brush.connect('clicked', self.set_tool,
- self._TOOL_BRUSH_NAME)
+ self._tool_brush.connect('clicked', self._tool_button_clicked_cb)
self._stroke_color = ButtonStrokeColor(activity)
- self.set_tool(self._tool_brush, 'brush')
+ self.set_tool(self._tool_brush, self._TOOL_BRUSH_NAME)
self._stroke_color.connect('notify::color', self._color_button_cb)
toolbar.insert(self._stroke_color, -1)
@@ -411,15 +411,22 @@ class ToolsToolbarBuilder():
self._tool_brush.set_icon_name(widget.icon_name)
self._stroke_color.set_selected_tool(tool_name)
- if tool_name == 'stamp':
+ if tool_name == self._TOOL_STAMP_NAME:
resized_stamp = self._activity.area.setup_stamp()
self._stroke_color.color_button.set_resized_stamp(resized_stamp)
else:
self._stroke_color.color_button.stop_stamping()
+ if tool_name != self._TOOL_MARQUEE_RECT_NAME:
+ self._activity.area.end_selection()
+
self._stroke_color.update_stamping()
self.properties['name'] = tool_name
self._activity.area.set_tool(self.properties)
self._fill_color_button.set_sensitive(False)
+ self._selected_tool_name = tool_name
+
+ def _tool_button_clicked_cb(self, button):
+ self.set_tool(button, self._selected_tool_name)
def _color_button_cb(self, widget, pspec):
logging.error('ToolsToolbarBuilder._color_button_cb')
@@ -627,6 +634,7 @@ class ShapesToolbarBuilder():
self.properties['name'] = tool_name
self._activity.area.set_tool(self.properties)
self._fill_color_button.set_sensitive(True)
+ self._activity.area.end_selection()
##Make the Text Toolbar