Exemplo n.º 1
0
class MainWindow (KMainWindow):

	
	
	def __init__ (self):
		KMainWindow.__init__ (self)
		self.result = ""
		self.resize (640, 480)
		
		label = QLabel ("Search", self)
		label.setGeometry (10,10,200,20)
		
		self.searchBox = KLineEdit(self)
		self.searchBox.setGeometry(50,8,520,25)
		self.connect(self.searchBox, SIGNAL("returnPressed()"),self.search)
		
		searchButton = KPushButton(self)
		searchButton.setGeometry(570,6,70,25)
		searchButton.setText("Search")
		self.connect (searchButton, SIGNAL("clicked()"), self.search)
		
		self.resultList = KListWidget(self)
		self.resultList.setGeometry(10,50,620,400)
		self.connect(self.resultList, SIGNAL("itemDoubleClicked(QListWidgetItem*)"), self.playSelected)
	
		
	
	def formatResult(self,track):
		has_metadata = "un"
		if track.has_meta_data():
			has_metadata = ""

		return " %s - %s (%s), length: %d [%splayable]" % (", ".join((a.name for a in track.artists)),
                                                         track.title, track.album,
                                                         track.length, has_metadata)
	def playSelected(self):
		global s
		global result
		self.proc = SpotPlayFile(self,s,result,self.resultList.currentRow())
		self.proc.start()
		
		
	def doSomething(self):
		print("Doing something")
	
	def search(self):
		global result
		global s
		if self.searchBox.text() == "":
			KMessageBox.error(None,"Search for something...")
			return
		else:
			self.resultList.clear()
			result = s.search(str(self.searchBox.text()))
			if not result:
				self.resultList.addItem("Nothing found :(")
			else:
				for i in range(0,len(result.playlist.tracks)):
					tracktext = self.formatResult(result.playlist.tracks[i])
				#	tracktext = str(track)
					self.resultList.addItem(tracktext)
					
				#s.play(result.playlist.tracks.)
		return