diff --git a/src/canvas.py b/src/canvas.py index f20cd1a..983bfdc 100644 --- a/src/canvas.py +++ b/src/canvas.py @@ -317,6 +317,9 @@ def vertical_line(self, x, start_y, length, char, draw): def set_char_at(self, x, y, char, draw): _layer = self.drawing if draw else self.preview + if char == "": + char = " " + if y >= len(_layer) or x >= len(_layer[0]) or x < 0 or y < 0: return if draw: diff --git a/src/tools/line.py b/src/tools/line.py index d65d285..4f3f969 100644 --- a/src/tools/line.py +++ b/src/tools/line.py @@ -40,6 +40,7 @@ def __init__(self, *args, **kwargs): builder = Gtk.Builder.new_from_resource("/io/github/nokse22/asciidraw/ui/line_sidebar.ui") self._sidebar = builder.get_object("line_stack_page") self.line_type_combo = builder.get_object("line_type_combo") + self.arrow_switch = builder.get_object("line_arrow_switch") self.start_x = 0 self.start_y = 0 @@ -61,15 +62,7 @@ def __init__(self, *args, **kwargs): self.prev_pos = [0,0] self.line_type_combo.bind_property("selected", self, "line_type") - - @GObject.Property(type=bool, default=False) - def active(self): - return self._active - - @active.setter - def active(self, value): - self._active = value - self.notify('active') + self.arrow_switch.bind_property("active", self, "arrow") @GObject.Property(type=bool, default=False) def arrow(self): diff --git a/src/window.py b/src/window.py index c08087e..3fd08e1 100644 --- a/src/window.py +++ b/src/window.py @@ -409,8 +409,11 @@ def make_new_canvas(self): self.file_path = "" self.title_widget.set_subtitle("") self.canvas.undo_changes = [] + self.canvas.redo_changes = [] self.undo_button.set_sensitive(False) self.undo_button.set_tooltip_text("") + self.redo_button.set_sensitive(False) + self.redo_button.set_tooltip_text("") self.canvas.is_saved = True toast = Adw.Toast(title=_("New Canvas"), timeout=2) self.toast_overlay.add_toast(toast)