From 364091ce2d07f40a77935cac419ae9a9f15cf765 Mon Sep 17 00:00:00 2001 From: age Date: Thu, 6 Apr 2006 22:03:18 +0000 Subject: [PATCH] filechoose logic --- adstreme/glade/filechooser.py | 46 +++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 adstreme/glade/filechooser.py diff --git a/adstreme/glade/filechooser.py b/adstreme/glade/filechooser.py new file mode 100644 index 0000000..ee8668f --- /dev/null +++ b/adstreme/glade/filechooser.py @@ -0,0 +1,46 @@ +#!/usr/bin/env python + +class FileChooserDialog: + 'does what it sounds like ;)' + def __init__(self): + return + + def getfilename(self): + 'returns name of the choosen file or empty string' + import gtk + # der Filedialog ist erst ab pygtk2.4 drin + if gtk.pygtk_version < (2,3,90): + print "Du brauchst mindestens PyGtk 2.3.90" + raise SystemExit + + dialog = gtk.FileChooserDialog("Datei oeffnen..", + None, + gtk.FILE_CHOOSER_ACTION_OPEN, + (gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL, + gtk.STOCK_OPEN, gtk.RESPONSE_OK)) + dialog.set_default_response(gtk.RESPONSE_OK) + + filter = gtk.FileFilter() + filter.set_name("Alle Dateien") + filter.add_pattern("*") + dialog.add_filter(filter) + + filter = gtk.FileFilter() + filter.set_name("Text") + filter.add_mime_type("text/txt") + filter.add_mime_type("text/asc") + filter.add_pattern("*.txt") + filter.add_pattern("*.asc") + dialog.add_filter(filter) + + response = dialog.run() + if response == gtk.RESPONSE_OK: + filename = dialog.get_filename() + #print "hier haste den Dateinamen: ", filename + elif response == gtk.RESPONSE_CANCEL: + #print "die feige sau bricht einfach ab.." + filename = "" + dialog.destroy() + + return filename +