diff --git a/CHANGELOG.md b/CHANGELOG.md index b1acc5310..2cd206d91 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,14 @@ +## 30.05.2023 [v2.26.1 & v3.2.1] +- Fixed font selection in tree diagram options (GKv3). +- Missing text issue on very large tree diagrams with very small font (GKv3) is partially resolved. +- Added option (tree diagram window, mode menu) to display person IDs in trees (GKv2/3). +- Crash when saving very wide trees to bitmap files (GKv2/3) has been fixed. +- Fixed output and saving trees with background color or image to file (GKv2/3). +- Fixed display of the Russian language when executing scripts (GKv3). +- Adjusted line colors in trees (GKv2/3). +- Fixed display of notes in lists (GKv3). +- The display of portraits in the person edit dialog (GKv2) has been fixed. + ## 14.05.2023 [v2.26.0/Windows & v3.2.0/Linux,MacOS,Windows] - Added an option to remember the overall size of the records info panels. - Added control and closing of dependent windows when the main one is closed. diff --git a/deploy/DEBIAN/changelog b/deploy/DEBIAN/changelog index 91191a331..bb5abcbff 100644 --- a/deploy/DEBIAN/changelog +++ b/deploy/DEBIAN/changelog @@ -3,4 +3,4 @@ gedkeeper (3.2.1-1~rc1) unstable; urgency=low * Packaged release * See changelog.md for changes - -- Sergey V. Zhdanovskih (aka Norseman) 14 May 2023 00:00:00 +0300 + -- Sergey V. Zhdanovskih (aka Norseman) 30 May 2023 00:00:00 +0300 diff --git a/deploy/gedkeeper.appdata.xml b/deploy/gedkeeper.appdata.xml index 031f8945e..cde32e312 100644 --- a/deploy/gedkeeper.appdata.xml +++ b/deploy/gedkeeper.appdata.xml @@ -40,7 +40,7 @@ Sergey V. Zhdanovskih - + diff --git a/locales/help_enu/gkhHistory.html b/locales/help_enu/gkhHistory.html index 519c280ec..9057c87d2 100644 --- a/locales/help_enu/gkhHistory.html +++ b/locales/help_enu/gkhHistory.html @@ -10,6 +10,20 @@

Change log

+

+ 30.05.2023 [v2.26.1 & v3.2.1]

    +
  • Fixed font selection in tree diagram options (GKv3). +
  • Missing text issue on very large tree diagrams with very small font (GKv3) is partially resolved. +
  • Added option (tree diagram window, mode menu) to display person IDs in trees (GKv2/3). +
  • Crash when saving very wide trees to bitmap files (GKv2/3) has been fixed. +
  • Fixed output and saving trees with background color or image to file (GKv2/3). +
  • Fixed display of the Russian language when executing scripts (GKv3). +
  • Adjusted line colors in trees (GKv2/3). +
  • Fixed display of notes in lists (GKv3). +
  • The display of portraits in the person edit dialog (GKv2) has been fixed. +
+

+

14.05.2023 [v2.26.0/Windows & v3.2.0/Linux,MacOS,Windows]

  • Added an option to remember the overall size of the records info panels. diff --git a/locales/help_rus/gkhHistory.html b/locales/help_rus/gkhHistory.html index e2a62e722..3904733d8 100644 --- a/locales/help_rus/gkhHistory.html +++ b/locales/help_rus/gkhHistory.html @@ -11,7 +11,7 @@

    История версий

    - ??.??.2023 [v2.26.1 & v3.2.1]

      + 30.05.2023 [v2.26.1 & v3.2.1]
      • Исправлен выбор шрифта в опциях диаграмм деревьев (GKv3).
      • Частично решена проблема пропадающего текста на очень больших диаграммах деревьев с очень маленьким шрифтом (GKv3).
      • Добавлена опция (окно диаграмм деревьев, меню режимов) отображения идентификаторов персон в деревьях (GKv2/3). diff --git a/projects/GKCore/GKCore/GKData.cs b/projects/GKCore/GKCore/GKData.cs index 96d59f4cc..9f9a508ce 100644 --- a/projects/GKCore/GKCore/GKData.cs +++ b/projects/GKCore/GKCore/GKData.cs @@ -37,6 +37,13 @@ public static class GKData public const string APP_VERSION_2X = "2.26.1.0"; public const string APP_VERSION_3X = "3.2.1.0"; +#if !GK3 + public const string UpdateURL = "https://sourceforge.net/projects/gedkeeper/files/gk_version.xml"; +#else + public const string UpdateURL = "https://sourceforge.net/projects/gedkeeper/files/gk3_version.xml"; +#endif + + public const string APP_MAIL = "gedkeeper@yandex.ru"; public const string APP_FORUM_EN = "https://groups.google.com/g/gedkeeper-en"; diff --git a/projects/GKCore/GKCore/UpdateMan.cs b/projects/GKCore/GKCore/UpdateMan.cs index d23263e82..ea1292a9d 100644 --- a/projects/GKCore/GKCore/UpdateMan.cs +++ b/projects/GKCore/GKCore/UpdateMan.cs @@ -1,6 +1,6 @@ /* * "GEDKeeper", the personal genealogical database editor. - * Copyright (C) 2009-2020 by Sergey V. Zhdanovskih. + * Copyright (C) 2009-2023 by Sergey V. Zhdanovskih. * * This file is part of "GEDKeeper". * @@ -32,8 +32,6 @@ namespace GKCore /// public static class UpdateMan { - private const string UpdateURL = "https://sourceforge.net/projects/gedkeeper/files/gk_version.xml"; - public static Version GetLastVersion(out string url) { Version newVersion = null; @@ -43,7 +41,7 @@ public static Version GetLastVersion(out string url) try { GKUtils.InitSecurityProtocol(); - HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(UpdateURL); + HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(GKData.UpdateURL); webRequest.ContentType = "text/xml; encoding='utf-8'"; webRequest.KeepAlive = false; webRequest.Method = "GET"; @@ -96,12 +94,12 @@ private static void WorkerMethod() if (newVersion == null) return; if (curVersion.CompareTo(newVersion) < 0) { - #if !CI_MODE +#if !CI_MODE string question = LangMan.LS(LSID.LSID_UpdateToLatestVersion, curVersion, newVersion); if (AppHost.StdDialogs.ShowQuestionYN(question)) { Process.Start(url); } - #endif +#endif } } catch (Exception ex) { Logger.WriteError("UpdateMan.WorkerMethod()", ex); @@ -111,7 +109,7 @@ private static void WorkerMethod() public static void CheckUpdate() { try { - #if OS_LINUX +#if OS_LINUX DesktopType desktopType = SysUtils.GetDesktopType(); if (desktopType == DesktopType.Unity) { // In Ubuntu 1604 LTS (Unity desktop), this method leads to a @@ -120,7 +118,7 @@ public static void CheckUpdate() Logger.WriteInfo("UpdateMan.CheckUpdate(): is not supported for Unity"); return; } - #endif +#endif Thread worker = new Thread(WorkerMethod); worker.SetApartmentState(ApartmentState.STA); diff --git a/projects/GKTests/GKCore/GKUtilsTests.cs b/projects/GKTests/GKCore/GKUtilsTests.cs index 376be28dd..f17593115 100644 --- a/projects/GKTests/GKCore/GKUtilsTests.cs +++ b/projects/GKTests/GKCore/GKUtilsTests.cs @@ -530,7 +530,7 @@ public void Test_GetMarriageDate() public void Test_TruncateStrings() { string test = GKUtils.TruncateStrings(new GDMLines("sample text for truncate"), 10); - Assert.AreEqual("sample tex...", test); + Assert.AreEqual("sample tex…", test); } [Test] diff --git a/scripts/export_descendants_dates_csv.lua b/scripts/export_descendants_dates_csv.lua new file mode 100644 index 000000000..e3c7c0de0 --- /dev/null +++ b/scripts/export_descendants_dates_csv.lua @@ -0,0 +1,52 @@ +function do_descendants(individual, level, ix) + if (individual ~= nil) then + local dbirth = ""; + local ddeath = ""; + for at = 0, get_individual_events_count(individual) - 1 do + local evt = get_individual_event(individual, at); + local ev_name = get_event_name(evt); + local ev_date = get_event_date(evt); + + if (ev_date ~= nil) then + if ((ev_name == "BIRT") and (dbirth == "")) then + dbirth = ""..ev_date; + end + + if ((ev_name == "DEAT") and (ddeath == "")) then + ddeath = ""..ev_date; + end + end + end + + ix = ix + 1; + csv_write_cell(""..ix); + csv_write_cell(""..level); + csv_write_cell(get_individual_name(individual)); + csv_write_cell(dbirth); + csv_write_cell(ddeath); + + local spouses = get_individual_spouses_count(individual); + for i = 0, spouses-1 do + local spouse_family = get_individual_spouse_family(individual, i); + local childs = get_family_childs_count(spouse_family); + + for k = 0, childs-1 do + local child = get_family_child(spouse_family, k); + do_descendants(child, level + 1, ix); + end + end + end +end + + +prs = select_record(rtIndividual); +csv_name = select_new_file(); +cols = 5; +rows = 1000; +csv_create(csv_name, cols, rows); +csv_write_cell("Номер"); csv_write_cell("Уровень"); csv_write_cell("Имя"); csv_write_cell("Дата рождения"); csv_write_cell("Дата смерти"); + +do_descendants(prs, 0, 0); + +print("Новый CSV-файл: "..csv_name..", столбцов: "..cols..", строк: "..rows); +csv_close();