354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399 | def switch_notebook_tabs_position(self, w, pos):
self.notebook_channels.set_tab_pos(pos);
# Shortcut to statusbar and progressbar.
# Either pass a string "" or a float 0.5, the message and pulse will be automatically
# removed after 5 seconds now.
def status(self, text=None, timeout=3):
t = time.time() + timeout
# progressbar
if isinstance(text, (int, float)):
if (text <= 0): # unknown state
uikit.do(self.progress.pulse, immediate=1)
elif text >= 0.999 or text < 0.0: # completed
uikit.do(self.progress.hide)
else: # show percentage
uikit.do(self.progress.show, immediate=1)
uikit.do(self.progress.set_fraction, text, immediate=1)
self.status_last = t
# add text
elif isinstance(text, (str)):
uikit.do(self.statusbar.set_text, text)
self.status_last = t
# timeout
if not text or time.time() >= self.status_last:
self.statusbar.set_text("")
self.progress.hide()
return False
# add timer
else:
gobject.timeout_add(int(timeout*1000), self.status)
return True
status_last = 0
# load plugins from /usr/share/streamtuner2/channels/
def load_plugin_channels(self):
# initialize plugin modules (pre-ordered)
ls = module_list() |
|
<
<
|
|
<
<
>
>
|
|
>
|
<
<
|
<
| 354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395 | def switch_notebook_tabs_position(self, w, pos):
self.notebook_channels.set_tab_pos(pos);
# Shortcut to statusbar and progressbar (receives either a string, or a float).
def status(self, text=None, timeout=3):
self.status_last = time.time() + timeout
gobject.timeout_add(int(timeout*1000), self.status_clear)
# progressbar
if isinstance(text, (int, float)):
if (text <= 0): # unknown state
uikit.do(self.progress.pulse, immediate=1)
elif text >= 0.999 or text < 0.0: # completed
uikit.do(self.progress.hide)
else: # show percentage
uikit.do(self.progress.show, immediate=1)
uikit.do(self.progress.set_fraction, text, immediate=1)
# add text
elif isinstance(text, (str)):
uikit.do(self.statusbar.set_text, text)
# clean up
else:
self.status_clear(anyway=True)
# Clean up after 3 seconds
def status_clear(self, anyway=False):
if anyway or time.time() >= self.status_last:
self.statusbar.set_text("")
self.progress.hide()
return False
else:
return True
# load plugins from /usr/share/streamtuner2/channels/
def load_plugin_channels(self):
# initialize plugin modules (pre-ordered)
ls = module_list() |