コード例 #1
0
ファイル: imager.py プロジェクト: enginkzlgn/LearnIt
	def __init__(self):
		self.is_full=0
		self.images=[]
		self.count=0
		self.glade = Glade.XML('imager/imager.glade','window')
		self.pencere = self.glade.get_widget('window')
		self.glade.signal_autoconnect(self)

		self.open = self.glade.get_widget('open')
		self.prev = self.glade.get_widget('prev')
		self.play = self.glade.get_widget('play')
		self.next = self.glade.get_widget('next')
		self.image_buttons_query()
		alan=self.glade.get_widget('alan')
		self.image_area=ResizableImage()
		alan.add(self.image_area)
		
		self.pencere.connect('key_press_event',self.key_press)
		self.pencere.connect('destroy',gtk.main_quit)
		self.pencere.set_size_request(300,300)
		self.pencere.show_all()
コード例 #2
0
ファイル: imager.py プロジェクト: enginkzlgn/LearnIt
class Viewer(object):

	def __init__(self):
		self.is_full=0
		self.images=[]
		self.count=0
		self.glade = Glade.XML('imager/imager.glade','window')
		self.pencere = self.glade.get_widget('window')
		self.glade.signal_autoconnect(self)

		self.open = self.glade.get_widget('open')
		self.prev = self.glade.get_widget('prev')
		self.play = self.glade.get_widget('play')
		self.next = self.glade.get_widget('next')
		self.image_buttons_query()
		alan=self.glade.get_widget('alan')
		self.image_area=ResizableImage()
		alan.add(self.image_area)
		
		self.pencere.connect('key_press_event',self.key_press)
		self.pencere.connect('destroy',gtk.main_quit)
		self.pencere.set_size_request(300,300)
		self.pencere.show_all()
	def key_press(self,wid,ev):
		space_id=32
		backspace_id=65288
		F11=65480
		result=ev.keyval
		ev.time=0
		print result," key..."
		if result == space_id:
			self.go_next(0)
		elif result == backspace_id:
			self.go_prev(0)
		elif result == F11:
			if self.is_full == 0:
				self.pencere.fullscreen()
				self.is_full=1
			else:
				self.pencere.unfullscreen()
				self.is_full=0

	def image_buttons_query(self):
		is_active=False
		if len(self.images)>1:
			is_active=True
		else:
			is_active=False
		self.play.set_sensitive(is_active)
		self.prev.set_sensitive(is_active)
		self.next.set_sensitive(is_active)

	def go_prev(self,ev):
		if self.count == 0:
			self.count=len(self.images)-1
		else:
			self.count-=1
		self.set_image(self.count)

	
	def go_next(self,ev):
		if self.count==len(self.images)-1:
			self.count=0
		else:
			self.count+=1
		self.set_image(self.count)

	def play(self,ev):
		print "change the next image"


	def set_image(self,count=0):
		if len(self.images)>1:
			self.image_area.set_from_file(self.images[count])



			

		
	def import_files(self,path):
		if os.path.isdir(path):
			while len(self.images) != 0:
				self.images.pop()
			self.count=0
		
			for i in os.listdir(path):
				if i[0] is '.': continue
				if i[-3:].lower() in image_file_extansions:
					file = os.path.join(path,i)
					self.images.append(file)


		
	def open_directory(self,ev):
		folder_dialog = gtk.FileChooserDialog("Klasör Seç",
		self.pencere, gtk.FILE_CHOOSER_ACTION_SELECT_FOLDER,
		("İptal", gtk.RESPONSE_CANCEL, "Seç", gtk.RESPONSE_OK))
		response = folder_dialog.run()
		if response == gtk.RESPONSE_OK:
			self.import_files( folder_dialog.get_filename())
			self.image_buttons_query()
		folder_dialog.destroy()
		self.set_image()
		self.image_buttons_query()