* src/AddMedia.py: relative path support

* src/AddrEdit.py: add DisplayTab support
* src/DdTargets.py: repository references support
* src/DisplayTabs.py: repository reference support
* src/EditMedia.py: save support
* src/EditSource.py: save support
* src/ImageSelect.py: remove unused stuff
* src/Sources.py: use object instead of gobject.TYPE_PYOBJECT
* src/Utils.py: relative path calculator
* src/ViewManager.py: change cwd to directory of the file so that
relative paths work
* src/edit_person.glade: fix size
* src/gramps.glade: add relative path indicator
* src/GrampsDb/_ReadGedcom.py: remove useless compare


svn: r5883
This commit is contained in:
Don Allingham
2006-02-04 23:29:44 +00:00
parent bb9731bea7
commit 1504419e4b
14 changed files with 214 additions and 1603 deletions

View File

@@ -1118,6 +1118,23 @@ def get_type_converter_by_name(val_str):
return unicode
return unicode
def relative_path(original, base):
if not os.path.exists(original) or not os.path.isdir(base):
return original
base_list = (os.path.abspath(base)).split(os.sep)
target_list = (os.path.abspath(original)).split(os.sep)
# Starting from the filepath root, work out how much of the filepath is
# shared by base and target.
for i in range(min(len(base_list), len(target_list))):
if base_list[i] <> target_list[i]: break
else:
i+=1
rel_list = [os.pardir] * (len(base_list)-i) + target_list[i:]
return os.path.join(*rel_list)
class ProgressMeter:
"""
Progress meter class for GRAMPS.