73 lines
1.9 KiB
Python
73 lines
1.9 KiB
Python
#! /usr/bin/python
|
|
|
|
# To change this template, choose Tools | Templates
|
|
# and open the template in the editor.
|
|
|
|
__author__="bjschuma"
|
|
__date__ ="$Mar 18, 2010 11:48:15 AM$"
|
|
|
|
|
|
import gtk
|
|
import db
|
|
import ocarina
|
|
#import scripting
|
|
from oGtk import progbar
|
|
|
|
class FileChooser(gtk.FileChooserDialog):
|
|
def __init__(self,title,seldir=False):
|
|
buttons = (gtk.STOCK_CANCEL,gtk.RESPONSE_CANCEL,gtk.STOCK_OPEN,gtk.RESPONSE_OK)
|
|
action=gtk.FILE_CHOOSER_ACTION_OPEN
|
|
gtk.FileChooserDialog.__init__(self,title,None,action=action,buttons=buttons)
|
|
if seldir == True:
|
|
self.set_action(gtk.FILE_CHOOSER_ACTION_SELECT_FOLDER)
|
|
|
|
def choose(self):
|
|
response = self.run()
|
|
self.hide()
|
|
file = ""
|
|
#print response
|
|
if response == gtk.RESPONSE_OK:
|
|
file = self.get_filename()
|
|
if response != gtk.RESPONSE_OK:
|
|
return None
|
|
return file
|
|
|
|
|
|
|
|
class NewLibrary(gtk.Dialog):
|
|
def __init__(self):
|
|
buttons = (gtk.STOCK_CANCEL,gtk.RESPONSE_CANCEL,"Scan",gtk.RESPONSE_OK)
|
|
gtk.Dialog.__init__(self,"New Library",None,gtk.DIALOG_NO_SEPARATOR,buttons=buttons)
|
|
|
|
self.table = gtk.Table(2,3,False)
|
|
|
|
name = gtk.Label("Name: ")
|
|
dir = gtk.Label("Directory: ")
|
|
self.libname = gtk.Entry()
|
|
self.libname.set_text("New Library")
|
|
self.dir = gtk.Entry()
|
|
button = gtk.Button(None,gtk.STOCK_OPEN)
|
|
button.connect("clicked",self.onclick)
|
|
|
|
self.table.attach(name,0,1,0,1)
|
|
self.table.attach(self.libname,1,2,0,1)
|
|
self.table.attach(dir,0,1,1,2)
|
|
self.table.attach(self.dir,1,2,1,2)
|
|
self.table.attach(button,2,3,1,2)
|
|
|
|
self.table.show_all()
|
|
self.get_children()[0].pack_start(self.table,False,False,0)
|
|
|
|
|
|
def choose(self):
|
|
response = self.run()
|
|
self.hide()
|
|
if response == -5:
|
|
return (self.libname.get_text(), self.dir.get_text())
|
|
return (None,None)
|
|
|
|
|
|
def onclick(self,button):
|
|
dirresult = FileChooser("Select a directory",True).choose()
|
|
if dirresult != "":
|
|
self.dir.set_text(dirresult) |