Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexandre Antonino Gonçalves Martinazzo <alexandremartinazzo@gmail.com>2007-08-08 14:09:03 (GMT)
committer Alexandre Antonino Gonçalves Martinazzo <alexandremartinazzo@gmail.com>2007-08-08 14:09:03 (GMT)
commitab19f676e0f1b60a6c6c92da889da8b9aa997e5a (patch)
tree490435a63a41682a6adcffb44a94f4b7a03ec635
parente28ee58054e4248ac916b2f1d4a4bfe557d45f16 (diff)
Minor changes when using signals 'undo' and 'redo' in module Area
Added a new signal: 'action-saved'. It is used in Area.enableUndo
-rw-r--r--Area.py10
-rw-r--r--OficinaActivity.py1
-rw-r--r--activity/activity.info4
-rw-r--r--toolbox.py22
4 files changed, 25 insertions, 12 deletions
diff --git a/Area.py b/Area.py
index 879ca13..a2f8f06 100644
--- a/Area.py
+++ b/Area.py
@@ -72,6 +72,7 @@ class Area(gtk.DrawingArea):
__gsignals__ = {
'undo' : (gobject.SIGNAL_ACTION, gobject.TYPE_NONE, ([])),
'redo' : (gobject.SIGNAL_ACTION, gobject.TYPE_NONE, ([])),
+ 'action-saved' : (gobject.SIGNAL_ACTION, gobject.TYPE_NONE, ([])),
#TODO: these signals still not used.
# 'copy' : (gobject.SIGNAL_ACTION, gobject.TYPE_NONE, ([])),
# 'selected' : (gobject.SIGNAL_ACTION, gobject.TYPE_NONE, ([])),
@@ -488,7 +489,7 @@ class Area(gtk.DrawingArea):
# if self.redo_times <= 1:
# self.emit('redo')
self.emit('undo')
- self.emit('redo')
+ #self.emit('redo')
def redo(self):
"""Redo the last undo operation.
@@ -519,7 +520,7 @@ class Area(gtk.DrawingArea):
# self.emit('undo')
# if self.redo_times <= 1:
# self.emit('redo')
- self.emit('undo')
+ #self.emit('undo')
self.emit('redo')
def enableUndo(self,widget):
@@ -556,8 +557,9 @@ class Area(gtk.DrawingArea):
# self.emit('undo')
# if self.redo_times <= 1:
# self.emit('redo')
- self.emit('undo')
- self.emit('redo')
+ #self.emit('undo')
+ #self.emit('redo')
+ self.emit('action-saved')
def copy(self):
diff --git a/OficinaActivity.py b/OficinaActivity.py
index 4169554..cf8b56e 100644
--- a/OficinaActivity.py
+++ b/OficinaActivity.py
@@ -149,5 +149,6 @@ class OficinaActivity(activity.Activity):
width, height = self._area.window.get_size()
pixbuf = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB, False, 8, width, height)
pixbuf.get_from_drawable(self._area.pixmap, gtk.gdk.colormap_get_system(), 0, 0, 0, 0, -1, -1)
+ self.metadata['mime_type'] = 'image/png'
pixbuf.save(file_path, 'png', {})
diff --git a/activity/activity.info b/activity/activity.info
index d30d8c6..98824fc 100644
--- a/activity/activity.info
+++ b/activity/activity.info
@@ -1,7 +1,7 @@
[Activity]
name = Paint
-activity_version = 1
+activity_version = 4
service_name = org.laptop.Oficina
icon = activity-rgbpaint
class = OficinaActivity.OficinaActivity
-
+mime_types = image/svg+xml; image/svg; image/svg-xml; image/vnd.adobe.svg+xml; text/xml-svg; image/png; image/jpeg; image/gif; image/x-icon; image/x-ico; application/x-navi-animation; image/x-cmu-raster; image/x-sun-raster; image/x-xpixmap; image/tiff; image/x-portable-anymap; image/x-portable-bitmap; image/x-portable-graymap; image/x-portable-pixmap; image/bmp; image/x-bmp; image/x-MS-bmp; image/vnd.wap.wbmp; image/x-xbitmap; image/x-tga; image/x-pcx; image/x-wmf
diff --git a/toolbox.py b/toolbox.py
index aae342a..300102c 100644
--- a/toolbox.py
+++ b/toolbox.py
@@ -110,8 +110,9 @@ class DrawEditToolbar(EditToolbar):
self.copy.connect('clicked', self._copy_cb)
self.paste.connect('clicked', self._paste_cb)
- self._activity._area.connect('undo', self._enable_undo_button_cb)
- self._activity._area.connect('redo', self._enable_redo_button_cb)
+ self._activity._area.connect('undo', self._on_signal_undo_cb)
+ self._activity._area.connect('redo', self._on_signal_redo_cb)
+ self._activity._area.connect('action-saved', self._on_signal_action_saved_cb)
def _undo_cb(self, widget, data=None):
self._activity._area.undo()
@@ -125,12 +126,21 @@ class DrawEditToolbar(EditToolbar):
def _paste_cb(self, widget, data=None):
self._activity._area.past()
- def _enable_undo_button_cb(self, widget, data=None):
- self.undo.set_sensitive( self._activity._area.can_undo() )
+ def _on_signal_undo_cb(self, widget, data=None):
+ self._verify_sensitive_buttons()
- def _enable_redo_button_cb(self, widget, data=None):
- self.redo.set_sensitive( self._activity._area.can_redo() )
+ def _on_signal_redo_cb(self, widget, data=None):
+ self._verify_sensitive_buttons()
+
+ def _on_signal_action_saved_cb(self, widget, data=None):
+ self._verify_sensitive_buttons()
+ def _verify_sensitive_buttons(self):
+ self.undo.set_sensitive( self._activity._area.can_undo() )
+ self.redo.set_sensitive( self._activity._area.can_redo() )
+ #TODO: it is not possible to verify these yet.
+ #self.copy.set_sensitive( self._activity._area.can_copy() )
+ #self.paste.set_sensitive( self._activity._area.can_paste() )
class ToolsToolbar(gtk.Toolbar):