#!/usr/bin/env python
import sys
try:
import pygtk
pygtk.require("2.0")
except:
print("pygtk Not Availible")
sys.exit(1)
try:
import gtk
import pango
except:
print("GTK Not Availible")
sys.exit(1)
class PrefWin(object):
def delete_event(self, widget, event):
self.window.destroy()
def __init__(self, parent):
self.parent = parent
self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
self.window.set_title("MinimPy Program Preferences")
self.window.connect("delete_event", self.delete_event)
self.window.set_border_width(10)
table = gtk.Table(11, 2)
self.set_tab_pos_cbo = gtk.combo_box_new_text()
self.set_tab_pos_cbo.append_text("Left")
self.set_tab_pos_cbo.append_text("Right")
self.set_tab_pos_cbo.append_text("Top")
self.set_tab_pos_cbo.append_text("Bottom")
self.set_tab_pos_cbo.set_active(parent.notebook.get_tab_pos())
self.set_tab_pos_cbo.connect("changed", self.set_tab_pos_cbo_changed)
label = gtk.Label("Program Tab Positions")
table.attach(label, 0, 1, 0, 1, xoptions=gtk.EXPAND)
table.attach(self.set_tab_pos_cbo, 1, 2, 0, 1, xoptions=gtk.EXPAND)
#self.fixed_text_fg_color_light_btn = gtk.ColorButton(parent.fixed_text_fg_color_light)
#label = gtk.Label("Fixed Text Foreground Color Light")
#table.attach(label, 0, 1, 7, 8, xoptions=gtk.EXPAND)
#table.attach(self.fixed_text_fg_color_light_btn, 1, 2, 7, 8, xoptions=gtk.EXPAND)
sep = gtk.HSeparator()
table.attach(sep, 0, 2, 1, 2)
self.load_recent_chk = gtk.CheckButton("Load Last Project on Startup (Must be saved to apply)")
self.load_recent_chk.set_active(self.parent.config.getboolean('project', 'load_recent'))
table.attach(self.load_recent_chk, 0, 2, 2, 3, xoptions=gtk.EXPAND)
btn = gtk.Button(None, gtk.STOCK_SAVE)
btn.connect("clicked", self.save_prefs)
table.attach(btn, 0, 1, 3, 4, xoptions=gtk.EXPAND)
btn = gtk.Button(None, gtk.STOCK_CLOSE)
btn.connect("clicked", self.close_window)
table.attach(btn, 1, 2, 3, 4, xoptions=gtk.EXPAND)
self.window.add(table)
self.window.show_all()
def set_tab_pos_cbo_changed(self, cbo, data=None):
self.parent.notebook.set_tab_pos(self.set_tab_pos_cbo.get_active())
def save_prefs(self, widget, data=None):
self.parent.config.set('interface', 'tab_pos', self.set_tab_pos_cbo.get_active())
self.parent.config.set('project', 'load_recent', self.load_recent_chk.get_active())
with open(self.parent.config_file, 'wb') as config_file:
self.parent.config.write(config_file)
self.window.destroy()
def close_window(self, widget, data=None):
self.window.destroy()