Example #1
0
	def create_window(self, name=None):
		"""
		create a new window
		"""
		self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
		window_display = self.window.get_display()
		print_debug("Window display is %s" % window_display)
		if not window_display:
			from utils import quit_dragbox
			print_error("Could not get X Display")
			quit_dragbox()

		if name:
			self.window.set_title(name)

		self.window.connect("destroy", self.quit_all)
		self.window.connect("button-press-event", self.cb_window_click)

		self.vbox = gtk.VBox(False, 0)

		# Add a scrollbox around the vbox
		# scrolls the list when it's too long
		scrollbox = gtk.ScrolledWindow()
		scrollbox.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC)
		scrollbox.set_border_width(0)
		self.window.add(scrollbox)
		scrollbox.add_with_viewport(self.vbox)
		
		# Add placeholder for newbies
		self.make_placeholder()
		pixbuf = self.window.render_icon(gtk.STOCK_DND_MULTIPLE, gtk.ICON_SIZE_DIALOG)
		self.window.set_icon(pixbuf)
		
		# Setup window as a drag TARGET
		from shelfitem import file_targets, text_targets
		self.window.drag_dest_set(gtk.DEST_DEFAULT_ALL, file_targets+text_targets, gtk.gdk.ACTION_DEFAULT | gtk.gdk.ACTION_COPY )
		self.window.connect("drag-data-received", self.cb_drag_data_received)
Example #2
0
	def quit_all(self, ignored=None):
		"""
		terminate the main loop on window destroy event
		"""
		from utils import quit_dragbox
		quit_dragbox()