462
463
config_manager = pySopCastConfigurationManager.pySopCastConfigurationManager()
463
464
config_manager.read()
464
465
self.player_volume = config_manager.getint("player", "volume")
466
self.toggle_mute.set_active(config_manager.getboolean("player", "mute"))
465
467
self.volume.set_value(self.player_volume)
467
469
self.window.set_default_size(config_manager.getint("player", "width"), config_manager.getint("player", "height"))
501
503
self.treeview_selection_changed_handler = self.treeview_selection.connect("changed", self.on_selection_changed)
502
504
self.channel_treeview.connect("row_activated", self.on_channel_treeview_row_activated)
506
textrenderer = gtk.CellRendererText()
507
column = gtk.TreeViewColumn("Channel Name", textrenderer, markup=0)
508
self.tree_entries.append_column(column)
510
textrenderer = gtk.CellRendererText()
511
column = gtk.TreeViewColumn("Quality", textrenderer, text=1)
512
self.tree_entries.append_column(column)
514
textrenderer = gtk.CellRendererText()
515
column = gtk.TreeViewColumn("Language", textrenderer, text=4)
516
self.tree_entries.append_column(column)
518
treestore = gtk.TreeStore(str, str, str, int, str)
519
self.tree_entries.set_model(treestore)
521
self.tree_entries.connect("row_activated", self.on_tree_entries_row_activated)
524
507
textrenderer = gtk.CellRendererText()
690
673
self.channel_treeview.set_model(self.channel_treeview_model)
675
def reset_schedule(self):
676
model = self.tree_entries.get_model()
678
self.tree_entries.set_model()
681
cols = self.tree_entries.get_columns()
682
for col in cols: self.tree_entries.remove_column(col)
692
684
def set_media_player_visible(self, visible):
693
685
if visible == True:
694
686
config_manager = pySopCastConfigurationManager.pySopCastConfigurationManager()
780
772
self.toggle_mute.set_active(False)
782
774
def on_toggle_mute_toggled(self, widget, data = None):
775
status = self.toggle_mute.get_active()
777
self.vlc.set_volume(self.player_volume)
783
778
self.vlc.set_mute(self.toggle_mute.get_active())
785
780
def on_menu_about_activate(self, src, data=None):
1223
1218
def on_tb_refresh_clicked(self, object):
1224
1219
list_index = self.cbo_list.get_active()
1225
if (list_index == 0):
1220
self.reset_schedule()
1226
1222
print "Updating Rojadirecta Schedule list..."
1228
1224
roja = rojadirecta.Rojadirecta(self, self.pb_download_handler, self.tree_entries)
1227
elif list_index == 1:
1228
print "Updating AllP2PTV Schedule list..."
1230
allp2p = allp2ptv.AllP2PTV(self, self.pb_download_handler, self.tree_entries)
1232
1234
print "No list selected."
1251
1253
if event.state & gtk.gdk.CONTROL_MASK:
1252
1254
if gtk.gdk.keyval_name(event.keyval) in ["h", "H"]:
1253
1255
self.menu_show_controls.toggled()
1255
1258
elif gtk.gdk.keyval_name(event.keyval) in ["t", "T"]:
1256
1259
self.menu_stay_on_top.set_active(not self.menu_stay_on_top.get_active())
1258
1262
elif gtk.gdk.keyval_name(event.keyval) in ["q", "Q"]:
1259
1263
self.menu_quit.activate()
1261
1266
elif gtk.gdk.keyval_name(event.keyval) in ["o", "O"]:
1262
1267
self.open_sop_address.activate()
1264
1270
elif gtk.gdk.keyval_name(event.keyval) in ["d", "D"]:
1265
1271
self.menu_add_bookmark.activate()
1269
1274
elif not (event.state & (gtk.gdk.CONTROL_MASK | gtk.gdk.SHIFT_MASK | gtk.gdk.MOD1_MASK)):
1270
1275
if gtk.gdk.keyval_name(event.keyval) in ["h", "H"]:
1271
1276
if self.fullscreen: return True
1272
1277
self.show_controls = not self.show_controls
1273
1278
self.show_menu_controls(self.show_controls)
1275
1281
elif gtk.gdk.keyval_name(event.keyval) in ["t", "T"]:
1276
1282
self.menu_stay_on_top.set_active(not self.menu_stay_on_top.get_active())
1278
1285
elif gtk.gdk.keyval_name(event.keyval) in ["f", "F"]:
1279
1286
self.menu_fullscreen.activate()
1281
1289
elif gtk.gdk.keyval_name(event.keyval) in ["m", "M"]:
1282
1290
self.toggle_mute.clicked()
1284
1293
elif gtk.gdk.keyval_name(event.keyval) in ["1", "2", "3"]:
1285
1294
(self.menu_video_zoom_half, self.menu_video_zoom_normal, self.menu_video_zoom_double)[int(gtk.gdk.keyval_name(event.keyval))-1].activate()
1382
1391
def pb_download_handler(self, blocks, block_size, file_size):
1383
1392
frac = blocks * block_size / float(file_size)
1393
if frac > 1.0: frac = 1.0
1394
elif frac < 0: frac = 0.0
1386
1395
gtk.gdk.threads_enter()
1387
1396
self.pb_download.set_fraction(frac)
1388
1397
gtk.gdk.threads_leave()
1468
1477
def on_fullscreen_activate(self, src, data=None):
1469
1478
if self.ui_worker.play_stream == True:
1470
1479
self.toggle_fullscreen()
1471
#self.vlc.fullscreen()
1472
#if self.fullscreen == True:
1473
# self.vlc.display_text(" Press F to exit fullscreen")
1480
if self.fullscreen == True:
1481
self.vlc.display_text("Press F or double-click to exit Fullscreen Mode", pos = 0, opacity = 192, timeout = 3000)
1475
1482
def on_exit(self, widget, data=None):
1476
1483
rect = self.window.get_allocation()
1477
1484
config_manager = pySopCastConfigurationManager.pySopCastConfigurationManager()
1492
1499
config_manager.set("player", "show_channel_guide", self.show_channel_guide.get_active())
1493
1500
config_manager.set("player", "volume", int(self.volume.get_value()))
1501
config_manager.set("player", "mute", self.toggle_mute.get_active())
1494
1502
config_manager.write()
1496
1504
self.ui_worker.stop()