* Navweb: multi-language configuration.
* Navweb: multi-language exec, navigation menu, css
* Navweb: make css responsive for multi-language
* Language menu must work with a non english lang
* Avoid to copy common files for each language
* Use cms and archive in multi-languages
* Add the default index.
* Some cleanup.
* Images: performances improvement with image_size
Need to use the magic library (python-magic, python3-magic, ...)
If this library don't exist on the system, continue to use the Gdk method.
- force archive if we use CMS
- remove some unused code
- some strings are not translatable
- stay on the same page when you change language
- add image in the ancestor tree for all levels and not for the first 5
performances:
- copy images and thumbs only for the first language
* Some minor corrections and performances test
* Update comments for methods and functions
* Narweb: add show tags option
* Try to translate tags and suppress the colon (:)
* Narweb: integrate of webcal for multilang use
For each lang, we use the related calendar if it exists
* Death string only translated for the locale lang
* set correct url for extrapage.
* Add optional toggle for html sections
* show birth and death date if close option selected
* No background in references section with Mainz css
* Remove photo from list incompatible with multilang
* Add the first photo to the place page marker
* Add associated persons.
* Solves 'undefined' in map popup.
* Calendar: Set the background for the current day
* Thumbnail align problem with long description.
* Set the contact page date to the note date
* Add a scroll to top button.
* Increase the nb of generations since we can scroll
* Difficult to see the "go to top" icon.
* Better management for the toggle switch
For developers, an extra optional context parameter has been
added to the gettext functions. For example, _('point size|pt')
should now be written as _('pt', 'point size').
For translators this would appear in the message catalog as:
msgctxt "point size"
msgid "pt"
msgstr "pt"
Implements #3416.
Fixes an error triggered when the first person_handle in the list
has a death event, but no birth event (get_birth_ref() == None)
and does not have family relationships (spouse_handle == None).
These conditions lead to the local variable short_name not being
declared before it comes time to process death events.
Fixes#11766
* Replace inspect.stack() with inspect.currentframe()
Fixes#11874
Works around https://bugs.python.org/issue12920 which causes every
call to inspect.trace() to fail because __main__ is always the
starting point.
* Fix a few Codecov complaints from files touched by previous commit.
Ignoring the "duplicate code" issue caused by the empty comment line
at the beginning of every file.
Attempt to derive the resource path from the package path assuming that
one of the three main installation schemes has been used.
The package path will be one of the following:
<prefix>/lib/pythonX.Y/site-packages
<prefix>\Lib\site-packages
<home>/lib/python
<userbase>/lib/pythonX.Y/site-packages
<userbase>\PythonXY\site-packages
Where <prefix>, <home> and <userbase> are the resource paths used in the
Prefix, Home and User installation schemes.
The use of the command line option "--install-data" in the setup script
is no longer supported.
This change is intended to allow a Gramps core package to be created
as a wheel and installed via pip.
* autobackup; add delay after wake from sleep/hibernate to allow time
for system to settle.
Fixes#10953
* Autobackup only if new commits since last autobackup in session
After run
python3 setup.py build
I receive this error:
"package init file 'gramps/plugins/db/bsddb/__init__.py' not found (or not a
regular file)"
I copy file .../gramps/plugins/db/dbapi/__init__.py in /bsddb/.
Error not displayed.
In the individuals and in surnames pages, we should show the complete name
like defined in the display tab from the narrative web configuration.
Fixes#04404
SensorNotRequired:
The sensor parameter is no longer required for the Maps JavaScript API.
It won't prevent the Maps JavaScript API from working correctly, but we
recommend that you remove the sensor parameter from the script element.
Fixes#011654
* Narweb: incorrect place index if alternate names
The places page index doesn't show the alternate names used.
In the narrative web, the first phase is to select all places.
For each object, if we have a place, we memorize that depending on date.
When we create the place pages, we start from these information in the place
table. At this moment, we have no date.
So the sort by primary names gives an incorrect index list and the alternate
place names are missing.
Fixes#11645
* some cleanup
* Narweb: possibility to have more than 2 downloads
By default, I set this to 3 downloads.
If you want to have more than 3 downloads, you have only the variable
self.__max_download to change in the narrativeweb.py.
* better pylint score.
* Narweb: add md5 checksum for each file
* Display a message if the file doesn't exist
Fixes#11626
PySQLite3 requires that collation names have only ascii alphanumerics
and _. ICU locales use old-style Unicode specifiers and passing them to
create_locale will raise an exception. Translate those characters into
underscores.
Fixes#11639
* NAVWEB: set unused media to False by default
Fixes#11496
* Navweb: Center correctly the map in the web page
* Webcal: Dropmenu doesn't work if only one year.
* Navweb: Add notes to updates and delete empty rows
* Navweb: some code cleanup.
* Navweb: remove unused variable
* Narweb: references enhancement on place pages.
* Navweb: convert the years in gregorian cal.
* Narweb: remove unused argument
* Narweb: really solves the pyICU problem
* WEBCAL: missing death symbol
* Navweb: Don't use media regions in some case:
- If we don't show families
- If we don't show events
Fixes#011500
* Navweb: side effect between event and media pages
When a media is processed in the media display section for an event
page, it's remove from the media_list, so when we try to create the
media regions in the media page, the media list is empty and we
can't display the regions.
* Narweb: Don't show the regions for a thumbnail
When editing a Media image, Unknown is displayed if the image is a Tiff or Png. This changes this to display TIFF image or PNG image instead. Just a cosmetic change.
* Fix import file chooser filter to accept upper case extensions
Fixes#11463
* Allow import file filter to accept case insensitive extensions
Co-authored-by: Nick Hall <nick-h@gramps-project.org>
* Narrative: Don't use event links if no event pages
+ some pylint changes
* map popup links must be visible for all stylesheet
* Narrative web: add scrollbar in popup content
* Narweb: Some improvement in popup
* Narweb: remove unused variable.
* Narrative web: Some improvements
- Event type, Date and place in bold
- Family events shifted one column on the left
- ancestortree css file before narrative-screen to allow modification
- Adaptation for all themes
Fixes#11393
* Narrative web: forgot a comma during last merge
* Allow scrolling if the ancestor tree is too large
* Translation of alternate stylesheets name
* Crash when using the family map
* Translate only the css title, not the file name
* Some minor corrections to css files
* Narrative web: open layers optimizations
* Narrative web: open layers and link in popup
* Narrative web: some events missing in popup
* Narrative web: Reference date column too large.
Allow the place title to use the maximum of width
* NarrativeWeb: shift children from one column
- adapt the css files to the new table
- some inconsistencies between the source and the css
* Make the drop down menu button size usable
* NarrativeWeb: Incorrect rendering when use of
alternate place name
* NarWeb: removing the unused image heigth option
* Click on image link gives a not found URL.
If the image used in home, introduction or contact page
is not already associated by a filtered object, we have a 404 error
* NarWeb: Index images and thumbnails pages optional
* Narweb: Improper Notes subtitle in web pages
* Narweb: List index truncated after 999
* Narweb: NarrativeWeb usage enhancements
* Narweb: avoid duplicate files in archive.
* Narweb: Add an optional news and updates page:
When you have a big database and you make intensive updates, it's
useful to have a list of the last modified objects.
you can select the period to show and how many records to see per object type.
* Narweb: forgot to add the module updates.py
* Narweb: some minor changes (pylint, img index bug)
* Popups don't work with the last openlayers version
It only needs to move the scripts at the end of the html body.
Use addEventListener instead of onload in the html body statement.
* Narweb: some popup problems
* Narweb: better score for pylint
* WEBCAL: Have config files for multiple databases.
* WEBCAL: best management for the narrative web link
* WEBCAL: use arrows, compress monthname and arrows
adapt the css files accordingly
* WEBCAL: use arrows in one day within a year
compress monthname and arrows
adapt the css files accordingly
* WEBCAL: index go now to the current month.
before this patch, the default month for the year calendar
was the month found at the web calendar generation.
Now, even if you create this report 8 months ago, the current
index will point to the current month.
* WEBCAL: trailing space.
* WEBCAL: year glance + some pylint improvements
* WEBCAL: incorrect width size with Mainz css.
* WEBCAL: problem with Visually css file
* WEBCAL: The table cell is highlighted when hover.
* WEBCAL: better pylint score.
* WEBCAL: Better rendering for full yer at a glance
* WEBCAL: better rendering on small devices
* WEBCAL: better quality code
Fixes#10124
Fix up Event Editors Place display for bidi text with Gramps ID (PR 924)
Some versions of Gtk/Pango have trouble with text containing both LTR and RTL characters. The bug notes this shows up in our Event Editor on the 'Place" field, where we have the place displayer title and the Gramps ID concatenated into the same string.
In older versions of Gtk (3.18.9 tested) the bracket around the Gramps ID would get mangled to the beginning of the string:
<images>
In newer versions of Gtk (3.24.3 tested) it was better to start with:
<images>
The older version of Gtk/Pango doesn't seem to properly interpret all of the potential Unicode bidi control characters, so the fix shown is the best I can do. The fixed version of the newer Gtk version is what is desired.
I note that the Place displayer should be fixed up to use more appropriate separators than just commas for RTL text, but that is another issue.
Fixes#11410
The bug submitter noticed that the GEDCOM export contained translated strings in the MEDI lines of his export. GEDCOM should contain English values for most such cases where 'types' are exported.
I scanned the export code for other potential cases, and found:
* Certain unexpected event types on individuals (Marriage)
* Certain unexpected event types on families (Immigration, Residence, etc.)
* Pedigree types that were not standardized on PEDI,_FREL,_MREL (Sponsored, Unknown)
* Family Attributes other than Number if children (Caste, Description, National etc.)
* Personal Attributes other than Caste, Description, ID, National, number of children, SSN (Occupation etc.)
* The MEDI types of this bug report...
Fixes#10762
User "petpil" (Gramps Bugtracker) noted that the Calculate Estimated Dates addon would not expand the size of its window content when the window was stretched. That addon used the ToolManagedWindowBatch which uses a Gtk Notebook to support several tabs. He also submitted a patch which fixes the problem.
The Gtk.Container.add method originally used apparently did not have expand/fill settings to allow the expansion. The Gtk.Box.pack_start used instead does.
I tested this with all the users of ToolManagedWindowBatch and ToolManagedWindow which inherit from ToolManagedWindowBase, and did not see any bad/unexpected side effects. The Calculate Estimated Dates addon was the only one that really could use this, as it was the only one which I spotted using a potentially large widget in the notebook tab.
* Max ages should be divisible by 5 to avoid out of range
errors.
* The chart width should be greater than 45 to look right and
avoid division by zero errors.
Fixes#11384
It turns out the changes was actually changing the wrong config setting...
I had to look this one up. Using a lambda like this is called a 'closure' by some; what is happening is that the value 'constant' is being evaluated at the time the lambda is called, not when it is assigned. So in this particular bit of code the preference setting was actually changing 'preferences.family-relation-type' (the value of the variable 'constant' set a bit after the lambda definition.
I reverted this particular bit of code, as I think this kind of Python knowledge is pretty obscure (I could have just used a different unique name for the 'constant' variable).
Fixes#11390
As it says, if Family Tree name contained non-ASCII characters, the titlebar on Windows would display it wrong. Turned out to be reading of a utf8 file without the 'encoding' set. On Windows this results in using the default encoding which is one of the code pages, NOT utf8.
that passes
If user has only a single font available that passes check for the Genealogical Symbols being all present, the original code crashed. Apparently never tested... #598Fixes#11395
Fixes#11380, #11339
In prior versions of Gramps you could use the undo/redo keys to edit items in the text entries. This no longer works.
This is related to the changes to suppress odd characters and leading/trailing spaces. The Gtk.Entry.set_text() call is effectively clearing the undo/redo list at every keystroke or when you leave the field.
In this PR I move the odd characters cleanup into UndoableEntry.do_insert_text instead of MonitoredEntry.
I scanned the users of MonitoredEntry and they all appeared to use Glade files, I scanned the glade files for anyone using just plain Entry (none found), they all appeared to use UndoableEntry or ValidatableMaskedEntry, so this should cover everyone.
* Narrative web: Ancestor's tree display looks weird
Solves the following:
- Person boxes overlap
- Some person boxes partially visible or hidden
Fixes#11382
* Narrative web: some cleanup in ancestortree.css
* Narrative web : ancestor tree and long names.
* Adapt ancestor tree css file for all themes
Via email a user noted a bug when "Gramps -v" was used with Gtk not installed (and gi was).
When the "gi.require_version('Gtk', '3.0')" was added during Gramps 5.0.0 timeframe, a corresponding exception was not.
Fixes#11366
* Make PedigreeView listen on event update signals.
The PedigreeView was not listening for updates on events, so changes to a birthday or death would not be reflected in the view.
* Remove comment about signal side-effects.
Fixes#11378
For the index, toc, bookmark etc. normal XML escape is correct, the original code also added sub-tags for line break and tab which was NOT correct.
Useful when you create a site web, you don't need to create a new
web when you are testing the stylesheets. The final user can change
the stylesheet for the current page.
i.e. on Firefox: View -> Page style -> The stylesheet
The "graph" is the data part for genealogytree without the boilerplate
code around it that makes up a full LaTeX file. This format is useful
for people who have their own (more sophisticated) LaTeX file with
custom styles and so on.
The implementation is pretty straight-forward: Just don't output the
LaTeX code.
Currently dates and places contain XML special characters (example: birth date
= "1867 <?>"), the item is rendered incorrectly in the report, when images are
included. Escaping special characters with html.escape solves the problem.
Also fixes the & sign in the name, which earlier caused the report to fail.