[xiphos-source] [crosswire/xiphos] c5a137: Fix font preferences dialog UI issues (#911) (#1279)

LAfricain noreply at github.com
Wed Mar 11 20:06:30 EDT 2026


  Branch: refs/heads/master
  Home:   https://github.com/crosswire/xiphos
  Commit: c5a137fd065fb946f24293deda55c53771e84bdf
      https://github.com/crosswire/xiphos/commit/c5a137fd065fb946f24293deda55c53771e84bdf
  Author: L'Africain <fr.cyrille at tiberiade.be>
  Date:   2026-03-11 (Wed, 11 Mar 2026)

  Changed paths:
    M po/fr.po
    M po/it.po
    M po/xiphos.pot
    M src/gtk/dictlex.c
    M src/gtk/font_dialog.c
    M src/gtk/main_menu.c
    M src/gtk/main_window.c
    M src/gtk/preferences_dialog.c
    M src/gtk/xiphos.c
    M src/gui/dictlex.h
    M src/gui/main_window.h
    M src/gui/preferences_dialog.h
    M src/gui/widgets.h
    M src/main/module_dialogs.cc
    M src/main/settings.c
    M src/main/settings.h
    M src/main/sword.cc
    M src/main/sword.h
    M src/main/url.cc
    M ui/prefs.glade
    M ui/prefs.gtkbuilder

  Log Message:
  -----------
  Fix font preferences dialog UI issues (#911) (#1279)

* New help translation for it. Minor correction for French and Italian i18n.

* New strings translated

* Correction of some errors from the last commit

* Solves issue #1104, Three new fields added to preferences, Special for morphological dictionaries

* Fixed issue with dictionary choices not persisting #1104

* Added a new tab for devotional. CSS support. Resolves issue #1010

* Fixes the issue with the dictionary appearing in the devotional tab. And opens the correct tab directly when clicking on a dictionary or devotional.

* Addition of arrows for history navigation, solves issue #732

* Added a calendar display option for the daily devotional. The calendar is displayed according to local time zones. This is an improvement to issue #1010.

* Pot file updated with new features words. French and Italian updated

* Fix Windows build error in sword.cc (missing langinfo.h)

* Fix Windows link error by guarding GtkPopover with version check

* fix: use GDK_SELECTION_PRIMARY instead of GDK_SELECTION_CLIPBOARD for dictionary lookup on double-click

When double-clicking a word to look it up in the dictionary, Xiphos was
reading GDK_SELECTION_CLIPBOARD, which is filled asynchronously by the
WebKit COPY command. This caused a timing issue where the previous word
was looked up instead of the newly selected one.

The fix reads GDK_SELECTION_PRIMARY instead, which X11 fills
automatically and synchronously when the user double-clicks a word,
making it immediately available for the dictionary lookup.

The now-redundant WebKit COPY block (#ifdef USE_WEBKIT2 ... #endif) has
also been removed as it is no longer needed for this functionality.

Fixes #1212

* Fix #1091: show commentary introductions in chapter display

Commentary modules like MHC store introduction text as entry
attributes (Heading/Preverse) like Bible modules do, but
GTKEntryDisp::displayByChapter() never called CacheHeader()
to retrieve and display them.

Add CacheHeader() call in the verse loop of displayByChapter()
to match the existing behavior in GTKChapDisp::display().

* Fix #1091: show commentary introductions in chapter display

Commentary modules like MHC store introduction text as entry
attributes (Heading/Preverse) like Bible modules do, but
GTKEntryDisp::displayByChapter() never called CacheHeader()
to retrieve and display them.

Add CacheHeader() call in the verse loop of displayByChapter()
to match the existing behavior in GTKChapDisp::display().

* Fix: show chapter introduction after chapter title, not before

In getVerseBefore(), the intro material was appended before the
chapter title (display_chapter_N block), causing introductions
to appear above the chapter number. Swap the two blocks so the
chapter title is displayed first, followed by the introduction,
matching the OSIS spec where <div type="introduction"> follows
<chapter sID/>.

* Fix parallel tab navigation broken after changing modules in preferences

Root causes:
1. navbar_parallel was defined three times (parallel_tab.c,
   parallel_dialog.c, navbar_versekey_parallel.c), causing each
   file to use its own separate instance. This also caused a
   duplicate navigation bar to appear when opening the parallel
   tab, as each definition created its own navbar widget. Fixed
   by keeping the single definition in navbar_versekey_parallel.c
   and using extern in the other two files, ensuring a single
   navbar is created and displayed.

2. ps_button_cut() stored abbreviations in settings.parallel_list
   instead of full module names (the treeview column 1 stores
   abbreviations). After a cut, backend->get_SWModule() received
   an abbreviation and returned NULL, silently breaking all
   navigation. Fixed by converting abbreviations back to full
   names after g_strsplit().

3. After changing parallel modules in preferences, navbar_parallel
   .module_name was not updated to reflect the new module list.
   Added gui_navbar_parallel_set_module() to update it, called
   from on_dialog_prefs_response() and on_dialog_prefs_close().

Fixes: #1088
Related: #1272

* Fix missing include for gui_navbar_parallel_set_module

* prefs: add drag-and-drop reordering and double-click adding of parallel versions (fixes #702)

* correction de Vue en Aperçu

* Fix font preferences dialog UI issues (#911)

- Reset language selector to "-- Select --" after each selection,
  allowing the font dialog to be triggered again for the same language
- Localize "Cancel" and "OK" buttons in font dialog
- Localize "default" in display columns combobox
- Localize "language: %s" prefix in font preferences with lowercase and
  added space after colon, as it is the second part of the sentence
  "Change font for / language: %s"
- Localize "none" in font preferences (utilities.c)

* Update source_version.txt to 4.3.2.60

* Revert localization of Language:%s key used in fonts.conf

* Restore source_version.txt to 4.3.2 from master

---------

Co-authored-by: lafricain79 <lafricain79 at gmail.com>



To unsubscribe from these emails, change your notification settings at https://github.com/crosswire/xiphos/settings/notifications


More information about the xiphos-source mailing list