* NEWS: Update.

* src/FamilyView.py (on_child_list_button_press): Add edit person
callback on Shift+click; (sp_key_press, child_key_press): Replace
Ctrl+Insert with Shift+Insert for adding new people.
* src/PedView.py (on_show_child_menu): Markup children with children.
* doc/gramps-manual/C/keybind.xml: Update.
* doc/gramps-manual/C/faq.xml: Update.
* doc/gramps-manual/C/filtref.xml: Update.


svn: r2412
This commit is contained in:
Alex Roitman 2003-12-01 04:22:15 +00:00
parent 1792d02d0f
commit ff9b6287b5
7 changed files with 310 additions and 57 deletions

View File

@ -1,3 +1,13 @@
2003-11-30 Alex Roitman <shura@alex.neuro.umn.edu>
* NEWS: Update.
* src/FamilyView.py (on_child_list_button_press): Add edit person
callback on Shift+click; (sp_key_press, child_key_press): Replace
Ctrl+Insert with Shift+Insert for adding new people.
* src/PedView.py (on_show_child_menu): Markup children with children.
* doc/gramps-manual/C/keybind.xml: Update.
* doc/gramps-manual/C/faq.xml: Update.
* doc/gramps-manual/C/filtref.xml: Update.
2003-11-29 Don Allingham <dallingham@users.sourceforge.net> 2003-11-29 Don Allingham <dallingham@users.sourceforge.net>
* src/PedView.py (PedigreeView.find_children): used italics instead of * src/PedView.py (PedigreeView.find_children): used italics instead of
'*' to indicate children in popup menu '*' to indicate children in popup menu

View File

@ -1,4 +1,4 @@
Version 0.98.0 Version 0.98.0 -- the "Round me off" release
* More compliance with GNOME HIG. * More compliance with GNOME HIG.
* New BookReport dialog layout. * New BookReport dialog layout.
* Person View uses a tree format instead of list format. * Person View uses a tree format instead of list format.
@ -19,6 +19,9 @@ Version 0.98.0
appear in post-1.0 releases. appear in post-1.0 releases.
* Tab labels in tabbed dialogs reflect the presence of data (bold). * Tab labels in tabbed dialogs reflect the presence of data (bold).
* Help button available in most dialogs. * Help button available in most dialogs.
* Keyboard navigation and functionality in Family View.
* In Pedigree View, children are marked up differently in popup menus
depending on whether they have children.
* Bugfixes. * Bugfixes.
Version 0.9.5 -- the "Fix me up" release Version 0.9.5 -- the "Fix me up" release

View File

@ -1,12 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!-- $Id$ --> <!-- $Id$ -->
<!-- =============== Appendices Subsection ================ --> <!-- =============== Appendices Subsection ================ -->
<sect2 id="faq"> <sect2 id="faq">
<title>Frequently Asked Questions</title> <title>Frequently Asked Questions</title>
<para>This appendix contains the list of questions that frequently come <para>This appendix contains the list of questions that frequently come
up in mailing list discussions and forums. This list is by no means up in mailing list discussions and forums. This list is by no means
complete. If you would like to add questions/answers to this list, complete. If you would like to add questions/answers to this list,
please email your suggestions to gramps-devel@lists.sf.net please email your suggestions to <ulink url="mailto:gramps-devel@lists.sf.net"
type="mailto">gramps-devel@lists.sf.net</ulink>
</para> </para>
<variablelist> <variablelist>
@ -183,7 +186,8 @@ This will be addressed in the next stable release following version 1.0.
Temporarily, adding more memory could make a huge difference, but we realize Temporarily, adding more memory could make a huge difference, but we realize
that this is a poor way of treating the problem. If you would like to help that this is a poor way of treating the problem. If you would like to help
with the implementation of the real database backend, please don't hesitate with the implementation of the real database backend, please don't hesitate
to email us at gramps-devel@lists.sf.net to email us at <ulink url="mailto:gramps-devel@lists.sf.net"
type="mailto">gramps-devel@lists.sf.net</ulink>
</para></listitem> </para></listitem>
</varlistentry> </varlistentry>
@ -226,23 +230,46 @@ ability to add/remove/edit sortable columns.
What do I do?</term> What do I do?</term>
<listitem><para> <listitem><para>
The best thing you can do is to fix the bug and send the patch to The best thing you can do is to fix the bug and send the patch to
gramps-devel@lists.sf.net :-)</para> <ulink url="mailto:gramps-devel@lists.sf.net"
type="mailto">gramps-devel@lists.sf.net</ulink> :-)</para>
<para> <para>
The next best thing would be to submit a good bug report. This can be done in The next best thing would be to submit a good bug report. This can be done in
one of the two ways: (1) send your report to gramps-bugs@lists.sf.net one of the two ways: (1) send your report to
<ulink url="mailto:gramps-bugs@lists.sf.net"
type="mailto">gramps-bugs@lists.sf.net</ulink>
or (2) file your report with the bug tracker system at or (2) file your report with the bug tracker system at
http://sf.net/tracker/?group_id=25770&amp;atid=385137 (this function is also <ulink url="http://sf.net/projects/gramps" type="http">
available by selecting "Help->Report a bug" from gramps main menu). </para> http://sf.net/tracker/?group_id=25770&amp;atid=385137</ulink>
(this function is also available by selecting
<menuchoice><guisubmenu>Help</guisubmenu><guimenuitem>Report a
bug</guimenuitem></menuchoice> from gramps main menu). </para>
<para>A good bug report would include: </para> <para>A good bug report would include: </para>
<para> (1) Version of gramps you were using when you encountered the bug
(available through Help->About menu item)</para> <itemizedlist>
<para> (2) Language under which gramps was run
(available by executing "echo $LANG" in your terminal)</para> <listitem><para>
<para> (3) Symptoms indicating that this is indeed a bug</para> 1. Version of gramps you were using when you encountered the bug
<para> (4) Any Traceback messages, error messages, warnings, etc, that showed up (available through <menuchoice><guisubmenu>Help</guisubmenu>
in your terminal or a in separate traceback window</para> <guimenuitem>About</guimenuitem></menuchoice> menu item).
</para></listitem>
<listitem><para>
2. Language under which gramps was run
(available by executing <command>echo $LANG</command> in your terminal).
</para></listitem>
<listitem><para>
3. Symptoms indicating that this is indeed a bug.
</para></listitem>
<listitem><para>
4. Any Traceback messages, error messages, warnings, etc,
that showed up in your terminal or a in separate traceback window.
</para></listitem>
</itemizedlist>
<para>Most problems can be fixed quickly provided there is enough information. <para>Most problems can be fixed quickly provided there is enough information.
To ensure this, please follow up on your bug reports. In particular, if you To ensure this, please follow up on your bug reports. In particular, if you
@ -252,8 +279,10 @@ of contacting you should we need more information. If you choose to file your
report anonymously, at least check every so often whether your report page report anonymously, at least check every so often whether your report page
has something new posted, as it probably would.</para> has something new posted, as it probably would.</para>
<para>If the above explanations seem vague, please follow this link <para>If the above explanations seem vague, please follow
http://www.chiark.greenend.org.uk/~sgtatham/bugs.html <ulink url="http://www.chiark.greenend.org.uk/~sgtatham/bugs.html" type="http">
this link.</ulink>
</para></listitem> </para></listitem>
</varlistentry> </varlistentry>

View File

@ -1,4 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!-- $Id$ -->
<!-- =============== Appendices Subsection ================ --> <!-- =============== Appendices Subsection ================ -->
<sect2 id="append-filtref"> <sect2 id="append-filtref">
<title>Filter rules reference</title> <title>Filter rules reference</title>
@ -307,6 +310,32 @@
</variablelist> </variablelist>
</sect3> </sect3>
<!-- =============== Appendices Sub-subsection ================ -->
<sect3 id="filtref-relat">
<title>Relationship filters</title>
<para>This category includes the following rules that match people
based on their mutual relationship:</para>
<variablelist>
<varlistentry><term>Relationship path between two people</term>
<listitem><para> This rule matches all ancestors of both people
back to their common ancestors (if exist). This produces the
&quot;relationship path&quot; between these two people, through
their common ancestors.
</para>
<para> You can either enter the ID of each person into the
appropriate text entry fields, or select people from the list by
clicking their <guibutton>Select...</guibutton> buttons. In the
latter case, the ID will appear in the text field after the
selection was made.
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>
<!-- =============== Appendices Sub-subsection ================ --> <!-- =============== Appendices Sub-subsection ================ -->
<sect3 id="filtref-misc"> <sect3 id="filtref-misc">
<title>Miscellaneous filters</title> <title>Miscellaneous filters</title>

View File

@ -1,5 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!-- $Id$ --> <!-- $Id$ -->
<!-- =============== Appendices Subsection ================ --> <!-- =============== Appendices Subsection ================ -->
<sect2 id="keybind"> <sect2 id="keybind">
<title>Keybindings reference</title> <title>Keybindings reference</title>
@ -12,16 +14,25 @@
<title>People View</title> <title>People View</title>
<para>The following bindings are available in the People View:</para> <para>The following bindings are available in the People View:</para>
<variablelist> <informaltable frame="topbot">
<tgroup cols="2">
<varlistentry><term>ENTER</term> <colspec colname="col1"/>
<listitem><para> Invoke <guilabel>Edit Person</guilabel> dialog <colspec colname="col2"/>
with the selected person. <thead>
</para></listitem> <row valign="top">
</varlistentry> <entry colname="col1" colsep="0" valign="top"><para>Key</para></entry>
<entry colname="col2" valign="top"><para>Function</para></entry>
</row>
</variablelist> </thead>
<tbody>
<row valign="top">
<entry><para><guilabel>Enter</guilabel></para></entry>
<entry><para>Invoke <guilabel>Edit Person</guilabel> dialog
with the selected person.</para></entry>
</row>
</tbody>
</tgroup>
</informaltable>
</sect3> </sect3>
@ -29,44 +40,211 @@
<!-- =============== Appendices Sub-subsection ================ --> <!-- =============== Appendices Sub-subsection ================ -->
<sect3 id="keybind-family"> <sect3 id="keybind-family">
<title>Family View</title> <title>Family View</title>
<para>The following bindings are available in the Family View:</para> <para>The bindings available in the Family View depend on where the
focus is. The following tables list the bindings for all focus
targets.</para>
<variablelist> <variablelist>
<varlistentry><term>ENTER</term> <varlistentry><term>Focus on the Active Person</term>
<listitem><para> When focus is on the active person, invoke <listitem>
<guilabel>Edit Person</guilabel> dialog with the active person.
When focus is in the <guilabel>Spouse</guilabel> box, edit the <informaltable frame="topbot">
relationship between the active person and the selected spouse. <tgroup cols="2">
When focus is in the parents' box, edit relationship between the <colspec colname="col1"/>
selected parents and the active person/selected spouse. When focus <colspec colname="col2"/>
is in the children box, edit relationship between the selected <thead>
child and his/her parents (active person and selected spouse). <row valign="top">
</para> <entry colname="col1" colsep="0" valign="top"><para>Key</para></entry>
<para>In all cases, pressing <guilabel>ENTER</guilabel> somewhere is <entry colname="col2" valign="top"><para>Function</para></entry>
equivalent to double-clicking on the appropriate selection. </row>
</para> </thead>
</listitem> <tbody>
</varlistentry> <row valign="top">
<entry><para><guilabel>Enter</guilabel></para></entry>
<entry><para>Invoke <guilabel>Edit Person</guilabel> dialog with
the active person.</para></entry>
</row>
<row valign="top">
<entry><para><guilabel>Ctrl+Down</guilabel>
or <guilabel>Ctrl+Right</guilabel></para></entry>
<entry><para>Swap the Active Person and the selected spouse.
Use <guilabel>Ctrl+Down</guilabel> in standard Family View and
<guilabel>Ctrl+Right</guilabel> in alternative Family
View.</para></entry>
</row>
</tbody>
</tgroup>
</informaltable>
<varlistentry><term>Shift+ENTER</term>
<listitem><para> When focus is on the <guilabel>Spouse</guilabel>
box, invoke <guilabel>Edit Person</guilabel> dialog with the
selected spouse. When focus is in the children box,
invoke <guilabel>Edit Person</guilabel> dialog with the the selected
child.
</para>
<para>In all cases, pressing <guilabel>Shift+ENTER</guilabel>
somewhere is equivalent to shift-clicking on the appropriate
selection.
</para>
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry><term>Focus on the Spouse box</term>
<listitem>
<informaltable frame="topbot">
<tgroup cols="2">
<colspec colname="col1"/>
<colspec colname="col2"/>
<thead>
<row valign="top">
<entry colname="col1" colsep="0" valign="top"><para>Key</para></entry>
<entry colname="col2" valign="top"><para>Function</para></entry>
</row>
</thead>
<tbody>
<row valign="top">
<entry><para><guilabel>Enter</guilabel></para></entry>
<entry><para>Edit relationship between the Active Person and
the selected spouse.</para></entry>
</row>
<row valign="top">
<entry><para><guilabel>Shift+Enter</guilabel></para></entry>
<entry><para>Edit the personal information for the selected
spouse.</para></entry>
</row>
<row valign="top">
<entry><para><guilabel>Insert</guilabel></para></entry>
<entry><para>Add a person from the database to the spouse
list.</para></entry>
</row>
<row valign="top">
<entry><para><guilabel>Shift+Insert</guilabel></para></entry>
<entry><para>Add a new person to the database and to the spouse
list.</para></entry>
</row>
<row valign="top">
<entry><para><guilabel>Delete</guilabel></para></entry>
<entry><para>Delete the selected spouse from the spouse
list. The spouse is not deleted from the database.</para></entry>
</row>
<row valign="top">
<entry><para><guilabel>Ctrl+Up</guilabel>
or <guilabel>Ctrl+Left</guilabel></para></entry>
<entry><para>Swap the selected spouse and the Active Person.
Use <guilabel>Ctrl+Down</guilabel> in standard Family View and
<guilabel>Ctrl+Right</guilabel> in alternative Family
View.</para></entry>
</row>
</tbody>
</tgroup>
</informaltable>
</listitem>
</varlistentry>
<varlistentry><term>Focus on the Parents box</term>
<listitem>
<informaltable frame="topbot">
<tgroup cols="2">
<colspec colname="col1"/>
<colspec colname="col2"/>
<thead>
<row valign="top">
<entry colname="col1" colsep="0" valign="top"><para>Key</para></entry>
<entry colname="col2" valign="top"><para>Function</para></entry>
</row>
</thead>
<tbody>
<row valign="top">
<entry><para><guilabel>Enter</guilabel></para></entry>
<entry><para>Edit relationship between the parents and their
child (either the Active Person or the selected spouse, depending
which parents box the focus is in).</para></entry>
</row>
<row valign="top">
<entry><para><guilabel>Insert</guilabel></para></entry>
<entry><para>Add a new set of parents from the database to the
list.</para></entry>
</row>
<row valign="top">
<entry><para><guilabel>Shift+Insert</guilabel></para></entry>
<entry><para>Add a new set of parents to the database and to the
list.</para></entry>
</row>
<row valign="top">
<entry><para><guilabel>Delete</guilabel></para></entry>
<entry><para>Delete the selected parents from the list.
The parents are not deleted from the database.</para></entry>
</row>
<row valign="top">
<entry><para><guilabel>Ctrl+Right</guilabel>
or <guilabel>Ctrl+Down</guilabel></para></entry>
<entry><para>Make the selected parents the active family.
Use <guilabel>Ctrl+Right</guilabel> in standard Family View and
<guilabel>Ctrl+Down</guilabel> in alternative Family
View.</para></entry>
</row>
</tbody>
</tgroup>
</informaltable>
</listitem>
</varlistentry>
<varlistentry><term>Focus on the Children box</term>
<listitem>
<informaltable frame="topbot">
<tgroup cols="2">
<colspec colname="col1"/>
<colspec colname="col2"/>
<thead>
<row valign="top">
<entry colname="col1" colsep="0" valign="top"><para>Key</para></entry>
<entry colname="col2" valign="top"><para>Function</para></entry>
</row>
</thead>
<tbody>
<row valign="top">
<entry><para><guilabel>Enter</guilabel></para></entry>
<entry><para>Edit relationship between the child and his/her
parents (the Active Person and the selected
spouse).</para></entry>
</row>
<row valign="top">
<entry><para><guilabel>Shift+Enter</guilabel></para></entry>
<entry><para>Edit the personal information for the selected
child.</para></entry>
</row>
<row valign="top">
<entry><para><guilabel>Insert</guilabel></para></entry>
<entry><para>Add a new person from the database to the children
list.</para></entry>
</row>
<row valign="top">
<entry><para><guilabel>Shift+Insert</guilabel></para></entry>
<entry><para>Add a new person to the database and to the children
list.</para></entry>
</row>
<row valign="top">
<entry><para><guilabel>Delete</guilabel></para></entry>
<entry><para>Delete the selected child from the list.
The child is not deleted from the database.</para></entry>
</row>
<row valign="top">
<entry><para><guilabel>Ctrl+Left</guilabel>
or <guilabel>Ctrl+Up</guilabel></para></entry>
<entry><para>Make the selected child the Active Person.
Use <guilabel>Ctrl+Left</guilabel> in standard Family View and
<guilabel>Ctrl+Up</guilabel> in alternative Family
View.</para></entry>
</row>
</tbody>
</tgroup>
</informaltable>
</listitem>
</varlistentry>
</variablelist> </variablelist>
</sect3> </sect3>
</sect2> </sect2>

View File

@ -239,7 +239,7 @@ class FamilyView:
elif event.keyval == gtk.gdk.keyval_from_name("Insert") and not event.state: elif event.keyval == gtk.gdk.keyval_from_name("Insert") and not event.state:
self.select_spouse(obj) self.select_spouse(obj)
elif event.keyval == gtk.gdk.keyval_from_name("Insert") \ elif event.keyval == gtk.gdk.keyval_from_name("Insert") \
and event.state == gtk.gdk.CONTROL_MASK: and event.state == gtk.gdk.SHIFT_MASK:
self.add_spouse(obj) self.add_spouse(obj)
def ap_par_key_press(self,obj,event): def ap_par_key_press(self,obj,event):
@ -286,7 +286,7 @@ class FamilyView:
elif event.keyval == gtk.gdk.keyval_from_name("Insert") and not event.state: elif event.keyval == gtk.gdk.keyval_from_name("Insert") and not event.state:
self.select_child_clicked(obj) self.select_child_clicked(obj)
elif event.keyval == gtk.gdk.keyval_from_name("Insert") \ elif event.keyval == gtk.gdk.keyval_from_name("Insert") \
and event.state == gtk.gdk.CONTROL_MASK: and event.state == gtk.gdk.SHIFT_MASK:
self.add_child_clicked(obj) self.add_child_clicked(obj)
def build_ap_menu(self,event): def build_ap_menu(self,event):
@ -387,6 +387,10 @@ class FamilyView:
id = self.child_model.get_value(iter,2) id = self.child_model.get_value(iter,2)
if event.type == gtk.gdk._2BUTTON_PRESS and event.button == 1: if event.type == gtk.gdk._2BUTTON_PRESS and event.button == 1:
self.child_rel_by_id(id) self.child_rel_by_id(id)
elif event.state == gtk.gdk.SHIFT_MASK and \
event.type == gtk.gdk.BUTTON_PRESS and \
event.button == 1:
self.edit_child_callback(obj)
elif event.type == gtk.gdk.BUTTON_PRESS and event.button == 3: elif event.type == gtk.gdk.BUTTON_PRESS and event.button == 3:
self.build_child_menu(id,event) self.build_child_menu(id,event)

View File

@ -314,12 +314,12 @@ class PedigreeView:
cname = GrampsCfg.nameof(child) cname = GrampsCfg.nameof(child)
menuitem = gtk.MenuItem(None) menuitem = gtk.MenuItem(None)
if find_children(child): if find_children(child):
label = gtk.Label('<i>%s</i>' % cname) label = gtk.Label('<b><i>%s</i></b>' % cname)
else: else:
label = gtk.Label(cname) label = gtk.Label(cname)
label.set_use_markup(gtk.TRUE) label.set_use_markup(gtk.TRUE)
label.show() label.show()
label.set_justify(gtk.JUSTIFY_LEFT) label.set_alignment(0,0)
menuitem.add(label) menuitem.add(label)
myMenu.append(menuitem) myMenu.append(menuitem)
menuitem.set_data(_PERSON,child) menuitem.set_data(_PERSON,child)