* src/ArgHandler.py: remove DbPrompter dependency
* src/GrampsGconfKeys.py: Support for saving window size * src/GrampsIniKeys.py: Support for saving window size * src/GrampsKeys.py: more gracefully handling missing gconf * src/Makefile.am: Fixed moved files * src/Report.py: clean up * src/ScratchPad.py: use GrampsDisplay instead of gnome.help_display * src/StartupDialog.py: clean up * src/ViewManager.py: save window size * src/gramps_main.py: don't require gnome * src/data/gramps.schemas: keys for saving window size svn: r5640
This commit is contained in:
parent
957f6d9b0f
commit
b0807932ad
13
ChangeLog
13
ChangeLog
@ -1,3 +1,16 @@
|
||||
2005-12-29 Don Allingham <don@gramps-project.org>
|
||||
* src/ArgHandler.py: remove DbPrompter dependency
|
||||
* src/GrampsGconfKeys.py: Support for saving window size
|
||||
* src/GrampsIniKeys.py: Support for saving window size
|
||||
* src/GrampsKeys.py: more gracefully handling missing gconf
|
||||
* src/Makefile.am: Fixed moved files
|
||||
* src/Report.py: clean up
|
||||
* src/ScratchPad.py: use GrampsDisplay instead of gnome.help_display
|
||||
* src/StartupDialog.py: clean up
|
||||
* src/ViewManager.py: save window size
|
||||
* src/gramps_main.py: don't require gnome
|
||||
* src/data/gramps.schemas: keys for saving window size
|
||||
|
||||
2005-12-29 Martin Hawlisch <Martin.Hawlisch@gmx.de>
|
||||
* src/PedView.py: Add new submenu showing people that share
|
||||
the same event. This for example lists witnesses.
|
||||
|
22
configure.in
22
configure.in
@ -144,28 +144,6 @@ then
|
||||
fi
|
||||
AC_MSG_RESULT(ok)
|
||||
|
||||
AC_MSG_CHECKING(Python bindings for gnome canvas)
|
||||
cat > conftest.py <<EOF
|
||||
$pygtk_require
|
||||
try:
|
||||
# Do not import gnome.canvas, this can raise a RuntimeError if the
|
||||
# display cannot be opened. Just search it.
|
||||
import imp
|
||||
imp.find_module('gnome/canvas')
|
||||
out("YES")
|
||||
except ImportError:
|
||||
out("NO")
|
||||
EOF
|
||||
$PYTHON conftest.py
|
||||
has_canvas=`cat conftest.out`
|
||||
rm -f conftest.out conftest.py
|
||||
if test YES != "$has_canvas"
|
||||
then
|
||||
AC_MSG_ERROR([
|
||||
**** The python bindings for gnome canvas (gnome-python2-canvas) could not be found.])
|
||||
fi
|
||||
AC_MSG_RESULT(ok)
|
||||
|
||||
AC_MSG_CHECKING(Python bindings for gnome vfs)
|
||||
cat > conftest.py <<EOF
|
||||
$pygtk_require
|
||||
|
@ -43,7 +43,6 @@ from gettext import gettext as _
|
||||
import const
|
||||
import GrampsDb
|
||||
import GrampsMime
|
||||
import DbPrompter
|
||||
import QuestionDialog
|
||||
import GrampsKeys
|
||||
import RecentFiles
|
||||
@ -277,7 +276,7 @@ class ArgHandler:
|
||||
"following dialog will let you select "
|
||||
"the new database."),
|
||||
self.parent.topWindow)
|
||||
prompter = DbPrompter.NewNativeDbPrompter(self.parent)
|
||||
prompter = NewNativeDbPrompter(self.parent)
|
||||
if not prompter.chooser():
|
||||
QuestionDialog.ErrorDialog(
|
||||
_("New GRAMPS database was not set up"),
|
||||
@ -636,3 +635,91 @@ class ArgHandler:
|
||||
else:
|
||||
print "Unknown action: %s." % action
|
||||
os._exit(1)
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
# NewNativeDbPrompter
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
class NewNativeDbPrompter:
|
||||
"""
|
||||
This class allows to set up a new empty native (grdb) database.
|
||||
The filename is forced to have an '.grdb' extension. If not given,
|
||||
it is appended.
|
||||
"""
|
||||
|
||||
def __init__(self,parent,parent_window=None):
|
||||
self.parent = parent
|
||||
self.parent_window = parent_window
|
||||
|
||||
def chooser(self):
|
||||
"""
|
||||
Select the new file. Suggest the Untitled_X.grdb name.
|
||||
Return 1 when selection is made and 0 otherwise.
|
||||
"""
|
||||
choose = gtk.FileChooserDialog(_('GRAMPS: Create GRAMPS database'),
|
||||
self.parent_window,
|
||||
gtk.FILE_CHOOSER_ACTION_SAVE,
|
||||
(gtk.STOCK_CANCEL,
|
||||
gtk.RESPONSE_CANCEL,
|
||||
gtk.STOCK_OPEN,
|
||||
gtk.RESPONSE_OK))
|
||||
self.parent.clear_database()
|
||||
|
||||
# Always add automatic (macth all files) filter
|
||||
add_all_files_filter(choose)
|
||||
add_grdb_filter(choose)
|
||||
|
||||
# Suggested folder: try last open file, import, then last export,
|
||||
# then home.
|
||||
default_dir = os.path.split(GrampsKeys.get_lastfile())[0] + os.path.sep
|
||||
if len(default_dir)<=1:
|
||||
default_dir = GrampsKeys.get_last_import_dir()
|
||||
if len(default_dir)<=1:
|
||||
default_dir = GrampsKeys.get_last_export_dir()
|
||||
if len(default_dir)<=1:
|
||||
default_dir = '~/'
|
||||
|
||||
new_filename = Utils.get_new_filename('grdb',default_dir)
|
||||
|
||||
choose.set_current_folder(default_dir)
|
||||
choose.set_current_name(os.path.split(new_filename)[1])
|
||||
|
||||
while (True):
|
||||
response = choose.run()
|
||||
if response == gtk.RESPONSE_OK:
|
||||
filename = choose.get_filename()
|
||||
if filename == None:
|
||||
continue
|
||||
if os.path.splitext(filename)[1] != ".grdb":
|
||||
filename = filename + ".grdb"
|
||||
choose.destroy()
|
||||
self.parent.db = GrampsDb.gramps_db_factory(const.app_gramps)()
|
||||
self.parent.read_file(filename)
|
||||
# Add the file to the recent items
|
||||
RecentFiles.recent_files(filename,const.app_gramps)
|
||||
self.parent.build_recent_menu()
|
||||
return True
|
||||
else:
|
||||
choose.destroy()
|
||||
return False
|
||||
choose.destroy()
|
||||
return False
|
||||
|
||||
def add_all_files_filter(chooser):
|
||||
"""
|
||||
Add an all-permitting filter to the file chooser dialog.
|
||||
"""
|
||||
mime_filter = gtk.FileFilter()
|
||||
mime_filter.set_name(_('All files'))
|
||||
mime_filter.add_pattern('*')
|
||||
chooser.add_filter(mime_filter)
|
||||
|
||||
def add_grdb_filter(chooser):
|
||||
"""
|
||||
Add a GRDB filter to the file chooser dialog.
|
||||
"""
|
||||
mime_filter = gtk.FileFilter()
|
||||
mime_filter.set_name(_('GRAMPS databases'))
|
||||
mime_filter.add_mime_type(const.app_gramps)
|
||||
chooser.add_filter(mime_filter)
|
||||
|
@ -60,6 +60,18 @@ def get_default_view():
|
||||
def save_default_view(val):
|
||||
set_int("/apps/gramps/interface/defaultview",val,(0,1))
|
||||
|
||||
def get_height():
|
||||
return get_int("/apps/gramps/interface/height")
|
||||
|
||||
def save_height(val):
|
||||
set_int("/apps/gramps/interface/height",val)
|
||||
|
||||
def get_width():
|
||||
return get_int("/apps/gramps/interface/width")
|
||||
|
||||
def save_width(val):
|
||||
set_int("/apps/gramps/interface/width",val)
|
||||
|
||||
def get_family_view():
|
||||
return get_int("/apps/gramps/interface/familyview",(0,1))
|
||||
|
||||
|
@ -211,6 +211,18 @@ def get_default_view():
|
||||
def save_default_view(val):
|
||||
set_int("interface", "defaultview",val,(0,1))
|
||||
|
||||
def get_height():
|
||||
return get_int("interface", "height")
|
||||
|
||||
def save_height(val):
|
||||
set_int("interface", "height",val)
|
||||
|
||||
def get_width():
|
||||
return get_int("interface", "width")
|
||||
|
||||
def save_width(val):
|
||||
set_int("interface", "width",val)
|
||||
|
||||
def get_family_view():
|
||||
return get_int("interface", "familyview", (0,1))
|
||||
|
||||
|
@ -18,9 +18,8 @@
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
#
|
||||
|
||||
import const
|
||||
|
||||
if const.no_gconf:
|
||||
from GrampsIniKeys import *
|
||||
else:
|
||||
try:
|
||||
from GrampsGconfKeys import *
|
||||
except:
|
||||
from GrampsIniKeys import *
|
||||
|
@ -1,7 +1,7 @@
|
||||
# $Id$
|
||||
|
||||
# This is the src level Makefile for Gramps
|
||||
SUBDIRS = docgen plugins dates data po
|
||||
SUBDIRS = docgen plugins dates data po GrampsDb RelLib
|
||||
|
||||
# For intl. support, how do we compile?
|
||||
MOSTLYCLEANFILES =
|
||||
@ -41,7 +41,6 @@ gdir_PYTHON = \
|
||||
DateParser.py\
|
||||
DateHandler.py\
|
||||
DateDisplay.py\
|
||||
DbPrompter.py\
|
||||
DdTargets.py\
|
||||
DisplayModels.py\
|
||||
DisplayTrace.py\
|
||||
@ -52,24 +51,16 @@ gdir_PYTHON = \
|
||||
EventEdit.py\
|
||||
FamilyView.py\
|
||||
FontScale.py\
|
||||
GedcomInfo.py\
|
||||
GenericFilter.py\
|
||||
GnomeMime.py\
|
||||
GrampsCfg.py\
|
||||
GrampsBSDDB.py\
|
||||
GrampsDbBase.py\
|
||||
GrampsDBCallback.py\
|
||||
GrampsDisplay.py\
|
||||
GrampsInMemDB.py\
|
||||
GrampsXMLDB.py\
|
||||
GrampsGEDDB.py\
|
||||
GrampsMime.py\
|
||||
gramps_main.py\
|
||||
gramps.py\
|
||||
ImageSelect.py\
|
||||
ImgManip.py\
|
||||
latin_ansel.py\
|
||||
latin_utf8.py\
|
||||
ListBox.py\
|
||||
ListModel.py\
|
||||
LocEdit.py\
|
||||
@ -89,11 +80,8 @@ gdir_PYTHON = \
|
||||
PluginMgr.py\
|
||||
PythonMime.py\
|
||||
QuestionDialog.py\
|
||||
ReadGedcom.py \
|
||||
ReadXML.py\
|
||||
Relationship.py\
|
||||
RelImage.py\
|
||||
RelLib.py\
|
||||
Report.py\
|
||||
ReportUtils.py\
|
||||
ScratchPad.py\
|
||||
@ -114,8 +102,6 @@ gdir_PYTHON = \
|
||||
UrlEdit.py\
|
||||
Utils.py\
|
||||
Witness.py\
|
||||
WriteGedcom.py \
|
||||
WriteXML.py\
|
||||
SelectPerson.py\
|
||||
ArgHandler.py\
|
||||
Exporter.py\
|
||||
@ -124,8 +110,6 @@ gdir_PYTHON = \
|
||||
GrampsGconfKeys.py\
|
||||
RecentFiles.py\
|
||||
ReportOptions.py\
|
||||
ReadGrdb.py\
|
||||
WriteGrdb.py\
|
||||
EventView.py\
|
||||
SelectEvent.py\
|
||||
Spell.py\
|
||||
|
@ -41,6 +41,33 @@ from types import ClassType, InstanceType
|
||||
#-------------------------------------------------------------------------
|
||||
import gtk
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
# GRAMPS modules
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
import const
|
||||
import Utils
|
||||
import Plugins
|
||||
import PluginMgr
|
||||
import BaseDoc
|
||||
import StyleEditor
|
||||
import GrampsKeys
|
||||
import PaperMenu
|
||||
import Errors
|
||||
import GenericFilter
|
||||
import NameDisplay
|
||||
from QuestionDialog import ErrorDialog, OptionDialog
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
# Import XML libraries
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
try:
|
||||
from xml.sax import make_parser,handler,SAXParseException
|
||||
except:
|
||||
from _xmlplus.sax import make_parser,handler,SAXParseException
|
||||
|
||||
class FileEntry(gtk.HBox):
|
||||
def __init__(self,defname,title):
|
||||
@ -109,36 +136,6 @@ class FileEntry(gtk.HBox):
|
||||
def set_directory_entry(self,opt):
|
||||
self.dir = opt
|
||||
|
||||
#from gnome.ui import FileEntry
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
# GRAMPS modules
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
import const
|
||||
import Utils
|
||||
import Plugins
|
||||
import PluginMgr
|
||||
import BaseDoc
|
||||
import StyleEditor
|
||||
import GrampsKeys
|
||||
import PaperMenu
|
||||
import Errors
|
||||
import GenericFilter
|
||||
import NameDisplay
|
||||
from QuestionDialog import ErrorDialog, OptionDialog
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
# Import XML libraries
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
try:
|
||||
from xml.sax import make_parser,handler,SAXParseException
|
||||
except:
|
||||
from _xmlplus.sax import make_parser,handler,SAXParseException
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
# Constants
|
||||
|
@ -38,7 +38,6 @@ from gettext import gettext as _
|
||||
import gtk
|
||||
import gtk.glade
|
||||
from gtk.gdk import ACTION_COPY, BUTTON1_MASK
|
||||
from gnome import help_display
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
@ -48,6 +47,7 @@ from gnome import help_display
|
||||
import const
|
||||
import TreeTips
|
||||
import DateHandler
|
||||
import GrampsDisplay
|
||||
|
||||
from DdTargets import DdTargets
|
||||
|
||||
@ -902,7 +902,7 @@ class ScratchPadWindow:
|
||||
|
||||
def on_help_clicked(self,obj):
|
||||
"""Display the relevant portion of GRAMPS manual"""
|
||||
help_display('gramps-manual','tools-util-scratch-pad')
|
||||
GrampsDisplay.help('tools-util-scratch-pad')
|
||||
|
||||
def on_close_scratchpad(self,obj):
|
||||
self.remove_itself_from_menu()
|
||||
|
@ -229,9 +229,10 @@ class StartupDialog:
|
||||
box.set_spacing(12)
|
||||
p.append_item("",box,"")
|
||||
|
||||
label = gtk.Label(_('In order to create valid GEDCOM files, the following information '
|
||||
'needs to be entered. If you do not plan to generate GEDCOM files, '
|
||||
'you may leave this empty.'))
|
||||
label = gtk.Label(
|
||||
_('In order to create valid GEDCOM files, the following '
|
||||
'information needs to be entered. If you do not plan to '
|
||||
'generate GEDCOM files, you may leave this empty.'))
|
||||
label.set_line_wrap(True)
|
||||
|
||||
box.pack_start(label)
|
||||
@ -297,10 +298,12 @@ class StartupDialog:
|
||||
box.set_spacing(12)
|
||||
p.append_item("",box,"")
|
||||
|
||||
label = gtk.Label(_('GRAMPS has support for LDS Ordinances, which are special event types\n'
|
||||
'related to the Church of Jesus Christ of Latter Day Saints.\n\n'
|
||||
'You may choose to either enable or disable this support. You may\n'
|
||||
'change this option in the future in the Preferences dialog.'))
|
||||
label = gtk.Label(
|
||||
_('GRAMPS has support for LDS Ordinances, which are special '
|
||||
'event types\nrelated to the Church of Jesus Christ of '
|
||||
'Latter Day Saints.\n\nYou may choose to either enable '
|
||||
'or disable this support. You may\nchange this option in '
|
||||
'the future in the Preferences dialog.'))
|
||||
|
||||
box.add(label)
|
||||
align = gtk.Alignment(0.5,0)
|
||||
|
@ -162,7 +162,14 @@ class ViewManager:
|
||||
self.pages = []
|
||||
self.window = gtk.Window()
|
||||
self.window.connect('destroy', self.quit)
|
||||
self.window.set_size_request(775,500)
|
||||
|
||||
try:
|
||||
width = GrampsKeys.get_width()
|
||||
height = GrampsKeys.get_height()
|
||||
print width,height
|
||||
self.window.set_default_size(width,height)
|
||||
except:
|
||||
self.window.set_default_size(775,500)
|
||||
|
||||
self.statusbar = gtk.Statusbar()
|
||||
|
||||
@ -234,6 +241,10 @@ class ViewManager:
|
||||
|
||||
def quit(self,obj=None):
|
||||
self.state.db.close()
|
||||
(width,height) = self.window.get_size()
|
||||
GrampsKeys.save_width(width)
|
||||
GrampsKeys.save_height(height)
|
||||
GrampsKeys.sync()
|
||||
gtk.main_quit()
|
||||
|
||||
def set_color(self,obj):
|
||||
|
@ -94,6 +94,30 @@
|
||||
</locale>
|
||||
</schema>
|
||||
|
||||
<schema>
|
||||
<key>/schemas/apps/gramps/interface/height</key>
|
||||
<applyto>/apps/gramps/interface/height</applyto>
|
||||
<owner>gramps</owner>
|
||||
<type>int</type>
|
||||
<default>500</default>
|
||||
<locale name="C">
|
||||
<short>Height of the interface.</short>
|
||||
<long>Specifies the height of the interface when GRAMPS starts.</long>
|
||||
</locale>
|
||||
</schema>
|
||||
|
||||
<schema>
|
||||
<key>/schemas/apps/gramps/interface/width</key>
|
||||
<applyto>/apps/gramps/interface/width</applyto>
|
||||
<owner>gramps</owner>
|
||||
<type>int</type>
|
||||
<default>775</default>
|
||||
<locale name="C">
|
||||
<short>Width of the interface.</short>
|
||||
<long>Specifies the width of the interface when GRAMPS starts.</long>
|
||||
</locale>
|
||||
</schema>
|
||||
|
||||
<schema>
|
||||
<key>/schemas/apps/gramps/interface/familyview</key>
|
||||
<applyto>/apps/gramps/interface/familyview</applyto>
|
||||
|
@ -26,7 +26,6 @@
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
import gtk
|
||||
import gnome
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
@ -58,7 +57,6 @@ import TipOfDay
|
||||
from GrampsMime import mime_type_is_defined
|
||||
from QuestionDialog import ErrorDialog
|
||||
|
||||
|
||||
iconpaths = [".",const.rootDir]
|
||||
|
||||
def register_stock_icons ():
|
||||
@ -113,16 +111,20 @@ class Gramps:
|
||||
def __init__(self,args):
|
||||
|
||||
try:
|
||||
import gnome
|
||||
self.program = gnome.program_init('gramps',const.version,
|
||||
gnome.libgnome_module_info_get(),
|
||||
args, const.popt_table)
|
||||
except:
|
||||
self.program = gnome.program_init('gramps',const.version)
|
||||
|
||||
self.program.set_property('app-libdir','%s/lib' % const.prefixdir)
|
||||
self.program.set_property('app-datadir','%s/share/gramps' % const.prefixdir)
|
||||
self.program.set_property('app-sysconfdir','%s/etc' % const.prefixdir)
|
||||
self.program.set_property('app-libdir',
|
||||
'%s/lib' % const.prefixdir)
|
||||
self.program.set_property('app-datadir',
|
||||
'%s/share/gramps' % const.prefixdir)
|
||||
self.program.set_property('app-sysconfdir',
|
||||
'%s/etc' % const.prefixdir)
|
||||
self.program.set_property('app-prefix', const.prefixdir)
|
||||
except:
|
||||
pass
|
||||
|
||||
try:
|
||||
GrampsCfg.loadConfig()
|
||||
|
Loading…
Reference in New Issue
Block a user