From 9c0b7121410f4d013d2cc67e5b7490c593abdb74 Mon Sep 17 00:00:00 2001 From: Manusheel Date: Wed, 18 Jul 2007 20:04:08 +0000 Subject: New SVG Icon, name of project changed to paint and bugs fixed --- diff --git a/Area.py b/Area.py new file mode 100644 index 0000000..2d858b3 --- /dev/null +++ b/Area.py @@ -0,0 +1,491 @@ +# -*- coding: utf-8 -*- +import pygtk +pygtk.require('2.0') +import gtk +import sys, gobject, socket +from gtk import gdk +import math +import pango + +from Desenho import Desenho + +WIDTH = 800 +HEIGHT = 600 + +class Area(gtk.DrawingArea): + def __init__(self, janela): + """ Initialize the object from class Area which is derived from gtk.DrawingArea. + + Keyword arguments: + self -- the Area object (GtkDrawingArea) + janela -- the parent window + + """ + gtk.DrawingArea.__init__(self) + self.set_size_request(WIDTH, HEIGHT) + self.set_events(gtk.gdk.POINTER_MOTION_MASK | + gtk.gdk.POINTER_MOTION_HINT_MASK | + gtk.gdk.BUTTON_PRESS_MASK | + gtk.gdk.BUTTON_RELEASE_MASK| + gtk.gdk.EXPOSURE_MASK) + + self.connect("expose_event",self.expose) + self.connect("motion_notify_event", self.mousemove) + self.connect("button_press_event", self.mousedown) + self.connect("button_release_event", self.mouseup) + + self.set_extension_events(gtk.gdk.EXTENSION_EVENTS_CURSOR) + + self.tool = None + self.desenha = False + self.move = False + self.connect("configure_event", self.configure_event) + self.oldx = 0 + self.oldy = 0 + self.newx = 0 + self.newy = 0 + self.newx_ = 0 + self.newy_ = 0 + self.color_dec = 0 + self.polygon_start = True + self.busy = False + self.gc = None + self.gc_line = None + self.gc_eraser = None + self.gc_brush = None + self.gc_selection = None + self.pixmap = None + self.pixmap_temp = None + self.desenho = [] + self.textos = [] + self.color_ = 0 + self.color_line = 0 + self.estadoTexto = 0 + self.janela = janela + self.d = Desenho(self) + self.line_size = 2 + self.brush_shape = 'circle' + + colormap = self.get_colormap() + + self.cores = [ + colormap.alloc_color('#000000', True, True), # black + colormap.alloc_color('#ee33ee', True, True), # purple + colormap.alloc_color('#f4ee56', True, True), # yellow + colormap.alloc_color('#45a5dc', True, True), # blue + colormap.alloc_color('#44aa44', True, True), # green + colormap.alloc_color('#dd5555', True, True), # red + colormap.alloc_color('#ffaa11', True, True), # orange + colormap.alloc_color('#ffffff', True, True), # white + colormap.alloc_color('#00aa00', True, True) # green - selection + ] + self.font = pango.FontDescription('Sans 9') + #self.mensagem = Mensagens(self) + #self.mensagem.criaConexao() + + #start of UNDO and REDO + self.first_undo = True + self.undo_times = 0 + self.redo_times = 0 + self.undo_list=[]#pixmaps list to Undo func + + # Create a new backing pixmap of the appropriate size + def configure_event(self, widget, event): + """Configure the Area object. + + Keyword arguments: + self -- the Area object (GtkDrawingArea) + widget -- the Area object (GtkDrawingArea) + event -- GdkEvent + + """ + win = widget.window + width = win.get_geometry()[2] + height = win.get_geometry()[3] + + self.pixmap = gtk.gdk.Pixmap(win, width, height, -1) + self.pixmap.draw_rectangle(widget.get_style().white_gc, True, 0, 0, width, height) + self.pixmap_temp = gtk.gdk.Pixmap(win, width, height, -1) + self.pixmap_temp.draw_rectangle(widget.get_style().white_gc, True, 0, 0, width, height) + + self.gc = widget.window.new_gc() + self.gc_eraser = widget.window.new_gc() + self.gc_eraser.set_foreground(self.cores[7]) + + self.gc_brush = widget.window.new_gc() + self.gc_brush.set_foreground(self.cores[0]) + + self.gc_line = widget.window.new_gc() + + self.gc_selection = widget.window.new_gc() + self.gc_selection.set_line_attributes(1, gtk.gdk.LINE_ON_OFF_DASH, gtk.gdk.CAP_ROUND, gtk.gdk.JOIN_ROUND) + self.gc_selection.set_foreground(self.cores[8]) + + print 'configure event' + + return True + + # set the new line size + def configure_line(self, size): + """Configure the line's size. + + Keyword arguments: + self -- the Area object (GtkDrawingArea) + size -- + + """ + self.line_size = size + self.gc_line.set_line_attributes(size, gtk.gdk.LINE_SOLID, gtk.gdk.CAP_ROUND, gtk.gdk.JOIN_ROUND) + + def expose(self, widget, event): + """Show up the Area object (GtkDrawingArea). + + Keyword arguments: + self -- the Area object (GtkDrawingArea) + widget -- the Area object (GtkDrawingArea) + event -- GdkEvent + + """ + area = event.area + if self.desenha: + widget.window.draw_drawable(self.gc, self.pixmap_temp, area[0], area[1], area[0], area[1], area[2], area[3]) + else: + widget.window.draw_drawable(self.gc, self.pixmap, area[0], area[1], area[0], area[1], area[2], area[3]) + return False + + def mousedown(self,widget,event): + """Make the Area object (GtkDrawingArea) recognize that the mouse button was pressed. + + Keyword arguments: + self -- the Area object (GtkDrawingArea) + widget -- the Area object (GtkDrawingArea) + event -- GdkEvent + + """ + # text + if self.busy == False: + if self.tool == 4: + self.d.text(widget,event) + if not self.move or self.tool != 26: + self.oldx = int(event.x) + self.oldy = int(event.y) + + self.desenha = True + + def mousemove(self,widget,event): + """Make the Area object (GtkDrawingArea) recognize that the mouse is moving. + + Keyword arguments: + self -- the Area object (GtkDrawingArea) + widget -- the Area object (GtkDrawingArea) + event -- GdkEvent + + """ + if self.busy == False: + x , y, state = event.window.get_pointer() + coords = int(x), int(y) + + if state & gtk.gdk.BUTTON1_MASK and self.pixmap != None: + if self.tool == 3: + self.d.eraser(widget, coords) + #brush + elif self.tool == 29: + self.d.brush(widget, coords, self.line_size, self.brush_shape) + if self.desenha: + # line + if self.tool == 1: + print self.oldx + self.configure_line(self.line_size) + self.d.line(widget, coords) + # pencil + elif self.tool == 2: + self.configure_line(self.line_size) + self.d.pencil(widget, coords) + # circle + elif self.tool == 5: + self.configure_line(self.line_size) + self.d.circle(widget,coords) + # square + elif self.tool == 6: + self.configure_line(self.line_size) + self.d.square(widget,coords) + # selection + elif self.tool == 26 and not self.move: + self.d.selection(widget,coords) + # selection + elif self.tool == 26 and self.move: + self.d.moveSelection(widget, coords) + #polygon + elif self.tool == 27: + self.configure_line(self.line_size) + self.d.polygon(widget, coords) + #triangle + elif self.tool == 30: + self.configure_line(self.line_size) + self.d.triangle(widget,coords) + #trapezoid + elif self.tool == 31: + self.configure_line(self.line_size) + self.d.trapezoid(widget,coords) + + def mouseup(self,widget,event): + """Make the Area object (GtkDrawingArea) recognize that the mouse was released. + + Keyword arguments: + self -- the Area object (GtkDrawingArea) + widget -- the Area object (GtkDrawingArea) + event -- GdkEvent + + """ + if self.busy == False: + if self.desenha == True: + # line + if self.tool == 1: + self.pixmap.draw_line(self.gc_line,self.oldx,self.oldy, int (event.x), int(event.y)) + widget.queue_draw() + self.enableUndo(widget) + # circle + elif self.tool == 5: + self.pixmap.draw_arc(self.gc, True, self.newx, self.newy, self.newx_, self.newy_, 0, 360*64) + self.pixmap.draw_arc(self.gc_line, False, self.newx, self.newy, self.newx_, self.newy_, 0, 360*64) + + widget.queue_draw() + self.enableUndo(widget) + # square + elif self.tool == 6: + self.pixmap.draw_rectangle(self.gc, True, self.newx,self.newy, self.newx_,self.newy_) + self.pixmap.draw_rectangle(self.gc_line, False, self.newx,self.newy, self.newx_,self.newy_) + + widget.queue_draw() + self.enableUndo(widget) + # selection + elif self.tool == 26: + if self.move == False: + self.pixmap_temp.draw_drawable(self.gc,self.pixmap, 0 , 0 ,0,0, WIDTH, HEIGHT) + self.move = True + self.sx = int (event.x) + self.sy = int(event.y) + self.window.set_cursor(gtk.gdk.Cursor(gtk.gdk.FLEUR)) + elif self.move == True: + self.pixmap.draw_drawable(self.gc, self.pixmap_temp, 0,0,0,0, WIDTH, HEIGHT) + # FIXME: Adicionar cursor formato selecao + self.window.set_cursor(gtk.gdk.Cursor(gtk.gdk.CROSSHAIR)) + self.move = False + self.enableUndo(widget) + # polygon + elif self.tool == 27: + if self.polygon_start: + self.enableUndo(widget) + self.pixmap.draw_line(self.gc_line,self.oldx,self.oldy, int (event.x), int( event.y )) + self.lastx = event.x + self.lasty = event.y + self.firstx = self.oldx + self.firsty = self.oldy + self.polygon_start = False + else: + self.dx = math.fabs(event.x - self.firstx) + self.dy = math.fabs(event.y - self.firsty) + if (self.dx < 20) & (self.dy < 20): + self.pixmap.draw_line(self.gc_line,int (self.firstx), int (self.firsty), int (self.lastx), int (self.lasty)) + self.polygon_start = True + self.undo_times -= 1#destroy the undo screen of polygon start + self.enableUndo(widget) + else: + self.pixmap.draw_line(self.gc_line,int (self.lastx),int (self.lasty), int (event.x), int( event.y )) + self.lastx = event.x + self.lasty = event.y + widget.queue_draw() + + elif self.tool == 2:# or 4 check this for desire tool + widget.queue_draw() + self.enableUndo(widget) + + #bucket + elif self.tool == 28: + # New algorithm. See Desenho.py + width, height = self.window.get_size() + self.busy = True + image = self.pixmap.get_image(0,0, width, height) + fill_image = self.d.fill(image, int(event.x), int(event.y), self.color_dec) + + self.pixmap.draw_image(self.gc, fill_image,0,0,0,0, width, height) + self.pixmap_temp.draw_image(self.gc, fill_image,0,0,0,0, width, height) + + del image + del fill_image + + widget.queue_draw() + self.busy = False + self.enableUndo(widget) + + elif self.tool == 30: + self.pixmap.draw_polygon(self.gc, True, self.d.points) + self.pixmap.draw_polygon(self.gc_line, False, self.d.points) + widget.queue_draw() + self.enableUndo(widget) + + elif self.tool == 31: + self.pixmap.draw_polygon(self.gc, True, self.d.points) + self.pixmap.draw_polygon(self.gc_line, False, self.d.points) + widget.queue_draw() + self.enableUndo(widget) + if self.tool == 29 or self.tool == 3: + widget.queue_draw() + self.enableUndo(widget) + if self.tool == 4: + widget.queue_draw() + self.enableUndo(widget) + self.desenha = False + + + #this func make a basic Undo + def undo(self): + """Undo the last drawing change. + + Keyword arguments: + self -- the Area object (GtkDrawingArea) + + """ + self.polygon_start = True + if self.first_undo:#if is the first time you click on UNDO + self.undo_times -= 1 + self.redo_times = 1 + + elif (self.first_redo) and (self.undo_times!=0): + self.undo_times += 1 + + print "Undo no.%d" %(self.undo_times) + if self.undo_times >0 : + self.undo_times -= 1 + self.redo_times += 1 + try: #to not try paint someting wrong + #print "Drawing undo[%d]" %(self.undo_times) + self.pixmap.draw_drawable(self.gc, self.undo_list[self.undo_times], 0,0,0,0, WIDTH, HEIGHT) + except: + print "Can't draw" + pass + self.queue_draw() + self.first_redo=False + else: + self.undo_times = 0 + #self.redo_times = 1 + self.first_redo = True + self.d.clear()#Undo the last action, so clear-all + self.first_undo=False + + + #special case of func polygon + if self.tool == 27: + self.polygon_start = True #start the polygon again + + + def redo(self): + """Redo the last undo operation. + + Keyword arguments: + self -- the Area object (GtkDrawingArea) + + """ + #print "REDO no.%d" %(self.redo_times) + + if (self.redo_times>0): + self.redo_times -= 1 + self.undo_times += 1 + + + if self.first_redo: + self.undo_times -=1 + self.redo_times +=1 + self.first_redo=False + try: #to not try paint someting wrong + #print "Drawing undo[%d]" %(self.undo_times) + self.pixmap.draw_drawable(self.gc, self.undo_list[self.undo_times], 0,0,0,0, WIDTH, HEIGHT) + except: + print "Can't draw" + self.undo_times-=1 + self.queue_draw() + + + def enableUndo(self,widget): + """Keep the last change in a list for Undo/Redo commands. + + Keyword arguments: + self -- the Area object (GtkDrawingArea) + widget -- the Area object (GtkDrawingArea) + + """ + if not self.first_undo and not self.first_redo: + self.undo_times += 1 + + self.undo_list.append(None)#alloc memory + self.undo_list[self.undo_times] = gtk.gdk.Pixmap(widget.window, WIDTH, HEIGHT, -1) #define type + self.undo_list[self.undo_times].draw_drawable(self.gc,self.pixmap,0,0,0,0, WIDTH, HEIGHT) #copy workarea + self.undo_times += 1 + self.redo_times = 0 + self.first_undo = True + + #this is the part where we can limit the steps of undo/redo + #if self.undo_times>=2: + # self.undo_list.pop(0) + # self.undo_times-=1 + # print "estourou" + + def _set_fill_color(self, color): + """Set fill color. + + Keyword arguments: + self -- the Area object (GtkDrawingArea) + color -- integer "enum" + + """ + self.color_ = color + self.gc.set_foreground(self.cores[color]) + + + def _set_stroke_color(self, color): + """Set stroke color. + + Keyword arguments: + self -- the Area object (GtkDrawingArea) + color -- integer "enum" + + """ + self.color_line = color + self.gc_line.set_foreground(self.cores[color]) + self.gc_line.set_line_attributes(1, gtk.gdk.LINE_ON_OFF_DASH, gtk.gdk.CAP_ROUND, gtk.gdk.JOIN_ROUND) + self.gc_brush.set_foreground(self.cores[color]) + self.color_dec = self.cores[color].pixel + + def _set_grayscale(self,widget): + """Apply grayscale effect. + + Keyword arguments: + self -- the Area object (GtkDrawingArea) + + """ + pix = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB, False, 8, WIDTH, HEIGHT) + pix_ = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB, False, 8, WIDTH, HEIGHT) + pix.get_from_drawable(self.pixmap, gtk.gdk.colormap_get_system(), 0, 0, 0, 0, WIDTH, HEIGHT) + pix.saturate_and_pixelate(pix_, 0 ,0) + + self.pixmap.draw_pixbuf(self.gc, pix_, 0, 0, 0, 0, WIDTH, HEIGHT, dither=gtk.gdk.RGB_DITHER_NORMAL, x_dither=0, y_dither=0) + + self.pixmap_temp.draw_pixbuf(self.gc, pix_, 0, 0, 0, 0, WIDTH, HEIGHT, dither=gtk.gdk.RGB_DITHER_NORMAL, x_dither=0, y_dither=0) + self.queue_draw() + self.enableUndo(widget) + + def _rotate_left(self): + """Rotate the image. + + Keyword arguments: + self -- the Area object (GtkDrawingArea) + + """ + pix = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB, False, 8, WIDTH, HEIGHT) + pix_ = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB, False, 8, WIDTH, HEIGHT) + pix.get_from_drawable(self.pixmap, gtk.gdk.colormap_get_system(), 0, 0, 0, 0, -1, -1) + pix_ = pix.rotate_simple(gtk.gdk.PIXBUF_ROTATE_COUNTERCLOCKWISE) + self.pixmap.draw_pixbuf(self.gc, pix_, 0, 0, 0, 0, width=-1, height=-1, dither=gtk.gdk.RGB_DITHER_NORMAL, x_dither=0, y_dither=0) + self.queue_draw() + + diff --git a/Botao.py b/Botao.py new file mode 100644 index 0000000..de4d5c4 --- /dev/null +++ b/Botao.py @@ -0,0 +1,105 @@ +import pygtk +pygtk.require('2.0') +import gtk +from gtk import gdk + + +class Botao: + def __init__(self, area): + """Initialize the Botao object. + + Keyword arguments: + self -- Botao.Botao instance + area -- gtk.Fixed object + + """ + self.area = area + self.botoes = [] + self.id = 0 + self.desenha = False + self.local = 0,0 + self.tooltip = gtk.Tooltips() + + def adicionaBotao(self, archive, tipo, x, y, mousedown, tooltip_): + """Add button. + + Keyword arguments: + self -- Botao.Botao instance + archive -- button icon (image file) + tipo -- integer "enum" + x -- integer (horizontal position) + y -- integer (vertical position) + mousedown -- method Oficina.mousedown of Oficina.Oficina instance + tooltip_ -- string (name of the button) + + """ + img = gtk.Image() + img.set_from_file("./images/" + archive) + + eventbox = gtk.EventBox() + eventbox.add(img) + #eventbox.set_visible_window(False) + eventbox.modify_bg(gtk.STATE_NORMAL, gtk.gdk.color_parse("white")) + + eventbox.set_events(gtk.gdk.POINTER_MOTION_MASK | + gtk.gdk.POINTER_MOTION_HINT_MASK | + gtk.gdk.BUTTON_PRESS_MASK | + gtk.gdk.BUTTON_RELEASE_MASK) + + eventbox.connect("motion_notify_event", self.mousemove,self.id) + eventbox.connect("button_release_event", self.mouseup) + eventbox.connect("button_press_event", self.mousedown, self.id) + eventbox.connect("button_press_event", mousedown, tipo) + # Drag'n'drop + self.area.put(eventbox, x, y) + self.botoes.append(eventbox) + self.id += 1 + + self.tooltip.set_tip(eventbox, tooltip_, None) + #self.tooltip.enable() + + def mousedown(self,widget,event, id): + """Recognize that the mouse was pressed in one of the buttons. + + Keyword arguments: + self -- Botao.Botao instance + widget -- gtk.EventBox + event -- GdkEvent + id -- integer "enum" + + """ + self.desenha = True + ex = event.x + ey = event.y + self.local = ex, ey + + def mouseup(self,widget,event): + """Recognize that the mouse was released in one of the buttons. + + Keyword arguments: + self -- Botao.Botao instance + widget -- gtk.EventBox + event -- GdkEvent + + """ + self.desenha = False + + def mousemove(self,widget,event, id): + """Recognize that the mouse was moved. + + Keyword arguments: + self -- Botao.Botao instance + widget -- gtk.EventBox + event -- GdkEvent + id -- integer "enum" + + """ + x , y, state = self.area.window.get_pointer() + ex, ey = self.local + x_ = int(x - ex) + y_ = int(y - ey) + if state & gtk.gdk.BUTTON1_MASK and self.desenha: + self.area.move(self.botoes[id], x_, y_) + + + diff --git a/Cursores.py b/Cursores.py new file mode 100644 index 0000000..82fef79 --- /dev/null +++ b/Cursores.py @@ -0,0 +1,29 @@ +# -*- coding: utf-8 -*- +import pygtk +pygtk.require('2.0') +import gtk +from gtk import gdk + +class Cursores: + def __init__(self, archive): + """Initialize Cursores object. + + Keyword arguments: + self -- Cursores.Cursores instance + archive -- + + """ + color = gtk.gdk.Color() + pix = gtk.gdk.pixbuf_new_from_file("./images/" + archive) + self.cursor_ = gtk.gdk.Cursor(gtk.gdk.display_get_default() , pix, 6, 21) + + def cursor(self): + """Return self.cursor_. + + Keyword arguments: + self -- Cursores.Cursores instance + + """ + return self.cursor_ + + diff --git a/Cursors.py b/Cursors.py new file mode 100644 index 0000000..d501b1d --- /dev/null +++ b/Cursors.py @@ -0,0 +1,28 @@ +import pygtk +pygtk.require('2.0') +import gtk +from gtk import gdk + +class Cursors: + def __init__(self, archive): + """Initialize Cursors object. + + Keyword arguments: + self -- Cursors.Cursors instance + archive -- + + """ + color = gtk.gdk.Color() + pix = gtk.gdk.pixbuf_new_from_file("./images/" + archive) + self._cursor = gtk.gdk.Cursor(gtk.gdk.display_get_default() , pix, 6, 21) + + def cursor(self): + """Return self._cursor. + + Keyword arguments: + self -- Cursors.Cursors instance + + """ + return self._cursor + + diff --git a/Desenho.py b/Desenho.py new file mode 100644 index 0000000..8e5072f --- /dev/null +++ b/Desenho.py @@ -0,0 +1,453 @@ +# -*- coding: utf-8 -*- +import pygtk +pygtk.require('2.0') +import gtk +import sys, gobject, socket +from gtk import gdk +import math +import pango + + +WIDTH = 1195 +HEIGHT = 800 + +class Desenho: + def __init__(self, d_): + """Initialize Desenho object. + + Keyword arguments: + self -- Desenho.Desenho instance + d_ -- Area object (GtkDrawingArea) + + """ + self.d = d_ + + def line(self, widget, coords): + """Draw line. + + Keyword arguments: + self -- Desenho.Desenho instance + widget -- Area object (GtkDrawingArea) + coords -- Two value tuple + + """ + self.d.pixmap_temp.draw_drawable(self.d.gc,self.d.pixmap, 0 , 0 ,0,0, WIDTH, HEIGHT) + self.d.pixmap_temp.draw_line(self.d.gc_line,self.d.oldx,self.d.oldy,coords[0],coords[1]) + self.d.newx = coords[0] + self.d.newy = coords[1] + widget.queue_draw() + + def eraser(self, widget, coords, size = 30, shape = 'circle'): + """Erase part of the drawing. + + Keyword arguments: + self -- Desenho.Desenho instance + widget -- Area object (GtkDrawingArea) + coords -- Two value tuple + size -- integer (default 30) + shape -- string (default 'circle') + + """ + self.d.desenha = False + if(shape == 'circle'): + self.d.pixmap.draw_arc(self.d.gc_eraser, True, coords[0], coords[1], size, size, 0, 360*64) + self.d.pixmap_temp.draw_arc(self.d.gc_eraser, True, coords[0], coords[1], size, size, 0, 360*64) + if(shape == 'square'): + self.d.pixmap.draw_rectangle(self.d.gc_borracha, True, coords[0], coords[1], size, size) + self.d.pixmap_temp.draw_rectangle(self.d.gc_borracha, True, coords[0], coords[1], size, size) + self.d.oldx = coords[0] + self.d.oldy = coords[1] + widget.queue_draw() + + def brush(self, widget, coords, size = 5, shape = 'circle'): + """Paint with brush. + + Keyword arguments: + self -- Desenho.Desenho instance + widget -- Area object (GtkDrawingArea) + coords -- Two value tuple + size -- integer (default 30) + shape -- string (default 'circle') + + """ + self.d.desenha = False + if(shape == 'circle'): + self.d.pixmap.draw_arc(self.d.gc_brush, True, coords[0], coords[1], size, size, 0, 360*64) + self.d.pixmap_temp.draw_arc(self.d.gc_brush, True, coords[0], coords[1], size, size, 0, 360*64) + if(shape == 'square'): + self.d.pixmap.draw_rectangle(self.d.gc_brush, True, coords[0], coords[1], size, size) + self.d.pixmap_temp.draw_rectangle(self.d.gc_brush, True, coords[0], coords[1], size, size) + self.d.oldx = coords[0] + self.d.oldy = coords[1] + widget.queue_draw() + + def square(self, widget, coords): + """Draw a square. + + Keyword arguments: + self -- Desenho.Desenho instance + widget -- Area object (GtkDrawingArea) + coords -- Two value tuple + + """ + widget.queue_draw() + + if coords[0] > WIDTH: + coords0 = WIDTH + else: + coords0 = coords[0] + + if coords [1] > HEIGHT: + coords1 = HEIGHT + else: + coords1 = coords[1] + + self.d.newx_ = coords0 - self.d.oldx + self.d.newy_ = coords1 - self.d.oldy + + if self.d.newx_ >= 0: + self.d.newx = self.d.oldx + else: + if coords0 > 0: + self.d.newx = coords0 + self.d.newx_ = - self.d.newx_ + else: + self.d.newx = 0 + self.d.newx_ = self.d.oldx + + if self.d.newy_ >= 0: + self.d.newy = self.d.oldy + else: + if coords1 > 0: + self.d.newy_ = - self.d.newy_ + self.d.newy = coords1 + else: + self.d.newy = 0 + self.d.newy_ = self.d.oldy + + self.d.pixmap_temp.draw_drawable(self.d.gc,self.d.pixmap, 0 , 0 ,0,0, WIDTH, HEIGHT) + self.d.pixmap_temp.draw_rectangle(self.d.gc, True ,self.d.newx,self.d.newy,self.d.newx_,self.d.newy_) + self.d.pixmap_temp.draw_rectangle(self.d.gc_line, False ,self.d.newx,self.d.newy,self.d.newx_,self.d.newy_) + + + def triangle(self, widget, coords): + """Draw a triangle. + + Keyword arguments: + self -- Desenho.Desenho instance + widget -- Area object (GtkDrawingArea) + coords -- Two value tuple + + """ + widget.queue_draw() + + if coords[0] > WIDTH: + coords0 = WIDTH + else: + coords0 = coords[0] + + if coords [1] > HEIGHT: + coords1 = HEIGHT + else: + coords1 = coords[1] + + if coords0 < 0: + coords0 = 0 + + if coords1 < 0: + coords1 = 0 + + self.points = [(self.d.oldx, self.d.oldy), (self.d.oldx+int((coords0-self.d.oldx)/2), coords1), (coords0,self.d.oldy)] + self.d.pixmap_temp.draw_drawable(self.d.gc,self.d.pixmap, 0 , 0 ,0,0, WIDTH, HEIGHT) + self.d.pixmap_temp.draw_polygon(self.d.gc, True, self.points) + self.d.pixmap_temp.draw_polygon(self.d.gc_line, False, self.points) + + def trapezoid(self, widget, coords): + """Draw a trapezoid. + + Keyword arguments: + self -- Desenho.Desenho instance + widget -- Area object (GtkDrawingArea) + coords -- Two value tuple + + """ + widget.queue_draw() + + if coords[0] > WIDTH: + coords0 = WIDTH + else: + coords0 = coords[0] + + if coords[1] > HEIGHT: + coords1 = HEIGHT + else: + coords1 = coords[1] + + if coords0 < 0: + coords0 = 0 + + if coords1 < 0: + coords1 = 0 + + dif = int((coords0 - self.d.oldx)/4) + self.points = [(self.d.oldx, self.d.oldy), (self.d.oldx+dif, coords1), (coords0-dif, coords1) , (coords0,self.d.oldy)] + self.d.pixmap_temp.draw_drawable(self.d.gc,self.d.pixmap, 0 , 0 ,0,0, WIDTH, HEIGHT) + self.d.pixmap_temp.draw_polygon(self.d.gc, True, self.points) + self.d.pixmap_temp.draw_polygon(self.d.gc_line, False, self.points) + + + def selection(self, widget, coords): + """Make a selection. + + Keyword arguments: + self -- Desenho.Desenho instance + widget -- Area object (GtkDrawingArea) + coords -- Two value tuple + + """ + widget.queue_draw() + + if coords[0] > WIDTH: + coords0 = WIDTH + else: + coords0 = coords[0] + + if coords [1] > HEIGHT: + coords1 = HEIGHT + else: + coords1 = coords[1] + + self.d.newx_ = coords0 - self.d.oldx + self.d.newy_ = coords1 - self.d.oldy + + if self.d.newx_ >= 0: + self.d.newx = self.d.oldx + else: + if coords0 > 0: + self.d.newx = coords0 + self.d.newx_ = - self.d.newx_ + else: + self.d.newx = 0 + self.d.newx_ = self.d.oldx + + if self.d.newy_ >= 0: + self.d.newy = self.d.oldy + else: + if coords1 > 0: + self.d.newy_ = - self.d.newy_ + self.d.newy = coords1 + else: + self.d.newy = 0 + self.d.newy_ = self.d.oldy + + self.d.pixmap_temp.draw_drawable(self.d.gc,self.d.pixmap, 0 , 0 ,0,0, WIDTH, HEIGHT) + self.d.pixmap_temp.draw_rectangle(self.d.gc_selection, False ,self.d.newx,self.d.newy,self.d.newx_,self.d.newy_) + + + def circle(self, widget, coords): + """Draw a circle. + + Keyword arguments: + self -- Desenho.Desenho instance + widget -- Area object (GtkDrawingArea) + coords -- Two value tuple + + """ + widget.queue_draw() + + if coords[0] > WIDTH: + coords0 = WIDTH + else: + coords0 = coords[0] + + if coords [1] > HEIGHT: + coords1 = HEIGHT + else: + coords1 = coords[1] + + self.d.newx_ = coords0 - self.d.oldx + self.d.newy_ = coords1 - self.d.oldy + print "coords0", coords0 + + if self.d.newx_ >= 0: + self.d.newx = self.d.oldx + else: + if coords0 > 0: + self.d.newx = coords0 + self.d.newx_ = - self.d.newx_ + else: + self.d.newx = 0 + self.d.newx_ = self.d.oldx + + if self.d.newy_ >= 0: + self.d.newy = self.d.oldy + else: + if coords1 > 0: + self.d.newy = coords1 + self.d.newy_ = - self.d.newy_ + else: + self.d.newy = 0 + self.d.newy_ = self.d.oldy + + self.d.pixmap_temp.draw_drawable(self.d.gc,self.d.pixmap, 0 , 0 ,0,0, WIDTH, HEIGHT) + self.d.pixmap_temp.draw_arc(self.d.gc, True, self.d.newx, self.d.newy, self.d.newx_,self.d.newy_, 0, 360*64) + self.d.pixmap_temp.draw_arc(self.d.gc_line, False, self.d.newx, self.d.newy, self.d.newx_, self.d.newy_, 0, 360*64) + + + def pencil(self, widget, coords): + """Draw a pencil. + + Keyword arguments: + self -- Desenho.Desenho instance + widget -- Area object (GtkDrawingArea) + coords -- Two value tuple + + """ + self.d.pixmap_temp.draw_drawable(self.d.gc,self.d.pixmap, 0 , 0 ,0,0, WIDTH, HEIGHT) + self.d.pixmap.draw_line(self.d.gc_line,self.d.oldx,self.d.oldy,coords[0],coords[1]) + self.d.oldx = coords[0] + self.d.oldy = coords[1] + widget.queue_draw() + + def clear(self): + """Clear the drawing. + + Keyword arguments: + self -- Desenho.Desenho instance + + """ + self.d.desenho = [] + self.d.textos = [] + self.d.pixmap.draw_rectangle(self.d.get_style().white_gc, True,0, 0, WIDTH, HEIGHT) + self.d.pixmap_temp.draw_rectangle(self.d.get_style().white_gc, True,0, 0, WIDTH, HEIGHT) + self.d.queue_draw() + + def text(self,widget,event): + """Make a selection. + + Keyword arguments: + self -- Desenho.Desenho instance + widget -- Area object (GtkDrawingArea) + event -- GdkEvent + + """ + if self.d.estadoTexto == 0: + self.d.estadoTexto = 1 + print event.x + self.d.janela._fixed.move(self.d.janela._textview, int(event.x)+200, int(event.y)+100) + self.d.janela._textview.show() + else: + self.d.estadoTexto = 0 + texto = self.d.janela._textview.get_text() + layout = self.d.create_pango_layout(texto) + layout.set_font_description(self.d.font) + self.d.pixmap.draw_layout(self.d.gc, self.d.oldx, self.d.oldy, layout) + self.d.pixmap_temp.draw_layout(self.d.gc, self.d.oldx, self.d.oldy, layout) + self.d.janela._textview.hide() + self.d.janela._textview.set_text('') + + widget.queue_draw() + + def loadImage(self, name): + """Load an image. + + Keyword arguments: + self -- Desenho.Desenho instance + name -- string (image file path) + + """ + pixbuf = gtk.gdk.pixbuf_new_from_file(name) + self.d.pixmap.draw_pixbuf(self.d.gc, pixbuf, 0, 0, 0, 0, width=-1, height=-1, dither=gtk.gdk.RGB_DITHER_NORMAL, x_dither=0, y_dither=0) + self.d.pixmap_temp.draw_pixbuf(self.d.gc, pixbuf, 0, 0, 0, 0, width=-1, height=-1, dither=gtk.gdk.RGB_DITHER_NORMAL, x_dither=0, y_dither=0) + self.d.queue_draw() + + def moveSelection(self, widget, coords): + """Move the selection. + + Keyword arguments: + self -- Desenho.Desenho instance + widget -- Area object (GtkDrawingArea) + coords -- Two value tuple + + """ + self.d.pixmap_temp.draw_rectangle(self.d.get_style().white_gc, True,0, 0, WIDTH, HEIGHT) + self.d.pixmap_temp.draw_drawable(self.d.gc,self.d.pixmap, 0 , 0 ,0,0, WIDTH, HEIGHT) + + if self.d.sx > self.d.oldx: + x0 = self.d.oldx + else: + x0 = self.d.sx + + if self.d.sy > self.d.oldy: + x1 = self.d.oldy + else: + x1 = self.d.sy + + w = self.d.sx - self.d.oldx + if w < 0: + w = - w + + h = self.d.sy - self.d.oldy + if h < 0: + h = - h + + self.d.pixmap_temp.draw_rectangle(self.d.get_style().white_gc, True, x0, x1, w, h) + self.d.pixmap_temp.draw_drawable(self.d.gc, self.d.pixmap, x0, x1, coords[0] - w/2, coords[1]- h/2, w, h) + widget.queue_draw() + + def polygon(self, widget, coords): + """Draw polygon. + + Keyword arguments: + self -- Desenho.Desenho instance + widget -- Area object (GtkDrawingArea) + coords -- Two value tuple + + """ + self.d.pixmap_temp.draw_drawable(self.d.gc,self.d.pixmap, 0 , 0 ,0,0, WIDTH, HEIGHT) + if self.d.polygon_start: + self.d.pixmap_temp.draw_line(self.d.gc_line,self.d.oldx,self.d.oldy,coords[0],coords[1]) + else: + self.d.pixmap_temp.draw_line(self.d.gc_line,int (self.d.lastx), int (self.d.lasty),coords[0],coords[1]) + self.d.newx = coords[0] + self.d.newy = coords[1] + widget.queue_draw() + + + def fill(self, image, x, y, color): + '''Fills a region with a given color. + self -- + image -- a gtk.gdk.Image + x,y -- pixel coordinates + color -- a color to fill (decimal) + + ''' +# print 'entering (flood) fill function...' +# print image +# print x,y +# print color, image.get_pixel(x,y) + + start_color = image.get_pixel(x,y) + width, height = self.d.window.get_size() + + if x < 0 or x > width or y < 0 or y > height \ + or image.get_pixel(x,y) == color: +# print 'leaving...' + return + + edge = [(x, y)] + image.put_pixel(x, y, color) + while edge: +# print edge + newedge = [] + while gtk.events_pending ():gtk.main_iteration() + for (x, y) in edge: + for (s, t) in ((x+1, y), (x-1, y), (x, y+1), (x, y-1)): + if (s >= 0 and s < width) and (t >= 0 and t < height) \ + and image.get_pixel(s, t) == start_color: + image.put_pixel(s, t, color) + newedge.append((s, t)) + edge = newedge + + return image + diff --git a/MANIFEST b/MANIFEST new file mode 100755 index 0000000..3d62134 --- /dev/null +++ b/MANIFEST @@ -0,0 +1,100 @@ +Area.py +Botao.py +Cursores.py +Cursors.py +Desenho.py +Main.py +NEWS +Oficina.py +OficinaActivity.py +Rede.py +setup.py +toolbox.py +icons/bg.svg +icons/brush_cursor.svg +icons/bucket_cursor.svg +icons/edit-copy.svg +icons/edit-paste.svg +icons/edit-redo.svg +icons/edit-undo.svg +icons/effect-grayscale.svg +icons/format-justify-center.svg +icons/format-justify-left.svg +icons/format-justify-right.svg +icons/format-text-bold.svg +icons/icon-stroke.svg +icons/object-height.svg +icons/object-insert.svg +icons/object-rotate-left.svg +icons/tool-bucket.svg +icons/tool-eraser.svg +icons/tool-marquee-elliptical.svg +icons/tool-marquee-freeform.svg +icons/tool-shape-arrow.svg +icons/tool-shape-curve.svg +icons/tool-shape-ellipse.svg +icons/tool-shape-freeform.svg +icons/tool-shape-rectangle.svg +icons/tool-shape-star.svg +icons/tool-shape-trapezoid.svg +icons/tool-shape-triangle.svg +icons/format-text-italic.svg +icons/object-rotate-right.svg +icons/tool-marquee-rectangular.svg +icons/tool-shape-heart.svg +icons/edit-redo.svg +icons/format-text-size.svg +icons/object-width.svg +icons/tool-marquee-smart.svg +icons/tool-shape-line.svg +icons/edit-undo.svg +icons/format-text-underline.svg +icons/text.svg +icons/tool-pencil.svg +icons/tool-shape-parallelogram.svg +icons/effect-grayscale.svg +icons/icon-fill.svg +icons/tool-brush.svg +icons/tool-polygon.svg +icons/tool-shape-polygon.svg +po/de.po +po/drawing.pot +po/es.po +po/fr.po +po/pt_BR.po +po/ko_KO.po +images/abrir.png +images/amarelo.png +images/azul.png +images/balde.png +images/circulo_cursor.png +images/corlinha.png +images/lapis.png +images/lapis_cursor.png +images/linha_cursor.png +images/move_cursor.png +images/poligono.png +images/poligono_cursor.png +images/salvar.png +images/selecao.png +images/selecao_cursor.png +images/borracha.png +images/laranja.png +images/preto.png +images/vassoura.png +images/borracha_cursor.png +images/letra.png +images/quadrado.png +images/verde.png +images/branco.png +images/letra_cursor.png +images/quadrado_cursor.png +images/vermelho.png +images/circulo.png +images/linha.png +images/roxo.png + + + + + diff --git a/Main.py b/Main.py new file mode 100644 index 0000000..5dafb95 --- /dev/null +++ b/Main.py @@ -0,0 +1,20 @@ +#!/bin/env python +import pygtk +pygtk.require('2.0') +import sys,gtk,gobject,random,socket,select +import threading +import math +import pango +from gtk import gdk + +from Oficina import Oficina + +def main(): + """Run the program. + """ + oficina = Oficina() + gtk.main() + +if __name__ == "__main__": + main() + diff --git a/NEWS b/NEWS new file mode 100755 index 0000000..1dae861 --- /dev/null +++ b/NEWS @@ -0,0 +1,12 @@ +3 +=== +Addition of a new SVG Icon with fixes to some bugs. Project name changed from Oficina to Paint + +2 +=== +Make it work with python setup.py: John Palmeiri and Manusheel Gupta + +1 +=== +First Sugar Version: joyce, andremossinato, pekayatt, barbolo, nathalia.sautchuk, alexandremartinazzo from LSI Research Group, University of Sau Paulo,Brazil with manusheel gupta(manu@laptop.org) from OLPC, Cambridge + diff --git a/Oficina-2.xo b/Oficina-2.xo deleted file mode 100644 index 8cf4b04..0000000 --- a/Oficina-2.xo +++ /dev/null Binary files differ diff --git a/Oficina.py b/Oficina.py new file mode 100644 index 0000000..d50ae5d --- /dev/null +++ b/Oficina.py @@ -0,0 +1,254 @@ +import pygtk +pygtk.require('2.0') +import gtk +from gtk import gdk +import os + +from Cursors import Cursores +from Botao import Botao +from Area import Area + +DRAW_WIDTH = 1200 +DRAW_HEIGHT = 800 + +class Oficina: + def __init__(self): + """Initialize the Oficina object. + + Keyword arguments: + self -- Oficina.Oficina instance + + """ + #self.window = gtk.Window() + + #self.areaFixa = gtk.Fixed() + #self.areaFixa.set_size_request(DRAW_WIDTH, DRAW_HEIGHT) + + # cor de fundo da janela + #color = gtk.gdk.color_parse("white") + #self.window.modify_bg(gtk.STATE_NORMAL, color) + + # imagem de fundo + #self.fundo = gtk.Image() + #self.fundo.set_from_file('fundo.png') + #self.areaFixa.put(self.fundo, 0, 0) + + # cursores + self.cursorLapis = Cursores('lapis_cursor.png') + self.cursorCirculo = Cursores('circulo_cursor.png') + self.cursorBorracha = Cursores('borracha_cursor.png') + self.cursorQuadrado = Cursores('quadrado_cursor.png') + self.cursorLinha = Cursores('linha_cursor.png') + self.cursorLetra = Cursores('letra_cursor.png') + self.cursorSelecao = Cursores('selecao_cursor.png') + self.cursorPoligono = Cursores('poligono_cursor.png') + self.cursorMove = Cursores('move_cursor.png') + + self.area = Area(self) + self.area.ferramenta = 2 + #self.areaFixa.put(self.area,0,0) + + # botoes de evento + # ferramentas + + botao = Botao(self.areaFixa) + botao.adicionaBotao('corlinha.png',-1,15,10,self.mousedown, "Cor Linha") + botao.adicionaBotao('balde.png',-2,15,40,self.mousedown, "Balde") + + botao.adicionaBotao('linha.png',1,15,100,self.mousedown, "Linha") + botao.adicionaBotao('lapis.png',2,130,110,self.mousedown, "Lapis") + botao.adicionaBotao('borracha.png',3,90,180,self.mousedown, "Borracha") + botao.adicionaBotao('letra.png',4,50,220,self.mousedown, "Letra") + botao.adicionaBotao('circulo.png',5,25,270,self.mousedown, "Circulo") + botao.adicionaBotao('quadrado.png',6,20,320,self.mousedown, "Quadrado") + botao.adicionaBotao('vassoura.png',7,20,360,self.mousedown, "Vassoura") + # cor preenchimento + # deprecated + botao.adicionaBotao('roxo.png',8,210,42,self.mousedown, "Preenchimento Roxo") + botao.adicionaBotao('amarelo.png',9,54,40,self.mousedown, "Preenchimento Amarelo") + botao.adicionaBotao('preto.png',10,90,42,self.mousedown, "Preenchimento Preto") + botao.adicionaBotao('azul.png',11,120,40,self.mousedown, "Preenchimento Azul") + botao.adicionaBotao('verde.png',12,150,42,self.mousedown, "Preenchimento Verde") + botao.adicionaBotao('vermelho.png',13,180,40,self.mousedown, "Preenchimento Vermelho") + botao.adicionaBotao('laranja.png',14,280,42,self.mousedown, "Preenchimento Laranja") + botao.adicionaBotao('branco.png',15,240,40,self.mousedown, "Preenchimento Branco") + + # cor linha + # deprecated + botao.adicionaBotao('roxo.png',16,210,12,self.mousedown, "Linha Roxa") + botao.adicionaBotao('amarelo.png',17,54,10,self.mousedown, "Linha Amarela") + botao.adicionaBotao('preto.png',18,90,12,self.mousedown, "Linha Preta") + botao.adicionaBotao('azul.png',19,120,10,self.mousedown, "Linha Azul") + botao.adicionaBotao('verde.png',20,150,12,self.mousedown, "Linha Verde") + botao.adicionaBotao('vermelho.png',21,180,10,self.mousedown, "Linha Vermelha") + botao.adicionaBotao('laranja.png',22,280,12,self.mousedown, "Linha Laranja") + botao.adicionaBotao('branco.png',23,240,10,self.mousedown, "Linha Branca") + + botao.adicionaBotao('abrir.png',24,660,10,self.mousedown, "Abrir") + botao.adicionaBotao('salvar.png',25,600,10,self.mousedown, "Salvar") + botao.adicionaBotao('selecao.png',26,550,10,self.mousedown, "Selecao") + botao.adicionaBotao('poligono.png',27,70,95,self.mousedown, "Poligono") + + self.window.add(self.areaFixa) + self.window.connect("destroy", gtk.main_quit) + # desenho de texto + + self.entrada = gtk.Entry(max=50) + self.areaFixa.put(self.entrada,100,100) + + self.window.show_all() + self.entrada.hide() + + #self.area.show() + # + + def mousedown(self,widget,event, ferramenta): + """Verify what event was called when the mouse pressed a button. + + Keyword arguments: + self -- Oficina.Oficina instance + widget -- gtk.EventBox + event -- GdkEvent + ferramenta -- integer "enum" + + """ + self.entrada.hide() + if ferramenta == 7: + self.area.d.limpatudo() #vassoura + elif ferramenta == 8: + self.area.mudacor(0) #roxo + elif ferramenta == 9: + self.area.mudacor(1) #amarelo + elif ferramenta == 10: + self.area.mudacor(2) #preto + elif ferramenta == 11: + self.area.mudacor(3) #azul + elif ferramenta == 12: + self.area.mudacor(4) #verde + elif ferramenta == 13: + self.area.mudacor(5) #vermelho + elif ferramenta == 14: + self.area.mudacor(6) #laranja + elif ferramenta == 15: + self.area.mudacor(7) #branco + elif ferramenta == 16: + self.area.mudacorlinha(0) + elif ferramenta == 17: + self.area.mudacorlinha(1) + elif ferramenta == 18: + self.area.mudacorlinha(2) + elif ferramenta == 19: + self.area.mudacorlinha(3) + elif ferramenta == 20: + self.area.mudacorlinha(4) + elif ferramenta == 21: + self.area.mudacorlinha(5) + elif ferramenta == 22: + self.area.mudacorlinha(6) + elif ferramenta == 23: + self.area.mudacorlinha(7) + elif ferramenta == 24: + dialog = gtk.FileChooserDialog(title=('Abrir Arquivo...'), + action=gtk.FILE_CHOOSER_ACTION_OPEN, + buttons=(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL, + gtk.STOCK_SAVE, gtk.RESPONSE_OK)) + dialog.show_all() + response = dialog.run() + if response == gtk.RESPONSE_OK: + print dialog.get_filename(), 'selected' + gtk28 = False + file_path = dialog.get_filename() + file_path = self.decode_path((file_path,))[0] + self.open(file_path) + elif response == gtk.RESPONSE_CANCEL: + print 'Closed, no files selected' + dialog.destroy() + + elif ferramenta == 25: + dialog = gtk.FileChooserDialog(title=('Salvar Arquivo como...'), + action=gtk.FILE_CHOOSER_ACTION_SAVE, + buttons=(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL, + gtk.STOCK_SAVE, gtk.RESPONSE_OK)) + + dialog.show_all() + response = dialog.run() + if response == gtk.RESPONSE_OK: + print dialog.get_filename(), 'selected' + gtk28 = False + file_path = dialog.get_filename() + file_path = self.decode_path((file_path,))[0] + self.save(file_path) + elif response == gtk.RESPONSE_CANCEL: + print 'Closed, no files selected' + dialog.destroy() + + else: + if ferramenta == 1: + print "linha" + self.area.window.set_cursor(self.cursorLinha.cursor()) + elif ferramenta == 2: + print "lapis" + self.area.window.set_cursor(self.cursorLapis.cursor()) + elif ferramenta == 3: + print "borracha" + self.area.window.set_cursor(self.cursorBorracha.cursor()) + elif ferramenta == 4: + print "letra" + self.area.window.set_cursor(self.cursorLetra.cursor()) + elif ferramenta == 5: + print "circulo" + self.area.window.set_cursor(self.cursorCirculo.cursor()) + elif ferramenta == 6: + print "quadrado" + self.area.window.set_cursor(self.cursorQuadrado.cursor()) + elif ferramenta == 26: + self.area.window.set_cursor(self.cursorSelecao.cursor()) + elif ferramenta == 27: + self.area.window.set_cursor(self.cursorPoligono.cursor()) + self.area.primeira = 1 + + self.area.ferramenta = ferramenta + + def open(self, name): + self.area.d.limpatudo() + self.area.d.loadImage(name) + + def save(self, name): + """Save the drawing. + + Keyword arguments: + self -- Oficina.Oficina instance + name -- string (path where the file will be saved) + + """ + pixbuf = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB, False, 8, DRAW_WIDTH, DRAW_HEIGHT) + pixbuf.get_from_drawable(self.area.pixmap, gtk.gdk.colormap_get_system(), 0, 0, 0, 0, -1, -1) + pixbuf.save(name + ".png", "png", {}) + + def decode_path(self, file_paths): + """ + + Keyword arguments: + self -- Oficina.Oficina instance + file_paths -- tuple with the string of the path + + """ + file_paths_list = list() + if os.name == 'nt': # Windows + for file_path in file_paths: + file_path = file_path.decode('utf8') + file_paths_list.append(file_path) + print "file_path", file_path + + else: + for file_path in file_paths: + try: + file_path = file_path.decode(sys.getfilesystemencoding()) + except: + try: + file_path = file_path.decode('utf-8') + except: + pass + file_paths_list.append(file_path) + + return file_paths_list diff --git a/OficinaActivity.py b/OficinaActivity.py new file mode 100644 index 0000000..add4fca --- /dev/null +++ b/OficinaActivity.py @@ -0,0 +1,94 @@ +import os +from gettext import gettext as _ + +import gtk + +from sugar.activity import activity + +#from Oficina import Oficina +from toolbox import Toolbox +from Area import Area +from Cursors import Cursors + +# DRAW_WIDTH = 1195 +# DRAW_HEIGHT = 800 + +class OficinaActivity(activity.Activity): + def __init__(self, handle): + """Initialize the OficinaActivity object. + + Keyword arguments: + self -- + handle -- + + """ + activity.Activity.__init__(self, handle) + + os.chdir(activity.get_bundle_path()) + #print activity.get_bundle_path() + + toolbox = Toolbox(self) + self.set_toolbox(toolbox) + toolbox.show() + + + # addind a textview widget + sw = gtk.ScrolledWindow() + sw.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) + + self._fixed = gtk.Fixed() + self._area = Area(self) + color = gtk.gdk.color_parse("white") + self._fixed.modify_bg(gtk.STATE_NORMAL, color) + + self.bg = gtk.Image() + self.bg.set_from_file('./icons/bg.svg') + self._fixed.put(self.bg, 200, 100) + self.bg.show() + + #FIXME: use a textview instead of a Entry + #self._textview = gtk.TextView() + self._textview = gtk.Entry() + self._area.tool = 2 + self._fixed.put(self._area, 200 , 100) + + sw.add_with_viewport(self._fixed) + self._area.show() + self._fixed.show() + + + self._fixed.put(self._textview, 0, 0) + self._textview.hide() + sw.show() + + # setting scrolledwindow as activity canvas... + self.set_canvas(sw) + + + def read_file(self, file_path): + '''Read file from Sugar Journal. + + self -- + file_path -- + + ''' + print 'read file...' + print file_path + #self._area.d.limpatudo() + #self._area.d.clear() + self._area.d.loadImage(file_path) + + + def write_file(self, file_path): + '''Save file on Sugar Journal. + + self -- + file_path -- + + ''' + print file_path + 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) + pixbuf.save(file_path, 'png', {}) + diff --git a/Rede.py b/Rede.py new file mode 100644 index 0000000..526069b --- /dev/null +++ b/Rede.py @@ -0,0 +1,16 @@ +import sys +from gtk import gdk + +class Mensagens: + def __init__(self, areadesenho): + pass + def criaConexao(self): + pass + def enviaServidor(self, msg): + pass + def getMessage(self, source, condition): + pass + def handle_data(self, data): + pass + + diff --git a/activity/.svn/all-wcprops b/activity/.svn/all-wcprops new file mode 100644 index 0000000..8acf093 --- /dev/null +++ b/activity/.svn/all-wcprops @@ -0,0 +1,17 @@ +K 25 +svn:wc:ra_dav:version-url +V 31 +/svn/!svn/ver/48/trunk/activity +END +activity.info +K 25 +svn:wc:ra_dav:version-url +V 45 +/svn/!svn/ver/48/trunk/activity/activity.info +END +activity-rgbpaint.svg +K 25 +svn:wc:ra_dav:version-url +V 53 +/svn/!svn/ver/48/trunk/activity/activity-rgbpaint.svg +END diff --git a/activity/.svn/entries b/activity/.svn/entries new file mode 100644 index 0000000..243708e --- /dev/null +++ b/activity/.svn/entries @@ -0,0 +1,53 @@ +8 + +dir +52 +https://oficina.googlecode.com/svn/trunk/activity +https://oficina.googlecode.com/svn + + + +2007-07-15T19:56:43.170916Z +48 +alexandremartinazzo + + +svn:special svn:externals svn:needs-lock + + + + + + + + + + + +e2fb0b9f-bc32-0410-ab74-19e9d00b4e58 + +activity.info +file + + + + +2007-07-16T13:46:21.000000Z +5ced69d7f93f9c3a0c09a10a4d041748 +2007-07-15T19:56:43.170916Z +48 +alexandremartinazzo + +activity-rgbpaint.svg +file + + + + +2007-07-16T13:46:21.000000Z +d4879eae4813a66794e2c9f286b1f06c +2007-07-15T19:56:43.170916Z +48 +alexandremartinazzo +has-props + diff --git a/activity/.svn/format b/activity/.svn/format new file mode 100644 index 0000000..45a4fb7 --- /dev/null +++ b/activity/.svn/format @@ -0,0 +1 @@ +8 diff --git a/activity/.svn/prop-base/activity-rgbpaint.svg.svn-base b/activity/.svn/prop-base/activity-rgbpaint.svg.svn-base new file mode 100644 index 0000000..869ac71 --- /dev/null +++ b/activity/.svn/prop-base/activity-rgbpaint.svg.svn-base @@ -0,0 +1,5 @@ +K 14 +svn:executable +V 1 +* +END diff --git a/activity/.svn/text-base/activity-rgbpaint.svg.svn-base b/activity/.svn/text-base/activity-rgbpaint.svg.svn-base new file mode 100644 index 0000000..5adf77d --- /dev/null +++ b/activity/.svn/text-base/activity-rgbpaint.svg.svn-base @@ -0,0 +1,22 @@ + + + + + + +]> + + + + + + diff --git a/activity/.svn/text-base/activity.info.svn-base b/activity/.svn/text-base/activity.info.svn-base new file mode 100644 index 0000000..d30d8c6 --- /dev/null +++ b/activity/.svn/text-base/activity.info.svn-base @@ -0,0 +1,7 @@ +[Activity] +name = Paint +activity_version = 1 +service_name = org.laptop.Oficina +icon = activity-rgbpaint +class = OficinaActivity.OficinaActivity + diff --git a/activity/activity-rgbpaint.svg b/activity/activity-rgbpaint.svg new file mode 100755 index 0000000..5adf77d --- /dev/null +++ b/activity/activity-rgbpaint.svg @@ -0,0 +1,22 @@ + + + + + + +]> + + + + + + diff --git a/activity/activity.info b/activity/activity.info new file mode 100644 index 0000000..d99c8a1 --- /dev/null +++ b/activity/activity.info @@ -0,0 +1,7 @@ +[Activity] +name = Paint +activity_version = 3 +service_name = org.laptop.Oficina +icon = activity-rgbpaint +class = OficinaActivity.OficinaActivity + diff --git a/activity/activity.info~ b/activity/activity.info~ new file mode 100644 index 0000000..d30d8c6 --- /dev/null +++ b/activity/activity.info~ @@ -0,0 +1,7 @@ +[Activity] +name = Paint +activity_version = 1 +service_name = org.laptop.Oficina +icon = activity-rgbpaint +class = OficinaActivity.OficinaActivity + diff --git a/icons/.svn/all-wcprops b/icons/.svn/all-wcprops new file mode 100644 index 0000000..0ecb0b9 --- /dev/null +++ b/icons/.svn/all-wcprops @@ -0,0 +1,269 @@ +K 25 +svn:wc:ra_dav:version-url +V 28 +/svn/!svn/ver/38/trunk/icons +END +object-width.svg +K 25 +svn:wc:ra_dav:version-url +V 45 +/svn/!svn/ver/16/trunk/icons/object-width.svg +END +text.svg +K 25 +svn:wc:ra_dav:version-url +V 37 +/svn/!svn/ver/25/trunk/icons/text.svg +END +tool-bucket.svg +K 25 +svn:wc:ra_dav:version-url +V 44 +/svn/!svn/ver/16/trunk/icons/tool-bucket.svg +END +bg.svg +K 25 +svn:wc:ra_dav:version-url +V 35 +/svn/!svn/ver/38/trunk/icons/bg.svg +END +object-rotate-left.svg +K 25 +svn:wc:ra_dav:version-url +V 51 +/svn/!svn/ver/16/trunk/icons/object-rotate-left.svg +END +tool-marquee-elliptical.svg +K 25 +svn:wc:ra_dav:version-url +V 56 +/svn/!svn/ver/16/trunk/icons/tool-marquee-elliptical.svg +END +tool-shape-curve.svg +K 25 +svn:wc:ra_dav:version-url +V 49 +/svn/!svn/ver/16/trunk/icons/tool-shape-curve.svg +END +icon-stroke.svg +K 25 +svn:wc:ra_dav:version-url +V 44 +/svn/!svn/ver/19/trunk/icons/icon-stroke.svg +END +tool-marquee-smart.svg +K 25 +svn:wc:ra_dav:version-url +V 51 +/svn/!svn/ver/16/trunk/icons/tool-marquee-smart.svg +END +tool-shape-line.svg +K 25 +svn:wc:ra_dav:version-url +V 48 +/svn/!svn/ver/16/trunk/icons/tool-shape-line.svg +END +format-justify-center.svg +K 25 +svn:wc:ra_dav:version-url +V 54 +/svn/!svn/ver/16/trunk/icons/format-justify-center.svg +END +tool-polygon.svg +K 25 +svn:wc:ra_dav:version-url +V 45 +/svn/!svn/ver/35/trunk/icons/tool-polygon.svg +END +tool-shape-arrow.svg +K 25 +svn:wc:ra_dav:version-url +V 49 +/svn/!svn/ver/16/trunk/icons/tool-shape-arrow.svg +END +object-insert.svg +K 25 +svn:wc:ra_dav:version-url +V 46 +/svn/!svn/ver/16/trunk/icons/object-insert.svg +END +object-height.svg +K 25 +svn:wc:ra_dav:version-url +V 46 +/svn/!svn/ver/16/trunk/icons/object-height.svg +END +icon-fill.svg +K 25 +svn:wc:ra_dav:version-url +V 42 +/svn/!svn/ver/19/trunk/icons/icon-fill.svg +END +format-text-italic.svg +K 25 +svn:wc:ra_dav:version-url +V 51 +/svn/!svn/ver/16/trunk/icons/format-text-italic.svg +END +tool-shape-rectangle.svg +K 25 +svn:wc:ra_dav:version-url +V 53 +/svn/!svn/ver/16/trunk/icons/tool-shape-rectangle.svg +END +object-rotate-right.svg +K 25 +svn:wc:ra_dav:version-url +V 52 +/svn/!svn/ver/16/trunk/icons/object-rotate-right.svg +END +tool-shape-freeform.svg +K 25 +svn:wc:ra_dav:version-url +V 52 +/svn/!svn/ver/16/trunk/icons/tool-shape-freeform.svg +END +tool-shape-triangle.svg +K 25 +svn:wc:ra_dav:version-url +V 52 +/svn/!svn/ver/16/trunk/icons/tool-shape-triangle.svg +END +format-text-size.svg +K 25 +svn:wc:ra_dav:version-url +V 49 +/svn/!svn/ver/16/trunk/icons/format-text-size.svg +END +tool-shape-star.svg +K 25 +svn:wc:ra_dav:version-url +V 48 +/svn/!svn/ver/16/trunk/icons/tool-shape-star.svg +END +tool-pencil.svg +K 25 +svn:wc:ra_dav:version-url +V 44 +/svn/!svn/ver/16/trunk/icons/tool-pencil.svg +END +format-text-bold.svg +K 25 +svn:wc:ra_dav:version-url +V 49 +/svn/!svn/ver/16/trunk/icons/format-text-bold.svg +END +edit-undo.svg +K 25 +svn:wc:ra_dav:version-url +V 42 +/svn/!svn/ver/16/trunk/icons/edit-undo.svg +END +tool-shape-parallelogram.svg +K 25 +svn:wc:ra_dav:version-url +V 57 +/svn/!svn/ver/16/trunk/icons/tool-shape-parallelogram.svg +END +tool-eraser.svg +K 25 +svn:wc:ra_dav:version-url +V 44 +/svn/!svn/ver/16/trunk/icons/tool-eraser.svg +END +edit-copy.svg +K 25 +svn:wc:ra_dav:version-url +V 42 +/svn/!svn/ver/16/trunk/icons/edit-copy.svg +END +format-text-underline.svg +K 25 +svn:wc:ra_dav:version-url +V 54 +/svn/!svn/ver/16/trunk/icons/format-text-underline.svg +END +tool-brush.svg +K 25 +svn:wc:ra_dav:version-url +V 43 +/svn/!svn/ver/16/trunk/icons/tool-brush.svg +END +format-justify-right.svg +K 25 +svn:wc:ra_dav:version-url +V 53 +/svn/!svn/ver/16/trunk/icons/format-justify-right.svg +END +edit-paste.svg +K 25 +svn:wc:ra_dav:version-url +V 43 +/svn/!svn/ver/16/trunk/icons/edit-paste.svg +END +tool-shape-polygon.svg +K 25 +svn:wc:ra_dav:version-url +V 51 +/svn/!svn/ver/16/trunk/icons/tool-shape-polygon.svg +END +effect-grayscale.svg +K 25 +svn:wc:ra_dav:version-url +V 49 +/svn/!svn/ver/35/trunk/icons/effect-grayscale.svg +END +tool-shape-ellipse.svg +K 25 +svn:wc:ra_dav:version-url +V 51 +/svn/!svn/ver/16/trunk/icons/tool-shape-ellipse.svg +END +tool-shape-trapezoid.svg +K 25 +svn:wc:ra_dav:version-url +V 53 +/svn/!svn/ver/16/trunk/icons/tool-shape-trapezoid.svg +END +bucket_cursor.svg +K 25 +svn:wc:ra_dav:version-url +V 46 +/svn/!svn/ver/34/trunk/icons/bucket_cursor.svg +END +format-justify-left.svg +K 25 +svn:wc:ra_dav:version-url +V 52 +/svn/!svn/ver/16/trunk/icons/format-justify-left.svg +END +edit-redo.svg +K 25 +svn:wc:ra_dav:version-url +V 42 +/svn/!svn/ver/16/trunk/icons/edit-redo.svg +END +tool-shape-heart.svg +K 25 +svn:wc:ra_dav:version-url +V 49 +/svn/!svn/ver/16/trunk/icons/tool-shape-heart.svg +END +tool-marquee-freeform.svg +K 25 +svn:wc:ra_dav:version-url +V 54 +/svn/!svn/ver/16/trunk/icons/tool-marquee-freeform.svg +END +tool-marquee-rectangular.svg +K 25 +svn:wc:ra_dav:version-url +V 57 +/svn/!svn/ver/16/trunk/icons/tool-marquee-rectangular.svg +END +brush_cursor.svg +K 25 +svn:wc:ra_dav:version-url +V 45 +/svn/!svn/ver/34/trunk/icons/brush_cursor.svg +END diff --git a/icons/.svn/entries b/icons/.svn/entries new file mode 100644 index 0000000..ce8f13d --- /dev/null +++ b/icons/.svn/entries @@ -0,0 +1,556 @@ +8 + +dir +52 +https://oficina.googlecode.com/svn/trunk/icons +https://oficina.googlecode.com/svn + + + +2007-07-11T22:04:55.816866Z +38 +joycealess + + +svn:special svn:externals svn:needs-lock + + + + + + + + + + + +e2fb0b9f-bc32-0410-ab74-19e9d00b4e58 + +object-width.svg +file + + + + +2007-07-16T13:46:28.000000Z +1b30b4261b33892ddc24a88687236934 +2007-07-09T17:30:08.359449Z +16 +alexandremartinazzo + +text.svg +file + + + + +2007-07-16T13:46:28.000000Z +3d66b428030358ffb8dcd4671c6a2bd5 +2007-07-11T00:53:52.860928Z +25 +joycealess + +tool-bucket.svg +file + + + + +2007-07-16T13:46:28.000000Z +5b10db3a9d3174a815b927930d3fab9e +2007-07-09T17:30:08.359449Z +16 +alexandremartinazzo + +bg.svg +file + + + + +2007-07-16T13:46:28.000000Z +655e740e804bddad854220e22d19ab56 +2007-07-11T22:04:55.816866Z +38 +joycealess + +object-rotate-left.svg +file + + + + +2007-07-16T13:46:28.000000Z +ac201e3c8064d2d68bb08aa3576a46c9 +2007-07-09T17:30:08.359449Z +16 +alexandremartinazzo + +tool-marquee-elliptical.svg +file + + + + +2007-07-16T13:46:28.000000Z +7569c5cbded502384ad4fa275608caca +2007-07-09T17:30:08.359449Z +16 +alexandremartinazzo + +tool-shape-curve.svg +file + + + + +2007-07-16T13:46:28.000000Z +b7358e0fc6411671d79d17981fc38b19 +2007-07-09T17:30:08.359449Z +16 +alexandremartinazzo + +icon-stroke.svg +file + + + + +2007-07-16T13:46:28.000000Z +ea5b569b0607fffcc4ca7dbfff0bb3ca +2007-07-10T00:59:32.307893Z +19 +joycealess + +tool-marquee-smart.svg +file + + + + +2007-07-16T13:46:28.000000Z +a2c3d288a7143a3b6d3730ac6514c6f6 +2007-07-09T17:30:08.359449Z +16 +alexandremartinazzo + +tool-shape-line.svg +file + + + + +2007-07-16T13:46:28.000000Z +6349d68cb94da2538dbd5bf6510ba8b9 +2007-07-09T17:30:08.359449Z +16 +alexandremartinazzo + +format-justify-center.svg +file + + + + +2007-07-16T13:46:28.000000Z +53e5cc4e49257abecf42be80e89ae2cb +2007-07-09T17:30:08.359449Z +16 +alexandremartinazzo + +tool-polygon.svg +file + + + + +2007-07-16T13:46:28.000000Z +1c6745cad816b8c06442532d753b4c69 +2007-07-11T21:11:51.124065Z +35 +joycealess + +tool-shape-arrow.svg +file + + + + +2007-07-16T13:46:28.000000Z +563d404cd9eb5564dc8755d6a9d89229 +2007-07-09T17:30:08.359449Z +16 +alexandremartinazzo + +object-insert.svg +file + + + + +2007-07-16T13:46:28.000000Z +e49e130a054dd297c3dd83a65d725f61 +2007-07-09T17:30:08.359449Z +16 +alexandremartinazzo + +object-height.svg +file + + + + +2007-07-16T13:46:28.000000Z +5136d4efa9aa305dfee18e7058e92b96 +2007-07-09T17:30:08.359449Z +16 +alexandremartinazzo + +icon-fill.svg +file + + + + +2007-07-16T13:46:28.000000Z +e8feaa6e7c01a58d023230c5271a2e68 +2007-07-10T00:59:32.307893Z +19 +joycealess + +object-rotate-right.svg +file + + + + +2007-07-16T13:46:28.000000Z +5da560d2dfa6feda4c8607dd69ff6cb3 +2007-07-09T17:30:08.359449Z +16 +alexandremartinazzo + +tool-shape-rectangle.svg +file + + + + +2007-07-16T13:46:28.000000Z +393c1815080f6c32e7b46d768d50bbe3 +2007-07-09T17:30:08.359449Z +16 +alexandremartinazzo + +format-text-italic.svg +file + + + + +2007-07-16T13:46:28.000000Z +a850db558c3ee9e4c48c858b8d6b5882 +2007-07-09T17:30:08.359449Z +16 +alexandremartinazzo + +tool-shape-triangle.svg +file + + + + +2007-07-16T13:46:28.000000Z +63c237a53add3ee92f78dcf19b025b06 +2007-07-09T17:30:08.359449Z +16 +alexandremartinazzo + +tool-shape-freeform.svg +file + + + + +2007-07-16T13:46:28.000000Z +cf0ab1e88a64f839cdd141c7043e7da2 +2007-07-09T17:30:08.359449Z +16 +alexandremartinazzo + +tool-shape-star.svg +file + + + + +2007-07-16T13:46:28.000000Z +a55eed656b2ae223c85e027195a17ac0 +2007-07-09T17:30:08.359449Z +16 +alexandremartinazzo + +format-text-size.svg +file + + + + +2007-07-16T13:46:28.000000Z +153156a7ef9c178ed1545afe2191af18 +2007-07-09T17:30:08.359449Z +16 +alexandremartinazzo + +tool-pencil.svg +file + + + + +2007-07-16T13:46:28.000000Z +2d2d1720c53aed8ad422ad9cb0706665 +2007-07-09T17:30:08.359449Z +16 +alexandremartinazzo + +edit-undo.svg +file + + + + +2007-07-16T13:46:28.000000Z +f5469f3e20e7d35f397abbc53d9bb44e +2007-07-09T17:30:08.359449Z +16 +alexandremartinazzo + +format-text-bold.svg +file + + + + +2007-07-16T13:46:28.000000Z +7dd2a79d716c5e58d2397acf7034846c +2007-07-09T17:30:08.359449Z +16 +alexandremartinazzo + +tool-shape-parallelogram.svg +file + + + + +2007-07-16T13:46:28.000000Z +a3ba7afdf43083bf211d00a148151171 +2007-07-09T17:30:08.359449Z +16 +alexandremartinazzo + +tool-eraser.svg +file + + + + +2007-07-16T13:46:28.000000Z +63d491adb8dea6c891054344f6bc200b +2007-07-09T17:30:08.359449Z +16 +alexandremartinazzo + +format-text-underline.svg +file + + + + +2007-07-16T13:46:28.000000Z +6cf8ba5c06ffa7bc4a13af4ea92791d2 +2007-07-09T17:30:08.359449Z +16 +alexandremartinazzo + +edit-copy.svg +file + + + + +2007-07-16T13:46:28.000000Z +5ae430fc4a3faaf20ca3f6f3ce233c8e +2007-07-09T17:30:08.359449Z +16 +alexandremartinazzo + +format-justify-right.svg +file + + + + +2007-07-16T13:46:28.000000Z +623820ab0b2c320651afdf2ccb3aed27 +2007-07-09T17:30:08.359449Z +16 +alexandremartinazzo + +tool-brush.svg +file + + + + +2007-07-16T13:46:28.000000Z +76a7d3f503150836c214e09a12d42658 +2007-07-09T17:30:08.359449Z +16 +alexandremartinazzo + +edit-paste.svg +file + + + + +2007-07-16T13:46:28.000000Z +340267d9bec6af601eabb0b16f616592 +2007-07-09T17:30:08.359449Z +16 +alexandremartinazzo + +tool-shape-polygon.svg +file + + + + +2007-07-16T13:46:28.000000Z +f2c12f70fdccb7b5473032c08c497eb4 +2007-07-09T17:30:08.359449Z +16 +alexandremartinazzo + +effect-grayscale.svg +file + + + + +2007-07-16T13:46:28.000000Z +ce09016ce6f5be5c946273a5c032eff2 +2007-07-11T21:11:51.124065Z +35 +joycealess + +tool-shape-ellipse.svg +file + + + + +2007-07-16T13:46:28.000000Z +adcd21782f71b6b339d4bd37d187d9d3 +2007-07-09T17:30:08.359449Z +16 +alexandremartinazzo + +tool-shape-trapezoid.svg +file + + + + +2007-07-16T13:46:28.000000Z +e6d5ba414520fad5ddff0a83a7f4bab8 +2007-07-09T17:30:08.359449Z +16 +alexandremartinazzo + +bucket_cursor.svg +file + + + + +2007-07-16T13:46:28.000000Z +a2f66538482fc192d6d6b6dcd8799249 +2007-07-11T20:50:12.464219Z +34 +joycealess + +format-justify-left.svg +file + + + + +2007-07-16T13:46:28.000000Z +ac45c7bfc3bc00ef03a084259f71be83 +2007-07-09T17:30:08.359449Z +16 +alexandremartinazzo + +edit-redo.svg +file + + + + +2007-07-16T13:46:28.000000Z +539b0034eeddb6fe05c5bab1bc9979ed +2007-07-09T17:30:08.359449Z +16 +alexandremartinazzo + +tool-shape-heart.svg +file + + + + +2007-07-16T13:46:28.000000Z +489dc74808baf5aa59b310f0ca3f1176 +2007-07-09T17:30:08.359449Z +16 +alexandremartinazzo + +tool-marquee-freeform.svg +file + + + + +2007-07-16T13:46:28.000000Z +497e724825b35b4f9071839ac7f3e54f +2007-07-09T17:30:08.359449Z +16 +alexandremartinazzo + +tool-marquee-rectangular.svg +file + + + + +2007-07-16T13:46:28.000000Z +c3dc83404092717bfa58e586fc901c90 +2007-07-09T17:30:08.359449Z +16 +alexandremartinazzo + +brush_cursor.svg +file + + + + +2007-07-16T13:46:28.000000Z +59598ad92152a64b8105bc7336ebc47e +2007-07-11T20:50:12.464219Z +34 +joycealess + diff --git a/icons/.svn/format b/icons/.svn/format new file mode 100644 index 0000000..45a4fb7 --- /dev/null +++ b/icons/.svn/format @@ -0,0 +1 @@ +8 diff --git a/icons/.svn/text-base/bg.svg.svn-base b/icons/.svn/text-base/bg.svg.svn-base new file mode 100644 index 0000000..4c10711 --- /dev/null +++ b/icons/.svn/text-base/bg.svg.svn-base @@ -0,0 +1,71 @@ + + + + + + + + + + + + + image/svg+xml + + + + + + + + diff --git a/icons/.svn/text-base/brush_cursor.svg.svn-base b/icons/.svn/text-base/brush_cursor.svg.svn-base new file mode 100644 index 0000000..27d8d46 --- /dev/null +++ b/icons/.svn/text-base/brush_cursor.svg.svn-base @@ -0,0 +1,67 @@ + + +image/svg+xml + + + + + + + + + \ No newline at end of file diff --git a/icons/.svn/text-base/bucket_cursor.svg.svn-base b/icons/.svn/text-base/bucket_cursor.svg.svn-base new file mode 100644 index 0000000..bf4ea4d --- /dev/null +++ b/icons/.svn/text-base/bucket_cursor.svg.svn-base @@ -0,0 +1,67 @@ + + +image/svg+xml + + + + + + + + + \ No newline at end of file diff --git a/icons/.svn/text-base/edit-copy.svg.svn-base b/icons/.svn/text-base/edit-copy.svg.svn-base new file mode 100644 index 0000000..fcdbfc0 --- /dev/null +++ b/icons/.svn/text-base/edit-copy.svg.svn-base @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + diff --git a/icons/.svn/text-base/edit-paste.svg.svn-base b/icons/.svn/text-base/edit-paste.svg.svn-base new file mode 100644 index 0000000..39d2bfc --- /dev/null +++ b/icons/.svn/text-base/edit-paste.svg.svn-base @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + diff --git a/icons/.svn/text-base/edit-redo.svg.svn-base b/icons/.svn/text-base/edit-redo.svg.svn-base new file mode 100644 index 0000000..8950dec --- /dev/null +++ b/icons/.svn/text-base/edit-redo.svg.svn-base @@ -0,0 +1,16 @@ + + + + + + + + + + + + + diff --git a/icons/.svn/text-base/edit-undo.svg.svn-base b/icons/.svn/text-base/edit-undo.svg.svn-base new file mode 100644 index 0000000..d6590e8 --- /dev/null +++ b/icons/.svn/text-base/edit-undo.svg.svn-base @@ -0,0 +1,15 @@ + + + + + + + + + + + + diff --git a/icons/.svn/text-base/effect-grayscale.svg.svn-base b/icons/.svn/text-base/effect-grayscale.svg.svn-base new file mode 100644 index 0000000..dd6cdfa --- /dev/null +++ b/icons/.svn/text-base/effect-grayscale.svg.svn-base @@ -0,0 +1,79 @@ + + +image/svg+xml + + + + \ No newline at end of file diff --git a/icons/.svn/text-base/format-justify-center.svg.svn-base b/icons/.svn/text-base/format-justify-center.svg.svn-base new file mode 100644 index 0000000..219f411 --- /dev/null +++ b/icons/.svn/text-base/format-justify-center.svg.svn-base @@ -0,0 +1,14 @@ + + + + + + + + + + + + + diff --git a/icons/.svn/text-base/format-justify-left.svg.svn-base b/icons/.svn/text-base/format-justify-left.svg.svn-base new file mode 100644 index 0000000..b19f1d4 --- /dev/null +++ b/icons/.svn/text-base/format-justify-left.svg.svn-base @@ -0,0 +1,14 @@ + + + + + + + + + + + + + diff --git a/icons/.svn/text-base/format-justify-right.svg.svn-base b/icons/.svn/text-base/format-justify-right.svg.svn-base new file mode 100644 index 0000000..f255877 --- /dev/null +++ b/icons/.svn/text-base/format-justify-right.svg.svn-base @@ -0,0 +1,14 @@ + + + + + + + + + + + + + diff --git a/icons/.svn/text-base/format-text-bold.svg.svn-base b/icons/.svn/text-base/format-text-bold.svg.svn-base new file mode 100644 index 0000000..6f5d6bb --- /dev/null +++ b/icons/.svn/text-base/format-text-bold.svg.svn-base @@ -0,0 +1,19 @@ + + + + + + + + + + + + diff --git a/icons/.svn/text-base/format-text-italic.svg.svn-base b/icons/.svn/text-base/format-text-italic.svg.svn-base new file mode 100644 index 0000000..a3640e8 --- /dev/null +++ b/icons/.svn/text-base/format-text-italic.svg.svn-base @@ -0,0 +1,14 @@ + + + + + + + + + + + + diff --git a/icons/.svn/text-base/format-text-size.svg.svn-base b/icons/.svn/text-base/format-text-size.svg.svn-base new file mode 100644 index 0000000..18e6978 --- /dev/null +++ b/icons/.svn/text-base/format-text-size.svg.svn-base @@ -0,0 +1,12 @@ + + + + + + + + + + + diff --git a/icons/.svn/text-base/format-text-underline.svg.svn-base b/icons/.svn/text-base/format-text-underline.svg.svn-base new file mode 100644 index 0000000..e91ec1a --- /dev/null +++ b/icons/.svn/text-base/format-text-underline.svg.svn-base @@ -0,0 +1,16 @@ + + + + + + + + + + + + + diff --git a/icons/.svn/text-base/icon-fill.svg.svn-base b/icons/.svn/text-base/icon-fill.svg.svn-base new file mode 100644 index 0000000..bf1925a --- /dev/null +++ b/icons/.svn/text-base/icon-fill.svg.svn-base @@ -0,0 +1,56 @@ + + +image/svg+xml + + + + + + \ No newline at end of file diff --git a/icons/.svn/text-base/icon-stroke.svg.svn-base b/icons/.svn/text-base/icon-stroke.svg.svn-base new file mode 100644 index 0000000..71545c8 --- /dev/null +++ b/icons/.svn/text-base/icon-stroke.svg.svn-base @@ -0,0 +1,56 @@ + + +image/svg+xml + + + + + + \ No newline at end of file diff --git a/icons/.svn/text-base/object-height.svg.svn-base b/icons/.svn/text-base/object-height.svg.svn-base new file mode 100644 index 0000000..9f6dc76 --- /dev/null +++ b/icons/.svn/text-base/object-height.svg.svn-base @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + diff --git a/icons/.svn/text-base/object-insert.svg.svn-base b/icons/.svn/text-base/object-insert.svg.svn-base new file mode 100644 index 0000000..c620d0a --- /dev/null +++ b/icons/.svn/text-base/object-insert.svg.svn-base @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + diff --git a/icons/.svn/text-base/object-rotate-left.svg.svn-base b/icons/.svn/text-base/object-rotate-left.svg.svn-base new file mode 100644 index 0000000..f30a1c5 --- /dev/null +++ b/icons/.svn/text-base/object-rotate-left.svg.svn-base @@ -0,0 +1,16 @@ + + + + + + + + + + + + diff --git a/icons/.svn/text-base/object-rotate-right.svg.svn-base b/icons/.svn/text-base/object-rotate-right.svg.svn-base new file mode 100644 index 0000000..84c1638 --- /dev/null +++ b/icons/.svn/text-base/object-rotate-right.svg.svn-base @@ -0,0 +1,15 @@ + + + + + + + + + + + diff --git a/icons/.svn/text-base/object-width.svg.svn-base b/icons/.svn/text-base/object-width.svg.svn-base new file mode 100644 index 0000000..102bab1 --- /dev/null +++ b/icons/.svn/text-base/object-width.svg.svn-base @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + diff --git a/icons/.svn/text-base/text.svg.svn-base b/icons/.svn/text-base/text.svg.svn-base new file mode 100644 index 0000000..ddfee40 --- /dev/null +++ b/icons/.svn/text-base/text.svg.svn-base @@ -0,0 +1,68 @@ + + +image/svg+xml + + + + \ No newline at end of file diff --git a/icons/.svn/text-base/tool-brush.svg.svn-base b/icons/.svn/text-base/tool-brush.svg.svn-base new file mode 100644 index 0000000..e888321 --- /dev/null +++ b/icons/.svn/text-base/tool-brush.svg.svn-base @@ -0,0 +1,16 @@ + + + + + + + + + + + + + diff --git a/icons/.svn/text-base/tool-bucket.svg.svn-base b/icons/.svn/text-base/tool-bucket.svg.svn-base new file mode 100644 index 0000000..2ce3c33 --- /dev/null +++ b/icons/.svn/text-base/tool-bucket.svg.svn-base @@ -0,0 +1,18 @@ + + + + + + + + + + + + + diff --git a/icons/.svn/text-base/tool-eraser.svg.svn-base b/icons/.svn/text-base/tool-eraser.svg.svn-base new file mode 100644 index 0000000..41fc143 --- /dev/null +++ b/icons/.svn/text-base/tool-eraser.svg.svn-base @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + diff --git a/icons/.svn/text-base/tool-marquee-elliptical.svg.svn-base b/icons/.svn/text-base/tool-marquee-elliptical.svg.svn-base new file mode 100644 index 0000000..024d385 --- /dev/null +++ b/icons/.svn/text-base/tool-marquee-elliptical.svg.svn-base @@ -0,0 +1,11 @@ + + + + + + + + + + diff --git a/icons/.svn/text-base/tool-marquee-freeform.svg.svn-base b/icons/.svn/text-base/tool-marquee-freeform.svg.svn-base new file mode 100644 index 0000000..16b2afc --- /dev/null +++ b/icons/.svn/text-base/tool-marquee-freeform.svg.svn-base @@ -0,0 +1,18 @@ + + + + + + + + + + + + + diff --git a/icons/.svn/text-base/tool-marquee-rectangular.svg.svn-base b/icons/.svn/text-base/tool-marquee-rectangular.svg.svn-base new file mode 100644 index 0000000..e550203 --- /dev/null +++ b/icons/.svn/text-base/tool-marquee-rectangular.svg.svn-base @@ -0,0 +1,11 @@ + + + + + + + + + + diff --git a/icons/.svn/text-base/tool-marquee-smart.svg.svn-base b/icons/.svn/text-base/tool-marquee-smart.svg.svn-base new file mode 100644 index 0000000..5ecfb84 --- /dev/null +++ b/icons/.svn/text-base/tool-marquee-smart.svg.svn-base @@ -0,0 +1,19 @@ + + + + + + + + + + + + + diff --git a/icons/.svn/text-base/tool-pencil.svg.svn-base b/icons/.svn/text-base/tool-pencil.svg.svn-base new file mode 100644 index 0000000..c7a1ef9 --- /dev/null +++ b/icons/.svn/text-base/tool-pencil.svg.svn-base @@ -0,0 +1,21 @@ + + + + + + + + + + + + diff --git a/icons/.svn/text-base/tool-polygon.svg.svn-base b/icons/.svn/text-base/tool-polygon.svg.svn-base new file mode 100644 index 0000000..0c8fee6 --- /dev/null +++ b/icons/.svn/text-base/tool-polygon.svg.svn-base @@ -0,0 +1,59 @@ + + +image/svg+xml + + + + + + \ No newline at end of file diff --git a/icons/.svn/text-base/tool-shape-arrow.svg.svn-base b/icons/.svn/text-base/tool-shape-arrow.svg.svn-base new file mode 100644 index 0000000..4106b42 --- /dev/null +++ b/icons/.svn/text-base/tool-shape-arrow.svg.svn-base @@ -0,0 +1,12 @@ + + + + + + + + + + diff --git a/icons/.svn/text-base/tool-shape-curve.svg.svn-base b/icons/.svn/text-base/tool-shape-curve.svg.svn-base new file mode 100644 index 0000000..265765e --- /dev/null +++ b/icons/.svn/text-base/tool-shape-curve.svg.svn-base @@ -0,0 +1,12 @@ + + + + + + + + + + diff --git a/icons/.svn/text-base/tool-shape-ellipse.svg.svn-base b/icons/.svn/text-base/tool-shape-ellipse.svg.svn-base new file mode 100644 index 0000000..2cdb119 --- /dev/null +++ b/icons/.svn/text-base/tool-shape-ellipse.svg.svn-base @@ -0,0 +1,11 @@ + + + + + + + + + + diff --git a/icons/.svn/text-base/tool-shape-freeform.svg.svn-base b/icons/.svn/text-base/tool-shape-freeform.svg.svn-base new file mode 100644 index 0000000..12f2b86 --- /dev/null +++ b/icons/.svn/text-base/tool-shape-freeform.svg.svn-base @@ -0,0 +1,18 @@ + + + + + + + + + + + + + diff --git a/icons/.svn/text-base/tool-shape-heart.svg.svn-base b/icons/.svn/text-base/tool-shape-heart.svg.svn-base new file mode 100644 index 0000000..9f905b3 --- /dev/null +++ b/icons/.svn/text-base/tool-shape-heart.svg.svn-base @@ -0,0 +1,13 @@ + + + + + + + + + + diff --git a/icons/.svn/text-base/tool-shape-line.svg.svn-base b/icons/.svn/text-base/tool-shape-line.svg.svn-base new file mode 100644 index 0000000..f26c41f --- /dev/null +++ b/icons/.svn/text-base/tool-shape-line.svg.svn-base @@ -0,0 +1,11 @@ + + + + + + + + + + diff --git a/icons/.svn/text-base/tool-shape-parallelogram.svg.svn-base b/icons/.svn/text-base/tool-shape-parallelogram.svg.svn-base new file mode 100644 index 0000000..7aec4bc --- /dev/null +++ b/icons/.svn/text-base/tool-shape-parallelogram.svg.svn-base @@ -0,0 +1,11 @@ + + + + + + + + + + diff --git a/icons/.svn/text-base/tool-shape-polygon.svg.svn-base b/icons/.svn/text-base/tool-shape-polygon.svg.svn-base new file mode 100644 index 0000000..5008d4d --- /dev/null +++ b/icons/.svn/text-base/tool-shape-polygon.svg.svn-base @@ -0,0 +1,12 @@ + + + + + + + + + + diff --git a/icons/.svn/text-base/tool-shape-rectangle.svg.svn-base b/icons/.svn/text-base/tool-shape-rectangle.svg.svn-base new file mode 100644 index 0000000..d926cd1 --- /dev/null +++ b/icons/.svn/text-base/tool-shape-rectangle.svg.svn-base @@ -0,0 +1,11 @@ + + + + + + + + + + diff --git a/icons/.svn/text-base/tool-shape-star.svg.svn-base b/icons/.svn/text-base/tool-shape-star.svg.svn-base new file mode 100644 index 0000000..9aa55b4 --- /dev/null +++ b/icons/.svn/text-base/tool-shape-star.svg.svn-base @@ -0,0 +1,12 @@ + + + + + + + + + + diff --git a/icons/.svn/text-base/tool-shape-trapezoid.svg.svn-base b/icons/.svn/text-base/tool-shape-trapezoid.svg.svn-base new file mode 100644 index 0000000..57b8c00 --- /dev/null +++ b/icons/.svn/text-base/tool-shape-trapezoid.svg.svn-base @@ -0,0 +1,11 @@ + + + + + + + + + + diff --git a/icons/.svn/text-base/tool-shape-triangle.svg.svn-base b/icons/.svn/text-base/tool-shape-triangle.svg.svn-base new file mode 100644 index 0000000..0bce240 --- /dev/null +++ b/icons/.svn/text-base/tool-shape-triangle.svg.svn-base @@ -0,0 +1,11 @@ + + + + + + + + + + diff --git a/icons/bg.svg b/icons/bg.svg new file mode 100644 index 0000000..4c10711 --- /dev/null +++ b/icons/bg.svg @@ -0,0 +1,71 @@ + + + + + + + + + + + + + image/svg+xml + + + + + + + + diff --git a/icons/brush_cursor.svg b/icons/brush_cursor.svg new file mode 100644 index 0000000..27d8d46 --- /dev/null +++ b/icons/brush_cursor.svg @@ -0,0 +1,67 @@ + + +image/svg+xml + + + + + + + + + \ No newline at end of file diff --git a/icons/bucket_cursor.svg b/icons/bucket_cursor.svg new file mode 100644 index 0000000..bf4ea4d --- /dev/null +++ b/icons/bucket_cursor.svg @@ -0,0 +1,67 @@ + + +image/svg+xml + + + + + + + + + \ No newline at end of file diff --git a/icons/edit-copy.svg b/icons/edit-copy.svg new file mode 100644 index 0000000..fcdbfc0 --- /dev/null +++ b/icons/edit-copy.svg @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + diff --git a/icons/edit-paste.svg b/icons/edit-paste.svg new file mode 100644 index 0000000..39d2bfc --- /dev/null +++ b/icons/edit-paste.svg @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + diff --git a/icons/edit-redo.svg b/icons/edit-redo.svg new file mode 100644 index 0000000..8950dec --- /dev/null +++ b/icons/edit-redo.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + diff --git a/icons/edit-undo.svg b/icons/edit-undo.svg new file mode 100644 index 0000000..d6590e8 --- /dev/null +++ b/icons/edit-undo.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + diff --git a/icons/effect-grayscale.svg b/icons/effect-grayscale.svg new file mode 100644 index 0000000..dd6cdfa --- /dev/null +++ b/icons/effect-grayscale.svg @@ -0,0 +1,79 @@ + + +image/svg+xml + + + + \ No newline at end of file diff --git a/icons/format-justify-center.svg b/icons/format-justify-center.svg new file mode 100644 index 0000000..219f411 --- /dev/null +++ b/icons/format-justify-center.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + diff --git a/icons/format-justify-left.svg b/icons/format-justify-left.svg new file mode 100644 index 0000000..b19f1d4 --- /dev/null +++ b/icons/format-justify-left.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + diff --git a/icons/format-justify-right.svg b/icons/format-justify-right.svg new file mode 100644 index 0000000..f255877 --- /dev/null +++ b/icons/format-justify-right.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + diff --git a/icons/format-text-bold.svg b/icons/format-text-bold.svg new file mode 100644 index 0000000..6f5d6bb --- /dev/null +++ b/icons/format-text-bold.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + diff --git a/icons/format-text-italic.svg b/icons/format-text-italic.svg new file mode 100644 index 0000000..a3640e8 --- /dev/null +++ b/icons/format-text-italic.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + diff --git a/icons/format-text-size.svg b/icons/format-text-size.svg new file mode 100644 index 0000000..18e6978 --- /dev/null +++ b/icons/format-text-size.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + diff --git a/icons/format-text-underline.svg b/icons/format-text-underline.svg new file mode 100644 index 0000000..e91ec1a --- /dev/null +++ b/icons/format-text-underline.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + diff --git a/icons/icon-fill.svg b/icons/icon-fill.svg new file mode 100644 index 0000000..bf1925a --- /dev/null +++ b/icons/icon-fill.svg @@ -0,0 +1,56 @@ + + +image/svg+xml + + + + + + \ No newline at end of file diff --git a/icons/icon-stroke.svg b/icons/icon-stroke.svg new file mode 100644 index 0000000..71545c8 --- /dev/null +++ b/icons/icon-stroke.svg @@ -0,0 +1,56 @@ + + +image/svg+xml + + + + + + \ No newline at end of file diff --git a/icons/object-height.svg b/icons/object-height.svg new file mode 100644 index 0000000..9f6dc76 --- /dev/null +++ b/icons/object-height.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + diff --git a/icons/object-insert.svg b/icons/object-insert.svg new file mode 100644 index 0000000..c620d0a --- /dev/null +++ b/icons/object-insert.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + diff --git a/icons/object-rotate-left.svg b/icons/object-rotate-left.svg new file mode 100644 index 0000000..f30a1c5 --- /dev/null +++ b/icons/object-rotate-left.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + diff --git a/icons/object-rotate-right.svg b/icons/object-rotate-right.svg new file mode 100644 index 0000000..84c1638 --- /dev/null +++ b/icons/object-rotate-right.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + diff --git a/icons/object-width.svg b/icons/object-width.svg new file mode 100644 index 0000000..102bab1 --- /dev/null +++ b/icons/object-width.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + diff --git a/icons/text.svg b/icons/text.svg new file mode 100644 index 0000000..ddfee40 --- /dev/null +++ b/icons/text.svg @@ -0,0 +1,68 @@ + + +image/svg+xml + + + + \ No newline at end of file diff --git a/icons/tool-brush.svg b/icons/tool-brush.svg new file mode 100644 index 0000000..e888321 --- /dev/null +++ b/icons/tool-brush.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + diff --git a/icons/tool-bucket.svg b/icons/tool-bucket.svg new file mode 100644 index 0000000..2ce3c33 --- /dev/null +++ b/icons/tool-bucket.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + diff --git a/icons/tool-eraser.svg b/icons/tool-eraser.svg new file mode 100644 index 0000000..41fc143 --- /dev/null +++ b/icons/tool-eraser.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + diff --git a/icons/tool-marquee-elliptical.svg b/icons/tool-marquee-elliptical.svg new file mode 100644 index 0000000..024d385 --- /dev/null +++ b/icons/tool-marquee-elliptical.svg @@ -0,0 +1,11 @@ + + + + + + + + + + diff --git a/icons/tool-marquee-freeform.svg b/icons/tool-marquee-freeform.svg new file mode 100644 index 0000000..16b2afc --- /dev/null +++ b/icons/tool-marquee-freeform.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + diff --git a/icons/tool-marquee-rectangular.svg b/icons/tool-marquee-rectangular.svg new file mode 100644 index 0000000..e550203 --- /dev/null +++ b/icons/tool-marquee-rectangular.svg @@ -0,0 +1,11 @@ + + + + + + + + + + diff --git a/icons/tool-marquee-smart.svg b/icons/tool-marquee-smart.svg new file mode 100644 index 0000000..5ecfb84 --- /dev/null +++ b/icons/tool-marquee-smart.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + + diff --git a/icons/tool-pencil.svg b/icons/tool-pencil.svg new file mode 100644 index 0000000..c7a1ef9 --- /dev/null +++ b/icons/tool-pencil.svg @@ -0,0 +1,21 @@ + + + + + + + + + + + + diff --git a/icons/tool-polygon.svg b/icons/tool-polygon.svg new file mode 100644 index 0000000..0c8fee6 --- /dev/null +++ b/icons/tool-polygon.svg @@ -0,0 +1,59 @@ + + +image/svg+xml + + + + + + \ No newline at end of file diff --git a/icons/tool-shape-arrow.svg b/icons/tool-shape-arrow.svg new file mode 100644 index 0000000..4106b42 --- /dev/null +++ b/icons/tool-shape-arrow.svg @@ -0,0 +1,12 @@ + + + + + + + + + + diff --git a/icons/tool-shape-curve.svg b/icons/tool-shape-curve.svg new file mode 100644 index 0000000..265765e --- /dev/null +++ b/icons/tool-shape-curve.svg @@ -0,0 +1,12 @@ + + + + + + + + + + diff --git a/icons/tool-shape-ellipse.svg b/icons/tool-shape-ellipse.svg new file mode 100644 index 0000000..2cdb119 --- /dev/null +++ b/icons/tool-shape-ellipse.svg @@ -0,0 +1,11 @@ + + + + + + + + + + diff --git a/icons/tool-shape-freeform.svg b/icons/tool-shape-freeform.svg new file mode 100644 index 0000000..12f2b86 --- /dev/null +++ b/icons/tool-shape-freeform.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + diff --git a/icons/tool-shape-heart.svg b/icons/tool-shape-heart.svg new file mode 100644 index 0000000..9f905b3 --- /dev/null +++ b/icons/tool-shape-heart.svg @@ -0,0 +1,13 @@ + + + + + + + + + + diff --git a/icons/tool-shape-line.svg b/icons/tool-shape-line.svg new file mode 100644 index 0000000..f26c41f --- /dev/null +++ b/icons/tool-shape-line.svg @@ -0,0 +1,11 @@ + + + + + + + + + + diff --git a/icons/tool-shape-parallelogram.svg b/icons/tool-shape-parallelogram.svg new file mode 100644 index 0000000..7aec4bc --- /dev/null +++ b/icons/tool-shape-parallelogram.svg @@ -0,0 +1,11 @@ + + + + + + + + + + diff --git a/icons/tool-shape-polygon.svg b/icons/tool-shape-polygon.svg new file mode 100644 index 0000000..5008d4d --- /dev/null +++ b/icons/tool-shape-polygon.svg @@ -0,0 +1,12 @@ + + + + + + + + + + diff --git a/icons/tool-shape-rectangle.svg b/icons/tool-shape-rectangle.svg new file mode 100644 index 0000000..d926cd1 --- /dev/null +++ b/icons/tool-shape-rectangle.svg @@ -0,0 +1,11 @@ + + + + + + + + + + diff --git a/icons/tool-shape-star.svg b/icons/tool-shape-star.svg new file mode 100644 index 0000000..9aa55b4 --- /dev/null +++ b/icons/tool-shape-star.svg @@ -0,0 +1,12 @@ + + + + + + + + + + diff --git a/icons/tool-shape-trapezoid.svg b/icons/tool-shape-trapezoid.svg new file mode 100644 index 0000000..57b8c00 --- /dev/null +++ b/icons/tool-shape-trapezoid.svg @@ -0,0 +1,11 @@ + + + + + + + + + + diff --git a/icons/tool-shape-triangle.svg b/icons/tool-shape-triangle.svg new file mode 100644 index 0000000..0bce240 --- /dev/null +++ b/icons/tool-shape-triangle.svg @@ -0,0 +1,11 @@ + + + + + + + + + + diff --git a/images/.svn/all-wcprops b/images/.svn/all-wcprops new file mode 100644 index 0000000..033edaf --- /dev/null +++ b/images/.svn/all-wcprops @@ -0,0 +1,203 @@ +K 25 +svn:wc:ra_dav:version-url +V 29 +/svn/!svn/ver/49/trunk/images +END +circulo_cursor.png +K 25 +svn:wc:ra_dav:version-url +V 47 +/svn/!svn/ver/2/trunk/images/circulo_cursor.png +END +corlinha.png +K 25 +svn:wc:ra_dav:version-url +V 41 +/svn/!svn/ver/2/trunk/images/corlinha.png +END +quadrado.png +K 25 +svn:wc:ra_dav:version-url +V 41 +/svn/!svn/ver/2/trunk/images/quadrado.png +END +balde.png +K 25 +svn:wc:ra_dav:version-url +V 38 +/svn/!svn/ver/2/trunk/images/balde.png +END +lapis.png +K 25 +svn:wc:ra_dav:version-url +V 38 +/svn/!svn/ver/2/trunk/images/lapis.png +END +laranja.png +K 25 +svn:wc:ra_dav:version-url +V 40 +/svn/!svn/ver/2/trunk/images/laranja.png +END +borracha_cursor.png +K 25 +svn:wc:ra_dav:version-url +V 48 +/svn/!svn/ver/2/trunk/images/borracha_cursor.png +END +borracha.png +K 25 +svn:wc:ra_dav:version-url +V 41 +/svn/!svn/ver/2/trunk/images/borracha.png +END +poligono_cursor.png +K 25 +svn:wc:ra_dav:version-url +V 48 +/svn/!svn/ver/7/trunk/images/poligono_cursor.png +END +linha_cursor.png +K 25 +svn:wc:ra_dav:version-url +V 45 +/svn/!svn/ver/2/trunk/images/linha_cursor.png +END +preto.png +K 25 +svn:wc:ra_dav:version-url +V 38 +/svn/!svn/ver/2/trunk/images/preto.png +END +linha.png +K 25 +svn:wc:ra_dav:version-url +V 38 +/svn/!svn/ver/2/trunk/images/linha.png +END +quadrado_cursor.png +K 25 +svn:wc:ra_dav:version-url +V 48 +/svn/!svn/ver/2/trunk/images/quadrado_cursor.png +END +trapezoid_cursor.png +K 25 +svn:wc:ra_dav:version-url +V 50 +/svn/!svn/ver/49/trunk/images/trapezoid_cursor.png +END +abrir.png +K 25 +svn:wc:ra_dav:version-url +V 38 +/svn/!svn/ver/6/trunk/images/abrir.png +END +circulo.png +K 25 +svn:wc:ra_dav:version-url +V 40 +/svn/!svn/ver/2/trunk/images/circulo.png +END +triangle_cursor.png +K 25 +svn:wc:ra_dav:version-url +V 49 +/svn/!svn/ver/49/trunk/images/triangle_cursor.png +END +Thumbs.db +K 25 +svn:wc:ra_dav:version-url +V 38 +/svn/!svn/ver/5/trunk/images/Thumbs.db +END +vassoura.png +K 25 +svn:wc:ra_dav:version-url +V 41 +/svn/!svn/ver/2/trunk/images/vassoura.png +END +move_cursor.png +K 25 +svn:wc:ra_dav:version-url +V 44 +/svn/!svn/ver/7/trunk/images/move_cursor.png +END +branco.png +K 25 +svn:wc:ra_dav:version-url +V 39 +/svn/!svn/ver/2/trunk/images/branco.png +END +letra_cursor.png +K 25 +svn:wc:ra_dav:version-url +V 45 +/svn/!svn/ver/2/trunk/images/letra_cursor.png +END +verde.png +K 25 +svn:wc:ra_dav:version-url +V 38 +/svn/!svn/ver/2/trunk/images/verde.png +END +lapis_cursor.png +K 25 +svn:wc:ra_dav:version-url +V 45 +/svn/!svn/ver/2/trunk/images/lapis_cursor.png +END +letra.png +K 25 +svn:wc:ra_dav:version-url +V 38 +/svn/!svn/ver/2/trunk/images/letra.png +END +selecao_cursor.png +K 25 +svn:wc:ra_dav:version-url +V 47 +/svn/!svn/ver/5/trunk/images/selecao_cursor.png +END +selecao.png +K 25 +svn:wc:ra_dav:version-url +V 40 +/svn/!svn/ver/5/trunk/images/selecao.png +END +azul.png +K 25 +svn:wc:ra_dav:version-url +V 37 +/svn/!svn/ver/2/trunk/images/azul.png +END +amarelo.png +K 25 +svn:wc:ra_dav:version-url +V 40 +/svn/!svn/ver/2/trunk/images/amarelo.png +END +vermelho.png +K 25 +svn:wc:ra_dav:version-url +V 41 +/svn/!svn/ver/2/trunk/images/vermelho.png +END +poligono.png +K 25 +svn:wc:ra_dav:version-url +V 41 +/svn/!svn/ver/7/trunk/images/poligono.png +END +roxo.png +K 25 +svn:wc:ra_dav:version-url +V 37 +/svn/!svn/ver/2/trunk/images/roxo.png +END +salvar.png +K 25 +svn:wc:ra_dav:version-url +V 39 +/svn/!svn/ver/2/trunk/images/salvar.png +END diff --git a/images/.svn/entries b/images/.svn/entries new file mode 100644 index 0000000..ab77042 --- /dev/null +++ b/images/.svn/entries @@ -0,0 +1,457 @@ +8 + +dir +52 +https://oficina.googlecode.com/svn/trunk/images +https://oficina.googlecode.com/svn + + + +2007-07-15T20:13:19.082257Z +49 +andremossinato + + +svn:special svn:externals svn:needs-lock + + + + + + + + + + + +e2fb0b9f-bc32-0410-ab74-19e9d00b4e58 + +circulo_cursor.png +file + + + + +2007-07-16T13:46:26.000000Z +18b86bde4f5514139d6d4fd48cac8abe +2007-06-12T22:07:17.555544Z +2 +joycealess +has-props + +corlinha.png +file + + + + +2007-07-16T13:46:26.000000Z +7c822d25f3d45a28a3c04d668cd07680 +2007-06-12T22:07:17.555544Z +2 +joycealess +has-props + +quadrado.png +file + + + + +2007-07-16T13:46:26.000000Z +7d523ce25cb8329aa9bce899a5787ddb +2007-06-12T22:07:17.555544Z +2 +joycealess +has-props + +balde.png +file + + + + +2007-07-16T13:46:26.000000Z +1b044e719146991527f6d9aecd0e03db +2007-06-12T22:07:17.555544Z +2 +joycealess +has-props + +lapis.png +file + + + + +2007-07-16T13:46:26.000000Z +19f856922962f428ea9f858a6ec1fc09 +2007-06-12T22:07:17.555544Z +2 +joycealess +has-props + +laranja.png +file + + + + +2007-07-16T13:46:26.000000Z +7f9dbd8c61602c36156fc45c068f55b9 +2007-06-12T22:07:17.555544Z +2 +joycealess +has-props + +borracha_cursor.png +file + + + + +2007-07-16T13:46:26.000000Z +7f81bc6307b60f51f0b850f3e83f83ad +2007-06-12T22:07:17.555544Z +2 +joycealess +has-props + +borracha.png +file + + + + +2007-07-16T13:46:26.000000Z +920aae3ef1be38d542d7525b0a5ed4da +2007-06-12T22:07:17.555544Z +2 +joycealess +has-props + +poligono_cursor.png +file + + + + +2007-07-16T13:46:26.000000Z +6cd059ced988051c235b277e55ed206d +2007-06-18T18:20:42.711072Z +7 +joycealess +has-props + +linha_cursor.png +file + + + + +2007-07-16T13:46:26.000000Z +21d012ee14fcece687a999b7fbb8b24b +2007-06-12T22:07:17.555544Z +2 +joycealess +has-props + +preto.png +file + + + + +2007-07-16T13:46:26.000000Z +37ed9cc07e4cdb3c0a3d9d02bec6d792 +2007-06-12T22:07:17.555544Z +2 +joycealess +has-props + +linha.png +file + + + + +2007-07-16T13:46:26.000000Z +28d26688e09d1b1dbddd802429d62f24 +2007-06-12T22:07:17.555544Z +2 +joycealess +has-props + +quadrado_cursor.png +file + + + + +2007-07-16T13:46:26.000000Z +86cacdc27b09e5b36355298428f2c417 +2007-06-12T22:07:17.555544Z +2 +joycealess +has-props + +trapezoid_cursor.png +file + + + + +2007-07-16T13:46:26.000000Z +2de1730e8a5920b78a21ae4383350ae1 +2007-07-15T20:13:19.082257Z +49 +andremossinato +has-props + +abrir.png +file + + + + +2007-07-16T13:46:26.000000Z +2c2865eb138c23c0ff97683c94c6e992 +2007-06-15T16:46:33.642423Z +6 +joycealess +has-props + +circulo.png +file + + + + +2007-07-16T13:46:26.000000Z +f9502c7f984408e5116b97f5aa801e08 +2007-06-12T22:07:17.555544Z +2 +joycealess +has-props + +triangle_cursor.png +file + + + + +2007-07-16T13:46:26.000000Z +74a4c11380216305ae5cac9c3f7f477f +2007-07-15T20:13:19.082257Z +49 +andremossinato +has-props + +move_cursor.png +file + + + + +2007-07-16T13:46:26.000000Z +b42a867cb51d5094fadce36c2d31591d +2007-06-18T18:20:42.711072Z +7 +joycealess +has-props + +vassoura.png +file + + + + +2007-07-16T13:46:26.000000Z +af55c62b1573860d601cd584b37e0a3b +2007-06-12T22:07:17.555544Z +2 +joycealess +has-props + +Thumbs.db +file + + + + +2007-07-16T13:46:26.000000Z +69cb3c1cb1c065985f8a8f85336a3d28 +2007-06-15T16:46:03.611045Z +5 +joycealess +has-props + +letra_cursor.png +file + + + + +2007-07-16T13:46:26.000000Z +8b4363cd52feb57b200db0228d2af612 +2007-06-12T22:07:17.555544Z +2 +joycealess +has-props + +branco.png +file + + + + +2007-07-16T13:46:26.000000Z +720bd5a28d127b0003e2dda0f38179c0 +2007-06-12T22:07:17.555544Z +2 +joycealess +has-props + +lapis_cursor.png +file + + + + +2007-07-16T13:46:26.000000Z +4de0e8f1d1f5d05bc2b73e1bbea35e38 +2007-06-12T22:07:17.555544Z +2 +joycealess +has-props + +verde.png +file + + + + +2007-07-16T13:46:26.000000Z +2322a60eb2c3562a36511f7a14238f3c +2007-06-12T22:07:17.555544Z +2 +joycealess +has-props + +letra.png +file + + + + +2007-07-16T13:46:26.000000Z +581c5b63d3e43b461fdbaffc5e74ffcc +2007-06-12T22:07:17.555544Z +2 +joycealess +has-props + +selecao_cursor.png +file + + + + +2007-07-16T13:46:26.000000Z +03e58edf2c431a6995d7a80bb7615ce4 +2007-06-15T16:46:03.611045Z +5 +joycealess +has-props + +azul.png +file + + + + +2007-07-16T13:46:26.000000Z +5905a16a0cb083a48d95c1ed797beaf8 +2007-06-12T22:07:17.555544Z +2 +joycealess +has-props + +selecao.png +file + + + + +2007-07-16T13:46:26.000000Z +a71fb6b71b1a6af906f4519956b2c88f +2007-06-15T16:46:03.611045Z +5 +joycealess +has-props + +amarelo.png +file + + + + +2007-07-16T13:46:26.000000Z +4bc1cac4a2e46557c59e785c43960c70 +2007-06-12T22:07:17.555544Z +2 +joycealess +has-props + +vermelho.png +file + + + + +2007-07-16T13:46:26.000000Z +95da835747614c5799fab28814ac5a01 +2007-06-12T22:07:17.555544Z +2 +joycealess +has-props + +poligono.png +file + + + + +2007-07-16T13:46:26.000000Z +ea7ee8abf944b7952f780c5099745adc +2007-06-18T18:20:42.711072Z +7 +joycealess +has-props + +roxo.png +file + + + + +2007-07-16T13:46:26.000000Z +c406b58097cf5e96a287ec6727d9594a +2007-06-12T22:07:17.555544Z +2 +joycealess +has-props + +salvar.png +file + + + + +2007-07-16T13:46:26.000000Z +22def5499bc2c7d469ce898102d59660 +2007-06-12T22:07:17.555544Z +2 +joycealess +has-props + diff --git a/images/.svn/format b/images/.svn/format new file mode 100644 index 0000000..45a4fb7 --- /dev/null +++ b/images/.svn/format @@ -0,0 +1 @@ +8 diff --git a/images/.svn/prop-base/Thumbs.db.svn-base b/images/.svn/prop-base/Thumbs.db.svn-base new file mode 100644 index 0000000..5e9587e --- /dev/null +++ b/images/.svn/prop-base/Thumbs.db.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/images/.svn/prop-base/abrir.png.svn-base b/images/.svn/prop-base/abrir.png.svn-base new file mode 100644 index 0000000..5e9587e --- /dev/null +++ b/images/.svn/prop-base/abrir.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/images/.svn/prop-base/amarelo.png.svn-base b/images/.svn/prop-base/amarelo.png.svn-base new file mode 100644 index 0000000..5e9587e --- /dev/null +++ b/images/.svn/prop-base/amarelo.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/images/.svn/prop-base/azul.png.svn-base b/images/.svn/prop-base/azul.png.svn-base new file mode 100644 index 0000000..5e9587e --- /dev/null +++ b/images/.svn/prop-base/azul.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/images/.svn/prop-base/balde.png.svn-base b/images/.svn/prop-base/balde.png.svn-base new file mode 100644 index 0000000..5e9587e --- /dev/null +++ b/images/.svn/prop-base/balde.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/images/.svn/prop-base/borracha.png.svn-base b/images/.svn/prop-base/borracha.png.svn-base new file mode 100644 index 0000000..5e9587e --- /dev/null +++ b/images/.svn/prop-base/borracha.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/images/.svn/prop-base/borracha_cursor.png.svn-base b/images/.svn/prop-base/borracha_cursor.png.svn-base new file mode 100644 index 0000000..5e9587e --- /dev/null +++ b/images/.svn/prop-base/borracha_cursor.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/images/.svn/prop-base/branco.png.svn-base b/images/.svn/prop-base/branco.png.svn-base new file mode 100644 index 0000000..5e9587e --- /dev/null +++ b/images/.svn/prop-base/branco.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/images/.svn/prop-base/circulo.png.svn-base b/images/.svn/prop-base/circulo.png.svn-base new file mode 100644 index 0000000..5e9587e --- /dev/null +++ b/images/.svn/prop-base/circulo.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/images/.svn/prop-base/circulo_cursor.png.svn-base b/images/.svn/prop-base/circulo_cursor.png.svn-base new file mode 100644 index 0000000..5e9587e --- /dev/null +++ b/images/.svn/prop-base/circulo_cursor.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/images/.svn/prop-base/corlinha.png.svn-base b/images/.svn/prop-base/corlinha.png.svn-base new file mode 100644 index 0000000..5e9587e --- /dev/null +++ b/images/.svn/prop-base/corlinha.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/images/.svn/prop-base/lapis.png.svn-base b/images/.svn/prop-base/lapis.png.svn-base new file mode 100644 index 0000000..5e9587e --- /dev/null +++ b/images/.svn/prop-base/lapis.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/images/.svn/prop-base/lapis_cursor.png.svn-base b/images/.svn/prop-base/lapis_cursor.png.svn-base new file mode 100644 index 0000000..5e9587e --- /dev/null +++ b/images/.svn/prop-base/lapis_cursor.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/images/.svn/prop-base/laranja.png.svn-base b/images/.svn/prop-base/laranja.png.svn-base new file mode 100644 index 0000000..5e9587e --- /dev/null +++ b/images/.svn/prop-base/laranja.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/images/.svn/prop-base/letra.png.svn-base b/images/.svn/prop-base/letra.png.svn-base new file mode 100644 index 0000000..5e9587e --- /dev/null +++ b/images/.svn/prop-base/letra.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/images/.svn/prop-base/letra_cursor.png.svn-base b/images/.svn/prop-base/letra_cursor.png.svn-base new file mode 100644 index 0000000..5e9587e --- /dev/null +++ b/images/.svn/prop-base/letra_cursor.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/images/.svn/prop-base/linha.png.svn-base b/images/.svn/prop-base/linha.png.svn-base new file mode 100644 index 0000000..5e9587e --- /dev/null +++ b/images/.svn/prop-base/linha.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/images/.svn/prop-base/linha_cursor.png.svn-base b/images/.svn/prop-base/linha_cursor.png.svn-base new file mode 100644 index 0000000..5e9587e --- /dev/null +++ b/images/.svn/prop-base/linha_cursor.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/images/.svn/prop-base/move_cursor.png.svn-base b/images/.svn/prop-base/move_cursor.png.svn-base new file mode 100644 index 0000000..5e9587e --- /dev/null +++ b/images/.svn/prop-base/move_cursor.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/images/.svn/prop-base/poligono.png.svn-base b/images/.svn/prop-base/poligono.png.svn-base new file mode 100644 index 0000000..5e9587e --- /dev/null +++ b/images/.svn/prop-base/poligono.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/images/.svn/prop-base/poligono_cursor.png.svn-base b/images/.svn/prop-base/poligono_cursor.png.svn-base new file mode 100644 index 0000000..5e9587e --- /dev/null +++ b/images/.svn/prop-base/poligono_cursor.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/images/.svn/prop-base/preto.png.svn-base b/images/.svn/prop-base/preto.png.svn-base new file mode 100644 index 0000000..5e9587e --- /dev/null +++ b/images/.svn/prop-base/preto.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/images/.svn/prop-base/quadrado.png.svn-base b/images/.svn/prop-base/quadrado.png.svn-base new file mode 100644 index 0000000..5e9587e --- /dev/null +++ b/images/.svn/prop-base/quadrado.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/images/.svn/prop-base/quadrado_cursor.png.svn-base b/images/.svn/prop-base/quadrado_cursor.png.svn-base new file mode 100644 index 0000000..5e9587e --- /dev/null +++ b/images/.svn/prop-base/quadrado_cursor.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/images/.svn/prop-base/roxo.png.svn-base b/images/.svn/prop-base/roxo.png.svn-base new file mode 100644 index 0000000..5e9587e --- /dev/null +++ b/images/.svn/prop-base/roxo.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/images/.svn/prop-base/salvar.png.svn-base b/images/.svn/prop-base/salvar.png.svn-base new file mode 100644 index 0000000..5e9587e --- /dev/null +++ b/images/.svn/prop-base/salvar.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/images/.svn/prop-base/selecao.png.svn-base b/images/.svn/prop-base/selecao.png.svn-base new file mode 100644 index 0000000..5e9587e --- /dev/null +++ b/images/.svn/prop-base/selecao.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/images/.svn/prop-base/selecao_cursor.png.svn-base b/images/.svn/prop-base/selecao_cursor.png.svn-base new file mode 100644 index 0000000..5e9587e --- /dev/null +++ b/images/.svn/prop-base/selecao_cursor.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/images/.svn/prop-base/trapezoid_cursor.png.svn-base b/images/.svn/prop-base/trapezoid_cursor.png.svn-base new file mode 100644 index 0000000..5e9587e --- /dev/null +++ b/images/.svn/prop-base/trapezoid_cursor.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/images/.svn/prop-base/triangle_cursor.png.svn-base b/images/.svn/prop-base/triangle_cursor.png.svn-base new file mode 100644 index 0000000..5e9587e --- /dev/null +++ b/images/.svn/prop-base/triangle_cursor.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/images/.svn/prop-base/vassoura.png.svn-base b/images/.svn/prop-base/vassoura.png.svn-base new file mode 100644 index 0000000..5e9587e --- /dev/null +++ b/images/.svn/prop-base/vassoura.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/images/.svn/prop-base/verde.png.svn-base b/images/.svn/prop-base/verde.png.svn-base new file mode 100644 index 0000000..5e9587e --- /dev/null +++ b/images/.svn/prop-base/verde.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/images/.svn/prop-base/vermelho.png.svn-base b/images/.svn/prop-base/vermelho.png.svn-base new file mode 100644 index 0000000..5e9587e --- /dev/null +++ b/images/.svn/prop-base/vermelho.png.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/images/.svn/text-base/Thumbs.db.svn-base b/images/.svn/text-base/Thumbs.db.svn-base new file mode 100644 index 0000000..56a82a2 --- /dev/null +++ b/images/.svn/text-base/Thumbs.db.svn-base Binary files differ diff --git a/images/.svn/text-base/abrir.png.svn-base b/images/.svn/text-base/abrir.png.svn-base new file mode 100644 index 0000000..04e99c3 --- /dev/null +++ b/images/.svn/text-base/abrir.png.svn-base Binary files differ diff --git a/images/.svn/text-base/amarelo.png.svn-base b/images/.svn/text-base/amarelo.png.svn-base new file mode 100644 index 0000000..6f9cde4 --- /dev/null +++ b/images/.svn/text-base/amarelo.png.svn-base Binary files differ diff --git a/images/.svn/text-base/azul.png.svn-base b/images/.svn/text-base/azul.png.svn-base new file mode 100644 index 0000000..33643b1 --- /dev/null +++ b/images/.svn/text-base/azul.png.svn-base Binary files differ diff --git a/images/.svn/text-base/balde.png.svn-base b/images/.svn/text-base/balde.png.svn-base new file mode 100644 index 0000000..5edd1a3 --- /dev/null +++ b/images/.svn/text-base/balde.png.svn-base Binary files differ diff --git a/images/.svn/text-base/borracha.png.svn-base b/images/.svn/text-base/borracha.png.svn-base new file mode 100644 index 0000000..3b0cede --- /dev/null +++ b/images/.svn/text-base/borracha.png.svn-base Binary files differ diff --git a/images/.svn/text-base/borracha_cursor.png.svn-base b/images/.svn/text-base/borracha_cursor.png.svn-base new file mode 100644 index 0000000..1b75507 --- /dev/null +++ b/images/.svn/text-base/borracha_cursor.png.svn-base Binary files differ diff --git a/images/.svn/text-base/branco.png.svn-base b/images/.svn/text-base/branco.png.svn-base new file mode 100644 index 0000000..d6b92eb --- /dev/null +++ b/images/.svn/text-base/branco.png.svn-base Binary files differ diff --git a/images/.svn/text-base/circulo.png.svn-base b/images/.svn/text-base/circulo.png.svn-base new file mode 100644 index 0000000..513f0af --- /dev/null +++ b/images/.svn/text-base/circulo.png.svn-base Binary files differ diff --git a/images/.svn/text-base/circulo_cursor.png.svn-base b/images/.svn/text-base/circulo_cursor.png.svn-base new file mode 100644 index 0000000..5b60f38 --- /dev/null +++ b/images/.svn/text-base/circulo_cursor.png.svn-base Binary files differ diff --git a/images/.svn/text-base/corlinha.png.svn-base b/images/.svn/text-base/corlinha.png.svn-base new file mode 100644 index 0000000..40022ed --- /dev/null +++ b/images/.svn/text-base/corlinha.png.svn-base Binary files differ diff --git a/images/.svn/text-base/lapis.png.svn-base b/images/.svn/text-base/lapis.png.svn-base new file mode 100644 index 0000000..5b697e8 --- /dev/null +++ b/images/.svn/text-base/lapis.png.svn-base Binary files differ diff --git a/images/.svn/text-base/lapis_cursor.png.svn-base b/images/.svn/text-base/lapis_cursor.png.svn-base new file mode 100644 index 0000000..9b12986 --- /dev/null +++ b/images/.svn/text-base/lapis_cursor.png.svn-base Binary files differ diff --git a/images/.svn/text-base/laranja.png.svn-base b/images/.svn/text-base/laranja.png.svn-base new file mode 100644 index 0000000..4321393 --- /dev/null +++ b/images/.svn/text-base/laranja.png.svn-base Binary files differ diff --git a/images/.svn/text-base/letra.png.svn-base b/images/.svn/text-base/letra.png.svn-base new file mode 100644 index 0000000..cf4eab1 --- /dev/null +++ b/images/.svn/text-base/letra.png.svn-base Binary files differ diff --git a/images/.svn/text-base/letra_cursor.png.svn-base b/images/.svn/text-base/letra_cursor.png.svn-base new file mode 100644 index 0000000..45c123f --- /dev/null +++ b/images/.svn/text-base/letra_cursor.png.svn-base Binary files differ diff --git a/images/.svn/text-base/linha.png.svn-base b/images/.svn/text-base/linha.png.svn-base new file mode 100644 index 0000000..958332c --- /dev/null +++ b/images/.svn/text-base/linha.png.svn-base Binary files differ diff --git a/images/.svn/text-base/linha_cursor.png.svn-base b/images/.svn/text-base/linha_cursor.png.svn-base new file mode 100644 index 0000000..b9ee7eb --- /dev/null +++ b/images/.svn/text-base/linha_cursor.png.svn-base Binary files differ diff --git a/images/.svn/text-base/move_cursor.png.svn-base b/images/.svn/text-base/move_cursor.png.svn-base new file mode 100644 index 0000000..0870648 --- /dev/null +++ b/images/.svn/text-base/move_cursor.png.svn-base Binary files differ diff --git a/images/.svn/text-base/poligono.png.svn-base b/images/.svn/text-base/poligono.png.svn-base new file mode 100644 index 0000000..9d74ca6 --- /dev/null +++ b/images/.svn/text-base/poligono.png.svn-base Binary files differ diff --git a/images/.svn/text-base/poligono_cursor.png.svn-base b/images/.svn/text-base/poligono_cursor.png.svn-base new file mode 100644 index 0000000..8e2b505 --- /dev/null +++ b/images/.svn/text-base/poligono_cursor.png.svn-base Binary files differ diff --git a/images/.svn/text-base/preto.png.svn-base b/images/.svn/text-base/preto.png.svn-base new file mode 100644 index 0000000..247077c --- /dev/null +++ b/images/.svn/text-base/preto.png.svn-base Binary files differ diff --git a/images/.svn/text-base/quadrado.png.svn-base b/images/.svn/text-base/quadrado.png.svn-base new file mode 100644 index 0000000..76aa304 --- /dev/null +++ b/images/.svn/text-base/quadrado.png.svn-base Binary files differ diff --git a/images/.svn/text-base/quadrado_cursor.png.svn-base b/images/.svn/text-base/quadrado_cursor.png.svn-base new file mode 100644 index 0000000..cdb4923 --- /dev/null +++ b/images/.svn/text-base/quadrado_cursor.png.svn-base Binary files differ diff --git a/images/.svn/text-base/roxo.png.svn-base b/images/.svn/text-base/roxo.png.svn-base new file mode 100644 index 0000000..517d950 --- /dev/null +++ b/images/.svn/text-base/roxo.png.svn-base Binary files differ diff --git a/images/.svn/text-base/salvar.png.svn-base b/images/.svn/text-base/salvar.png.svn-base new file mode 100644 index 0000000..a71acb1 --- /dev/null +++ b/images/.svn/text-base/salvar.png.svn-base Binary files differ diff --git a/images/.svn/text-base/selecao.png.svn-base b/images/.svn/text-base/selecao.png.svn-base new file mode 100644 index 0000000..af23183 --- /dev/null +++ b/images/.svn/text-base/selecao.png.svn-base Binary files differ diff --git a/images/.svn/text-base/selecao_cursor.png.svn-base b/images/.svn/text-base/selecao_cursor.png.svn-base new file mode 100644 index 0000000..5f34d60 --- /dev/null +++ b/images/.svn/text-base/selecao_cursor.png.svn-base Binary files differ diff --git a/images/.svn/text-base/trapezoid_cursor.png.svn-base b/images/.svn/text-base/trapezoid_cursor.png.svn-base new file mode 100644 index 0000000..5b82cb3 --- /dev/null +++ b/images/.svn/text-base/trapezoid_cursor.png.svn-base Binary files differ diff --git a/images/.svn/text-base/triangle_cursor.png.svn-base b/images/.svn/text-base/triangle_cursor.png.svn-base new file mode 100644 index 0000000..2a5e748 --- /dev/null +++ b/images/.svn/text-base/triangle_cursor.png.svn-base Binary files differ diff --git a/images/.svn/text-base/vassoura.png.svn-base b/images/.svn/text-base/vassoura.png.svn-base new file mode 100644 index 0000000..cdc08f3 --- /dev/null +++ b/images/.svn/text-base/vassoura.png.svn-base Binary files differ diff --git a/images/.svn/text-base/verde.png.svn-base b/images/.svn/text-base/verde.png.svn-base new file mode 100644 index 0000000..dcd55a3 --- /dev/null +++ b/images/.svn/text-base/verde.png.svn-base Binary files differ diff --git a/images/.svn/text-base/vermelho.png.svn-base b/images/.svn/text-base/vermelho.png.svn-base new file mode 100644 index 0000000..a9a6d2c --- /dev/null +++ b/images/.svn/text-base/vermelho.png.svn-base Binary files differ diff --git a/images/Thumbs.db b/images/Thumbs.db new file mode 100644 index 0000000..56a82a2 --- /dev/null +++ b/images/Thumbs.db Binary files differ diff --git a/images/abrir.png b/images/abrir.png new file mode 100644 index 0000000..04e99c3 --- /dev/null +++ b/images/abrir.png Binary files differ diff --git a/images/amarelo.png b/images/amarelo.png new file mode 100644 index 0000000..6f9cde4 --- /dev/null +++ b/images/amarelo.png Binary files differ diff --git a/images/azul.png b/images/azul.png new file mode 100644 index 0000000..33643b1 --- /dev/null +++ b/images/azul.png Binary files differ diff --git a/images/balde.png b/images/balde.png new file mode 100644 index 0000000..5edd1a3 --- /dev/null +++ b/images/balde.png Binary files differ diff --git a/images/borracha.png b/images/borracha.png new file mode 100644 index 0000000..3b0cede --- /dev/null +++ b/images/borracha.png Binary files differ diff --git a/images/borracha_cursor.png b/images/borracha_cursor.png new file mode 100644 index 0000000..1b75507 --- /dev/null +++ b/images/borracha_cursor.png Binary files differ diff --git a/images/branco.png b/images/branco.png new file mode 100644 index 0000000..d6b92eb --- /dev/null +++ b/images/branco.png Binary files differ diff --git a/images/circulo.png b/images/circulo.png new file mode 100644 index 0000000..513f0af --- /dev/null +++ b/images/circulo.png Binary files differ diff --git a/images/circulo_cursor.png b/images/circulo_cursor.png new file mode 100644 index 0000000..5b60f38 --- /dev/null +++ b/images/circulo_cursor.png Binary files differ diff --git a/images/corlinha.png b/images/corlinha.png new file mode 100644 index 0000000..40022ed --- /dev/null +++ b/images/corlinha.png Binary files differ diff --git a/images/lapis.png b/images/lapis.png new file mode 100644 index 0000000..5b697e8 --- /dev/null +++ b/images/lapis.png Binary files differ diff --git a/images/lapis_cursor.png b/images/lapis_cursor.png new file mode 100644 index 0000000..9b12986 --- /dev/null +++ b/images/lapis_cursor.png Binary files differ diff --git a/images/laranja.png b/images/laranja.png new file mode 100644 index 0000000..4321393 --- /dev/null +++ b/images/laranja.png Binary files differ diff --git a/images/letra.png b/images/letra.png new file mode 100644 index 0000000..cf4eab1 --- /dev/null +++ b/images/letra.png Binary files differ diff --git a/images/letra_cursor.png b/images/letra_cursor.png new file mode 100644 index 0000000..45c123f --- /dev/null +++ b/images/letra_cursor.png Binary files differ diff --git a/images/linha.png b/images/linha.png new file mode 100644 index 0000000..958332c --- /dev/null +++ b/images/linha.png Binary files differ diff --git a/images/linha_cursor.png b/images/linha_cursor.png new file mode 100644 index 0000000..b9ee7eb --- /dev/null +++ b/images/linha_cursor.png Binary files differ diff --git a/images/move_cursor.png b/images/move_cursor.png new file mode 100644 index 0000000..0870648 --- /dev/null +++ b/images/move_cursor.png Binary files differ diff --git a/images/poligono.png b/images/poligono.png new file mode 100644 index 0000000..9d74ca6 --- /dev/null +++ b/images/poligono.png Binary files differ diff --git a/images/poligono_cursor.png b/images/poligono_cursor.png new file mode 100644 index 0000000..8e2b505 --- /dev/null +++ b/images/poligono_cursor.png Binary files differ diff --git a/images/preto.png b/images/preto.png new file mode 100644 index 0000000..247077c --- /dev/null +++ b/images/preto.png Binary files differ diff --git a/images/quadrado.png b/images/quadrado.png new file mode 100644 index 0000000..76aa304 --- /dev/null +++ b/images/quadrado.png Binary files differ diff --git a/images/quadrado_cursor.png b/images/quadrado_cursor.png new file mode 100644 index 0000000..cdb4923 --- /dev/null +++ b/images/quadrado_cursor.png Binary files differ diff --git a/images/roxo.png b/images/roxo.png new file mode 100644 index 0000000..517d950 --- /dev/null +++ b/images/roxo.png Binary files differ diff --git a/images/salvar.png b/images/salvar.png new file mode 100644 index 0000000..a71acb1 --- /dev/null +++ b/images/salvar.png Binary files differ diff --git a/images/selecao.png b/images/selecao.png new file mode 100644 index 0000000..af23183 --- /dev/null +++ b/images/selecao.png Binary files differ diff --git a/images/selecao_cursor.png b/images/selecao_cursor.png new file mode 100644 index 0000000..5f34d60 --- /dev/null +++ b/images/selecao_cursor.png Binary files differ diff --git a/images/trapezoid_cursor.png b/images/trapezoid_cursor.png new file mode 100644 index 0000000..5b82cb3 --- /dev/null +++ b/images/trapezoid_cursor.png Binary files differ diff --git a/images/triangle_cursor.png b/images/triangle_cursor.png new file mode 100644 index 0000000..2a5e748 --- /dev/null +++ b/images/triangle_cursor.png Binary files differ diff --git a/images/vassoura.png b/images/vassoura.png new file mode 100644 index 0000000..cdc08f3 --- /dev/null +++ b/images/vassoura.png Binary files differ diff --git a/images/verde.png b/images/verde.png new file mode 100644 index 0000000..dcd55a3 --- /dev/null +++ b/images/verde.png Binary files differ diff --git a/images/vermelho.png b/images/vermelho.png new file mode 100644 index 0000000..a9a6d2c --- /dev/null +++ b/images/vermelho.png Binary files differ diff --git a/locale/.svn/all-wcprops b/locale/.svn/all-wcprops new file mode 100644 index 0000000..7890b54 --- /dev/null +++ b/locale/.svn/all-wcprops @@ -0,0 +1,5 @@ +K 25 +svn:wc:ra_dav:version-url +V 29 +/svn/!svn/ver/42/trunk/locale +END diff --git a/locale/.svn/entries b/locale/.svn/entries new file mode 100644 index 0000000..bbf46a5 --- /dev/null +++ b/locale/.svn/entries @@ -0,0 +1,43 @@ +8 + +dir +52 +https://oficina.googlecode.com/svn/trunk/locale +https://oficina.googlecode.com/svn + + + +2007-07-13T23:03:54.137505Z +42 +nathalia.sautchuk + + +svn:special svn:externals svn:needs-lock + + + + + + + + + + + +e2fb0b9f-bc32-0410-ab74-19e9d00b4e58 + +ko_KO +dir + +pt_BR +dir + +es +dir + +fr +dir + +de +dir + diff --git a/locale/.svn/format b/locale/.svn/format new file mode 100644 index 0000000..45a4fb7 --- /dev/null +++ b/locale/.svn/format @@ -0,0 +1 @@ +8 diff --git a/locale/de/.svn/all-wcprops b/locale/de/.svn/all-wcprops new file mode 100644 index 0000000..44692fe --- /dev/null +++ b/locale/de/.svn/all-wcprops @@ -0,0 +1,5 @@ +K 25 +svn:wc:ra_dav:version-url +V 32 +/svn/!svn/ver/42/trunk/locale/de +END diff --git a/locale/de/.svn/entries b/locale/de/.svn/entries new file mode 100644 index 0000000..7bd0004 --- /dev/null +++ b/locale/de/.svn/entries @@ -0,0 +1,31 @@ +8 + +dir +52 +https://oficina.googlecode.com/svn/trunk/locale/de +https://oficina.googlecode.com/svn + + + +2007-07-13T23:03:54.137505Z +42 +nathalia.sautchuk + + +svn:special svn:externals svn:needs-lock + + + + + + + + + + + +e2fb0b9f-bc32-0410-ab74-19e9d00b4e58 + +LC_MESSAGES +dir + diff --git a/locale/de/.svn/format b/locale/de/.svn/format new file mode 100644 index 0000000..45a4fb7 --- /dev/null +++ b/locale/de/.svn/format @@ -0,0 +1 @@ +8 diff --git a/locale/de/LC_MESSAGES/.svn/all-wcprops b/locale/de/LC_MESSAGES/.svn/all-wcprops new file mode 100644 index 0000000..1b6e0f3 --- /dev/null +++ b/locale/de/LC_MESSAGES/.svn/all-wcprops @@ -0,0 +1,11 @@ +K 25 +svn:wc:ra_dav:version-url +V 44 +/svn/!svn/ver/42/trunk/locale/de/LC_MESSAGES +END +drawing.mo +K 25 +svn:wc:ra_dav:version-url +V 55 +/svn/!svn/ver/42/trunk/locale/de/LC_MESSAGES/drawing.mo +END diff --git a/locale/de/LC_MESSAGES/.svn/entries b/locale/de/LC_MESSAGES/.svn/entries new file mode 100644 index 0000000..9efd5da --- /dev/null +++ b/locale/de/LC_MESSAGES/.svn/entries @@ -0,0 +1,41 @@ +8 + +dir +52 +https://oficina.googlecode.com/svn/trunk/locale/de/LC_MESSAGES +https://oficina.googlecode.com/svn + + + +2007-07-13T22:56:50.473948Z +41 +nathalia.sautchuk + + +svn:special svn:externals svn:needs-lock + + + + + + + + + + + +e2fb0b9f-bc32-0410-ab74-19e9d00b4e58 + +drawing.mo +file + + + + +2007-07-16T13:46:23.000000Z +1a5fae8a713c4f48db248ead156d205a +2007-07-13T22:56:50.473948Z +41 +nathalia.sautchuk +has-props + diff --git a/locale/de/LC_MESSAGES/.svn/format b/locale/de/LC_MESSAGES/.svn/format new file mode 100644 index 0000000..45a4fb7 --- /dev/null +++ b/locale/de/LC_MESSAGES/.svn/format @@ -0,0 +1 @@ +8 diff --git a/locale/de/LC_MESSAGES/.svn/prop-base/drawing.mo.svn-base b/locale/de/LC_MESSAGES/.svn/prop-base/drawing.mo.svn-base new file mode 100644 index 0000000..dbc918b --- /dev/null +++ b/locale/de/LC_MESSAGES/.svn/prop-base/drawing.mo.svn-base @@ -0,0 +1,9 @@ +K 14 +svn:executable +V 1 +* +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/locale/de/LC_MESSAGES/.svn/text-base/drawing.mo.svn-base b/locale/de/LC_MESSAGES/.svn/text-base/drawing.mo.svn-base new file mode 100644 index 0000000..c57437d --- /dev/null +++ b/locale/de/LC_MESSAGES/.svn/text-base/drawing.mo.svn-base Binary files differ diff --git a/locale/de/LC_MESSAGES/Oficina.activity.mo b/locale/de/LC_MESSAGES/Oficina.activity.mo new file mode 100644 index 0000000..c57437d --- /dev/null +++ b/locale/de/LC_MESSAGES/Oficina.activity.mo Binary files differ diff --git a/locale/de/LC_MESSAGES/Oficina.mo b/locale/de/LC_MESSAGES/Oficina.mo new file mode 100644 index 0000000..c57437d --- /dev/null +++ b/locale/de/LC_MESSAGES/Oficina.mo Binary files differ diff --git a/locale/de/LC_MESSAGES/drawing.mo b/locale/de/LC_MESSAGES/drawing.mo new file mode 100755 index 0000000..c57437d --- /dev/null +++ b/locale/de/LC_MESSAGES/drawing.mo Binary files differ diff --git a/locale/es/.svn/all-wcprops b/locale/es/.svn/all-wcprops new file mode 100644 index 0000000..a5e4137 --- /dev/null +++ b/locale/es/.svn/all-wcprops @@ -0,0 +1,5 @@ +K 25 +svn:wc:ra_dav:version-url +V 32 +/svn/!svn/ver/42/trunk/locale/es +END diff --git a/locale/es/.svn/entries b/locale/es/.svn/entries new file mode 100644 index 0000000..6b01e58 --- /dev/null +++ b/locale/es/.svn/entries @@ -0,0 +1,31 @@ +8 + +dir +52 +https://oficina.googlecode.com/svn/trunk/locale/es +https://oficina.googlecode.com/svn + + + +2007-07-13T23:03:54.137505Z +42 +nathalia.sautchuk + + +svn:special svn:externals svn:needs-lock + + + + + + + + + + + +e2fb0b9f-bc32-0410-ab74-19e9d00b4e58 + +LC_MESSAGES +dir + diff --git a/locale/es/.svn/format b/locale/es/.svn/format new file mode 100644 index 0000000..45a4fb7 --- /dev/null +++ b/locale/es/.svn/format @@ -0,0 +1 @@ +8 diff --git a/locale/es/LC_MESSAGES/.svn/all-wcprops b/locale/es/LC_MESSAGES/.svn/all-wcprops new file mode 100644 index 0000000..e38a663 --- /dev/null +++ b/locale/es/LC_MESSAGES/.svn/all-wcprops @@ -0,0 +1,11 @@ +K 25 +svn:wc:ra_dav:version-url +V 44 +/svn/!svn/ver/42/trunk/locale/es/LC_MESSAGES +END +drawing.mo +K 25 +svn:wc:ra_dav:version-url +V 55 +/svn/!svn/ver/42/trunk/locale/es/LC_MESSAGES/drawing.mo +END diff --git a/locale/es/LC_MESSAGES/.svn/entries b/locale/es/LC_MESSAGES/.svn/entries new file mode 100644 index 0000000..6a400d5 --- /dev/null +++ b/locale/es/LC_MESSAGES/.svn/entries @@ -0,0 +1,41 @@ +8 + +dir +52 +https://oficina.googlecode.com/svn/trunk/locale/es/LC_MESSAGES +https://oficina.googlecode.com/svn + + + +2007-07-13T22:56:50.473948Z +41 +nathalia.sautchuk + + +svn:special svn:externals svn:needs-lock + + + + + + + + + + + +e2fb0b9f-bc32-0410-ab74-19e9d00b4e58 + +drawing.mo +file + + + + +2007-07-16T13:46:22.000000Z +10d7b66c12a5044cc830af0b5842875e +2007-07-13T22:56:50.473948Z +41 +nathalia.sautchuk +has-props + diff --git a/locale/es/LC_MESSAGES/.svn/format b/locale/es/LC_MESSAGES/.svn/format new file mode 100644 index 0000000..45a4fb7 --- /dev/null +++ b/locale/es/LC_MESSAGES/.svn/format @@ -0,0 +1 @@ +8 diff --git a/locale/es/LC_MESSAGES/.svn/prop-base/drawing.mo.svn-base b/locale/es/LC_MESSAGES/.svn/prop-base/drawing.mo.svn-base new file mode 100644 index 0000000..dbc918b --- /dev/null +++ b/locale/es/LC_MESSAGES/.svn/prop-base/drawing.mo.svn-base @@ -0,0 +1,9 @@ +K 14 +svn:executable +V 1 +* +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/locale/es/LC_MESSAGES/.svn/text-base/drawing.mo.svn-base b/locale/es/LC_MESSAGES/.svn/text-base/drawing.mo.svn-base new file mode 100644 index 0000000..9c6a1d7 --- /dev/null +++ b/locale/es/LC_MESSAGES/.svn/text-base/drawing.mo.svn-base Binary files differ diff --git a/locale/es/LC_MESSAGES/Oficina.activity.mo b/locale/es/LC_MESSAGES/Oficina.activity.mo new file mode 100644 index 0000000..9c6a1d7 --- /dev/null +++ b/locale/es/LC_MESSAGES/Oficina.activity.mo Binary files differ diff --git a/locale/es/LC_MESSAGES/Oficina.mo b/locale/es/LC_MESSAGES/Oficina.mo new file mode 100644 index 0000000..9c6a1d7 --- /dev/null +++ b/locale/es/LC_MESSAGES/Oficina.mo Binary files differ diff --git a/locale/es/LC_MESSAGES/drawing.mo b/locale/es/LC_MESSAGES/drawing.mo new file mode 100755 index 0000000..9c6a1d7 --- /dev/null +++ b/locale/es/LC_MESSAGES/drawing.mo Binary files differ diff --git a/locale/fr/.svn/all-wcprops b/locale/fr/.svn/all-wcprops new file mode 100644 index 0000000..df13209 --- /dev/null +++ b/locale/fr/.svn/all-wcprops @@ -0,0 +1,5 @@ +K 25 +svn:wc:ra_dav:version-url +V 32 +/svn/!svn/ver/42/trunk/locale/fr +END diff --git a/locale/fr/.svn/entries b/locale/fr/.svn/entries new file mode 100644 index 0000000..87c364e --- /dev/null +++ b/locale/fr/.svn/entries @@ -0,0 +1,31 @@ +8 + +dir +52 +https://oficina.googlecode.com/svn/trunk/locale/fr +https://oficina.googlecode.com/svn + + + +2007-07-13T23:03:54.137505Z +42 +nathalia.sautchuk + + +svn:special svn:externals svn:needs-lock + + + + + + + + + + + +e2fb0b9f-bc32-0410-ab74-19e9d00b4e58 + +LC_MESSAGES +dir + diff --git a/locale/fr/.svn/format b/locale/fr/.svn/format new file mode 100644 index 0000000..45a4fb7 --- /dev/null +++ b/locale/fr/.svn/format @@ -0,0 +1 @@ +8 diff --git a/locale/fr/LC_MESSAGES/.svn/all-wcprops b/locale/fr/LC_MESSAGES/.svn/all-wcprops new file mode 100644 index 0000000..b022f86 --- /dev/null +++ b/locale/fr/LC_MESSAGES/.svn/all-wcprops @@ -0,0 +1,11 @@ +K 25 +svn:wc:ra_dav:version-url +V 44 +/svn/!svn/ver/42/trunk/locale/fr/LC_MESSAGES +END +drawing.mo +K 25 +svn:wc:ra_dav:version-url +V 55 +/svn/!svn/ver/42/trunk/locale/fr/LC_MESSAGES/drawing.mo +END diff --git a/locale/fr/LC_MESSAGES/.svn/entries b/locale/fr/LC_MESSAGES/.svn/entries new file mode 100644 index 0000000..755635c --- /dev/null +++ b/locale/fr/LC_MESSAGES/.svn/entries @@ -0,0 +1,41 @@ +8 + +dir +52 +https://oficina.googlecode.com/svn/trunk/locale/fr/LC_MESSAGES +https://oficina.googlecode.com/svn + + + +2007-07-13T22:56:50.473948Z +41 +nathalia.sautchuk + + +svn:special svn:externals svn:needs-lock + + + + + + + + + + + +e2fb0b9f-bc32-0410-ab74-19e9d00b4e58 + +drawing.mo +file + + + + +2007-07-16T13:46:22.000000Z +9e4ab40a3829a759492a4bbca2f000fd +2007-07-13T22:56:50.473948Z +41 +nathalia.sautchuk +has-props + diff --git a/locale/fr/LC_MESSAGES/.svn/format b/locale/fr/LC_MESSAGES/.svn/format new file mode 100644 index 0000000..45a4fb7 --- /dev/null +++ b/locale/fr/LC_MESSAGES/.svn/format @@ -0,0 +1 @@ +8 diff --git a/locale/fr/LC_MESSAGES/.svn/prop-base/drawing.mo.svn-base b/locale/fr/LC_MESSAGES/.svn/prop-base/drawing.mo.svn-base new file mode 100644 index 0000000..dbc918b --- /dev/null +++ b/locale/fr/LC_MESSAGES/.svn/prop-base/drawing.mo.svn-base @@ -0,0 +1,9 @@ +K 14 +svn:executable +V 1 +* +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/locale/fr/LC_MESSAGES/.svn/text-base/drawing.mo.svn-base b/locale/fr/LC_MESSAGES/.svn/text-base/drawing.mo.svn-base new file mode 100644 index 0000000..cb51301 --- /dev/null +++ b/locale/fr/LC_MESSAGES/.svn/text-base/drawing.mo.svn-base Binary files differ diff --git a/locale/fr/LC_MESSAGES/Oficina.activity.mo b/locale/fr/LC_MESSAGES/Oficina.activity.mo new file mode 100644 index 0000000..cb51301 --- /dev/null +++ b/locale/fr/LC_MESSAGES/Oficina.activity.mo Binary files differ diff --git a/locale/fr/LC_MESSAGES/Oficina.mo b/locale/fr/LC_MESSAGES/Oficina.mo new file mode 100644 index 0000000..cb51301 --- /dev/null +++ b/locale/fr/LC_MESSAGES/Oficina.mo Binary files differ diff --git a/locale/fr/LC_MESSAGES/drawing.mo b/locale/fr/LC_MESSAGES/drawing.mo new file mode 100755 index 0000000..cb51301 --- /dev/null +++ b/locale/fr/LC_MESSAGES/drawing.mo Binary files differ diff --git a/locale/ko_KO/.svn/all-wcprops b/locale/ko_KO/.svn/all-wcprops new file mode 100644 index 0000000..cbf6a0f --- /dev/null +++ b/locale/ko_KO/.svn/all-wcprops @@ -0,0 +1,5 @@ +K 25 +svn:wc:ra_dav:version-url +V 35 +/svn/!svn/ver/41/trunk/locale/ko_KO +END diff --git a/locale/ko_KO/.svn/entries b/locale/ko_KO/.svn/entries new file mode 100644 index 0000000..b9b0e84 --- /dev/null +++ b/locale/ko_KO/.svn/entries @@ -0,0 +1,31 @@ +8 + +dir +52 +https://oficina.googlecode.com/svn/trunk/locale/ko_KO +https://oficina.googlecode.com/svn + + + +2007-07-13T22:56:50.473948Z +41 +nathalia.sautchuk + + +svn:special svn:externals svn:needs-lock + + + + + + + + + + + +e2fb0b9f-bc32-0410-ab74-19e9d00b4e58 + +LC_MESSAGES +dir + diff --git a/locale/ko_KO/.svn/format b/locale/ko_KO/.svn/format new file mode 100644 index 0000000..45a4fb7 --- /dev/null +++ b/locale/ko_KO/.svn/format @@ -0,0 +1 @@ +8 diff --git a/locale/ko_KO/LC_MESSAGES/.svn/all-wcprops b/locale/ko_KO/LC_MESSAGES/.svn/all-wcprops new file mode 100644 index 0000000..6982672 --- /dev/null +++ b/locale/ko_KO/LC_MESSAGES/.svn/all-wcprops @@ -0,0 +1,11 @@ +K 25 +svn:wc:ra_dav:version-url +V 47 +/svn/!svn/ver/41/trunk/locale/ko_KO/LC_MESSAGES +END +drawing.mo +K 25 +svn:wc:ra_dav:version-url +V 58 +/svn/!svn/ver/41/trunk/locale/ko_KO/LC_MESSAGES/drawing.mo +END diff --git a/locale/ko_KO/LC_MESSAGES/.svn/entries b/locale/ko_KO/LC_MESSAGES/.svn/entries new file mode 100644 index 0000000..5622547 --- /dev/null +++ b/locale/ko_KO/LC_MESSAGES/.svn/entries @@ -0,0 +1,41 @@ +8 + +dir +52 +https://oficina.googlecode.com/svn/trunk/locale/ko_KO/LC_MESSAGES +https://oficina.googlecode.com/svn + + + +2007-07-13T22:56:50.473948Z +41 +nathalia.sautchuk + + +svn:special svn:externals svn:needs-lock + + + + + + + + + + + +e2fb0b9f-bc32-0410-ab74-19e9d00b4e58 + +drawing.mo +file + + + + +2007-07-16T13:46:21.000000Z +fbd4c5e033eaf250ab184dcfa0b75c56 +2007-07-13T22:56:50.473948Z +41 +nathalia.sautchuk +has-props + diff --git a/locale/ko_KO/LC_MESSAGES/.svn/format b/locale/ko_KO/LC_MESSAGES/.svn/format new file mode 100644 index 0000000..45a4fb7 --- /dev/null +++ b/locale/ko_KO/LC_MESSAGES/.svn/format @@ -0,0 +1 @@ +8 diff --git a/locale/ko_KO/LC_MESSAGES/.svn/prop-base/drawing.mo.svn-base b/locale/ko_KO/LC_MESSAGES/.svn/prop-base/drawing.mo.svn-base new file mode 100644 index 0000000..5e9587e --- /dev/null +++ b/locale/ko_KO/LC_MESSAGES/.svn/prop-base/drawing.mo.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/locale/ko_KO/LC_MESSAGES/.svn/text-base/drawing.mo.svn-base b/locale/ko_KO/LC_MESSAGES/.svn/text-base/drawing.mo.svn-base new file mode 100644 index 0000000..0a433fd --- /dev/null +++ b/locale/ko_KO/LC_MESSAGES/.svn/text-base/drawing.mo.svn-base Binary files differ diff --git a/locale/ko_KO/LC_MESSAGES/Oficina.activity.mo b/locale/ko_KO/LC_MESSAGES/Oficina.activity.mo new file mode 100644 index 0000000..0a433fd --- /dev/null +++ b/locale/ko_KO/LC_MESSAGES/Oficina.activity.mo Binary files differ diff --git a/locale/ko_KO/LC_MESSAGES/Oficina.mo b/locale/ko_KO/LC_MESSAGES/Oficina.mo new file mode 100644 index 0000000..0a433fd --- /dev/null +++ b/locale/ko_KO/LC_MESSAGES/Oficina.mo Binary files differ diff --git a/locale/ko_KO/LC_MESSAGES/drawing.mo b/locale/ko_KO/LC_MESSAGES/drawing.mo new file mode 100644 index 0000000..0a433fd --- /dev/null +++ b/locale/ko_KO/LC_MESSAGES/drawing.mo Binary files differ diff --git a/locale/pt_BR/.svn/all-wcprops b/locale/pt_BR/.svn/all-wcprops new file mode 100644 index 0000000..583fe7c --- /dev/null +++ b/locale/pt_BR/.svn/all-wcprops @@ -0,0 +1,5 @@ +K 25 +svn:wc:ra_dav:version-url +V 35 +/svn/!svn/ver/41/trunk/locale/pt_BR +END diff --git a/locale/pt_BR/.svn/entries b/locale/pt_BR/.svn/entries new file mode 100644 index 0000000..c5c5afa --- /dev/null +++ b/locale/pt_BR/.svn/entries @@ -0,0 +1,31 @@ +8 + +dir +52 +https://oficina.googlecode.com/svn/trunk/locale/pt_BR +https://oficina.googlecode.com/svn + + + +2007-07-13T22:56:50.473948Z +41 +nathalia.sautchuk + + +svn:special svn:externals svn:needs-lock + + + + + + + + + + + +e2fb0b9f-bc32-0410-ab74-19e9d00b4e58 + +LC_MESSAGES +dir + diff --git a/locale/pt_BR/.svn/format b/locale/pt_BR/.svn/format new file mode 100644 index 0000000..45a4fb7 --- /dev/null +++ b/locale/pt_BR/.svn/format @@ -0,0 +1 @@ +8 diff --git a/locale/pt_BR/LC_MESSAGES/.svn/all-wcprops b/locale/pt_BR/LC_MESSAGES/.svn/all-wcprops new file mode 100644 index 0000000..a496cc8 --- /dev/null +++ b/locale/pt_BR/LC_MESSAGES/.svn/all-wcprops @@ -0,0 +1,11 @@ +K 25 +svn:wc:ra_dav:version-url +V 47 +/svn/!svn/ver/41/trunk/locale/pt_BR/LC_MESSAGES +END +drawing.mo +K 25 +svn:wc:ra_dav:version-url +V 58 +/svn/!svn/ver/41/trunk/locale/pt_BR/LC_MESSAGES/drawing.mo +END diff --git a/locale/pt_BR/LC_MESSAGES/.svn/entries b/locale/pt_BR/LC_MESSAGES/.svn/entries new file mode 100644 index 0000000..cdd442e --- /dev/null +++ b/locale/pt_BR/LC_MESSAGES/.svn/entries @@ -0,0 +1,41 @@ +8 + +dir +52 +https://oficina.googlecode.com/svn/trunk/locale/pt_BR/LC_MESSAGES +https://oficina.googlecode.com/svn + + + +2007-07-13T22:56:50.473948Z +41 +nathalia.sautchuk + + +svn:special svn:externals svn:needs-lock + + + + + + + + + + + +e2fb0b9f-bc32-0410-ab74-19e9d00b4e58 + +drawing.mo +file + + + + +2007-07-16T13:46:22.000000Z +563ecd9666f4e0b4663ea56ffcca0542 +2007-07-13T22:56:50.473948Z +41 +nathalia.sautchuk +has-props + diff --git a/locale/pt_BR/LC_MESSAGES/.svn/format b/locale/pt_BR/LC_MESSAGES/.svn/format new file mode 100644 index 0000000..45a4fb7 --- /dev/null +++ b/locale/pt_BR/LC_MESSAGES/.svn/format @@ -0,0 +1 @@ +8 diff --git a/locale/pt_BR/LC_MESSAGES/.svn/prop-base/drawing.mo.svn-base b/locale/pt_BR/LC_MESSAGES/.svn/prop-base/drawing.mo.svn-base new file mode 100644 index 0000000..dbc918b --- /dev/null +++ b/locale/pt_BR/LC_MESSAGES/.svn/prop-base/drawing.mo.svn-base @@ -0,0 +1,9 @@ +K 14 +svn:executable +V 1 +* +K 13 +svn:mime-type +V 24 +application/octet-stream +END diff --git a/locale/pt_BR/LC_MESSAGES/.svn/text-base/drawing.mo.svn-base b/locale/pt_BR/LC_MESSAGES/.svn/text-base/drawing.mo.svn-base new file mode 100644 index 0000000..251bcbc --- /dev/null +++ b/locale/pt_BR/LC_MESSAGES/.svn/text-base/drawing.mo.svn-base Binary files differ diff --git a/locale/pt_BR/LC_MESSAGES/Oficina.activity.mo b/locale/pt_BR/LC_MESSAGES/Oficina.activity.mo new file mode 100644 index 0000000..251bcbc --- /dev/null +++ b/locale/pt_BR/LC_MESSAGES/Oficina.activity.mo Binary files differ diff --git a/locale/pt_BR/LC_MESSAGES/Oficina.mo b/locale/pt_BR/LC_MESSAGES/Oficina.mo new file mode 100644 index 0000000..251bcbc --- /dev/null +++ b/locale/pt_BR/LC_MESSAGES/Oficina.mo Binary files differ diff --git a/locale/pt_BR/LC_MESSAGES/drawing.mo b/locale/pt_BR/LC_MESSAGES/drawing.mo new file mode 100755 index 0000000..251bcbc --- /dev/null +++ b/locale/pt_BR/LC_MESSAGES/drawing.mo Binary files differ diff --git a/po/.svn/all-wcprops b/po/.svn/all-wcprops new file mode 100644 index 0000000..fcf818f --- /dev/null +++ b/po/.svn/all-wcprops @@ -0,0 +1,41 @@ +K 25 +svn:wc:ra_dav:version-url +V 25 +/svn/!svn/ver/41/trunk/po +END +ko_KO.po +K 25 +svn:wc:ra_dav:version-url +V 34 +/svn/!svn/ver/41/trunk/po/ko_KO.po +END +pt_BR.po +K 25 +svn:wc:ra_dav:version-url +V 34 +/svn/!svn/ver/41/trunk/po/pt_BR.po +END +es.po +K 25 +svn:wc:ra_dav:version-url +V 31 +/svn/!svn/ver/41/trunk/po/es.po +END +fr.po +K 25 +svn:wc:ra_dav:version-url +V 31 +/svn/!svn/ver/41/trunk/po/fr.po +END +de.po +K 25 +svn:wc:ra_dav:version-url +V 31 +/svn/!svn/ver/41/trunk/po/de.po +END +drawing.pot +K 25 +svn:wc:ra_dav:version-url +V 37 +/svn/!svn/ver/41/trunk/po/drawing.pot +END diff --git a/po/.svn/entries b/po/.svn/entries new file mode 100644 index 0000000..b532295 --- /dev/null +++ b/po/.svn/entries @@ -0,0 +1,102 @@ +8 + +dir +52 +https://oficina.googlecode.com/svn/trunk/po +https://oficina.googlecode.com/svn + + + +2007-07-13T22:56:50.473948Z +41 +nathalia.sautchuk + + +svn:special svn:externals svn:needs-lock + + + + + + + + + + + +e2fb0b9f-bc32-0410-ab74-19e9d00b4e58 + +ko_KO.po +file + + + + +2007-07-16T13:46:29.000000Z +8c644fadb9660b2fb07a11846c6b7900 +2007-07-13T22:56:50.473948Z +41 +nathalia.sautchuk + +pt_BR.po +file + + + + +2007-07-16T13:46:29.000000Z +b2e05a0fd5530d3772c28453d1b106a1 +2007-07-13T22:56:50.473948Z +41 +nathalia.sautchuk +has-props + +es.po +file + + + + +2007-07-16T13:46:29.000000Z +e88459a19ba80e8b59acbcd8f67834ca +2007-07-13T22:56:50.473948Z +41 +nathalia.sautchuk + +fr.po +file + + + + +2007-07-16T13:46:29.000000Z +d6972e311ed59507c476e30f4565d360 +2007-07-13T22:56:50.473948Z +41 +nathalia.sautchuk + +de.po +file + + + + +2007-07-16T13:46:29.000000Z +ae0a63654c59c81748249cb02736b290 +2007-07-13T22:56:50.473948Z +41 +nathalia.sautchuk + +drawing.pot +file + + + + +2007-07-16T13:46:29.000000Z +e9e60f2af2022cddcf4d58e18a6491b8 +2007-07-13T22:56:50.473948Z +41 +nathalia.sautchuk +has-props + diff --git a/po/.svn/format b/po/.svn/format new file mode 100644 index 0000000..45a4fb7 --- /dev/null +++ b/po/.svn/format @@ -0,0 +1 @@ +8 diff --git a/po/.svn/prop-base/drawing.pot.svn-base b/po/.svn/prop-base/drawing.pot.svn-base new file mode 100644 index 0000000..869ac71 --- /dev/null +++ b/po/.svn/prop-base/drawing.pot.svn-base @@ -0,0 +1,5 @@ +K 14 +svn:executable +V 1 +* +END diff --git a/po/.svn/prop-base/pt_BR.po.svn-base b/po/.svn/prop-base/pt_BR.po.svn-base new file mode 100644 index 0000000..869ac71 --- /dev/null +++ b/po/.svn/prop-base/pt_BR.po.svn-base @@ -0,0 +1,5 @@ +K 14 +svn:executable +V 1 +* +END diff --git a/po/.svn/text-base/de.po.svn-base b/po/.svn/text-base/de.po.svn-base new file mode 100644 index 0000000..20a9afa --- /dev/null +++ b/po/.svn/text-base/de.po.svn-base @@ -0,0 +1,205 @@ +# German translations for Oficina package. +# Copyright (C) 2007 GNU General Public License +# This file is distributed under the same license as the Oficina package. +# Nathalia , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: 1.0\n" +"Report-Msgid-Bugs-To: Irene \n" +"POT-Creation-Date: 2007-07-13 17:56-0300\n" +"PO-Revision-Date: 2007-07-13 18:18-0300\n" +"Last-Translator: Nathalia \n" +"Language-Team: German\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: toolbox.py:22 +msgid "Edit" +msgstr "Redigieren" + +#: toolbox.py:26 +msgid "Tools" +msgstr "Werkzeuge" + +#: toolbox.py:30 +msgid "Shapes" +msgstr "Formen" + +#: toolbox.py:34 +msgid "Text" +msgstr "Text" + +#: toolbox.py:38 +msgid "Image" +msgstr "Bild" + +#: toolbox.py:42 +msgid "Effects" +msgstr "Effekt" + +#: toolbox.py:114 +msgid "Pencil" +msgstr "Bleistift" + +#: toolbox.py:119 +msgid "Brush" +msgstr "Bürste" + +#: toolbox.py:126 +msgid "Eraser" +msgstr "Radiergummi" + +#: toolbox.py:131 +msgid "Polygon" +msgstr "Polygon" + +#: toolbox.py:136 +msgid "Bucket" +msgstr "Wanne" + +#: toolbox.py:159 +msgid "Rectangular Marquee" +msgstr "Rechteckiges Festzelt" + +#: toolbox.py:176 +msgid "Square" +msgstr "Quadrat" + +#: toolbox.py:177 +msgid "Circle" +msgstr "Kreis" + +#: toolbox.py:208 toolbox.py:243 +msgid "Black" +msgstr "Schwarz" + +#: toolbox.py:209 toolbox.py:244 +msgid "Purple" +msgstr "Lila" + +#: toolbox.py:210 toolbox.py:245 +msgid "Yellow" +msgstr "Gelb" + +#: toolbox.py:211 toolbox.py:246 +msgid "Blue" +msgstr "Blau" + +#: toolbox.py:212 toolbox.py:247 +msgid "Green" +msgstr "Grün" + +#: toolbox.py:213 toolbox.py:248 +msgid "Red" +msgstr "Rot" + +#: toolbox.py:214 toolbox.py:249 +msgid "Orange" +msgstr "Orange" + +#: toolbox.py:215 toolbox.py:250 +msgid "White" +msgstr "Weiss" + +#: toolbox.py:286 +msgid "1" +msgstr "1" + +#: toolbox.py:287 +msgid "2" +msgstr "2" + +#: toolbox.py:288 +msgid "3" +msgstr "3" + +#: toolbox.py:289 +msgid "5" +msgstr "5" + +#: toolbox.py:290 toolbox.py:606 +msgid "10" +msgstr "10" + +#: toolbox.py:291 +msgid "20" +msgstr "20" + +#: toolbox.py:292 toolbox.py:604 +msgid "50" +msgstr "50" + +#: toolbox.py:293 toolbox.py:603 +msgid "100" +msgstr "100" + +#: toolbox.py:294 toolbox.py:600 +msgid "500" +msgstr "500" + +#: toolbox.py:295 toolbox.py:599 +msgid "1000" +msgstr "1000" + +#: toolbox.py:296 +msgid "5000" +msgstr "5000" + +#: toolbox.py:297 +msgid "10000" +msgstr "10000" + +#: toolbox.py:298 +msgid "100000" +msgstr "100000" + +#: toolbox.py:354 +msgid "Ellipse" +msgstr "Ellipse" + +#: toolbox.py:359 +msgid "Rectangle" +msgstr "Viereck" + +#: toolbox.py:364 +msgid "Line" +msgstr "Linie" + +#: toolbox.py:429 +msgid "Type" +msgstr "Type" + +#: toolbox.py:482 +msgid "object-insert" +msgstr "Bild-einsetzen" + +#: toolbox.py:525 toolbox.py:711 +msgid "Open File..." +msgstr "Akte öffnen…" + +#: toolbox.py:559 +msgid "Grayscale" +msgstr "Graue Skala" + +#: toolbox.py:601 +msgid "200" +msgstr "200" + +#: toolbox.py:602 +msgid "150" +msgstr "150" + +#: toolbox.py:605 +msgid "25" +msgstr "25" + +#: toolbox.py:619 +msgid "ZOOM +" +msgstr "ZOOM +" + +#: toolbox.py:624 +msgid "ZOOM -" +msgstr "ZOOM -" diff --git a/po/.svn/text-base/drawing.pot.svn-base b/po/.svn/text-base/drawing.pot.svn-base new file mode 100644 index 0000000..1bafd10 --- /dev/null +++ b/po/.svn/text-base/drawing.pot.svn-base @@ -0,0 +1,205 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-07-13 17:56-0300\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +#: toolbox.py:22 +msgid "Edit" +msgstr "" + +#: toolbox.py:26 +msgid "Tools" +msgstr "" + +#: toolbox.py:30 +msgid "Shapes" +msgstr "" + +#: toolbox.py:34 +msgid "Text" +msgstr "" + +#: toolbox.py:38 +msgid "Image" +msgstr "" + +#: toolbox.py:42 +msgid "Effects" +msgstr "" + +#: toolbox.py:114 +msgid "Pencil" +msgstr "" + +#: toolbox.py:119 +msgid "Brush" +msgstr "" + +#: toolbox.py:126 +msgid "Eraser" +msgstr "" + +#: toolbox.py:131 +msgid "Polygon" +msgstr "" + +#: toolbox.py:136 +msgid "Bucket" +msgstr "" + +#: toolbox.py:159 +msgid "Rectangular Marquee" +msgstr "" + +#: toolbox.py:176 +msgid "Square" +msgstr "" + +#: toolbox.py:177 +msgid "Circle" +msgstr "" + +#: toolbox.py:208 toolbox.py:243 +msgid "Black" +msgstr "" + +#: toolbox.py:209 toolbox.py:244 +msgid "Purple" +msgstr "" + +#: toolbox.py:210 toolbox.py:245 +msgid "Yellow" +msgstr "" + +#: toolbox.py:211 toolbox.py:246 +msgid "Blue" +msgstr "" + +#: toolbox.py:212 toolbox.py:247 +msgid "Green" +msgstr "" + +#: toolbox.py:213 toolbox.py:248 +msgid "Red" +msgstr "" + +#: toolbox.py:214 toolbox.py:249 +msgid "Orange" +msgstr "" + +#: toolbox.py:215 toolbox.py:250 +msgid "White" +msgstr "" + +#: toolbox.py:286 +msgid "1" +msgstr "" + +#: toolbox.py:287 +msgid "2" +msgstr "" + +#: toolbox.py:288 +msgid "3" +msgstr "" + +#: toolbox.py:289 +msgid "5" +msgstr "" + +#: toolbox.py:290 toolbox.py:606 +msgid "10" +msgstr "" + +#: toolbox.py:291 +msgid "20" +msgstr "" + +#: toolbox.py:292 toolbox.py:604 +msgid "50" +msgstr "" + +#: toolbox.py:293 toolbox.py:603 +msgid "100" +msgstr "" + +#: toolbox.py:294 toolbox.py:600 +msgid "500" +msgstr "" + +#: toolbox.py:295 toolbox.py:599 +msgid "1000" +msgstr "" + +#: toolbox.py:296 +msgid "5000" +msgstr "" + +#: toolbox.py:297 +msgid "10000" +msgstr "" + +#: toolbox.py:298 +msgid "100000" +msgstr "" + +#: toolbox.py:354 +msgid "Ellipse" +msgstr "" + +#: toolbox.py:359 +msgid "Rectangle" +msgstr "" + +#: toolbox.py:364 +msgid "Line" +msgstr "" + +#: toolbox.py:429 +msgid "Type" +msgstr "" + +#: toolbox.py:482 +msgid "object-insert" +msgstr "" + +#: toolbox.py:525 toolbox.py:711 +msgid "Open File..." +msgstr "" + +#: toolbox.py:559 +msgid "Grayscale" +msgstr "" + +#: toolbox.py:601 +msgid "200" +msgstr "" + +#: toolbox.py:602 +msgid "150" +msgstr "" + +#: toolbox.py:605 +msgid "25" +msgstr "" + +#: toolbox.py:619 +msgid "ZOOM +" +msgstr "" + +#: toolbox.py:624 +msgid "ZOOM -" +msgstr "" diff --git a/po/.svn/text-base/es.po.svn-base b/po/.svn/text-base/es.po.svn-base new file mode 100644 index 0000000..4916f8f --- /dev/null +++ b/po/.svn/text-base/es.po.svn-base @@ -0,0 +1,205 @@ +# Spanish translations for Oficina package. +# Copyright (C) 2007 GNU General Public License +# This file is distributed under the same license as the Oficina package. +# Nathalia , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: 1.0\n" +"Report-Msgid-Bugs-To: Irene \n" +"POT-Creation-Date: 2007-07-13 17:56-0300\n" +"PO-Revision-Date: 2007-07-13 18:17-0300\n" +"Last-Translator: Nathalia \n" +"Language-Team: Spanish\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: toolbox.py:22 +msgid "Edit" +msgstr "Editar" + +#: toolbox.py:26 +msgid "Tools" +msgstr "Herramientas" + +#: toolbox.py:30 +msgid "Shapes" +msgstr "Formas" + +#: toolbox.py:34 +msgid "Text" +msgstr "Texto" + +#: toolbox.py:38 +msgid "Image" +msgstr "Imagen" + +#: toolbox.py:42 +msgid "Effects" +msgstr "Efectos" + +#: toolbox.py:114 +msgid "Pencil" +msgstr "Lápiz" + +#: toolbox.py:119 +msgid "Brush" +msgstr "Pincel" + +#: toolbox.py:126 +msgid "Eraser" +msgstr "Goma" + +#: toolbox.py:131 +msgid "Polygon" +msgstr "Polígono" + +#: toolbox.py:136 +msgid "Bucket" +msgstr "Balde" + +#: toolbox.py:159 +msgid "Rectangular Marquee" +msgstr "Selección Rectangular" + +#: toolbox.py:176 +msgid "Square" +msgstr "Cuadrado" + +#: toolbox.py:177 +msgid "Circle" +msgstr "Círculo" + +#: toolbox.py:208 toolbox.py:243 +msgid "Black" +msgstr "Negro" + +#: toolbox.py:209 toolbox.py:244 +msgid "Purple" +msgstr "Violeta" + +#: toolbox.py:210 toolbox.py:245 +msgid "Yellow" +msgstr "Amarillo" + +#: toolbox.py:211 toolbox.py:246 +msgid "Blue" +msgstr "Azul" + +#: toolbox.py:212 toolbox.py:247 +msgid "Green" +msgstr "Verde" + +#: toolbox.py:213 toolbox.py:248 +msgid "Red" +msgstr "Rojo" + +#: toolbox.py:214 toolbox.py:249 +msgid "Orange" +msgstr "Naranja" + +#: toolbox.py:215 toolbox.py:250 +msgid "White" +msgstr "Blanco" + +#: toolbox.py:286 +msgid "1" +msgstr "1" + +#: toolbox.py:287 +msgid "2" +msgstr "2" + +#: toolbox.py:288 +msgid "3" +msgstr "3" + +#: toolbox.py:289 +msgid "5" +msgstr "5" + +#: toolbox.py:290 toolbox.py:606 +msgid "10" +msgstr "10" + +#: toolbox.py:291 +msgid "20" +msgstr "20" + +#: toolbox.py:292 toolbox.py:604 +msgid "50" +msgstr "50" + +#: toolbox.py:293 toolbox.py:603 +msgid "100" +msgstr "100" + +#: toolbox.py:294 toolbox.py:600 +msgid "500" +msgstr "500" + +#: toolbox.py:295 toolbox.py:599 +msgid "1000" +msgstr "1000" + +#: toolbox.py:296 +msgid "5000" +msgstr "5000" + +#: toolbox.py:297 +msgid "10000" +msgstr "10000" + +#: toolbox.py:298 +msgid "100000" +msgstr "100000" + +#: toolbox.py:354 +msgid "Ellipse" +msgstr "Elipsis" + +#: toolbox.py:359 +msgid "Rectangle" +msgstr "Rectángulo" + +#: toolbox.py:364 +msgid "Line" +msgstr "Línea" + +#: toolbox.py:429 +msgid "Type" +msgstr "Tipo" + +#: toolbox.py:482 +msgid "object-insert" +msgstr "Insertar Imagen" + +#: toolbox.py:525 toolbox.py:711 +msgid "Open File..." +msgstr "Abrir el Fichero…" + +#: toolbox.py:559 +msgid "Grayscale" +msgstr "Escala de Gris" + +#: toolbox.py:601 +msgid "200" +msgstr "200" + +#: toolbox.py:602 +msgid "150" +msgstr "150" + +#: toolbox.py:605 +msgid "25" +msgstr "25" + +#: toolbox.py:619 +msgid "ZOOM +" +msgstr "ZOOM +" + +#: toolbox.py:624 +msgid "ZOOM -" +msgstr "ZOOM -" diff --git a/po/.svn/text-base/fr.po.svn-base b/po/.svn/text-base/fr.po.svn-base new file mode 100644 index 0000000..4ff2d09 --- /dev/null +++ b/po/.svn/text-base/fr.po.svn-base @@ -0,0 +1,205 @@ +# French translations for Oficina package. +# Copyright (C) 2007 GNU General Public License +# This file is distributed under the same license as the Oficina package. +# Nathalia , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: 1.0\n" +"Report-Msgid-Bugs-To: Irene \n" +"POT-Creation-Date: 2007-07-13 17:56-0300\n" +"PO-Revision-Date: 2007-07-13 18:15-0300\n" +"Last-Translator: Nathalia \n" +"Language-Team: French\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: toolbox.py:22 +msgid "Edit" +msgstr "Éditer" + +#: toolbox.py:26 +msgid "Tools" +msgstr "Outils" + +#: toolbox.py:30 +msgid "Shapes" +msgstr "Formes" + +#: toolbox.py:34 +msgid "Text" +msgstr "Texte" + +#: toolbox.py:38 +msgid "Image" +msgstr "Image" + +#: toolbox.py:42 +msgid "Effects" +msgstr "Effet" + +#: toolbox.py:114 +msgid "Pencil" +msgstr "Crayon" + +#: toolbox.py:119 +msgid "Brush" +msgstr "Pinceau" + +#: toolbox.py:126 +msgid "Eraser" +msgstr "Gomme" + +#: toolbox.py:131 +msgid "Polygon" +msgstr "Polygone" + +#: toolbox.py:136 +msgid "Bucket" +msgstr "Seau" + +#: toolbox.py:159 +msgid "Rectangular Marquee" +msgstr "Sélection Rectangulaire" + +#: toolbox.py:176 +msgid "Square" +msgstr "Carré" + +#: toolbox.py:177 +msgid "Circle" +msgstr "Cercle" + +#: toolbox.py:208 toolbox.py:243 +msgid "Black" +msgstr "Noir" + +#: toolbox.py:209 toolbox.py:244 +msgid "Purple" +msgstr "Violet" + +#: toolbox.py:210 toolbox.py:245 +msgid "Yellow" +msgstr "Jaune" + +#: toolbox.py:211 toolbox.py:246 +msgid "Blue" +msgstr "Bleu" + +#: toolbox.py:212 toolbox.py:247 +msgid "Green" +msgstr "Vert" + +#: toolbox.py:213 toolbox.py:248 +msgid "Red" +msgstr "Rouge" + +#: toolbox.py:214 toolbox.py:249 +msgid "Orange" +msgstr "Orange" + +#: toolbox.py:215 toolbox.py:250 +msgid "White" +msgstr "Blanc" + +#: toolbox.py:286 +msgid "1" +msgstr "1" + +#: toolbox.py:287 +msgid "2" +msgstr "2" + +#: toolbox.py:288 +msgid "3" +msgstr "3" + +#: toolbox.py:289 +msgid "5" +msgstr "5" + +#: toolbox.py:290 toolbox.py:606 +msgid "10" +msgstr "10" + +#: toolbox.py:291 +msgid "20" +msgstr "20" + +#: toolbox.py:292 toolbox.py:604 +msgid "50" +msgstr "50" + +#: toolbox.py:293 toolbox.py:603 +msgid "100" +msgstr "100" + +#: toolbox.py:294 toolbox.py:600 +msgid "500" +msgstr "500" + +#: toolbox.py:295 toolbox.py:599 +msgid "1000" +msgstr "1000" + +#: toolbox.py:296 +msgid "5000" +msgstr "5000" + +#: toolbox.py:297 +msgid "10000" +msgstr "10000" + +#: toolbox.py:298 +msgid "100000" +msgstr "100000" + +#: toolbox.py:354 +msgid "Ellipse" +msgstr "Ellipse" + +#: toolbox.py:359 +msgid "Rectangle" +msgstr "Rectangle" + +#: toolbox.py:364 +msgid "Line" +msgstr "Ligne" + +#: toolbox.py:429 +msgid "Type" +msgstr "Type" + +#: toolbox.py:482 +msgid "object-insert" +msgstr "Insérer la Image" + +#: toolbox.py:525 toolbox.py:711 +msgid "Open File..." +msgstr "Ouvrir le Dossier..." + +#: toolbox.py:559 +msgid "Grayscale" +msgstr "Eswcale de Gris" + +#: toolbox.py:601 +msgid "200" +msgstr "200" + +#: toolbox.py:602 +msgid "150" +msgstr "150" + +#: toolbox.py:605 +msgid "25" +msgstr "25" + +#: toolbox.py:619 +msgid "ZOOM +" +msgstr "ZOOM +" + +#: toolbox.py:624 +msgid "ZOOM -" +msgstr "ZOOM -" diff --git a/po/.svn/text-base/ko_KO.po.svn-base b/po/.svn/text-base/ko_KO.po.svn-base new file mode 100644 index 0000000..b4929a0 --- /dev/null +++ b/po/.svn/text-base/ko_KO.po.svn-base @@ -0,0 +1,205 @@ +# Korean translations for Oficina package. +# Copyright (C) 2007 GNU General Public License +# This file is distributed under the same license as the Oficina package. +# Do Young-Min , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: 1.0\n" +"Report-Msgid-Bugs-To: Irene \n" +"POT-Creation-Date: 2007-07-13 17:56-0300\n" +"PO-Revision-Date: 2007-07-13 18:19-0300\n" +"Last-Translator: Nathalia \n" +"Language-Team: Korean\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: toolbox.py:22 +msgid "Edit" +msgstr "편집" + +#: toolbox.py:26 +msgid "Tools" +msgstr "툴" + +#: toolbox.py:30 +msgid "Shapes" +msgstr "도형" + +#: toolbox.py:34 +msgid "Text" +msgstr "텍스트" + +#: toolbox.py:38 +msgid "Image" +msgstr "이미지" + +#: toolbox.py:42 +msgid "Effects" +msgstr "효과" + +#: toolbox.py:114 +msgid "Pencil" +msgstr "연필" + +#: toolbox.py:119 +msgid "Brush" +msgstr "붓" + +#: toolbox.py:126 +msgid "Eraser" +msgstr "지우개" + +#: toolbox.py:131 +msgid "Polygon" +msgstr "" + +#: toolbox.py:136 +msgid "Bucket" +msgstr "" + +#: toolbox.py:159 +msgid "Rectangular Marquee" +msgstr "사각 마퀴" + +#: toolbox.py:176 +msgid "Square" +msgstr "" + +#: toolbox.py:177 +msgid "Circle" +msgstr "" + +#: toolbox.py:208 toolbox.py:243 +msgid "Black" +msgstr "검정" + +#: toolbox.py:209 toolbox.py:244 +msgid "Purple" +msgstr "자주" + +#: toolbox.py:210 toolbox.py:245 +msgid "Yellow" +msgstr "노랑" + +#: toolbox.py:211 toolbox.py:246 +msgid "Blue" +msgstr "파랑" + +#: toolbox.py:212 toolbox.py:247 +msgid "Green" +msgstr "그린" + +#: toolbox.py:213 toolbox.py:248 +msgid "Red" +msgstr "빨강" + +#: toolbox.py:214 toolbox.py:249 +msgid "Orange" +msgstr "오렌지" + +#: toolbox.py:215 toolbox.py:250 +msgid "White" +msgstr "하얀" + +#: toolbox.py:286 +msgid "1" +msgstr "1" + +#: toolbox.py:287 +msgid "2" +msgstr "2" + +#: toolbox.py:288 +msgid "3" +msgstr "3" + +#: toolbox.py:289 +msgid "5" +msgstr "5" + +#: toolbox.py:290 toolbox.py:606 +msgid "10" +msgstr "10" + +#: toolbox.py:291 +msgid "20" +msgstr "20" + +#: toolbox.py:292 toolbox.py:604 +msgid "50" +msgstr "50" + +#: toolbox.py:293 toolbox.py:603 +msgid "100" +msgstr "100" + +#: toolbox.py:294 toolbox.py:600 +msgid "500" +msgstr "500" + +#: toolbox.py:295 toolbox.py:599 +msgid "1000" +msgstr "1000" + +#: toolbox.py:296 +msgid "5000" +msgstr "5000" + +#: toolbox.py:297 +msgid "10000" +msgstr "10000" + +#: toolbox.py:298 +msgid "100000" +msgstr "100000" + +#: toolbox.py:354 +msgid "Ellipse" +msgstr "이클립스" + +#: toolbox.py:359 +msgid "Rectangle" +msgstr "사각" + +#: toolbox.py:364 +msgid "Line" +msgstr "선" + +#: toolbox.py:429 +msgid "Type" +msgstr "타입" + +#: toolbox.py:482 +msgid "object-insert" +msgstr "오브젝트 삽입" + +#: toolbox.py:525 toolbox.py:711 +msgid "Open File..." +msgstr "파일 열기…" + +#: toolbox.py:559 +msgid "Grayscale" +msgstr "그레이 스케일" + +#: toolbox.py:601 +msgid "200" +msgstr "200" + +#: toolbox.py:602 +msgid "150" +msgstr "150" + +#: toolbox.py:605 +msgid "25" +msgstr "25" + +#: toolbox.py:619 +msgid "ZOOM +" +msgstr "ZOOM +" + +#: toolbox.py:624 +msgid "ZOOM -" +msgstr "ZOOM -" diff --git a/po/.svn/text-base/pt_BR.po.svn-base b/po/.svn/text-base/pt_BR.po.svn-base new file mode 100644 index 0000000..62d63ef --- /dev/null +++ b/po/.svn/text-base/pt_BR.po.svn-base @@ -0,0 +1,205 @@ +# Portuguese translations for Oficina package. +# Copyright (C) 2007 GNU General Public License +# This file is distributed under the same license as the Oficina package. +# Nathalia , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: 1.0\n" +"Report-Msgid-Bugs-To: Irene \n" +"POT-Creation-Date: 2007-07-13 17:56-0300\n" +"PO-Revision-Date: 2007-07-13 18:00-0300\n" +"Last-Translator: Nathalia \n" +"Language-Team: Portuguese\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: toolbox.py:22 +msgid "Edit" +msgstr "Editar" + +#: toolbox.py:26 +msgid "Tools" +msgstr "Ferramentas" + +#: toolbox.py:30 +msgid "Shapes" +msgstr "Formas" + +#: toolbox.py:34 +msgid "Text" +msgstr "Texto" + +#: toolbox.py:38 +msgid "Image" +msgstr "Imagem" + +#: toolbox.py:42 +msgid "Effects" +msgstr "Efeitos" + +#: toolbox.py:114 +msgid "Pencil" +msgstr "Lápis" + +#: toolbox.py:119 +msgid "Brush" +msgstr "Pincel" + +#: toolbox.py:126 +msgid "Eraser" +msgstr "Borracha" + +#: toolbox.py:131 +msgid "Polygon" +msgstr "Polígono" + +#: toolbox.py:136 +msgid "Bucket" +msgstr "Balde" + +#: toolbox.py:159 +msgid "Rectangular Marquee" +msgstr "Seleção Retangular" + +#: toolbox.py:176 +msgid "Square" +msgstr "Quadrado" + +#: toolbox.py:177 +msgid "Circle" +msgstr "Círculo" + +#: toolbox.py:208 toolbox.py:243 +msgid "Black" +msgstr "Preto" + +#: toolbox.py:209 toolbox.py:244 +msgid "Purple" +msgstr "Roxo" + +#: toolbox.py:210 toolbox.py:245 +msgid "Yellow" +msgstr "Amarelo" + +#: toolbox.py:211 toolbox.py:246 +msgid "Blue" +msgstr "Azul" + +#: toolbox.py:212 toolbox.py:247 +msgid "Green" +msgstr "Verde" + +#: toolbox.py:213 toolbox.py:248 +msgid "Red" +msgstr "Vermelho" + +#: toolbox.py:214 toolbox.py:249 +msgid "Orange" +msgstr "Laranja" + +#: toolbox.py:215 toolbox.py:250 +msgid "White" +msgstr "Branco" + +#: toolbox.py:286 +msgid "1" +msgstr "1" + +#: toolbox.py:287 +msgid "2" +msgstr "2" + +#: toolbox.py:288 +msgid "3" +msgstr "3" + +#: toolbox.py:289 +msgid "5" +msgstr "5" + +#: toolbox.py:290 toolbox.py:606 +msgid "10" +msgstr "10" + +#: toolbox.py:291 +msgid "20" +msgstr "20" + +#: toolbox.py:292 toolbox.py:604 +msgid "50" +msgstr "50" + +#: toolbox.py:293 toolbox.py:603 +msgid "100" +msgstr "100" + +#: toolbox.py:294 toolbox.py:600 +msgid "500" +msgstr "500" + +#: toolbox.py:295 toolbox.py:599 +msgid "1000" +msgstr "1000" + +#: toolbox.py:296 +msgid "5000" +msgstr "5000" + +#: toolbox.py:297 +msgid "10000" +msgstr "10000" + +#: toolbox.py:298 +msgid "100000" +msgstr "100000" + +#: toolbox.py:354 +msgid "Ellipse" +msgstr "Elipse" + +#: toolbox.py:359 +msgid "Rectangle" +msgstr "Retângulo" + +#: toolbox.py:364 +msgid "Line" +msgstr "Linha" + +#: toolbox.py:429 +msgid "Type" +msgstr "Tipo" + +#: toolbox.py:482 +msgid "object-insert" +msgstr "Inserir Imagem" + +#: toolbox.py:525 toolbox.py:711 +msgid "Open File..." +msgstr "Abrir Arquivo" + +#: toolbox.py:559 +msgid "Grayscale" +msgstr "Escala de Cinza" + +#: toolbox.py:601 +msgid "200" +msgstr "200" + +#: toolbox.py:602 +msgid "150" +msgstr "150" + +#: toolbox.py:605 +msgid "25" +msgstr "25" + +#: toolbox.py:619 +msgid "ZOOM +" +msgstr "ZOOM +" + +#: toolbox.py:624 +msgid "ZOOM -" +msgstr "ZOOM -" diff --git a/po/de.po b/po/de.po new file mode 100644 index 0000000..20a9afa --- /dev/null +++ b/po/de.po @@ -0,0 +1,205 @@ +# German translations for Oficina package. +# Copyright (C) 2007 GNU General Public License +# This file is distributed under the same license as the Oficina package. +# Nathalia , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: 1.0\n" +"Report-Msgid-Bugs-To: Irene \n" +"POT-Creation-Date: 2007-07-13 17:56-0300\n" +"PO-Revision-Date: 2007-07-13 18:18-0300\n" +"Last-Translator: Nathalia \n" +"Language-Team: German\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: toolbox.py:22 +msgid "Edit" +msgstr "Redigieren" + +#: toolbox.py:26 +msgid "Tools" +msgstr "Werkzeuge" + +#: toolbox.py:30 +msgid "Shapes" +msgstr "Formen" + +#: toolbox.py:34 +msgid "Text" +msgstr "Text" + +#: toolbox.py:38 +msgid "Image" +msgstr "Bild" + +#: toolbox.py:42 +msgid "Effects" +msgstr "Effekt" + +#: toolbox.py:114 +msgid "Pencil" +msgstr "Bleistift" + +#: toolbox.py:119 +msgid "Brush" +msgstr "Bürste" + +#: toolbox.py:126 +msgid "Eraser" +msgstr "Radiergummi" + +#: toolbox.py:131 +msgid "Polygon" +msgstr "Polygon" + +#: toolbox.py:136 +msgid "Bucket" +msgstr "Wanne" + +#: toolbox.py:159 +msgid "Rectangular Marquee" +msgstr "Rechteckiges Festzelt" + +#: toolbox.py:176 +msgid "Square" +msgstr "Quadrat" + +#: toolbox.py:177 +msgid "Circle" +msgstr "Kreis" + +#: toolbox.py:208 toolbox.py:243 +msgid "Black" +msgstr "Schwarz" + +#: toolbox.py:209 toolbox.py:244 +msgid "Purple" +msgstr "Lila" + +#: toolbox.py:210 toolbox.py:245 +msgid "Yellow" +msgstr "Gelb" + +#: toolbox.py:211 toolbox.py:246 +msgid "Blue" +msgstr "Blau" + +#: toolbox.py:212 toolbox.py:247 +msgid "Green" +msgstr "Grün" + +#: toolbox.py:213 toolbox.py:248 +msgid "Red" +msgstr "Rot" + +#: toolbox.py:214 toolbox.py:249 +msgid "Orange" +msgstr "Orange" + +#: toolbox.py:215 toolbox.py:250 +msgid "White" +msgstr "Weiss" + +#: toolbox.py:286 +msgid "1" +msgstr "1" + +#: toolbox.py:287 +msgid "2" +msgstr "2" + +#: toolbox.py:288 +msgid "3" +msgstr "3" + +#: toolbox.py:289 +msgid "5" +msgstr "5" + +#: toolbox.py:290 toolbox.py:606 +msgid "10" +msgstr "10" + +#: toolbox.py:291 +msgid "20" +msgstr "20" + +#: toolbox.py:292 toolbox.py:604 +msgid "50" +msgstr "50" + +#: toolbox.py:293 toolbox.py:603 +msgid "100" +msgstr "100" + +#: toolbox.py:294 toolbox.py:600 +msgid "500" +msgstr "500" + +#: toolbox.py:295 toolbox.py:599 +msgid "1000" +msgstr "1000" + +#: toolbox.py:296 +msgid "5000" +msgstr "5000" + +#: toolbox.py:297 +msgid "10000" +msgstr "10000" + +#: toolbox.py:298 +msgid "100000" +msgstr "100000" + +#: toolbox.py:354 +msgid "Ellipse" +msgstr "Ellipse" + +#: toolbox.py:359 +msgid "Rectangle" +msgstr "Viereck" + +#: toolbox.py:364 +msgid "Line" +msgstr "Linie" + +#: toolbox.py:429 +msgid "Type" +msgstr "Type" + +#: toolbox.py:482 +msgid "object-insert" +msgstr "Bild-einsetzen" + +#: toolbox.py:525 toolbox.py:711 +msgid "Open File..." +msgstr "Akte öffnen…" + +#: toolbox.py:559 +msgid "Grayscale" +msgstr "Graue Skala" + +#: toolbox.py:601 +msgid "200" +msgstr "200" + +#: toolbox.py:602 +msgid "150" +msgstr "150" + +#: toolbox.py:605 +msgid "25" +msgstr "25" + +#: toolbox.py:619 +msgid "ZOOM +" +msgstr "ZOOM +" + +#: toolbox.py:624 +msgid "ZOOM -" +msgstr "ZOOM -" diff --git a/po/drawing.pot b/po/drawing.pot new file mode 100755 index 0000000..1bafd10 --- /dev/null +++ b/po/drawing.pot @@ -0,0 +1,205 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-07-13 17:56-0300\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +#: toolbox.py:22 +msgid "Edit" +msgstr "" + +#: toolbox.py:26 +msgid "Tools" +msgstr "" + +#: toolbox.py:30 +msgid "Shapes" +msgstr "" + +#: toolbox.py:34 +msgid "Text" +msgstr "" + +#: toolbox.py:38 +msgid "Image" +msgstr "" + +#: toolbox.py:42 +msgid "Effects" +msgstr "" + +#: toolbox.py:114 +msgid "Pencil" +msgstr "" + +#: toolbox.py:119 +msgid "Brush" +msgstr "" + +#: toolbox.py:126 +msgid "Eraser" +msgstr "" + +#: toolbox.py:131 +msgid "Polygon" +msgstr "" + +#: toolbox.py:136 +msgid "Bucket" +msgstr "" + +#: toolbox.py:159 +msgid "Rectangular Marquee" +msgstr "" + +#: toolbox.py:176 +msgid "Square" +msgstr "" + +#: toolbox.py:177 +msgid "Circle" +msgstr "" + +#: toolbox.py:208 toolbox.py:243 +msgid "Black" +msgstr "" + +#: toolbox.py:209 toolbox.py:244 +msgid "Purple" +msgstr "" + +#: toolbox.py:210 toolbox.py:245 +msgid "Yellow" +msgstr "" + +#: toolbox.py:211 toolbox.py:246 +msgid "Blue" +msgstr "" + +#: toolbox.py:212 toolbox.py:247 +msgid "Green" +msgstr "" + +#: toolbox.py:213 toolbox.py:248 +msgid "Red" +msgstr "" + +#: toolbox.py:214 toolbox.py:249 +msgid "Orange" +msgstr "" + +#: toolbox.py:215 toolbox.py:250 +msgid "White" +msgstr "" + +#: toolbox.py:286 +msgid "1" +msgstr "" + +#: toolbox.py:287 +msgid "2" +msgstr "" + +#: toolbox.py:288 +msgid "3" +msgstr "" + +#: toolbox.py:289 +msgid "5" +msgstr "" + +#: toolbox.py:290 toolbox.py:606 +msgid "10" +msgstr "" + +#: toolbox.py:291 +msgid "20" +msgstr "" + +#: toolbox.py:292 toolbox.py:604 +msgid "50" +msgstr "" + +#: toolbox.py:293 toolbox.py:603 +msgid "100" +msgstr "" + +#: toolbox.py:294 toolbox.py:600 +msgid "500" +msgstr "" + +#: toolbox.py:295 toolbox.py:599 +msgid "1000" +msgstr "" + +#: toolbox.py:296 +msgid "5000" +msgstr "" + +#: toolbox.py:297 +msgid "10000" +msgstr "" + +#: toolbox.py:298 +msgid "100000" +msgstr "" + +#: toolbox.py:354 +msgid "Ellipse" +msgstr "" + +#: toolbox.py:359 +msgid "Rectangle" +msgstr "" + +#: toolbox.py:364 +msgid "Line" +msgstr "" + +#: toolbox.py:429 +msgid "Type" +msgstr "" + +#: toolbox.py:482 +msgid "object-insert" +msgstr "" + +#: toolbox.py:525 toolbox.py:711 +msgid "Open File..." +msgstr "" + +#: toolbox.py:559 +msgid "Grayscale" +msgstr "" + +#: toolbox.py:601 +msgid "200" +msgstr "" + +#: toolbox.py:602 +msgid "150" +msgstr "" + +#: toolbox.py:605 +msgid "25" +msgstr "" + +#: toolbox.py:619 +msgid "ZOOM +" +msgstr "" + +#: toolbox.py:624 +msgid "ZOOM -" +msgstr "" diff --git a/po/es.po b/po/es.po new file mode 100644 index 0000000..4916f8f --- /dev/null +++ b/po/es.po @@ -0,0 +1,205 @@ +# Spanish translations for Oficina package. +# Copyright (C) 2007 GNU General Public License +# This file is distributed under the same license as the Oficina package. +# Nathalia , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: 1.0\n" +"Report-Msgid-Bugs-To: Irene \n" +"POT-Creation-Date: 2007-07-13 17:56-0300\n" +"PO-Revision-Date: 2007-07-13 18:17-0300\n" +"Last-Translator: Nathalia \n" +"Language-Team: Spanish\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: toolbox.py:22 +msgid "Edit" +msgstr "Editar" + +#: toolbox.py:26 +msgid "Tools" +msgstr "Herramientas" + +#: toolbox.py:30 +msgid "Shapes" +msgstr "Formas" + +#: toolbox.py:34 +msgid "Text" +msgstr "Texto" + +#: toolbox.py:38 +msgid "Image" +msgstr "Imagen" + +#: toolbox.py:42 +msgid "Effects" +msgstr "Efectos" + +#: toolbox.py:114 +msgid "Pencil" +msgstr "Lápiz" + +#: toolbox.py:119 +msgid "Brush" +msgstr "Pincel" + +#: toolbox.py:126 +msgid "Eraser" +msgstr "Goma" + +#: toolbox.py:131 +msgid "Polygon" +msgstr "Polígono" + +#: toolbox.py:136 +msgid "Bucket" +msgstr "Balde" + +#: toolbox.py:159 +msgid "Rectangular Marquee" +msgstr "Selección Rectangular" + +#: toolbox.py:176 +msgid "Square" +msgstr "Cuadrado" + +#: toolbox.py:177 +msgid "Circle" +msgstr "Círculo" + +#: toolbox.py:208 toolbox.py:243 +msgid "Black" +msgstr "Negro" + +#: toolbox.py:209 toolbox.py:244 +msgid "Purple" +msgstr "Violeta" + +#: toolbox.py:210 toolbox.py:245 +msgid "Yellow" +msgstr "Amarillo" + +#: toolbox.py:211 toolbox.py:246 +msgid "Blue" +msgstr "Azul" + +#: toolbox.py:212 toolbox.py:247 +msgid "Green" +msgstr "Verde" + +#: toolbox.py:213 toolbox.py:248 +msgid "Red" +msgstr "Rojo" + +#: toolbox.py:214 toolbox.py:249 +msgid "Orange" +msgstr "Naranja" + +#: toolbox.py:215 toolbox.py:250 +msgid "White" +msgstr "Blanco" + +#: toolbox.py:286 +msgid "1" +msgstr "1" + +#: toolbox.py:287 +msgid "2" +msgstr "2" + +#: toolbox.py:288 +msgid "3" +msgstr "3" + +#: toolbox.py:289 +msgid "5" +msgstr "5" + +#: toolbox.py:290 toolbox.py:606 +msgid "10" +msgstr "10" + +#: toolbox.py:291 +msgid "20" +msgstr "20" + +#: toolbox.py:292 toolbox.py:604 +msgid "50" +msgstr "50" + +#: toolbox.py:293 toolbox.py:603 +msgid "100" +msgstr "100" + +#: toolbox.py:294 toolbox.py:600 +msgid "500" +msgstr "500" + +#: toolbox.py:295 toolbox.py:599 +msgid "1000" +msgstr "1000" + +#: toolbox.py:296 +msgid "5000" +msgstr "5000" + +#: toolbox.py:297 +msgid "10000" +msgstr "10000" + +#: toolbox.py:298 +msgid "100000" +msgstr "100000" + +#: toolbox.py:354 +msgid "Ellipse" +msgstr "Elipsis" + +#: toolbox.py:359 +msgid "Rectangle" +msgstr "Rectángulo" + +#: toolbox.py:364 +msgid "Line" +msgstr "Línea" + +#: toolbox.py:429 +msgid "Type" +msgstr "Tipo" + +#: toolbox.py:482 +msgid "object-insert" +msgstr "Insertar Imagen" + +#: toolbox.py:525 toolbox.py:711 +msgid "Open File..." +msgstr "Abrir el Fichero…" + +#: toolbox.py:559 +msgid "Grayscale" +msgstr "Escala de Gris" + +#: toolbox.py:601 +msgid "200" +msgstr "200" + +#: toolbox.py:602 +msgid "150" +msgstr "150" + +#: toolbox.py:605 +msgid "25" +msgstr "25" + +#: toolbox.py:619 +msgid "ZOOM +" +msgstr "ZOOM +" + +#: toolbox.py:624 +msgid "ZOOM -" +msgstr "ZOOM -" diff --git a/po/fr.po b/po/fr.po new file mode 100644 index 0000000..4ff2d09 --- /dev/null +++ b/po/fr.po @@ -0,0 +1,205 @@ +# French translations for Oficina package. +# Copyright (C) 2007 GNU General Public License +# This file is distributed under the same license as the Oficina package. +# Nathalia , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: 1.0\n" +"Report-Msgid-Bugs-To: Irene \n" +"POT-Creation-Date: 2007-07-13 17:56-0300\n" +"PO-Revision-Date: 2007-07-13 18:15-0300\n" +"Last-Translator: Nathalia \n" +"Language-Team: French\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: toolbox.py:22 +msgid "Edit" +msgstr "Éditer" + +#: toolbox.py:26 +msgid "Tools" +msgstr "Outils" + +#: toolbox.py:30 +msgid "Shapes" +msgstr "Formes" + +#: toolbox.py:34 +msgid "Text" +msgstr "Texte" + +#: toolbox.py:38 +msgid "Image" +msgstr "Image" + +#: toolbox.py:42 +msgid "Effects" +msgstr "Effet" + +#: toolbox.py:114 +msgid "Pencil" +msgstr "Crayon" + +#: toolbox.py:119 +msgid "Brush" +msgstr "Pinceau" + +#: toolbox.py:126 +msgid "Eraser" +msgstr "Gomme" + +#: toolbox.py:131 +msgid "Polygon" +msgstr "Polygone" + +#: toolbox.py:136 +msgid "Bucket" +msgstr "Seau" + +#: toolbox.py:159 +msgid "Rectangular Marquee" +msgstr "Sélection Rectangulaire" + +#: toolbox.py:176 +msgid "Square" +msgstr "Carré" + +#: toolbox.py:177 +msgid "Circle" +msgstr "Cercle" + +#: toolbox.py:208 toolbox.py:243 +msgid "Black" +msgstr "Noir" + +#: toolbox.py:209 toolbox.py:244 +msgid "Purple" +msgstr "Violet" + +#: toolbox.py:210 toolbox.py:245 +msgid "Yellow" +msgstr "Jaune" + +#: toolbox.py:211 toolbox.py:246 +msgid "Blue" +msgstr "Bleu" + +#: toolbox.py:212 toolbox.py:247 +msgid "Green" +msgstr "Vert" + +#: toolbox.py:213 toolbox.py:248 +msgid "Red" +msgstr "Rouge" + +#: toolbox.py:214 toolbox.py:249 +msgid "Orange" +msgstr "Orange" + +#: toolbox.py:215 toolbox.py:250 +msgid "White" +msgstr "Blanc" + +#: toolbox.py:286 +msgid "1" +msgstr "1" + +#: toolbox.py:287 +msgid "2" +msgstr "2" + +#: toolbox.py:288 +msgid "3" +msgstr "3" + +#: toolbox.py:289 +msgid "5" +msgstr "5" + +#: toolbox.py:290 toolbox.py:606 +msgid "10" +msgstr "10" + +#: toolbox.py:291 +msgid "20" +msgstr "20" + +#: toolbox.py:292 toolbox.py:604 +msgid "50" +msgstr "50" + +#: toolbox.py:293 toolbox.py:603 +msgid "100" +msgstr "100" + +#: toolbox.py:294 toolbox.py:600 +msgid "500" +msgstr "500" + +#: toolbox.py:295 toolbox.py:599 +msgid "1000" +msgstr "1000" + +#: toolbox.py:296 +msgid "5000" +msgstr "5000" + +#: toolbox.py:297 +msgid "10000" +msgstr "10000" + +#: toolbox.py:298 +msgid "100000" +msgstr "100000" + +#: toolbox.py:354 +msgid "Ellipse" +msgstr "Ellipse" + +#: toolbox.py:359 +msgid "Rectangle" +msgstr "Rectangle" + +#: toolbox.py:364 +msgid "Line" +msgstr "Ligne" + +#: toolbox.py:429 +msgid "Type" +msgstr "Type" + +#: toolbox.py:482 +msgid "object-insert" +msgstr "Insérer la Image" + +#: toolbox.py:525 toolbox.py:711 +msgid "Open File..." +msgstr "Ouvrir le Dossier..." + +#: toolbox.py:559 +msgid "Grayscale" +msgstr "Eswcale de Gris" + +#: toolbox.py:601 +msgid "200" +msgstr "200" + +#: toolbox.py:602 +msgid "150" +msgstr "150" + +#: toolbox.py:605 +msgid "25" +msgstr "25" + +#: toolbox.py:619 +msgid "ZOOM +" +msgstr "ZOOM +" + +#: toolbox.py:624 +msgid "ZOOM -" +msgstr "ZOOM -" diff --git a/po/ko_KO.po b/po/ko_KO.po new file mode 100644 index 0000000..b4929a0 --- /dev/null +++ b/po/ko_KO.po @@ -0,0 +1,205 @@ +# Korean translations for Oficina package. +# Copyright (C) 2007 GNU General Public License +# This file is distributed under the same license as the Oficina package. +# Do Young-Min , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: 1.0\n" +"Report-Msgid-Bugs-To: Irene \n" +"POT-Creation-Date: 2007-07-13 17:56-0300\n" +"PO-Revision-Date: 2007-07-13 18:19-0300\n" +"Last-Translator: Nathalia \n" +"Language-Team: Korean\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: toolbox.py:22 +msgid "Edit" +msgstr "편집" + +#: toolbox.py:26 +msgid "Tools" +msgstr "툴" + +#: toolbox.py:30 +msgid "Shapes" +msgstr "도형" + +#: toolbox.py:34 +msgid "Text" +msgstr "텍스트" + +#: toolbox.py:38 +msgid "Image" +msgstr "이미지" + +#: toolbox.py:42 +msgid "Effects" +msgstr "효과" + +#: toolbox.py:114 +msgid "Pencil" +msgstr "연필" + +#: toolbox.py:119 +msgid "Brush" +msgstr "붓" + +#: toolbox.py:126 +msgid "Eraser" +msgstr "지우개" + +#: toolbox.py:131 +msgid "Polygon" +msgstr "" + +#: toolbox.py:136 +msgid "Bucket" +msgstr "" + +#: toolbox.py:159 +msgid "Rectangular Marquee" +msgstr "사각 마퀴" + +#: toolbox.py:176 +msgid "Square" +msgstr "" + +#: toolbox.py:177 +msgid "Circle" +msgstr "" + +#: toolbox.py:208 toolbox.py:243 +msgid "Black" +msgstr "검정" + +#: toolbox.py:209 toolbox.py:244 +msgid "Purple" +msgstr "자주" + +#: toolbox.py:210 toolbox.py:245 +msgid "Yellow" +msgstr "노랑" + +#: toolbox.py:211 toolbox.py:246 +msgid "Blue" +msgstr "파랑" + +#: toolbox.py:212 toolbox.py:247 +msgid "Green" +msgstr "그린" + +#: toolbox.py:213 toolbox.py:248 +msgid "Red" +msgstr "빨강" + +#: toolbox.py:214 toolbox.py:249 +msgid "Orange" +msgstr "오렌지" + +#: toolbox.py:215 toolbox.py:250 +msgid "White" +msgstr "하얀" + +#: toolbox.py:286 +msgid "1" +msgstr "1" + +#: toolbox.py:287 +msgid "2" +msgstr "2" + +#: toolbox.py:288 +msgid "3" +msgstr "3" + +#: toolbox.py:289 +msgid "5" +msgstr "5" + +#: toolbox.py:290 toolbox.py:606 +msgid "10" +msgstr "10" + +#: toolbox.py:291 +msgid "20" +msgstr "20" + +#: toolbox.py:292 toolbox.py:604 +msgid "50" +msgstr "50" + +#: toolbox.py:293 toolbox.py:603 +msgid "100" +msgstr "100" + +#: toolbox.py:294 toolbox.py:600 +msgid "500" +msgstr "500" + +#: toolbox.py:295 toolbox.py:599 +msgid "1000" +msgstr "1000" + +#: toolbox.py:296 +msgid "5000" +msgstr "5000" + +#: toolbox.py:297 +msgid "10000" +msgstr "10000" + +#: toolbox.py:298 +msgid "100000" +msgstr "100000" + +#: toolbox.py:354 +msgid "Ellipse" +msgstr "이클립스" + +#: toolbox.py:359 +msgid "Rectangle" +msgstr "사각" + +#: toolbox.py:364 +msgid "Line" +msgstr "선" + +#: toolbox.py:429 +msgid "Type" +msgstr "타입" + +#: toolbox.py:482 +msgid "object-insert" +msgstr "오브젝트 삽입" + +#: toolbox.py:525 toolbox.py:711 +msgid "Open File..." +msgstr "파일 열기…" + +#: toolbox.py:559 +msgid "Grayscale" +msgstr "그레이 스케일" + +#: toolbox.py:601 +msgid "200" +msgstr "200" + +#: toolbox.py:602 +msgid "150" +msgstr "150" + +#: toolbox.py:605 +msgid "25" +msgstr "25" + +#: toolbox.py:619 +msgid "ZOOM +" +msgstr "ZOOM +" + +#: toolbox.py:624 +msgid "ZOOM -" +msgstr "ZOOM -" diff --git a/po/pt_BR.po b/po/pt_BR.po new file mode 100755 index 0000000..62d63ef --- /dev/null +++ b/po/pt_BR.po @@ -0,0 +1,205 @@ +# Portuguese translations for Oficina package. +# Copyright (C) 2007 GNU General Public License +# This file is distributed under the same license as the Oficina package. +# Nathalia , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: 1.0\n" +"Report-Msgid-Bugs-To: Irene \n" +"POT-Creation-Date: 2007-07-13 17:56-0300\n" +"PO-Revision-Date: 2007-07-13 18:00-0300\n" +"Last-Translator: Nathalia \n" +"Language-Team: Portuguese\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: toolbox.py:22 +msgid "Edit" +msgstr "Editar" + +#: toolbox.py:26 +msgid "Tools" +msgstr "Ferramentas" + +#: toolbox.py:30 +msgid "Shapes" +msgstr "Formas" + +#: toolbox.py:34 +msgid "Text" +msgstr "Texto" + +#: toolbox.py:38 +msgid "Image" +msgstr "Imagem" + +#: toolbox.py:42 +msgid "Effects" +msgstr "Efeitos" + +#: toolbox.py:114 +msgid "Pencil" +msgstr "Lápis" + +#: toolbox.py:119 +msgid "Brush" +msgstr "Pincel" + +#: toolbox.py:126 +msgid "Eraser" +msgstr "Borracha" + +#: toolbox.py:131 +msgid "Polygon" +msgstr "Polígono" + +#: toolbox.py:136 +msgid "Bucket" +msgstr "Balde" + +#: toolbox.py:159 +msgid "Rectangular Marquee" +msgstr "Seleção Retangular" + +#: toolbox.py:176 +msgid "Square" +msgstr "Quadrado" + +#: toolbox.py:177 +msgid "Circle" +msgstr "Círculo" + +#: toolbox.py:208 toolbox.py:243 +msgid "Black" +msgstr "Preto" + +#: toolbox.py:209 toolbox.py:244 +msgid "Purple" +msgstr "Roxo" + +#: toolbox.py:210 toolbox.py:245 +msgid "Yellow" +msgstr "Amarelo" + +#: toolbox.py:211 toolbox.py:246 +msgid "Blue" +msgstr "Azul" + +#: toolbox.py:212 toolbox.py:247 +msgid "Green" +msgstr "Verde" + +#: toolbox.py:213 toolbox.py:248 +msgid "Red" +msgstr "Vermelho" + +#: toolbox.py:214 toolbox.py:249 +msgid "Orange" +msgstr "Laranja" + +#: toolbox.py:215 toolbox.py:250 +msgid "White" +msgstr "Branco" + +#: toolbox.py:286 +msgid "1" +msgstr "1" + +#: toolbox.py:287 +msgid "2" +msgstr "2" + +#: toolbox.py:288 +msgid "3" +msgstr "3" + +#: toolbox.py:289 +msgid "5" +msgstr "5" + +#: toolbox.py:290 toolbox.py:606 +msgid "10" +msgstr "10" + +#: toolbox.py:291 +msgid "20" +msgstr "20" + +#: toolbox.py:292 toolbox.py:604 +msgid "50" +msgstr "50" + +#: toolbox.py:293 toolbox.py:603 +msgid "100" +msgstr "100" + +#: toolbox.py:294 toolbox.py:600 +msgid "500" +msgstr "500" + +#: toolbox.py:295 toolbox.py:599 +msgid "1000" +msgstr "1000" + +#: toolbox.py:296 +msgid "5000" +msgstr "5000" + +#: toolbox.py:297 +msgid "10000" +msgstr "10000" + +#: toolbox.py:298 +msgid "100000" +msgstr "100000" + +#: toolbox.py:354 +msgid "Ellipse" +msgstr "Elipse" + +#: toolbox.py:359 +msgid "Rectangle" +msgstr "Retângulo" + +#: toolbox.py:364 +msgid "Line" +msgstr "Linha" + +#: toolbox.py:429 +msgid "Type" +msgstr "Tipo" + +#: toolbox.py:482 +msgid "object-insert" +msgstr "Inserir Imagem" + +#: toolbox.py:525 toolbox.py:711 +msgid "Open File..." +msgstr "Abrir Arquivo" + +#: toolbox.py:559 +msgid "Grayscale" +msgstr "Escala de Cinza" + +#: toolbox.py:601 +msgid "200" +msgstr "200" + +#: toolbox.py:602 +msgid "150" +msgstr "150" + +#: toolbox.py:605 +msgid "25" +msgstr "25" + +#: toolbox.py:619 +msgid "ZOOM +" +msgstr "ZOOM +" + +#: toolbox.py:624 +msgid "ZOOM -" +msgstr "ZOOM -" diff --git a/setup.py b/setup.py new file mode 100755 index 0000000..ea4fdfa --- /dev/null +++ b/setup.py @@ -0,0 +1,22 @@ +#!/bin/env python + +# Copyright (C) 2006, Red Hat, Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +from sugar.activity import bundlebuilder + +bundlebuilder.start() + diff --git a/toolbox.py b/toolbox.py new file mode 100644 index 0000000..89e7871 --- /dev/null +++ b/toolbox.py @@ -0,0 +1,738 @@ +from gettext import gettext as _ + +import gtk + +from sugar.activity.activity import ActivityToolbox, EditToolbar +from sugar.graphics import color +from sugar.graphics.toolcombobox import ToolComboBox +from sugar.graphics.toolbutton import ToolButton +from sugar.graphics.toggletoolbutton import ToggleToolButton +from sugar.graphics.combobox import ComboBox +from sugar.graphics.palette import Palette + +from Cursors import Cursors + +class Toolbox(ActivityToolbox): + def __init__(self, activity): + ActivityToolbox.__init__(self, activity) + + # creating toolbars for Draw activity + + self._edit_toolbar = DrawEditToolbar(activity) + self.add_toolbar(_('Edit'), self._edit_toolbar) + self._edit_toolbar.show() + + self._tools_toolbar = ToolsToolbar(activity) + self.add_toolbar(_('Tools'), self._tools_toolbar) + self._tools_toolbar.show() + + self._shapes_toolbar = ShapesToolbar(activity) + self.add_toolbar(_('Shapes'), self._shapes_toolbar) + self._shapes_toolbar.show() + + self._text_toolbar = TextToolbar(activity) + self.add_toolbar(_('Text'), self._text_toolbar) + self._text_toolbar.show() + + self._image_toolbar = ImageToolbar(activity) + self.add_toolbar(_('Image'), self._image_toolbar) + self._image_toolbar.show() + + self._effects_toolbar = EffectsToolbar(activity) + self.add_toolbar(_('Effects'), self._effects_toolbar) + self._effects_toolbar.show() + + #self._view_toolbar = ViewToolbar(activity) + #self.add_toolbar(_('View'), self._view_toolbar) + #self._view_toolbar.show() + + +class DrawEditToolbar(EditToolbar): + def __init__(self, activity): + EditToolbar.__init__(self) + + self.undo.connect('clicked', undo, activity) + self.redo.connect('clicked', redo, activity) + + #FIXME: buttons are not connected to the right callback + self.copy.connect('clicked', test_connect, activity, 'copy') + self.paste.connect('clicked', test_connect, activity, 'paste') + + self.copy.hide() + self.paste.hide() + + +class ToolsToolbar(gtk.Toolbar): + + _TOOL_PENCIL = 2 + _TOOL_BRUSH = 29 + _TOOL_ERASER = 3 + _TOOL_POLYGON = 27 + _TOOL_BUCKET = 28 + _TOOL_MARQUEE_ELLIPTICAL = 5 + _TOOL_MARQUEE_FREEFORM = 2 + _TOOL_MARQUEE_RECTANGULAR = 26 + _TOOL_MARQUEE_SMART = 2 + + + def __init__(self, activity): + gtk.Toolbar.__init__(self) + + # FIXME: This should be a file picker instead of a combobox + + self._activity = activity + + """ + self._icon_fill = ToolButton('icon-fill') + self.insert(self._icon_fill, -1) + self._icon_fill.show() + + tool_item = ComboFillColors(activity) + self.insert(tool_item, -1) + tool_item.show() + """ + + self._icon_stroke = ToolButton('icon-stroke') + self.insert(self._icon_stroke, -1) + self._icon_stroke.show() + + tool_item = ComboStrokeColors(activity) + self.insert(tool_item, -1) + tool_item.show() + + tool_item = ComboStrokeSize(activity) + self.insert(tool_item, -1) + tool_item.show() + + separator = gtk.SeparatorToolItem() + self.insert(separator, -1) + separator.show() + + self._tool_pencil = ToolButton('tool-pencil') + self.insert(self._tool_pencil, -1) + self._tool_pencil.show() + self._tool_pencil.set_tooltip(_('Pencil')) + + self._tool_brush = ToolButton('tool-brush') + self.insert(self._tool_brush, -1) + self._tool_brush.show() + self._tool_brush.set_tooltip(_('Brush')) + self._brush_palette = self.create_palette('Brush') + self._tool_brush.set_palette(self._brush_palette) + + self._tool_eraser = ToolButton('tool-eraser') + self.insert(self._tool_eraser, -1) + self._tool_eraser.show() + self._tool_eraser.set_tooltip(_('Eraser')) + + self._tool_polygon = ToolButton('tool-polygon') + self.insert(self._tool_polygon, -1) + self._tool_polygon.show() + self._tool_polygon.set_tooltip(_('Polygon')) + + self._tool_bucket = ToolButton('tool-bucket') + self.insert(self._tool_bucket, -1) + self._tool_bucket.show() + self._tool_bucket.set_tooltip(_('Bucket')) + + """ + + + self._tool_marquee_elliptical = ToolButton('tool-marquee-elliptical') + self.insert(self._tool_marquee_elliptical, -1) + self._tool_marquee_elliptical.show() + self._tool_marquee_elliptical.set_tooltip(_('Elliptical Marquee')) + + self._tool_marquee_freeform = ToolButton('tool-marquee-freeform') + self.insert(self._tool_marquee_freeform, -1) + self._tool_marquee_freeform.show() + self._tool_marquee_freeform.set_tooltip(_('Freeform Marquee')) + + self._tool_marquee_smart = ToolButton('tool-marquee-smart') + self.insert(self._tool_marquee_smart, -1) + self._tool_marquee_smart.show() + self._tool_marquee_smart.set_tooltip(_('Smart Marquee')) + """ + self._tool_marquee_rectangular = ToolButton('tool-marquee-rectangular') + self.insert(self._tool_marquee_rectangular, -1) + self._tool_marquee_rectangular.show() + self._tool_marquee_rectangular.set_tooltip(_('Rectangular Marquee')) + + self._tool_polygon.connect('clicked', set_tool, activity, 'tool-polygon', self._TOOL_POLYGON) + self._tool_pencil.connect('clicked', set_tool, activity, 'tool-pencil', self._TOOL_PENCIL) + self._tool_brush.connect('clicked', set_tool, activity, 'tool-brush', self._TOOL_BRUSH) + self._tool_eraser.connect('clicked', set_tool, activity, 'tool-eraser', self._TOOL_ERASER) + self._tool_bucket.connect('clicked', set_tool, activity, 'tool-bucket', self._TOOL_BUCKET) + #self._tool_marquee_elliptical.connect('clicked', set_tool, activity, 'tool-marquee-elliptical', self._TOOL_MARQUEE_ELLIPTICAL) + #self._tool_marquee_freeform.connect('clicked', set_tool, activity, 'tool-marquee-freeform', self._TOOL_MARQUEE_FREEFORM) + self._tool_marquee_rectangular.connect('clicked', set_tool, activity, 'tool-marquee-rectangular', self._TOOL_MARQUEE_RECTANGULAR) + #self._tool_marquee_smart.connect('clicked', set_tool, activity, 'tool-marquee-smart', self._TOOL_MARQUEE_SMART) + + def create_palette(self, data=None): + if data == None: + return None + elif data == 'Brush': + palette = Palette(_(data)) + item_1 = gtk.MenuItem(_('Square')) + item_2 = gtk.MenuItem(_('Circle')) + + palette.append_menu_item(item_1) + palette.append_menu_item(item_2) + item_1.show() + item_2.show() + item_1.connect('activate', self.test, 'square') + item_2.connect('activate', self.test, 'circle') + + return palette + + def test(self, button, data=None): + print button, data + self._activity._area.brush_shape = data + +class ComboFillColors(ToolComboBox): + + _ACTION_BLACK = 0 + _ACTION_PURPLE = 1 + _ACTION_YELLOW = 2 + _ACTION_BLUE = 3 + _ACTION_GREEN = 4 + _ACTION_RED = 5 + _ACTION_ORANGE = 6 + _ACTION_WHITE = 7 + + def __init__(self, activity): + ToolComboBox.__init__(self) + self._activity = activity + + self._fill_color = self.combo + self._fill_color.append_item(self._ACTION_BLACK, _('Black')) + self._fill_color.append_item(self._ACTION_PURPLE, _('Purple')) + self._fill_color.append_item(self._ACTION_YELLOW, _('Yellow')) + self._fill_color.append_item(self._ACTION_BLUE, _('Blue')) + self._fill_color.append_item(self._ACTION_GREEN, _('Green')) + self._fill_color.append_item(self._ACTION_RED, _('Red')) + self._fill_color.append_item(self._ACTION_ORANGE, _('Orange')) + self._fill_color.append_item(self._ACTION_WHITE, _('White')) + + self._fill_color.set_active(0) + self._fill_color.connect('changed', self.set_fill_color) + + + def set_fill_color(self, combo): + color = combo.get_active() + self._activity._area._set_fill_color(color) + + + +class ComboStrokeColors(ToolComboBox): + + _ACTION_BLACK = 0 + _ACTION_PURPLE = 1 + _ACTION_YELLOW = 2 + _ACTION_BLUE = 3 + _ACTION_GREEN = 4 + _ACTION_RED = 5 + _ACTION_ORANGE = 6 + _ACTION_WHITE = 7 + + def __init__(self, activity): + ToolComboBox.__init__(self) + self._stroke_color = self.combo + self._activity = activity + + self._stroke_color.append_item(self._ACTION_BLACK, _('Black')) + self._stroke_color.append_item(self._ACTION_PURPLE, _('Purple')) + self._stroke_color.append_item(self._ACTION_YELLOW, _('Yellow')) + self._stroke_color.append_item(self._ACTION_BLUE, _('Blue')) + self._stroke_color.append_item(self._ACTION_GREEN, _('Green')) + self._stroke_color.append_item(self._ACTION_RED, _('Red')) + self._stroke_color.append_item(self._ACTION_ORANGE, _('Orange')) + self._stroke_color.append_item(self._ACTION_WHITE, _('White')) + + self._stroke_color.set_active(0) + #self._stroke_color.connect('changed', self._combo_changed_cb) + self._stroke_color.connect('changed', self.set_stroke_color) + self.connect("focus", self.event_focus) + + def event_focus(self, combo): + print 'combostroke gained focus' + + def set_stroke_color(self, combo): + color = combo.get_active() + self._activity._area._set_stroke_color(color) + + +class ComboStrokeSize(ToolComboBox): + + _ACTION_1 = 1 + _ACTION_2 = 2 + _ACTION_3 = 3 + _ACTION_5 = 5 + _ACTION_10 = 10 + _ACTION_20 = 20 + _ACTION_50 = 50 + _ACTION_100 = 100 + _ACTION_500 = 500 + _ACTION_1000 = 1000 + _ACTION_5000 = 5000 + _ACTION_10000 = 10000 + _ACTION_100000 = 100000 + + def __init__(self, activity): + ToolComboBox.__init__(self) + self._activity = activity + + self._stroke_size = self.combo + self._stroke_size.append_item(self._ACTION_1, _('1')) + self._stroke_size.append_item(self._ACTION_2, _('2')) + self._stroke_size.append_item(self._ACTION_3, _('3')) + self._stroke_size.append_item(self._ACTION_5, _('5')) + self._stroke_size.append_item(self._ACTION_10, _('10')) + self._stroke_size.append_item(self._ACTION_20, _('20')) + self._stroke_size.append_item(self._ACTION_50, _('50')) + self._stroke_size.append_item(self._ACTION_100, _('100')) + self._stroke_size.append_item(self._ACTION_500, _('500')) + self._stroke_size.append_item(self._ACTION_1000, _('1000')) + self._stroke_size.append_item(self._ACTION_5000, _('5000')) + self._stroke_size.append_item(self._ACTION_10000, _('10000')) + self._stroke_size.append_item(self._ACTION_100000, _('100000')) + + self._stroke_size.set_active(0) + self._stroke_size.connect('changed', self._combo_changed_cb) + + def _combo_changed_cb(self, combo): + set_stroke_size(self._activity, combo.get_active()) + + +class ShapesToolbar(gtk.Toolbar): + + _TOOL_SHAPE_ARROW = 0 + _TOOL_SHAPE_CURVE = 0 + _TOOL_SHAPE_ELLIPSE = 5 + _TOOL_SHAPE_FREEFORM = 0 + _TOOL_SHAPE_HEART = 0 + _TOOL_SHAPE_LINE = 1 + _TOOL_SHAPE_PARALLELOGRAM = 0 + _TOOL_SHAPE_POLYGON = 27 + _TOOL_SHAPE_RECTANGLE = 6 + _TOOL_SHAPE_STAR = 0 + _TOOL_SHAPE_TRAPEZOID = 31 + _TOOL_SHAPE_TRIANGLE = 30 + + def __init__(self, activity): + gtk.Toolbar.__init__(self) + + self._icon_fill = ToolButton('icon-fill') + self.insert(self._icon_fill, -1) + self._icon_fill.show() + + # FIXME: This should be a file picker instead of a combobox + + tool_item = ComboFillColors(activity) + self.insert(tool_item, -1) + tool_item.show() + + self._icon_stroke = ToolButton('icon-stroke') + self.insert(self._icon_stroke, -1) + self._icon_stroke.show() + + tool_item = ComboStrokeColors(activity) + self.insert(tool_item, -1) + tool_item.show() + + tool_item = ComboStrokeSize(activity) + self.insert(tool_item, -1) + tool_item.show() + + separator = gtk.SeparatorToolItem() + self.insert(separator, -1) + separator.show() + + self._tool_shape_ellipse = ToolButton('tool-shape-ellipse') + self.insert(self._tool_shape_ellipse, -1) + self._tool_shape_ellipse.show() + self._tool_shape_ellipse.set_tooltip(_('Ellipse')) + + self._tool_shape_rectangle = ToolButton('tool-shape-rectangle') + self.insert(self._tool_shape_rectangle, -1) + self._tool_shape_rectangle.show() + self._tool_shape_rectangle.set_tooltip(_('Rectangle')) + + self._tool_shape_line = ToolButton('tool-shape-line') + self.insert(self._tool_shape_line, -1) + self._tool_shape_line.show() + self._tool_shape_line.set_tooltip(_('Line')) + """ + self._tool_shape_polygon = ToolButton('tool-shape-polygon') + self.insert(self._tool_shape_polygon, -1) + self._tool_shape_polygon.show() + self._tool_shape_polygon.set_tooltip(_('Polygon')) + + self._tool_shape_freeform = ToolButton('tool-shape-freeform') + self.insert(self._tool_shape_freeform, -1) + self._tool_shape_freeform.show() + self._tool_shape_freeform.set_tooltip(_('Freeform')) + + self._tool_shape_heart = ToolButton('tool-shape-heart') + self.insert(self._tool_shape_heart, -1) + self._tool_shape_heart.show() + self._tool_shape_heart.set_tooltip(_('Heart')) + + self._tool_shape_parallelogram = ToolButton('tool-shape-parallelogram') + self.insert(self._tool_shape_parallelogram, -1) + self._tool_shape_parallelogram.show() + self._tool_shape_parallelogram.set_tooltip(_('Parallelogram')) + + self._tool_shape_arrow = ToolButton('tool-shape-arrow') + self.insert(self._tool_shape_arrow, -1) + self._tool_shape_arrow.show() + self._tool_shape_arrow.set_tooltip(_('Arrow')) + + self._tool_shape_star = ToolButton('tool-shape-star') + self.insert(self._tool_shape_star, -1) + self._tool_shape_star.show() + self._tool_shape_star.set_tooltip(_('Star')) + + """ + + self._tool_shape_trapezoid = ToolButton('tool-shape-trapezoid') + self.insert(self._tool_shape_trapezoid, -1) + self._tool_shape_trapezoid.show() + self._tool_shape_trapezoid.set_tooltip(_('Trapezoid')) + + self._tool_shape_triangle = ToolButton('tool-shape-triangle') + self.insert(self._tool_shape_triangle, -1) + self._tool_shape_triangle.show() + self._tool_shape_triangle.set_tooltip(_('Triangle')) + + #self._tool_shape_arrow.connect('clicked', set_tool, activity, 'tool-shape-arrow', self._TOOL_SHAPE_ARROW) + self._tool_shape_ellipse.connect('clicked', set_tool, activity, 'tool-shape-ellipse', self._TOOL_SHAPE_ELLIPSE) + #self._tool_shape_freeform.connect('clicked', set_tool, activity, 'tool-shape-freeform', self._TOOL_SHAPE_FREEFORM) + #self._tool_shape_heart.connect('clicked', set_tool, activity, 'tool-shape-heart', self._TOOL_SHAPE_HEART) + self._tool_shape_line.connect('clicked', set_tool, activity, 'tool-shape-line', self._TOOL_SHAPE_LINE) + #self._tool_shape_parallelogram.connect('clicked', set_tool, activity, 'tool-shape-parallelogram', self._TOOL_SHAPE_PARALLELOGRAM) + #self._tool_shape_polygon.connect('clicked', set_tool, activity, 'tool-shape-polygon', self._TOOL_SHAPE_POLYGON) + self._tool_shape_rectangle.connect('clicked', set_tool, activity, 'tool-shape-rectangle', self._TOOL_SHAPE_RECTANGLE) + #self._tool_shape_star.connect('clicked', set_tool, activity, 'tool-shape-star', self._TOOL_SHAPE_STAR) + self._tool_shape_trapezoid.connect('clicked', set_tool, activity, 'tool-shape-trapezoid', self._TOOL_SHAPE_TRAPEZOID) + self._tool_shape_triangle.connect('clicked', set_tool, activity, 'tool-shape-triangle', self._TOOL_SHAPE_TRIANGLE) + + +class TextToolbar(gtk.Toolbar): + + _ACTION_TEXT = 4 + + def __init__(self, activity): + gtk.Toolbar.__init__(self) + + self._text = ToggleToolButton('text') + self.insert(self._text, -1) + self._text.show() + self._text.set_tooltip(_('Type')) + self._text.connect('clicked', set_tool, activity, 'text', self._ACTION_TEXT) + + """ + #FIXME: this button is not connected to the right callback + self._bold = ToggleToolButton('format-text-bold') + self.insert(self._bold, -1) + self._bold.show() + self._bold.connect('clicked', test_connect, activity, 'bold') + + #FIXME: this button is not connected to the right callback + self._italic = ToggleToolButton('format-text-italic') + self.insert(self._italic, -1) + self._italic.show() + self._italic.connect('clicked', test_connect, activity, 'italic') + + #FIXME: this button is not connected to the right callback + self._underline = ToggleToolButton('format-text-underline') + self.insert(self._underline, -1) + self._underline.show() + self._underline.connect('clicked', test_connect, activity, 'underline') + + # Displays a few colors in a ComboBox + # TODO: User's choice is done when clicking at the first Combo item + # TODO: Keep previous choices at the list + + self._text_color = ComboBox() + self._text_color.append_text('red') + + + #FIXME: must use a gtk.ToolItem to use 'insert' method + #self.insert(self._text_color, -1) + self._text_color.show() + """ + def type_text(self, activity): + set_tool(self._ACTION_TEXT, activity, 'text') + activity._textview.show() + + +class ImageToolbar(gtk.Toolbar): + + _OBJECT_HEIGHT = 30 + _OBJECT_INSERT = 31 + _OBJECT_ROTATE_LEFT = 32 + _OBJECT_ROTATE_RIGHT = 33 + _OBJECT_WIDTH = 34 + + def __init__(self, activity): + gtk.Toolbar.__init__(self) + + self._object_insert = ToolButton('object-insert') + self.insert(self._object_insert, -1) + self._object_insert.show() + self._object_insert.set_tooltip(_('object-insert')) + + separator = gtk.SeparatorToolItem() + separator.set_draw(True) + self.insert(separator, -1) + separator.show() + + """ + self._object_rotate_left = ToolButton('object-rotate-left') + self.insert(self._object_rotate_left, -1) + self._object_rotate_left.show() + self._object_rotate_left.set_tooltip(_('Rotate Left')) + + self._object_rotate_right = ToolButton('object-rotate-right') + self.insert(self._object_rotate_right, -1) + self._object_rotate_right.show() + self._object_rotate_right.set_tooltip(_('Rotate Right')) + + self._object_height = ToolButton('object-height') + self.insert(self._object_height, -1) + self._object_height.show() + self._object_height.connect('clicked', test_connect, activity, 'object-height') + self._object_height.set_tooltip(_('Height')) + + self._object_width = ToolButton('object-width') + self.insert(self._object_width, -1) + self._object_width.show() + self._object_width.set_tooltip(_('Width')) + + + self._object_height.connect('clicked', set_tool, activity, 'object-height', self._OBJECT_HEIGHT) + """ + self._object_insert.connect('clicked', self.insertImage, activity) + #self._object_rotate_left.connect('clicked', self.rotate_left, activity) + #self._object_rotate_right.connect('clicked', set_tool, activity, 'object-rotate-right', self._OBJECT_ROTATE_RIGHT) + #self._object_width.connect('clicked', set_tool, activity, 'object-width', self._OBJECT_WIDTH) + + def rotate_left(self, widget, activity): + #activity._area._rotate_left() + pass + + + def insertImage(self, widget, activity): + dialog = gtk.FileChooserDialog(title=(_('Open File...')), + action=gtk.FILE_CHOOSER_ACTION_OPEN, + buttons=(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL, + gtk.STOCK_OK, gtk.RESPONSE_OK)) + dialog.show_all() + response = dialog.run() + if response == gtk.RESPONSE_OK: + print dialog.get_filename(), 'selected' + #gtk28 = False + file_path = dialog.get_filename() + #file_path = decode_path((file_path,))[0] + #open(activity, file_path) + activity._area.d.loadImage(file_path) + elif response == gtk.RESPONSE_CANCEL: + print 'Closed, no files selected' + dialog.destroy() + + + +class EffectsToolbar(gtk.Toolbar): + + _ACTION_GRAYSCALE = 0 + + def __init__(self, activity): + gtk.Toolbar.__init__(self) + + separator = gtk.SeparatorToolItem() + self.insert(separator, -1) + separator.show() + + self._effect_grayscale = ToolButton('effect-grayscale') + self.insert(self._effect_grayscale, -1) + self._effect_grayscale.show() + self._effect_grayscale.connect('clicked', test_connect, activity, 'effect-grayscale') + self._effect_grayscale.set_tooltip(_('Grayscale')) + + """ + #FIXME: Must be implemented + self._black_and_white = ToolButton('black_and_white') + self.insert(self._black_and_white, -1) + self._black_and_white.show() + self._black_and_white.connect('clicked', test_connect, activity, 'effect-black-and-white') + self._black_and_white.set_tooltip(_('Black and White')) + + self._invert_colors = ToolButton('invert_colors') + self.insert(self._invert_colors, -1) + self._invert_colors.show() + self._invert_colors.connect('clicked', test_connect, activity, 'invert-colors') + self._invert_colors.set_tooltip(_('Invert Colors')) + + """ + self._effect_grayscale.connect('clicked', self.grayscale, activity) + + def grayscale(self, widget, activity): + activity._area._set_grayscale(widget) + + +class ViewToolbar(gtk.Toolbar): + + _ACTION_1000 = 0 + _ACTION_500 = 1 + _ACTION_200 = 2 + _ACTION_150 = 3 + _ACTION_100 = 4 + _ACTION_50 = 5 + _ACTION_25 = 6 + _ACTION_10 = 7 + + + def __init__(self, activity): + gtk.Toolbar.__init__(self) + + tool_item = ToolComboBox() + self._view_percent = tool_item.combo + self._view_percent.append_item(self._ACTION_1000, _('1000')) + self._view_percent.append_item(self._ACTION_500, _('500')) + self._view_percent.append_item(self._ACTION_200, _('200')) + self._view_percent.append_item(self._ACTION_150, _('150')) + self._view_percent.append_item(self._ACTION_100, _('100')) + self._view_percent.append_item(self._ACTION_50, _('50')) + self._view_percent.append_item(self._ACTION_25, _('25')) + self._view_percent.append_item(self._ACTION_10, _('10')) + self._view_percent.set_active(0) + self._view_percent.connect('changed', self._combo_changed_cb) + self.insert(tool_item, -1) + tool_item.show() + + separator = gtk.SeparatorToolItem() + self.insert(separator, -1) + separator.show() + + self._zoom_plus = ToolButton('zoom-plus') + self.insert(self._zoom_plus, -1) + self._zoom_plus.show() + self._zoom_plus.set_tooltip(_('ZOOM +')) + + self._zoom_minus = ToolButton('zoom-minus') + self.insert(self._zoom_minus, -1) + self._zoom_minus.show() + self._zoom_minus.set_tooltip(_('ZOOM -')) + + self._zoom_plus.connect('clicked', test_connect, activity, 'zoom_plus') + self._zoom_minus.connect('clicked', test_connect, activity, 'zoom_minus') + + def _combo_changed_cb(self, combo): + if combo == self._view_percent: + print 'treeeter' + + +def set_tool(widget, activity, data=None, tool=None): + activity._area.tool = tool + #setting cursor + print data + if data == 'tool-pencil': + pix = gtk.gdk.pixbuf_new_from_file("./images/lapis_cursor.png") + cursor = gtk.gdk.Cursor(gtk.gdk.display_get_default() , pix, 6, 21) + + elif data == 'tool-eraser': + pix = gtk.gdk.pixbuf_new_from_file("./images/borracha_cursor.png") + cursor = gtk.gdk.Cursor(gtk.gdk.display_get_default() , pix, 6, 21) + + elif data == 'tool-shape-ellipse': + pix = gtk.gdk.pixbuf_new_from_file("./images/circulo_cursor.png") + cursor = gtk.gdk.Cursor(gtk.gdk.display_get_default() , pix, 6, 21) + + elif data == 'tool-shape-rectangle': + pix = gtk.gdk.pixbuf_new_from_file("./images/quadrado_cursor.png") + cursor = gtk.gdk.Cursor(gtk.gdk.display_get_default() , pix, 6, 21) + + elif data == 'tool-marquee-rectangular': + cursor = gtk.gdk.Cursor(gtk.gdk.CROSSHAIR) + activity._area.move = False + + elif data == 'text': + pix = gtk.gdk.pixbuf_new_from_file("./images/letra_cursor.png") + cursor = gtk.gdk.Cursor(gtk.gdk.display_get_default() , pix, 6, 21) + + elif data == 'tool-shape-line': + pix = gtk.gdk.pixbuf_new_from_file("./images/linha_cursor.png") + cursor = gtk.gdk.Cursor(gtk.gdk.display_get_default() , pix, 6, 21) + + elif data == 'tool-brush': + pix = gtk.gdk.pixbuf_new_from_file("./icons/brush_cursor.svg") + cursor = gtk.gdk.Cursor(gtk.gdk.display_get_default() , pix, 6, 21) + + elif data == 'tool-bucket': + pix = gtk.gdk.pixbuf_new_from_file("./icons/bucket_cursor.svg") + cursor = gtk.gdk.Cursor(gtk.gdk.display_get_default() , pix, 6, 21) + + elif data == 'tool-polygon': + pix = gtk.gdk.pixbuf_new_from_file("./images/poligono_cursor.png") + cursor = gtk.gdk.Cursor(gtk.gdk.display_get_default() , pix, 6, 21) + + elif data == 'tool-shape-triangle': + pix = gtk.gdk.pixbuf_new_from_file("./images/triangle_cursor.png") + cursor = gtk.gdk.Cursor(gtk.gdk.display_get_default() , pix, 6, 21) + + elif data == 'tool-shape-trapezoid': + pix = gtk.gdk.pixbuf_new_from_file("./images/trapezoid_cursor.png") + cursor = gtk.gdk.Cursor(gtk.gdk.display_get_default() , pix, 6, 21) + + else: + # Uses toolbar icon as cursor + #FIXME: invert cursor color. Toolbar icons are white + try: + archive = './icons/' + data + '.svg' + pix = gtk.gdk.pixbuf_new_from_file(archive) + print archive, pix + cursor = gtk.gdk.Cursor(gtk.gdk.display_get_default() , pix, 6, 21) + except: + cursor = None + + + activity._area.window.set_cursor(cursor) + #print cursor + + + +def set_stroke_size(activity, size): + activity._area.configure_line(size) + +def undo(widget, activity): + activity._area.undo() + +def redo(widget, activity): + activity._area.redo() + +def test_connect(widget, activity, data=None): + ''' Dummy callback for testing''' + string = data + ' button clicked\n' + #activity.textview.get_buffer().insert_at_cursor(string) + + +def insertImage(widget, activity): + dialog = gtk.FileChooserDialog(title=(_('Open File...')), + action=gtk.FILE_CHOOSER_ACTION_OPEN, + buttons=(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL, + gtk.STOCK_OK, gtk.RESPONSE_OK)) + dialog.show_all() + response = dialog.run() + if response == gtk.RESPONSE_OK: + print dialog.get_filename(), 'selected' + #gtk28 = False + file_path = dialog.get_filename() + #file_path = decode_path((file_path,))[0] + #open(activity, file_path) + activity._area.d.loadImage(file_path) + elif response == gtk.RESPONSE_CANCEL: + print 'Closed, no files selected' + dialog.destroy() + + -- cgit v0.9.1