Skip to content
This repository has been archived by the owner on Mar 22, 2018. It is now read-only.

Commit

Permalink
work in progress issue #125
Browse files Browse the repository at this point in the history
  • Loading branch information
mfrasca committed Sep 15, 2015
1 parent fd07af7 commit 216a808
Show file tree
Hide file tree
Showing 4 changed files with 57 additions and 20 deletions.
6 changes: 6 additions & 0 deletions bauble/connmgr.glade
Original file line number Diff line number Diff line change
Expand Up @@ -291,6 +291,8 @@ Click on &lt;b&gt;Add&lt;/b&gt; to create a new connection.</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_action_appearance">False</property>
<signal name="activate" handler="on_file_btnbrowse_clicked" swapped="no"/>
<signal name="clicked" handler="on_file_btnbrowse_clicked" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
Expand Down Expand Up @@ -334,6 +336,8 @@ Click on &lt;b&gt;Add&lt;/b&gt; to create a new connection.</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_action_appearance">False</property>
<signal name="activate" handler="on_pictureroot_btnbrowse_clicked" swapped="no"/>
<signal name="clicked" handler="on_pictureroot_btnbrowse_clicked" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
Expand Down Expand Up @@ -516,6 +520,8 @@ Click on &lt;b&gt;Add&lt;/b&gt; to create a new connection.</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_action_appearance">False</property>
<signal name="activate" handler="on_pictureroot2_btnbrowse_clicked" swapped="no"/>
<signal name="clicked" handler="on_pictureroot2_btnbrowse_clicked" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
Expand Down
30 changes: 30 additions & 0 deletions bauble/connmgr.py
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,36 @@ def __init__(self, view=None):
except:
pass

def on_file_btnbrowse_clicked(self, *args):
previously = self.view.widget_get_value('file_entry')
last_folder, bn = os.path.split(previously)
self.view.run_FileChooserDialog(
_("Choose a file..."), None,
action=gtk.FILE_CHOOSER_ACTION_SAVE,
buttons=(gtk.STOCK_OK, gtk.RESPONSE_ACCEPT,
gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL),
last_folder=last_folder, target='file_entry')

def on_pictureroot_btnbrowse_clicked(self, *args):
previously = self.view.widget_get_value('pictureroot_entry')
last_folder, bn = os.path.split(previously)
self.view.run_FileChooserDialog(
_("Choose a file..."), None,
action=gtk.FILE_CHOOSER_ACTION_CREATE_FOLDER,
buttons=(gtk.STOCK_OK, gtk.RESPONSE_ACCEPT,
gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL),
last_folder=last_folder, target='pictureroot_entry')

def on_pictureroot2_btnbrowse_clicked(self, *args):
previously = self.view.widget_get_value('pictureroot2_entry')
last_folder, bn = os.path.split(previously)
self.view.run_FileChooserDialog(
_("Choose a file..."), None,
action=gtk.FILE_CHOOSER_ACTION_CREATE_FOLDER,
buttons=(gtk.STOCK_OK, gtk.RESPONSE_ACCEPT,
gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL),
last_folder=last_folder, target='pictureroot2_entry')

def refresh_view(self):
GenericEditorPresenter.refresh_view(self)
conn_list = self.connections
Expand Down
21 changes: 16 additions & 5 deletions bauble/editor.py
Original file line number Diff line number Diff line change
Expand Up @@ -247,6 +247,22 @@ def __init__(self, filename, parent=None, root_widget_name=None):
self.connect(window, 'response', self.on_dialog_response)
self.box = set() # the top level, meant for warnings.

def run_FileChooserDialog(
self, text, parent, action, buttons, last_folder, target):
chooser = gtk.FileChooserDialog(text, parent, buttons=buttons)
#chooser.set_do_overwrite_confirmation(True)
#chooser.connect("confirm-overwrite", confirm_overwrite_callback)
try:
if last_folder:
chooser.set_current_folder(last_folder)
if chooser.run() == gtk.RESPONSE_ACCEPT:
filename = chooser.get_filename()
if filename:
self.widget_set_value(target, filename)
except Exception, e:
logger.warning("unhandled exception in iojson.py: %s" % e)
chooser.destroy()

def get_selection(self):
'''return the selection in the graphic interface'''
class EmptySelectionException(Exception):
Expand Down Expand Up @@ -708,7 +724,6 @@ def widget_get_value(self, widget, *args):
return self.values[widget]

def widget_set_value(self, widget, value, *args):
print 'widget set value >%s< >%s<' % (widget, value)
self.values[widget] = value
if widget in self.models:
if (value, ) in self.models[widget]:
Expand Down Expand Up @@ -748,17 +763,13 @@ def combobox_append_text(self, name, value):
model.append((value, ))

def combobox_set_active(self, widget, index):
print 'combobox set active', widget, index
self.index[widget] = index
self.values[widget] = self.models[widget][index][0]
print self.values[widget]

def combobox_get_active(self, widget):
print 'combobox get active', widget, self.values[widget]
return self.index.setdefault(widget, 0)

def combobox_get_model(self, widget):
print 'combobox get model', widget
return self.models[widget]

def set_accept_buttons_sensitive(self, sensitive=True):
Expand Down
20 changes: 5 additions & 15 deletions bauble/plugins/imex/iojson.py
Original file line number Diff line number Diff line change
Expand Up @@ -161,23 +161,13 @@ def get_objects(self):
return result

def on_btnbrowse_clicked(self, button):
chooser = gtk.FileChooserDialog(
self.view.run_FileChooserDialog(
_("Choose a file..."), None,
buttons=(gtk.STOCK_OK, gtk.RESPONSE_ACCEPT,
gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL))
#chooser.set_do_overwrite_confirmation(True)
#chooser.connect("confirm-overwrite", confirm_overwrite_callback)
try:
if self.last_folder:
chooser.set_current_folder(self.last_folder)
if chooser.run() == gtk.RESPONSE_ACCEPT:
filename = chooser.get_filename()
if filename:
JSONExporter.last_folder, bn = os.path.split(filename)
self.view.widget_set_value('filename', filename)
except Exception, e:
logger.warning("unhandled exception in iojson.py: %s" % e)
chooser.destroy()
gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL),
last_folder=self.last_folder, target='filename')
filename = self.view.widget_get_value('filename')
JSONExporter.last_folder, bn = os.path.split(filename)

def on_btnok_clicked(self, widget):
self.run() # should go in the background really
Expand Down

0 comments on commit 216a808

Please sign in to comment.