diff options
Diffstat (limited to 'char.py')
-rw-r--r-- | char.py | 26 |
1 files changed, 23 insertions, 3 deletions
@@ -34,14 +34,17 @@ def load(): custom.frames[i] = f -class Frame: +class Frame(): + def __init__(self, id): + self.id = id self.name = '' self._thumb = None self._orig = None def serialize(self): + if self._orig: return pixbuf.to_str(self._orig) else: @@ -66,7 +69,9 @@ class Frame: class PreinstalledFrame(Frame): + def __init__(self, filename): + Frame.__init__(self, filename) self._filename = filename @@ -74,13 +79,17 @@ class PreinstalledFrame(Frame): return False def orig(self): + if self._orig == None: self._orig = theme.pixbuf(self._filename) + return self._orig class EmptyFrame(Frame): + def __init__(self): + Frame.__init__(self, None) self._thumb = theme.EMPTY_THUMB self._orig = theme.EMPTY_ORIG @@ -93,37 +102,48 @@ class EmptyFrame(Frame): class RestoredFrame(Frame): + def __init__(self, id, data): + Frame.__init__(self, id) self._orig = pixbuf.from_str(data) class CustomFrame(Frame): + def __init__(self): + Frame.__init__(self, None) self._thumb = theme.CUSTOM_FRAME_THUMB def orig(self): + if self._orig == None: return theme.EMPTY_ORIG return self._orig def select(self): + if self._orig: - return True; + return True + self.name, self.id, self._orig = chooser.pick( lambda jobject: (jobject.metadata['title'], jobject.object_id, theme.pixbuf(jobject.file_path)), (None, None, None), what=chooser.IMAGE) + if self.name: self._thumb = theme.scale(self._orig) return True + else: return False -class Char: +class Char(): + def __init__(self, name, thumbfile, dir): + self.name = name self.frames = [] |