- Dec 04, 2023
-
-
Marc Durdin authored
Refactor the file-opening code so it can be used by Keyman Developer UI as well as command-line, and then add support for opening files in per-project instances from File|Open and friends. Also moves the initialization code out of tike.dpr into Keyman.Developer.System.Main.pas, which makes it easier to maintain and read.
-
- Dec 01, 2023
-
-
Marc Durdin authored
-
Marc Durdin authored
This is a bit of an omnibus commit, apologies for that. This commit moves Keyman Developer to a proper multi-process model, where editing files from multiple projects is handled much more cleanly, with each project loaded in a separate process. Files that are edited outside of a project structure are loaded into a 'temporary project' in a single process, which provides a pathway for existing users who may have legacy files outside the normal Keyman Developer project model. There are several components to this: 1. Inter-process communication (Multiprocess, CopyDataHelper units and multiprocess test project). These modules establish a method of enumerating running Keyman Developer instances (with EnumWindow), recording relevant metadata for each instance (by thread id) in the registry (registry used because it manages contention without additional effort from us), and communicating between processes with WM_COPYDATA. 2. Command-line parsing (TikeCommandLine). Determines project ownership (ProjectOwningFile) for each filename passed on the command-line, and passes these over to existing instances of Keyman Developer that have that project loaded, or starts new instances as needed. 3. Temporary project management. Mostly in ProjectUI. Also, moved GlobalProjectStateWnd management out of ProjectFile.pas and into Project.pas, alongside other global project variables. A follow-up will add functionality to determine if a file opened within the Keyman Developer UI should open in the same instance or in a separate instance (see TfrmKeymanDeveloper.OpenFileInProject). This will use the same methodology as TikeCommandLine does now, so may involve further refactoring. This commit establishes the idea of 'keyman.kpj' as a future default filename for Keyman Developer projects, but does not enable it, in ProjectOwningFile. It is planned to introduce this fixed filename in version 18.0 (see #10113).
-
- Nov 25, 2023
-
-
Marc Durdin authored
Reverts some of the version 2.0 project functionality, as there are a number of challenges around populating files for folders that don't have project definitions, particularly if user attempts to load a folder that is not a project folder after all but happens, e.g. to have a source folder in it.
-
- Nov 22, 2023
-
-
Marc Durdin authored
-
- Nov 16, 2023
-
-
Marc Durdin authored
For the Project view, the Distribution tab now shows file relative paths, which helps with organization. Have opted _not_ to show the relative paths in the other tabs, because that information is visible when the file details are expanded, and because those files should always be in SourcePath anyway.
-
Marc Durdin authored
Restricts enumeration of files for the project to the project folder and the SourcePath folder. This prevents problems where a project may be in a folder with many subfolders which would take a long time to enumerate, and avoids confusion where there are source-type files in other folders. At the same time, sorts out forward slash vs backslash in paths. While forward slash works in many scenarios, there are several filename manipulation functions, such as ExpandFileName, which would build valid but non-optimal paths when forward slashes were encountered, which cascaded into files appearing to be different and presentation issues.
-
Joshua Horton authored
refactor(web): inactive banner management
🎏 -
Joshua Horton authored
chore(web): splits banner.ts into separate files per banner type
🎏 -
Keyman Server authored
auto: increment master version to 17.0.212
-
Keyman Build Agent authored
-
- Nov 15, 2023
-
-
Darcy Wong authored
chore(web,developer): Move keymanweb-osk.ttf to common/resources
-
Eberhard Beilharz authored
fix(linux): Improve triggering of packaging GHA
-
Steven R. Loomis authored
fix(common): dx: don't call exit(0) on failure
🙀 -
Marc Durdin authored
chore(developer): handle project version checks cleanly in kmc 🦕
-
Marc Durdin authored
Merge pull request #9995 from keymanapp/chore/developer/9948-only-source-path-files-in-project-views chore(developer): show only source path files in project views 🦕
-
Marc Durdin authored
feat(developer): handle errors loading projects 🦕
-
Marc Durdin authored
chore(developer): manage SourcePath in project upgrade 🦕
-
Marc Durdin authored
chore(developer): only build source files 🦕
-
Marc Durdin authored
feat(developer): Project Settings Form for 17.0+ projects 🦕
-
Marc Durdin authored
Merge pull request #9969 from keymanapp/fix/developer/9948-show-project-upgrade-messages-in-messages-panel fix(developer): Project upgrade messages now show in Messages panel 🦕
-
Marc Durdin authored
fix(developer): kmc build ldml keyboard should create output folder 🦕
-
Marc Durdin authored
feat(developer): show .xml LDML keyboards in project 🦕
-
Marc Durdin authored
feat(developer): Support loading XML LDML keyboards in TIKE 🦕
-
Marc Durdin authored
-
Marc Durdin authored
chore(developer): hide 'Remove From Project' for v2.0 projects 🦕
-
Marc Durdin authored
feat(developer): New Project - Description field and tweaks 🦕
-
Marc Durdin authored
feat(developer): Support v2.0 projects in TIKE 🦕
-
Darcy Wong authored
-
Darcy Wong authored
-
Darcy Wong authored
-
Steven R. Loomis authored
-
rc-swag authored
fix(windows): setup.inf generation had whitespace
-
Keyman Server authored
auto: increment master version to 17.0.211
-
Keyman Build Agent authored
-
Eberhard Beilharz authored
We now pass the SHA for the base ref. Hopefully this will fix the failures with API verification.
-
- Nov 14, 2023
-
-
Steven R. Loomis authored
For: #10004
-
Steven R. Loomis authored
For: #10004
-
Steven R. Loomis authored
- always use std::exit(EXIT_FAILURE) if there is an error. - use --print-errorlogs with meson to show errors to the log Fixes: #10004
-
Eberhard Beilharz authored
chore(core): Add additional API checks
🎬
-