serg-norseman / gedkeeper Goto Github PK
View Code? Open in Web Editor NEWGEDKeeper - program for work with personal genealogical database
Home Page: https://gedkeeper.net/
License: GNU General Public License v3.0
GEDKeeper - program for work with personal genealogical database
Home Page: https://gedkeeper.net/
License: GNU General Public License v3.0
After I have built 'GKPedigreeImporterPlugin' plug-in binaries, I couldn't use it.
GEDKeeper shows no GUI for the plug-in and the next text appears in the program's log:
[11.05.2016 9:29:24] -> GK.ExExceptionHandler(): Could not find any resources appropriate for the specified culture or the neutral culture. Make sure "GKPedigreeImporterPlugin.PedigreeImporterDlg.resources" was correctly embedded or linked into assembly "GKPedigreeImporterPlugin" at compile time, or that all the satellite assemblies required are loadable and fully signed.
[11.05.2016 9:29:24] -> GK.ExExceptionHandler(): at System.Resources.ResourceManager.InternalGetResourceSet(CultureInfo culture, Boolean createIfNotExists, Boolean tryParents)
at System.Resources.ResourceManager.InternalGetResourceSet(CultureInfo culture, Boolean createIfNotExists, Boolean tryParents)
at System.Resources.ResourceManager.InternalGetResourceSet(CultureInfo culture, Boolean createIfNotExists, Boolean tryParents)
at System.Resources.ResourceManager.GetString(String name, CultureInfo culture)
at GKPedigreeImporterPlugin.PedigreeImporterDlg.InitializeComponent()
at GKPedigreeImporterPlugin.PedigreeImporterDlg..ctor(IPlugin fPlugin)
at GKPedigreeImporterPlugin.PlugIn.Execute()
at GKUI.MainWin.Plugin_Click(Object sender, EventArgs e)
at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ToolStrip.WndProc(Message& m)
at System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
After I had debugged the issue I've found out its source:
File: projects\GKPedigreeImporterPlugin\PedigreeImporterDlg.Designer.cs
Code:
private void InitializeComponent()
{
. . .
(1) this.OpenDialog2.Filter = resources.GetString("OpenDialog2.Filter");
. . .
Line (1) causes this exception:
Could not find any resources appropriate for the specified culture or the neutral culture. Make sure "GKPedigreeImporterPlugin.PedigreeImporterDlg.resources" was correctly embedded or linked into assembly "GKPedigreeImporterPlugin" at compile time, or that all the satellite assemblies required are loadable and fully signed.
The problem is similar to one we had with GEDKeeper itself 😈
There is a disadvantage item on "Advantages and features" page ('gkhFeatures.html' file) claiming that "The program supports only Windows, it ain't a cross-platform project and it can't be built with 'Mono' under Linux". It lies! 😆 And I believe this paragraph must be removed from Russian help content, while I won't add this item in English help content at all. Am I right? 😈
Create makefiles to build the project without IDE.
'gkhOptions.html' file in Russian help content has a broken link in "Persons representation in the tree" section:
...Эти категории задаются при помощи раздела "Сноски" в редакторе персон.
The link targets to "gkhPersonUserRefs.html#tree". And 'gkhPersonUserRefs.html' file doesn't exist. I believe it should target 'gkhRec_UserRefs.html' file, doesn't it?
In Linux not working the WebBrowser component, so the in Linux release do not work maps.
Person editor window has "disconnect" buttons that are always enabled. Even when the "Parent" field is empty. While the neighboring button "Go to" to the right of "Disconnect" button is enabled only if a parent exists.
And about “Detach link to father/mother?” confirmation text -- see ticket #58
Assume MOTD window is enabled:
"Tips of the day" is a modal window, isn't it? One can't use GK GUI while the window is visible.
Okay. Now click GK's button on the taskbar... "Tips of the day" window disappears and... you still can't access GK GUI.
One can achieve the same effect using Alt+Tab to switch to GK window while its "Tips of the day" window is visible.
Create the built-in database (xml/json/yml) of national holidays for TipsOfDay (only for application's languages)
There's a question I have: is currently an user always able to create PDF file (by exporting something from GEDKeeper) under Linux?
For example, 'gkhPedigrees.html' file from help content says:
Родословная роспись формируется в виде PDF-файла ... (Pedigree is exported as a PDF file ...)
But as far as I know GEDKeeper has some problems with PDF under Linux (kick me if I'm wrong! )
So, if I'm right, should we change GEDKeeper's help content (by adding a note about availability on Windows only, for example)?
Should we add new information about ability to export instances to HTML or RTF files?
To develop a portable package for Windows.
An additional item must be added to "Law" page in Russian localization of help content: a link to the Law of the Russian Federation from July 27, 2006 № 152-FL "About personal data" (https://www.consultant.ru/document/cons_doc_LAW_61801/)
Adding the same item to other help content localizations is being discussed.
PDF export of pedigrees on Linux is not working.
At the moment tested three libraries for the formation of the PDF available on Linux. All three have problems. Two of them export works in Windows but not working in Linux. With the third is not running even "Hello world".
If I have built the application with the make 🐛
Every time I use "Service/Options..." menu item, I get no window and these messages in the log:
[18.05.2016 15:16:29] -> GK.ExExceptionHandler(): Could not find any resources appropriate for the specified culture or the neutral culture. Make sure "GKUI.Dialogs.OptionsDlg.resources" was correctly embedded or linked into assembly "GEDKeeper2" at compile time, or that all the satellite assemblies required are loadable and fully signed.
[18.05.2016 15:16:29] -> GK.ExExceptionHandler(): at System.Resources.ResourceManager.InternalGetResourceSet(CultureInfo culture, Boolean createIfNotExists, Boolean tryParents)
at System.Resources.ResourceManager.InternalGetResourceSet(CultureInfo culture, Boolean createIfNotExists, Boolean tryParents)
at System.Resources.ResourceManager.InternalGetResourceSet(CultureInfo culture, Boolean createIfNotExists, Boolean tryParents)
at System.Resources.ResourceManager.GetObject(String name, CultureInfo culture, Boolean wrapUnmanagedMemStream)
at GKUI.Dialogs.OptionsDlg.InitializeComponent()
at GKUI.Dialogs.OptionsDlg..ctor(IHost aHost)
at GKUI.MainWin.miOptionsClick(Object sender, EventArgs e)
at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ToolStrip.WndProc(Message& m)
at System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
The following is source of the issue:
File: projects\GEDKeeper2\GKUI\Dialogs\OptionsDlg.Designer.cs
private void InitializeComponent()
{
. . .
//
// btnColumnUp
//
this.btnColumnUp.Image = ((System.Drawing.Image)(resources.GetObject("btnColumnUp.Image")));
There is similar code below that code snippet 😢
If I have built the app with Visual Studio and debug it with Visual Studio -- everything works seamlessly.
Translate help in English.
Must be GPLv3, but is attached by mistake a file from the LGPLv3.
The first issue: I can’t view new pictures instantly †. What I did:
Please put your attention on the sixth step – even if I pressed "Cancel" button, the changes stored (see ticket #60 )! This is the second issue.
The third issue is also descended from the sixth step: if I added new photo in the person editor window and pressed "Cancel" button, such multimedia record does not appear on "Multimedia" record in the main window. If later I add new photo to any person and press "Apply" in person record window, both multimedia records appear on "Multimedia" record in the main window (applied one and canceled one).
The fourth issue: information about multimedia record remains visible after the last multimedia record has been removed ‡. See the screenshots below for details.
Before removing:
After removing:
It is worth noting that links on the information part of the window don’t do anything in such case.
The fifth issue: change confirmation text (see ticket #58 ) ‡.
The sixth issue: I can’t view an image. I see nothing after I clicked [View] link †.
The seventh issue: A GUI object (window) for image is a top window (it's an object '2' on the previous screenshot). I can select it via Alt+Tab, for example, and see it on the taskbar. Is it by design?
† This problem relates only to releases of executable made by the 'make' tool, thus outside Visual Studio environment.
‡ Fixed by PR #68
There's an unwanted behavior (in my opinion) in "Relationship Calculator". After I've closed person picker, the related text field becomes clear. Let me explain.
I open the "Relationship Calculator" and set some values:
Now I decide to select another person on the second field...
...but I changed my mind and click "Cancel" or just close the person picker. This is what I get:
I've lost the name. I believe the "previous" value must remain. Correct me, if I'm wrong.
And please make "Kinship" field read-only 😈 One shouldn't be able to change that text.
The following code is a part of GKUI::BaseWin::CollectTips
member:
uint daysBefore = uint.Parse(days);
if (0 == daysBefore)
{
tipsList.Add(string.Format(
LangMan.LS(LSID.LSID_BirthdayToday),
nm));
}
else if (1 == daysBefore)
{
tipsList.Add(string.Format(
LangMan.LS(
LSID.LSID_BirthdayTomorrow),
nm));
}
else if (3 > daysBefore)
{
tipsList.Add(string.Format(
LangMan.LS(LSID.LSID_DaysRemained),
nm, days));
}
As you can see the language manager gets LSID_DaysRemained
string only for several days, and not a single one. Therefore, the resource string must define text for plural days only.
LSID_DaysRemained
resource.The following text is Russian localization of the LSID_DaysRemained
resource:
До дня рождения "{0}" осталось {1} дня(-ей)
The text from above takes into account ending of the word 'день'. But since day range is limited by three days (see the code above), the ending will be always 'я' ("2 дня" is the only possible option in the current implementation). Once the code owner will decide to change day range to other value (for example, ten days), we can use "culture-aware" code (just like in GEDKeeper2\GKCore\Cultures\RussianCulture.cs) to build the word ending (the current implementation already applies this technique to the argument {0}
in the resource string 👍). Therefore, resource string will look like "До дня рождения "{0}" осталось {1} дн{2}". As my co-worker always says: "This is Russia, baby! So, speak Russian!" 😃
When I had tried to use 'GKTreeVizPlugin' plug-in, it killed the host application.
Steps to reproduce:
Step # 4 causes the following messages in the log:
[13.05.2016 11:47:14] -> GK.ExExceptionHandler(): The type initializer for 'CsGL.OSLib' threw an exception.
[13.05.2016 11:47:14] -> GK.ExExceptionHandler(): at CsGL.OpenGL.OpenGL..ctor()
at CsGL.OpenGL.GLUT..ctor()
at CsGL.OpenGL.OpenGLContext..ctor()
at CsGL.OpenGL.ControlGLContext..ctor(Control c)
at GKTreeVizPlugin.TreeVizControl.CreateContext()
at CsGL.OpenGL.OpenGLControl.get_Context()
at GKTreeVizPlugin.TreeVizControl..ctor()
at GKTreeVizPlugin.TreeVizViewer.InitializeComponent()
at GKTreeVizPlugin.TreeVizViewer..ctor(IBaseWindow aBase, Int32 minGens)
at GKTreeVizPlugin.Plugin.Execute()
at GKUI.MainWin.Plugin_Click(Object sender, EventArgs e)
at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ToolStrip.WndProc(Message& m)
at System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Step # 7 causes the following messages in the log:
[13.05.2016 11:48:19] -> GK.UnhandledExceptionsHandler(): Could not load file or assembly 'ArborGVT, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.
[13.05.2016 11:48:19] -> GK.ExExceptionHandler(): at GKTreeVizPlugin.TreeVizControl.Dispose(Boolean disposing)
at System.ComponentModel.Component.Finalize()
I got the error on my Windows 10 💩 😆
After I have built 'GKNamesBookPlugin' plug-in binaries, I couldn't use it.
GEDKeeper shows no GUI for the plug-in and the next text appears in the program's log:
[11.05.2016 9:28:09] -> GK.ExExceptionHandler(): Could not find any resources appropriate for the specified culture or the neutral culture. Make sure "GKNamesBookPlugin.NBResources.resources" was correctly embedded or linked into assembly "GKNamesBookPlugin" at compile time, or that all the satellite assemblies required are loadable and fully signed.
[11.05.2016 9:28:09] -> GK.ExExceptionHandler(): at System.Resources.ResourceManager.InternalGetResourceSet(CultureInfo culture, Boolean createIfNotExists, Boolean tryParents)
at System.Resources.ResourceManager.InternalGetResourceSet(CultureInfo culture, Boolean createIfNotExists, Boolean tryParents)
at System.Resources.ResourceManager.InternalGetResourceSet(CultureInfo culture, Boolean createIfNotExists, Boolean tryParents)
at System.Resources.ResourceManager.GetObject(String name, CultureInfo culture, Boolean wrapUnmanagedMemStream)
at GKNamesBookPlugin.NamesBookWidget.PrepareList()
at GKNamesBookPlugin.NamesBookWidget..ctor(Plugin plugin)
at GKNamesBookPlugin.Plugin.Execute()
at GKUI.MainWin.Plugin_Click(Object sender, EventArgs e)
at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ToolStrip.WndProc(Message& m)
at System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
After I had debugged the issue I've found out its source:
File: projects\GKNamesBookPlugin\NamesBookWidget.cs
Code:
private void PrepareList()
{
. . .
(1) using (MemoryStream memStream = new MemoryStream(NBResources.book_names))
. . .
Line (1) causes this exception:
Could not find any resources appropriate for the specified culture or the neutral culture. Make sure "GKNamesBookPlugin.NBResources.resources" was correctly embedded or linked into assembly "GKNamesBookPlugin" at compile time, or that all the satellite assemblies required are loadable and fully signed.
The problem is similar to one we had with GEDKeeper itself 😈
I run the app with English localization and bump into the following problem: name of the event editor window is unreadable for a human (take a look on the attached file).
Steps to reproduce:
I didn't try this window with other localizations.
Let's assume user has two databases opened. For example:
Here I have 'Sample_PresidentsUSA.ged' and '-rus-nobles.ged' databases. The order of their window matter. Moreover, the "bottom" database ('Sample_PresidentsUSA.ged') will cause "Tips of the day" window to appear on the next application run. Okay. Now close GK and run it again:
As you can see, GK has loaded 'Sample_PresidentsUSA.ged' database, shows MOTD window, but there's no '-rus-nobles.ged' database opened. It will be loaded only after user has closed the "Tips of the day" window:
I can't show this with screenshots, but right after closing MOTD window, '-rus-nobles.ged' database begins to load with progress bar, etc.
Therefore, I believe "Tips of the day" must be owned by a dedicated UI thread. Is this the only way to not to block main GUI thread in .NET just like in native win-32?
I don't think this is a bug. It's just an unwanted behavior.
Currently UDN
framework uses JDNs of integer type.
And because CalendarConverter.{calendar}_to_jd
methods produce floating-point values, we lose precision and get irreversible JDNs.
For example, '2016/05/31' date gives '2457539' integer JDN. And integer '2457539' JDN gives... '2016/05/30'!
Algorithms from Wikipedia give reversible integer values. But it provides ready formulae only for Julian and Gregorian calendars. We have to re-implement analogous formulae for other calendars by ourself (well, actually I'm ready).
Or we have to use JDNs of floating-point type. This is difficult since UDN framework stores JDN and some bit flags together, in one 32bit value. I believe we can find some free bits in 64bit double, but this won't be as easy and straightforward as with integer value. We will have to "crack" IEEE Standard 754 for floating-point format.
Add portraits of default to the editing person dialogue and tree
Make a determination of the presence of application's languages in the system, if this languages do not exist - just switch English.
I run the app with English localization and bump into the following problem: name of the source editor window is unreadable for a human (take a look on the attached file).
Steps to reproduce:
I double rechecked and then recreated GEDKeeper2's makefile. Nothing helped.
I didn't try this window with other localizations.
See also: #30
This is what we have in 'gkhRec_Individual.html' file:
- Такие-же кнопки [images], и под именем каждого из родителей отвечают за другое: кнопка [image] - добавляет новую семью, если никакая не была подключена ранее, и добавляет в неё конкретного родителя (отца или мать), кнопка [image] соответственно отсоединяет из присоединенной к человеку семьи выбранного родителя (отца/мать).
- Для добавления родителей, следует в секциях "Отец" или "Мать" нажать на кнопку "Выбрать или добавить отца(мать)" [image]. Соответственно, чтобы убрать данные - следует нажать на кнопку "Отсоединить отца(мать)" [image]. Также возможны быстрые переходы на записи родителей по кнопкам [image].
Translation for English readers:
- The same buttons: [images], and located under the name of each parent perform other functions. [image] button adds new family if one was not added already, and then adds to this family the concrete parent (father or mother). [image] button removes from a parent (father or mother) from person's family.
- To add a parent, you use [image] button -- "Select or add father (mother)" in "Father" or "Mother" section, respectively. To remove a parent, you use button -- "Detach father (mother)". To quickly jump to a parent's person record you use [image] button.
I think both paragraphs should be combined because they are almost the same.
There's a small typo in the following text in 'locales/help_rus/GEDKeeper2.html' file:
. . .
Форумы
Форум Cибирской генеалогии
. . .
The letter 'С' in the 'Сибирской' word is English letter 'C' [siː] not a Russian letter 'С' [es] 🔬
After I have built 'GKImageViewerPlugin' plug-in binaries, I couldn't use it.
GEDKeeper shows no GUI for the plug-in and the next text appears in the program's log:
[11.05.2016 9:27:32] -> GKImageViewerPlugin.Execute(): Could not find any resources appropriate for the specified culture or the neutral culture. Make sure "GKImageViewerPlugin.IVPResource.resources" was correctly embedded or linked into assembly "GKImageViewerPlugin" at compile time, or that all the satellite assemblies required are loadable and fully signed.
After I had debugged the issue I've found out its source:
File: projects\GKImageViewerPlugin\ImageViewerWin.cs
Code:
public ImageViewerWin(IPlugin plugin)
{
. . .
(1) this.tbFileLoad.Image = IVPResource.iLoad;
. . .
Line (1) causes this exception:
Could not find any resources appropriate for the specified culture or the neutral culture. Make sure "GKImageViewerPlugin.IVPResource.resources" was correctly embedded or linked into assembly "GKImageViewerPlugin" at compile time, or that all the satellite assemblies required are loadable and fully signed.
The problem is similar to one we had with GEDKeeper itself 😈
After this project has become open source, should we add link to this repository onto the "About" page in local HTML pages? 📖 For both Russian and English localizations.
For international collaborative development in the future: replace the text in all the controls of forms in English.
Source: https://groups.google.com/forum/#!topic/gedkeeper-ru/eq1uKbCngkU and many other
To develop a package for Linux.
We need to use the VLC library with support .NET/Mono (+imem access to any streams).
I can’t restore an MDI window when the latter was minimized in the last GK session.
Steps to reproduce:
Therefore, user is unable to restore the window to the normal state. And that's the bug this ticket brings.
I have the following monitor configuration on my desktop: two monitors standing near each other. The primary one is on the right side.
If I had moved the main window to the left (not primary) monitor and then I closed the window there, next time I run the application, the main window appears on the primary screen 🐛
This is the source of the issue:
File: projects\GEDKeeper2\GKCore\GKUtils.cs
public static ExtRect GetFormRect(Form form)
{
if (form == null) return ExtRect.CreateEmpty();
int x = form.Left;
int y = form.Top;
int w = form.Width;
int h = form.Height;
Screen scr = Screen.PrimaryScreen;
int mw = scr.WorkingArea.Width;
int mh = scr.WorkingArea.Height;
if (x < 0) x = 0;
if (y < 0) y = 0;
if (w > mw) w = mw;
if (h > mh) h = mh;
return ExtRect.Create(x, y, x + w - 1, y + h - 1);
}
where problem lines are:
public static ExtRect GetFormRect(Form form)
{
. . .
if (x < 0) x = 0;
if (y < 0) y = 0;
if (w > mw) w = mw;
if (h > mh) h = mh;
. . .
}
As you can see x
can't be a negative number (that's true in my case). Moreover, had I two monitors, located one above another, I would get the same problem with y
. Had I four monitors in staggered-order, I would get both the problems simultaneously.
A similar issue can arise with window size. For some unknown reason size of the window get restricted to the size of primary screen. But what if I have worked on another monitor?
The code that sets x
and y
to zero must be changed to code that check availability of some window coordinates on the application startup and not before shutting it down. And for my configuration: if I was working on the left monitor, in normal cases the main window must appear on that monitor. But if for some reason I have lost that monitor (disconnected it), the main window get automatically moved to the primary monitor.
Concerning size of the window. I don't know should we limit it. If we must, we must use entire desktop size. Not a monitor's one. After all, in my configuration I can stretch the window from the left monitor to the right one. It's a (very) rare case but I can. And a good application must save this information between its sessions.
I can't fix it right now. Because I don't have enough knowledge about USER objects in .NET. But I'm gonna study it! 😈
Not working integration with Codecov. Not running generation the report of code coverage (Mono+NUnit+SharpCover).
I've bumped with the following behavior on Windows 10: every time I launch GEDKeeper, its main window changes size from launch to launch. When I closed the application, the main window had had one size. When I run the application again, the main window gets another size, bigger than it was on a previous session.
I believe it's a Windows 10 specific bug 🐛
I can’t use an unsaved entry as a reference in another entry (existing or not).
Here are steps to reproduce:
As you can see one can’t select the new person one has created at the step 3 (i.e. there is no "4 5 6" person available to select).
Steps to reproduce:
On Ubuntu are not available media from the storage
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.