mirror of
https://github.com/gryf/pygtktalog.git
synced 2025-12-17 11:30:19 +01:00
* Added functionality for panel switching.
This commit is contained in:
@@ -8,12 +8,14 @@ import os
|
||||
import pygtk
|
||||
import gtk
|
||||
import gtk.glade
|
||||
import gobject
|
||||
|
||||
from config import Config
|
||||
import dialogs
|
||||
|
||||
class Preferences:
|
||||
def __init__(self):
|
||||
self.category_dict = {'Disk options':'disk_group','General':'general_group','Scan options':'scan_group'}
|
||||
self.conf = Config()
|
||||
self.conf.load()
|
||||
|
||||
@@ -21,15 +23,14 @@ class Preferences:
|
||||
|
||||
self.glade = gtk.glade.XML(self.gladefile,"prefs")
|
||||
dic = {
|
||||
"on_button_ejt_clicked" :self.show_filechooser,
|
||||
"on_button_mnt_clicked" :self.show_dirchooser,
|
||||
"on_button_ejt_clicked" :self.show_filechooser,
|
||||
"on_button_mnt_clicked" :self.show_dirchooser,
|
||||
"on_category_tree_cursor_changed" :self.activate_pan,
|
||||
}
|
||||
self.glade.signal_autoconnect(dic)
|
||||
|
||||
self.pref = self.glade.get_widget("prefs")
|
||||
|
||||
self.tree = self.glade.get_widget("category")
|
||||
|
||||
self.desc = self.glade.get_widget("desc")
|
||||
|
||||
self.cd = self.glade.get_widget("mnt_entry")
|
||||
@@ -39,6 +40,23 @@ class Preferences:
|
||||
self.eject.set_text(self.conf.confd['eject'])
|
||||
self.pref.show()
|
||||
|
||||
self.tree = self.glade.get_widget("category_tree")
|
||||
self.model = gtk.ListStore(gobject.TYPE_STRING)
|
||||
self.model.clear()
|
||||
self.tree.set_model(self.model)
|
||||
self.tree.set_headers_visible(False)
|
||||
self.tree.show()
|
||||
|
||||
for i in self.category_dict:
|
||||
print i,self.category_dict[i]
|
||||
myiter = self.model.insert_after(None,None)
|
||||
self.model.set_value(myiter,0,i)
|
||||
|
||||
renderer=gtk.CellRendererText()
|
||||
column=gtk.TreeViewColumn("Name",renderer, text=0)
|
||||
column.set_resizable(True)
|
||||
self.tree.append_column(column)
|
||||
|
||||
def show_filechooser(self,widget):
|
||||
"""dialog for choose eject"""
|
||||
dialog = gtk.FileChooserDialog(
|
||||
@@ -80,6 +98,29 @@ class Preferences:
|
||||
response = dialog.run()
|
||||
if response == gtk.RESPONSE_OK:
|
||||
self.cd.set_text(dialog.get_filename())
|
||||
|
||||
dialog.destroy()
|
||||
|
||||
def activate_pan(self,treeview):
|
||||
model = treeview.get_model()
|
||||
selected = model.get_value(model.get_iter(treeview.get_cursor()[0]),0)
|
||||
iterator = treeview.get_model().get_iter_first();
|
||||
while iterator != None:
|
||||
if model.get_value(iterator,0) == selected:
|
||||
try:
|
||||
self.glade.get_widget(self.category_dict[model.get_value(iterator,0)]).show()
|
||||
except:
|
||||
pass
|
||||
else:
|
||||
try:
|
||||
self.glade.get_widget(self.category_dict[model.get_value(iterator,0)]).hide()
|
||||
except:
|
||||
pass
|
||||
iterator = treeview.get_model().iter_next(iterator);
|
||||
|
||||
if __name__ == "__main__":
|
||||
try:
|
||||
app=Preferences()
|
||||
#app.run()
|
||||
gtk.main()
|
||||
except KeyboardInterrupt:
|
||||
gtk.main_quit
|
||||
|
||||
Reference in New Issue
Block a user