Browse Source

Save as

master
Denis Tereshkin 8 years ago
parent
commit
6ebb9526f1
  1. 12
      src/nailab/ui/applicationwindow.py
  2. 9
      src/nailab/ui/tabmanager.py
  3. 3
      ui/nailab.glade

12
src/nailab/ui/applicationwindow.py

@ -20,6 +20,7 @@ class ApplicationWindow:
'on_ApplicationWindow_delete_event' : Gtk.main_quit, 'on_ApplicationWindow_delete_event' : Gtk.main_quit,
'on_OpenFile' : self.open_file, 'on_OpenFile' : self.open_file,
'on_menuSave' : self.save_file, 'on_menuSave' : self.save_file,
'on_menuSaveAs' : self.save_file_as,
'on_StrategyExecute' : self.strategy_execute 'on_StrategyExecute' : self.strategy_execute
} }
@ -40,6 +41,17 @@ class ApplicationWindow:
def save_file(self, arg): def save_file(self, arg):
self.tab_manager.save_current() self.tab_manager.save_current()
def save_file_as(self, arg):
dlg = Gtk.FileChooserDialog('Save file', self.window, Gtk.FileChooserAction.SAVE,
(Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL,
Gtk.STOCK_SAVE, Gtk.ResponseType.OK))
result = dlg.run()
if result == Gtk.ResponseType.OK:
self.tab_manager.save_current_as(dlg.get_filename())
dlg.destroy()
def strategy_execute(self, arg): def strategy_execute(self, arg):
sel = self.tv_datasources.get_selection() sel = self.tv_datasources.get_selection()
model, rows = sel.get_selected_rows() model, rows = sel.get_selected_rows()

9
src/nailab/ui/tabmanager.py

@ -87,7 +87,14 @@ class TabManager(GObject.Object):
with open(self.source_paths[k], 'w') as f: with open(self.source_paths[k], 'w') as f:
f.write(text) f.write(text)
def save_current_as(self, path):
index = self.notebook.get_current_page()
w = self.notebook.get_nth_page(index)
for k, v in self.widgets.items():
if v == w:
text = self.source_controllers[k].get_source_text()
with open(path, 'w') as f:
f.write(text)
def _init_sourceeditor(self): def _init_sourceeditor(self):
scroll = Gtk.ScrolledWindow() scroll = Gtk.ScrolledWindow()

3
ui/nailab.glade

@ -125,12 +125,13 @@
</object> </object>
</child> </child>
<child> <child>
<object class="GtkImageMenuItem" id="imagemenuitem24"> <object class="GtkImageMenuItem" id="menuSaveAs">
<property name="label">gtk-save-as</property> <property name="label">gtk-save-as</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can_focus">False</property>
<property name="use_underline">True</property> <property name="use_underline">True</property>
<property name="use_stock">True</property> <property name="use_stock">True</property>
<signal name="activate" handler="on_menuSaveAs" swapped="no"/>
</object> </object>
</child> </child>
<child> <child>

Loading…
Cancel
Save