1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
#!/usr/bin/env python
# encoding: UTF-8
# api: python
# type: application
# title: streamtuner2
# description: Directory browser for internet radio, audio and video streams
# version: 2.1.9-beta1
# state: beta
# author: Mario Salzer <mario@include-once.org>
# license: Public Domain
# url: http://freshcode.club/projects/streamtuner2
# config:
# { type: env, name: HTTP_PROXY, description: proxy for HTTP access }
# { type: env, name: XDG_CONFIG_HOME, description: relocates user .config subdirectory }
|
|
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
#!/usr/bin/env python
# encoding: UTF-8
# api: python
# type: application
# title: streamtuner2
# description: Directory browser for internet radio, audio and video streams
# version: 2.1.9
# state: beta
# author: Mario Salzer <mario@include-once.org>
# license: Public Domain
# url: http://freshcode.club/projects/streamtuner2
# config:
# { type: env, name: HTTP_PROXY, description: proxy for HTTP access }
# { type: env, name: XDG_CONFIG_HOME, description: relocates user .config subdirectory }
|
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
|
"streamedit_open": self.streamedit.open,
"streamedit_save": self.streamedit.save,
"streamedit_new": self.streamedit.new,
"streamedit_cancel": self.streamedit.cancel,
})
# actually display main window
self.update_title()
self.win_streamtuner2.show_all()
gui_startup(100.0)
#-- Shortcut for glade.get_widget()
# Allows access to widgets as direct attributes instead of using .get_widget()
# Also looks in self.channels[] for the named channel plugins
|
>
|
|
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
|
"streamedit_open": self.streamedit.open,
"streamedit_save": self.streamedit.save,
"streamedit_new": self.streamedit.new,
"streamedit_cancel": self.streamedit.cancel,
})
# actually display main window
if conf.window_title:
self.update_title()
self.win_streamtuner2.show_all()
gui_startup(100.0)
#-- Shortcut for glade.get_widget()
# Allows access to widgets as direct attributes instead of using .get_widget()
# Also looks in self.channels[] for the named channel plugins
|
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
|
# Notebook tab has been clicked (receives numeric page_num), but *NOT* yet changed (visually).
def channel_switch(self, notebook, page, page_num=0, *args):
self.current_channel = notebook.get_menu_label_text(notebook.get_nth_page(page_num))
log.UI("main.channel_switch() :=", self.current_channel)
# update window title, call plugin (e.g. channel link in toolbar)
uikit.do(self.update_title)
# if first selected, load current category
# (run in thread, to make it look speedy on first startup)
self.thread(self.channel().first_show)
# Invoked from the menu instead, uses module name instead of numeric tab id
def channel_switch_by_name(self, name):
self.notebook_channels.set_current_page(self.channel_names.index(name))
# Mirror selected channel tab into main window title
def update_title(self, *x, **y):
meta = self.channel().meta
if conf.window_title:
self.win_streamtuner2.set_title("Streamtuner2 - %s" % meta.get("title"))
[cb(meta) for cb in self.hooks["switch"]]
# Channel: row{} dict for current station
def row(self):
return self.channel().row()
|
>
|
<
|
|
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
|
# Notebook tab has been clicked (receives numeric page_num), but *NOT* yet changed (visually).
def channel_switch(self, notebook, page, page_num=0, *args):
self.current_channel = notebook.get_menu_label_text(notebook.get_nth_page(page_num))
log.UI("main.channel_switch() :=", self.current_channel)
# update window title, call plugin (e.g. channel link in toolbar)
if conf.window_title:
uikit.do(self.update_title)
# if first selected, load current category
# (run in thread, to make it look speedy on first startup)
self.thread(self.channel().first_show)
# Invoked from the menu instead, uses module name instead of numeric tab id
def channel_switch_by_name(self, name):
self.notebook_channels.set_current_page(self.channel_names.index(name))
# Mirror selected channel tab into main window title
def update_title(self, *x, **y):
meta = self.channel().meta
self.win_streamtuner2.set_title("Streamtuner2 - %s" % meta.get("title"))
[cb(meta) for cb in self.hooks["switch"]]
# Channel: row{} dict for current station
def row(self):
return self.channel().row()
|