self.set_border_width(8)
+ self.init_widgets()
+
+ self.bm.selected_brush_observers.append(self.brush_selected_cb)
+ self.app.brush.settings_observers.append(self.brush_modified_cb)
+
+ self.set_brush_preview_edit_mode(False)
+
+ def init_widgets(self):
left_vbox = gtk.VBox()
right_vbox = gtk.VBox()
self.pack_start(left_vbox, expand=False, fill=False)
self.pack_end(right_vbox, expand=False, fill=False)
- #expanded part, left side
+ # Left side - brush icon actions
l = gtk.Label()
l.set_text(_("Brush icon"))
left_vbox.pack_start(l)
doc = document.Document()
self.tdw = tileddrawwidget.TiledDrawWidget(doc)
self.tdw.set_size_request(brushmanager.preview_w, brushmanager.preview_h)
- left_vbox.pack_start(self.tdw, expand=False, fill=False)
+ left_vbox.pack_start(self.tdw, expand=False, fill=False, padding=3)
- b = gtk.Button(_('Clear'))
+ self.brush_preview_edit_mode_button = b = gtk.CheckButton(_('Edit'))
+ b.connect('toggled', self.brush_preview_edit_mode_cb)
+ left_vbox.pack_start(b, expand=False, padding=3)
+
+ self.brush_preview_clear_button = b = gtk.Button(_('Clear'))
def clear_cb(window):
self.tdw.doc.clear_layer()
b.connect('clicked', clear_cb)
left_vbox.pack_start(b, expand=False, padding=3)
- b = gtk.Button(_('Save'))
+ self.brush_preview_save_button = b = gtk.Button(_('Save'))
b.connect('clicked', self.update_preview_cb)
- left_vbox.pack_start(b, expand=False)
+ left_vbox.pack_start(b, expand=False, padding=3)
- #expanded part, right side
+ # Right side - brush actions
l = self.brush_name_label = gtk.Label()
l.set_justify(gtk.JUSTIFY_LEFT)
l.set_text(_('(no name)'))
b.connect('clicked', clicked_cb)
right_vbox.pack_start(b, expand=False, padding=3)
- self.last_selected_brush = self.bm.selected_brush
- self.bm.selected_brush_observers.append(self.brush_selected_cb)
- self.app.brush.settings_observers.append(self.brush_modified_cb)
+ def brush_preview_edit_mode_cb(self, button):
+ self.set_brush_preview_edit_mode(button.get_active())
+
+ def set_brush_preview_edit_mode(self, edit_mode):
+ self.brush_preview_edit_mode = edit_mode
+ self.brush_preview_edit_mode_button.set_active(edit_mode)
+ self.brush_preview_save_button.set_sensitive(edit_mode)
+ self.brush_preview_clear_button.set_sensitive(edit_mode)
+ self.tdw.set_sensitive(edit_mode)
def set_preview_pixbuf(self, pixbuf):
if pixbuf is None:
name = name.replace('_', ' ')
self.brush_name_label.set_text(name)
- # selecting twice loads preview
- if b == self.last_selected_brush:
+ # Update brush icon preview it is not in edit mode
+ if not self.brush_preview_edit_mode:
self.set_preview_pixbuf(b.preview)
- self.last_selected_brush = self.bm.selected_brush
def brush_modified_cb(self):
self.tdw.doc.set_brush(self.app.brush)
# gets overwritten for the main window
self.zoom_max = 5.0
self.zoom_min = 1/5.0
-
+
#self.scroll_at_edges = False
self.pressure_mapping = None
self.bad_devices = []
+ self.set_sensitive(True)
+
#def set_scroll_at_edges(self, choice):
# self.scroll_at_edges = choice
-
+
+ def set_sensitive(self, sensitive):
+ """Set if the widget accepts input or not"""
+ self.is_sensitive = sensitive
+
def enter_notify_cb(self, widget, event):
self.has_pointer = True
def leave_notify_cb(self, widget, event):
self.scroll(dx/2, dy/2)
def motion_notify_cb(self, widget, event, button1_pressed=None):
+ if not self.is_sensitive:
+ return
+
if self.last_event_time:
dtime = (event.time - self.last_event_time)/1000.0
dx = event.x - self.last_event_x