From a383745fc847003ce407049ffccbc89e20dbad99 Mon Sep 17 00:00:00 2001 From: Mustafa Sakarya Date: Tue, 13 Jul 2010 20:28:01 +0300 Subject: [PATCH] Preferences are modifiable Set button saves config.pickle file with new values --- gui/gui.glade | 77 ++++++++++++++++++++++++++++++++++------------------------- gui/main.py | 45 ++++++++++++++++++++++------------ 2 files changed, 74 insertions(+), 48 deletions(-) diff --git a/gui/gui.glade b/gui/gui.glade index 27f7236..c2234a3 100644 --- a/gui/gui.glade +++ b/gui/gui.glade @@ -320,55 +320,61 @@ + 320 + 240 5 normal False - + True 2 - + True - - - - - - - - - + pd_cb_liststore + + False 1 + + + 60 + True + + + False + 2 + + + + + True + True + + + + False + 3 + + - + True end - - New - True - True - True - - - - False - False - 0 - + - - Cancel + + Set True True True - + False @@ -377,12 +383,12 @@ - - Save + + Close True True True - + False @@ -400,9 +406,14 @@ - bt_preferences_dialog_new - bt_preferences_dialog_cancel - bt_preferences_dialog_save + pd_set_bt + pd_close_bt + + + + + + diff --git a/gui/main.py b/gui/main.py index d55bafa..9fafea4 100755 --- a/gui/main.py +++ b/gui/main.py @@ -3,7 +3,6 @@ import pygtk pygtk.require("2.0") import sys import gtk - from com import COM class Main: @@ -14,10 +13,16 @@ class Main: self.about = builder.get_object("aboutdialog1") self.tbconnect=builder.get_object("tbconnect") self.preferences_dialog=builder.get_object("preferences_dialog") + self.preferences_dialog_align= builder.get_object("preferences_dialog_vbox") + self.pd_entry=builder.get_object("pd_entry") + self.pd_cb=builder.get_object("pd_cb") + self.pd_cb_liststore=builder.get_object("pd_cb_liststore") + builder.connect_signals(self) self.com=COM() - self.tbconnect.set_active(True) + self.tbconnect.set_active(True) + self.pd_init() def on_btsend_clicked(self, widget, data=None): self.com.write([1,2,3]) def on_tbconnect_clicked(self, widget, data=None): @@ -27,15 +32,28 @@ class Main: else: self.com.disconnect() widget.set_label(" Closed") - def on_preferences_dialog_show(self, widget, data=None): + def on_pd_cb_changed(self, widget, data=None): + entry=self.pd_entry #Preferences dialog combobox + cb=self.pd_cb + active=cb.get_active_text() + entry.set_text(conf.d[active]) + def pd_init(self): + cb=self.pd_cb #Fill in preferences dialog + liststore = self.pd_cb_liststore for item in conf.d: - print(item,conf.d[item]) - self.preferences_dialog.show() - def on_bt_preferences_dialog_new_clicked(self, widget, data=None): - print(data) - def on_bt_preferences_dialog_save_clicked(self, widget, data=None): - self.preferences_dialog.hide() - def on_bt_preferences_dialog_cancel_clicked(self, widget, data=None): + liststore.append([item]) + cb.set_model(liststore) + cb.set_text_column(0) + cb.set_active(0) + def on_preferences_dialog_show(self, widget, data=None): + self.preferences_dialog.show() + def on_pd_set_bt_clicked(self, widget, data=None): + entry=self.pd_entry + cb=self.pd_cb + active=cb.get_active_text() + conf.d[active]=entry.get_text() + conf.save() + def on_pd_close_bt_clicked(self, widget, data=None): self.preferences_dialog.hide() def on_window1_destroy(self, widget, data=None): gtk.main_quit() @@ -44,10 +62,6 @@ class Main: def on_aboutdialog1_response(self, widget, data=None): self.about.hide() -class Preferences: - def __init__(self,parent=None): - self.parent=parent - class STD: def __init__(self,file): self.file=file @@ -73,8 +87,9 @@ class Configure: def save(self): pickle=self.p fpickle=open('config.pickle','w') + #self.d['newitem']='newvalue' pickle.dump(self.d, fpickle) # Dictionary - fpickle.close() + fpickle.close() conf=Configure() -- 2.11.4.GIT