Commit Graph

440 Commits

Author SHA1 Message Date
Lukhnos Liu 60aa005e2d Upgrade preferences.xib format (zh-Hant only) 2020-10-19 20:02:01 -07:00
Lukhnos Liu 688ae64723 Bump to 1.0-beta2 to prepare for 1.0 release 2020-10-19 14:52:18 -07:00
Lukhnos Liu 81748ae7fe Enable explicit update check in Release builds 2020-10-19 14:51:05 -07:00
Lukhnos Liu 7e3ee1742d Bump to 1.0-beta1 to prepare for 1.0 release 2020-10-18 20:08:51 -07:00
Lukhnos Liu eae12c04b4 Update copyright years 2020-10-18 12:48:15 -07:00
Lukhnos Liu 56dbbbc3b7 Delete UpdateNotificationController
This unifies the version update checker's UI. It also allows us to show
detailed info for a new version.
2020-10-18 12:48:15 -07:00
Lukhnos Liu 3bc70769df Show no update available when checking explicitly
This imports OpenVanilla's OVNonModalAlertWindowController for the
alerts.
2020-10-18 12:48:14 -07:00
Lukhnos Liu 4adf3c1b42 Update keyboard and app icons 2020-10-18 12:48:08 -07:00
Lukhnos Liu 3ac018f6c0 Retire IconMaker 2020-10-17 06:23:49 -07:00
Lukhnos Liu 4c8270c42f Cancel candidate by Bksp or Del when Plain Bopomofo
Fixes #152
2020-10-17 06:19:47 -07:00
Lukhnos Liu a71b354908 Fix broken CI builds by guarding new API usage 2020-10-10 07:47:29 -07:00
Lukhnos Liu 2f2f18d9e0 Check if the translocated app is still mounted
This ensures that, after the Installer has killed the current input method
process, the Installer can tell if the translocated input method bundle is no
longer mounted. It turns out that getfsstat() may return cached results and a
call to statfs() is necessary.

This fixes the bug that the Installer did not always correctly report that a
new version of the input method has been installed over a previous version.
The bug only manifests when getfsstat() returns cached results. That seems to
be the case on newer versions of macOS.
2020-10-10 07:24:50 -07:00
Lukhnos Liu 7d13ea0b41 Use NSTableViewStyleFullWidth on supported macOS
This prevents the vertical candidate table view to use the inset style [1].

The full-width style serves the purpose. The inset style makes the first
candidate too further away from the cursor in the composing buffer.

[1] https://developer.apple.com/design/human-interface-guidelines/macos/overview/whats-new-in-macos/
2020-10-10 06:37:32 -07:00
Lukhnos Liu 9b2a2e89bc Update project settings with Xcode's suggestions 2020-10-10 06:36:51 -07:00
Lukhnos Liu c34ab5dea2 Update README with the basic development flow 2020-10-09 22:16:06 -07:00
Lukhnos Liu fa224c2657 Reset other nodes' fixed state when fixing a node
This fixes a bug that, when a span covers several nodes and a long node
has already been candidate-fixed, fixing a short node does not cause
the walk to reflect the result.

A concrete example:

1. type 高中生.
2. move the cursor to 中 and change to 鐘聲: 高鐘聲.
3. with cursor position unchanged, select the candidate to 忠.
4. the expected result should be 高忠生 but instead it is stuck with
   高鐘聲 due to the node representing "鐘聲" is still fixed.

Fixes #54
2020-10-09 22:16:06 -07:00
Lukhnos Liu f31a57c997 Fix deployment version of the Data target 2020-10-09 22:16:06 -07:00
Lukhnos Liu 71b97f82b3 Simplify candidate fixing by moving code to Grid 2020-10-09 22:16:06 -07:00
Lukhnos Liu 71e232c89c Remove deprecated localization settings 2020-10-09 22:16:06 -07:00
Lukhnos Liu 40c45b0fd8 Fix the LSMinimumSystemVersion value 2020-10-09 22:16:06 -07:00
zonble 1b0a4bf5d9 Update the plist file. 2020-03-31 15:29:58 -07:00
zonble 509331f8df Add a GitHub actions flow. 2020-03-31 15:29:58 -07:00
zonble 0cf5174723 Merge branch 'master' of github.com:openvanilla/McBopomofo 2020-03-30 01:48:14 +08:00
Mengjuei Hsieh be7d3d6969 WIP (#150)
* minor change
* editing suggestion from user
385dba898d (r29930693)
* fake phrase
*約定俗成的注音。

* phrase update

* fixing Makefile syntax
2020-03-29 10:46:28 -07:00
zonble f5d4b04e1b Update the plist file. 2020-03-30 01:26:34 +08:00
zonble f4b4a8eab2 Add a GitHub actions flow. 2020-03-30 00:42:53 +08:00
Lukhnos Liu cdbdf8c683 Bump to 0.9.11 2019-10-28 23:42:39 -07:00
Lukhnos Liu 4f6d1acc43 Update Installer to support app notarization
Soon notarization will be required for Developer ID apps. This change allows
the Installer to run in two modes. The "dev mode" still builds the IME as
the prerequisite of the Installer and places the IME app bundle inside the
Installer's resources folder. That has been so since the beginning of this
project, and this continues to allow IME developers to test the input method.
On the other hand, if "McBopomofo-r$rev.zip" is placed in the NotarizedArchives
folder and McBopomofo is not built as a dependency of the Installer and the
app bundle is not copied to the resources folder, the Installer then can be
built as a notarizable app (otherwise Xcode wouldn't even let you submit it
for notarization).

To build the distributable Installer, notarize the IME app first, then zip the
app as McBopomofo-r$rev.zip and place that to the NotarizedArchives folder
under Source/Installer. Then build and submit the Installer for notarization.
This is in line with Apple's guideline in
https://developer.apple.com/documentation/xcode/notarizing_your_app_before_distribution/customizing_the_notarization_workflow
("If you distribute your software via a custom third-party installer, you need
two rounds of notarization.")

We don't expect that we make new Installers often enough, and therefore we
don't intend to automate this process via scripting.
2019-10-28 23:42:39 -07:00
Lukhnos Liu 7978a9efba Update composing buffer after candidate keys (#145)
Recent versions of Chrome started to rely on whether composing buffer
gets updated after an arrow key event to determine whether to dismiss
(force commit) the composing buffer and handle the arrow key event for
the omnibox URL suggestions.
2019-06-18 22:14:05 -07:00
Lukhnos Liu 7fbadff658 Use the -Werror compiler flag for the installer 2018-12-01 07:00:27 -08:00
Lukhnos Liu ea865c6a24 Fix a static analyzer warning 2018-12-01 06:58:42 -08:00
Lukhnos Liu 8437d23eaf Fix the remaining API deprecation warnings
This replaces the use of NSAlertPanel with a helper function, which in
turn uses NSAlert, which is the recommended way of showing alerts.
2018-12-01 06:58:24 -08:00
Lukhnos Liu 5ce1cc3f38 Bump to 0.9.10 2018-11-24 21:51:07 -08:00
Lukhnos Liu 7b77f66b55 Update copyright years 2018-11-24 21:50:24 -08:00
Lukhnos Liu 01baf0bb29 Fine-tune horizontal candidate UI for dark mode 2018-11-24 21:47:15 -08:00
Lukhnos Liu 39a7eca195 Fix license text for dark mode 2018-11-24 21:47:15 -08:00
Lukhnos Liu 1ca73fe794 Fix a memory leak in the installer 2018-11-24 21:47:15 -08:00
Lukhnos Liu 14c2e70f7b Use control background color for dark mode 2018-11-24 21:47:15 -08:00
Lukhnos Liu 8058f37fff Modernize project and bump min version to 10.10
32-bit architecture support is removed as a result.
2018-11-24 21:47:15 -08:00
ovadmin e065d6fa17 Fix incorrect unprintable ASCII handling (#139)
When Caps Lock is on and when the character code is not printable, we
should simply reject handling such character instead of absorbing it and
inserting the character to the client buffer--not all apps handle those
insertions.
2018-07-07 13:25:10 -07:00
ovadmin a83eb38c5f 版本更新至 0.9.9
* 修正在 macOS 10.13 上無法叫出偏好設定的問題
2017-09-19 20:45:24 -07:00
ovadmin 9be64e0a48 修正在 macOS 10.13 beta 上無法叫出偏好設定的問題
修正根據請參考以下連結:
3241c7f688
2017-09-04 21:21:09 -07:00
ovadmin 77b622e7da 使用 Xcode 建議的專案設定 2017-09-04 21:21:09 -07:00
ovadmin 966221191b 版本更新至 0.9.8
* 詞庫更新、修正及調整 (#115, #117, #126 等)
* 在輸入法選單中使用「小麥注音」作為名稱 (#109)
* 版權年份更新
* 選字窗細微修正
* 安裝程式正式支援 macOS 10.12
* 移除 debug build 時自動安裝輸入法的 Xcode 設定
2017-04-30 01:33:40 -07:00
ovadmin 9e3e4701df 輸入法選單名稱改為「小麥注音」 (fixes #109) 2017-04-30 01:33:40 -07:00
ovadmin 4e42a48cd9 更新版權年份 2017-04-30 01:33:40 -07:00
ovadmin d6e1ba435c 更新選字窗元件,與 OpenVanilla 同步 2017-04-30 01:33:40 -07:00
ovadmin dd6ba14da5 Handle installation on macOS 10.12 correctly
The approach is derived from OpenVanilla.
2017-04-24 23:11:50 -07:00
ovadmin ec80601c8d Remove the install script when building DEBUG 2017-04-24 23:11:50 -07:00
Mengjuei Hsieh 1167792d82 bump version (#114) 2016-11-01 22:02:55 -07:00