Skip to content

Commit 863d5be

Browse files
imageview: add next and previous buttons
1 parent 6de3349 commit 863d5be

File tree

1 file changed

+33
-9
lines changed
  • internal_filesystem/apps/com.micropythonos.imageview/assets

1 file changed

+33
-9
lines changed

internal_filesystem/apps/com.micropythonos.imageview/assets/imageview.py

Lines changed: 33 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,18 +10,28 @@ class ImageView(Activity):
1010
#imagedir = "/home/user/Downloads/"
1111
#imagedir = "/home/user/images/"
1212
images = []
13-
image_nr = 0
13+
image_nr = None
1414
image_timer = None
1515
image = None
1616

1717
def onCreate(self):
1818
screen = lv.obj()
19-
self.label = lv.label(screen)
20-
self.label.set_text('Hello Images!')
21-
self.label.align(lv.ALIGN.TOP_MID,0,0)
2219
self.image = lv.image(screen)
2320
self.image.set_size(128, 128)
2421
self.image.align(lv.ALIGN.BOTTOM_MID,0,0)
22+
self.label = lv.label(screen)
23+
self.label.set_text('Hello Images!')
24+
self.label.align(lv.ALIGN.TOP_MID,0,0)
25+
self.next_button = lv.button(screen)
26+
self.next_button.align(lv.ALIGN.BOTTOM_RIGHT,0,0)
27+
self.next_button.add_event_cb(lambda e: self.show_next_image(),lv.EVENT.CLICKED,None)
28+
next_label = lv.label(self.next_button)
29+
next_label.set_text(">")
30+
self.prev_button = lv.button(screen)
31+
self.prev_button.align(lv.ALIGN.BOTTOM_LEFT,0,0)
32+
self.prev_button.add_event_cb(lambda e: self.show_prev_image(),lv.EVENT.CLICKED,None)
33+
prev_label = lv.label(self.prev_button)
34+
prev_label.set_text("<")
2535
self.setContentView(screen)
2636

2737
def onResume(self, screen):
@@ -33,27 +43,41 @@ def onResume(self, screen):
3343
size = os.stat(fullname)[6]
3444
print(f"size: {size}")
3545
if size > 10 * 1024*1024:
36-
#if size > 60000:
3746
print(f"Skipping file of size {size}")
3847
continue
3948
self.images.append(fullname)
40-
self.image_timer = lv.timer_create(self.show_next_image, 1000, None)
49+
# Begin with one image:
50+
self.show_next_image()
51+
#self.image_timer = lv.timer_create(self.show_next_image, 1000, None)
4152

4253
def onStop(self, screen):
4354
if self.image_timer:
4455
print("ImageView: deleting image_timer")
4556
self.image_timer.delete()
4657

47-
def show_next_image(self, event):
58+
def show_prev_image(self, event=None):
59+
print("showing previous image...")
60+
if len(self.images) < 1:
61+
return
62+
if self.image_nr is None or self.image_nr == 0:
63+
self.image_nr = len(self.images) - 1
64+
else:
65+
self.image_nr = self.image_nr - 1
66+
name = self.images[self.image_nr]
67+
print(f"show_prev_image showing {name}")
68+
self.show_image(name)
69+
70+
def show_next_image(self, event=None):
4871
print("showing next image...")
4972
if len(self.images) < 1:
5073
return
51-
if self.image_nr >= len(self.images):
74+
if self.image_nr is None or self.image_nr >= len(self.images) - 1:
5275
self.image_nr = 0
76+
else:
77+
self.image_nr = self.image_nr + 1
5378
name = self.images[self.image_nr]
5479
print(f"show_next_image showing {name}")
5580
self.show_image(name)
56-
self.image_nr = self.image_nr + 1
5781

5882
def show_image(self, name):
5983
try:

0 commit comments

Comments
 (0)