diff --git a/internal_filesystem/apps/com.micropythonos.imageview/assets/imageview.py b/internal_filesystem/apps/com.micropythonos.imageview/assets/imageview.py index b67f6da3..5545e296 100644 --- a/internal_filesystem/apps/com.micropythonos.imageview/assets/imageview.py +++ b/internal_filesystem/apps/com.micropythonos.imageview/assets/imageview.py @@ -10,18 +10,28 @@ class ImageView(Activity): #imagedir = "/home/user/Downloads/" #imagedir = "/home/user/images/" images = [] - image_nr = 0 + image_nr = None image_timer = None image = None def onCreate(self): screen = lv.obj() - self.label = lv.label(screen) - self.label.set_text('Hello Images!') - self.label.align(lv.ALIGN.TOP_MID,0,0) self.image = lv.image(screen) self.image.set_size(128, 128) self.image.align(lv.ALIGN.BOTTOM_MID,0,0) + self.label = lv.label(screen) + self.label.set_text('Hello Images!') + self.label.align(lv.ALIGN.TOP_MID,0,0) + self.next_button = lv.button(screen) + self.next_button.align(lv.ALIGN.BOTTOM_RIGHT,0,0) + self.next_button.add_event_cb(lambda e: self.show_next_image(),lv.EVENT.CLICKED,None) + next_label = lv.label(self.next_button) + next_label.set_text(">") + self.prev_button = lv.button(screen) + self.prev_button.align(lv.ALIGN.BOTTOM_LEFT,0,0) + self.prev_button.add_event_cb(lambda e: self.show_prev_image(),lv.EVENT.CLICKED,None) + prev_label = lv.label(self.prev_button) + prev_label.set_text("<") self.setContentView(screen) def onResume(self, screen): @@ -33,27 +43,41 @@ class ImageView(Activity): size = os.stat(fullname)[6] print(f"size: {size}") if size > 10 * 1024*1024: - #if size > 60000: print(f"Skipping file of size {size}") continue self.images.append(fullname) - self.image_timer = lv.timer_create(self.show_next_image, 1000, None) + # Begin with one image: + self.show_next_image() + #self.image_timer = lv.timer_create(self.show_next_image, 1000, None) def onStop(self, screen): if self.image_timer: print("ImageView: deleting image_timer") self.image_timer.delete() - def show_next_image(self, event): + def show_prev_image(self, event=None): + print("showing previous image...") + if len(self.images) < 1: + return + if self.image_nr is None or self.image_nr == 0: + self.image_nr = len(self.images) - 1 + else: + self.image_nr = self.image_nr - 1 + name = self.images[self.image_nr] + print(f"show_prev_image showing {name}") + self.show_image(name) + + def show_next_image(self, event=None): print("showing next image...") if len(self.images) < 1: return - if self.image_nr >= len(self.images): + if self.image_nr is None or self.image_nr >= len(self.images) - 1: self.image_nr = 0 + else: + self.image_nr = self.image_nr + 1 name = self.images[self.image_nr] print(f"show_next_image showing {name}") self.show_image(name) - self.image_nr = self.image_nr + 1 def show_image(self, name): try: