GUI changes for Copy function in Family Tree Manager dialog
svn: r23415
This commit is contained in:
parent
81ca515038
commit
bdf9f42477
@ -137,7 +137,7 @@ class DbManager(CLIDbManager):
|
|||||||
if parent:
|
if parent:
|
||||||
self.top.set_transient_for(parent)
|
self.top.set_transient_for(parent)
|
||||||
|
|
||||||
for attr in ['connect', 'cancel', 'new', 'remove',
|
for attr in ['connect', 'cancel', 'new', 'remove', 'copy',
|
||||||
'dblist', 'rename', 'repair', 'rcs', 'msg']:
|
'dblist', 'rename', 'repair', 'rcs', 'msg']:
|
||||||
setattr(self, attr, self.glade.get_object(attr))
|
setattr(self, attr, self.glade.get_object(attr))
|
||||||
|
|
||||||
@ -167,6 +167,7 @@ class DbManager(CLIDbManager):
|
|||||||
self.remove.connect('clicked', self.__remove_db)
|
self.remove.connect('clicked', self.__remove_db)
|
||||||
self.new.connect('clicked', self.__new_db)
|
self.new.connect('clicked', self.__new_db)
|
||||||
self.rename.connect('clicked', self.__rename_db)
|
self.rename.connect('clicked', self.__rename_db)
|
||||||
|
self.copy.connect('clicked', self.__copy_db)
|
||||||
self.repair.connect('clicked', self.__repair_db)
|
self.repair.connect('clicked', self.__repair_db)
|
||||||
self.selection.connect('changed', self.__selection_changed)
|
self.selection.connect('changed', self.__selection_changed)
|
||||||
self.dblist.connect('button-press-event', self.__button_press)
|
self.dblist.connect('button-press-event', self.__button_press)
|
||||||
@ -223,6 +224,7 @@ class DbManager(CLIDbManager):
|
|||||||
if not node:
|
if not node:
|
||||||
self.connect.set_sensitive(False)
|
self.connect.set_sensitive(False)
|
||||||
self.rename.set_sensitive(False)
|
self.rename.set_sensitive(False)
|
||||||
|
self.copy.set_sensitive(False)
|
||||||
self.rcs.set_sensitive(False)
|
self.rcs.set_sensitive(False)
|
||||||
self.repair.set_sensitive(False)
|
self.repair.set_sensitive(False)
|
||||||
self.remove.set_sensitive(False)
|
self.remove.set_sensitive(False)
|
||||||
@ -254,6 +256,7 @@ class DbManager(CLIDbManager):
|
|||||||
self.repair.set_sensitive(False)
|
self.repair.set_sensitive(False)
|
||||||
|
|
||||||
self.rename.set_sensitive(True)
|
self.rename.set_sensitive(True)
|
||||||
|
self.copy.set_sensitive(True)
|
||||||
self.remove.set_sensitive(True)
|
self.remove.set_sensitive(True)
|
||||||
|
|
||||||
def __build_interface(self):
|
def __build_interface(self):
|
||||||
@ -421,6 +424,7 @@ class DbManager(CLIDbManager):
|
|||||||
"""
|
"""
|
||||||
self.connect.set_sensitive(False)
|
self.connect.set_sensitive(False)
|
||||||
self.rename.set_sensitive(False)
|
self.rename.set_sensitive(False)
|
||||||
|
self.copy.set_sensitive(False)
|
||||||
|
|
||||||
def __change_name(self, renderer_sel, path, new_text):
|
def __change_name(self, renderer_sel, path, new_text):
|
||||||
"""
|
"""
|
||||||
@ -636,6 +640,30 @@ class DbManager(CLIDbManager):
|
|||||||
self.name_renderer.set_property('editable', True)
|
self.name_renderer.set_property('editable', True)
|
||||||
self.dblist.set_cursor(path, self.column, True)
|
self.dblist.set_cursor(path, self.column, True)
|
||||||
|
|
||||||
|
def __copy_db(self, obj):
|
||||||
|
"""
|
||||||
|
Copy the database through low-level file copies.
|
||||||
|
"""
|
||||||
|
self.copy.set_sensitive(False)
|
||||||
|
# First, get the selected tree:
|
||||||
|
store, node = self.selection.get_selected()
|
||||||
|
path = self.model.get_path(node)
|
||||||
|
# Next, copy the files
|
||||||
|
dirname = store[node][PATH_COL]
|
||||||
|
try:
|
||||||
|
dir_path, title = self._create_new_db(title=_("%s (copy)") % store[node][NAME_COL])
|
||||||
|
except (OSError, IOError) as msg:
|
||||||
|
DbManager.ERROR(_("Could not create Family Tree"),
|
||||||
|
str(msg))
|
||||||
|
#scroll to new position
|
||||||
|
store, node = self.selection.get_selected()
|
||||||
|
tree_path = store.get_path(node)
|
||||||
|
self.dblist.scroll_to_cell(tree_path, None, False, 0.5, 0.5)
|
||||||
|
# Finally, allow user to edit the copied name:
|
||||||
|
self.name_renderer.set_property('editable', True)
|
||||||
|
self.dblist.set_cursor(tree_path, self.column, True)
|
||||||
|
self.copy.set_sensitive(True)
|
||||||
|
|
||||||
def __repair_db(self, obj):
|
def __repair_db(self, obj):
|
||||||
"""
|
"""
|
||||||
Start the repair process by calling the start_editing option on
|
Start the repair process by calling the start_editing option on
|
||||||
|
@ -321,6 +321,21 @@
|
|||||||
<property name="position">0</property>
|
<property name="position">0</property>
|
||||||
</packing>
|
</packing>
|
||||||
</child>
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="copy">
|
||||||
|
<property name="label">gtk-copy</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">True</property>
|
||||||
|
<property name="can_default">True</property>
|
||||||
|
<property name="receives_default">True</property>
|
||||||
|
<property name="use_stock">True</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="expand">False</property>
|
||||||
|
<property name="fill">False</property>
|
||||||
|
<property name="position">1</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkButton" id="remove">
|
<object class="GtkButton" id="remove">
|
||||||
<property name="label">gtk-delete</property>
|
<property name="label">gtk-delete</property>
|
||||||
@ -335,7 +350,7 @@
|
|||||||
<packing>
|
<packing>
|
||||||
<property name="expand">False</property>
|
<property name="expand">False</property>
|
||||||
<property name="fill">False</property>
|
<property name="fill">False</property>
|
||||||
<property name="position">1</property>
|
<property name="position">2</property>
|
||||||
</packing>
|
</packing>
|
||||||
</child>
|
</child>
|
||||||
<child>
|
<child>
|
||||||
@ -352,7 +367,7 @@
|
|||||||
<packing>
|
<packing>
|
||||||
<property name="expand">False</property>
|
<property name="expand">False</property>
|
||||||
<property name="fill">False</property>
|
<property name="fill">False</property>
|
||||||
<property name="position">2</property>
|
<property name="position">3</property>
|
||||||
</packing>
|
</packing>
|
||||||
</child>
|
</child>
|
||||||
<child>
|
<child>
|
||||||
@ -369,7 +384,7 @@
|
|||||||
<packing>
|
<packing>
|
||||||
<property name="expand">False</property>
|
<property name="expand">False</property>
|
||||||
<property name="fill">False</property>
|
<property name="fill">False</property>
|
||||||
<property name="position">3</property>
|
<property name="position">4</property>
|
||||||
</packing>
|
</packing>
|
||||||
</child>
|
</child>
|
||||||
<child>
|
<child>
|
||||||
@ -386,7 +401,7 @@
|
|||||||
<packing>
|
<packing>
|
||||||
<property name="expand">False</property>
|
<property name="expand">False</property>
|
||||||
<property name="fill">False</property>
|
<property name="fill">False</property>
|
||||||
<property name="position">4</property>
|
<property name="position">5</property>
|
||||||
</packing>
|
</packing>
|
||||||
</child>
|
</child>
|
||||||
</object>
|
</object>
|
||||||
|
Loading…
Reference in New Issue
Block a user