Exemple #1
0
	def __init__(self, iface, serie_model, injector):
		self.app = iface
		self.current_process = None
		self.injector = injector
		
		# injected classes
		self.player_handler = injector.get_instance(ExternalPlayerHandler)
		self.video_finder_controller = injector.get_instance(VideoFinderController)
		
		logging.debug ("creating event manager")
		
		self.play_buttons = ["Play", "SlaveMplayerPlay", "DlSub", "OpenRep"]
		self.serie_model = serie_model

		logging.debug ("Setting up file monitoring ... ")
		nomfic = serie_model.get_base_path()
		fichier = Gio.File.new_for_path(nomfic)
		if(fichier):
			self.monitor = fichier.monitor_directory(Gio.FileMonitorFlags.NONE, None)
			self.monitor.connect("changed", self.update_serie_list)
		self.player_status = PlayerStatus()


		## subtitle view init
		cellpb = Gtk.CellRendererText()
		cellpbtext = Gtk.CellRendererText()
		time = Gtk.TreeViewColumn("Début", cellpb)
		time.set_cell_data_func(cellpb, ui.subtitles.subtitle_begin_time_getter)

		column = Gtk.TreeViewColumn("Sous-Titre", cellpbtext, text =1)

		column.set_cell_data_func(cellpbtext, ui.subtitles.subtitle_line_text_getter)

		sub_treeview = self.app.getitem("SubtitlesTreeView")
		sub_treeview.append_column(time)
		sub_treeview.append_column(column)

		sub_treeview.set_enable_search(True)
		sub_treeview.set_search_column(1) # num_trad_column-1)
		sub_treeview.set_search_equal_func(\
				ui.subtitles.subtitle_comparison_function, "")

		# init of video finder window
		ui.videotorrent_list_model\
				.init_torrentlist_viewer(\
				self.app.getitem("TorrentList"))

		## MPlayer subwindow		

# self.MPlayer = mplayer_slave.player(self.\
		#iface.getitem("VideoZone").window.xid)
# self.MPlayer = mplayer_slave.player(None) 
# self.MPlayer = mplayer_slave.player(None) 
# self.app.getitem("VideoZone").window.xid)
# logging.info ("XID :", self.app.getitem("VideoZone").window.xid)
# self.payer_status = None

		# Gio File watching handles
		self.handle_file = None
		self.handle_end = None
		self.subtitle_downloader = injector.get_instance(Subdownloader)
		self.monitor_serie = None # making an attribute to prevent gc
		self.manager = None

		self.update_serie_view()