ラベル 日めくり の投稿を表示しています。 すべての投稿を表示
ラベル 日めくり の投稿を表示しています。 すべての投稿を表示

2026年4月26日日曜日

日めくり 3.4.8 リリースノート

 Macアプリ、日めくりのver.3.4.8を公開しました。

今回の変更点は以下のとおりです。

  • 六曜の表示を2037年まで対応しました
  • 本バージョンからmacOS 11.0以降が対象となります

六曜表示


設定画面



2022年6月15日水曜日

日めくり 3.4.7 リリースノート

 日めくりのver.3.4.7を公開しました。

今回の変更点は以下のとおりです。

  • メモリーリークしていたのを修正しました。完全ではないかもですが、かなり良くなりました。
  • CPUの使用量を減らしました。重い処理は元々ありませんが継続的に動作するアプリなので無駄な動作を極力排しました。

2020年11月21日土曜日

日めくり 3.4.6 リリースノート

 日めくりのVer.3.4.6をApp Storeで公開しました。

今回の変更点は以下のとおりです。 

  • macOS Big Sur(11.0)以降では無条件に日めくりの背景が「背景なし」になっていたのを修正しました。

2020年11月19日木曜日

日めくり 3.4.5 リリースノート

 日めくりのVer.3.4.5をApp Storeで公開しました。

今回の変更点は以下のとおりです。

  • macOS 11(big sur)に対応しました。
  • 少しフライングですが2021年の休日に対応しました。
  • macOS 11(big sur)で日めくりを「背景なし」にした時にメニューバーの表示が見辛くなるのを回避しました。
    • macOS 11ではメニューバーのテキスト色がダークモードに加え、壁紙の色にも影響を受けるようになりました。
    • 画像で対応できないため「背景なし」の場合だけシステムフォントによるテキスト表示としました。
    • このため「背景なし」の場合は曜日の赤点が表示されません。またフォントの変更ができません。ご了承ください。
  • アイコンを変更しました。
    • 昔作ったアイコンよりも大きなサイズが必要になったため、新たに作り直しました。

p.s.

macOS 11では「背景なし」にする時は、システム環境設定->Docとメニューバー->時計で「曜日を表示」を選ぶと良いかなぁと思っています。


2020年4月17日金曜日

日めくり 3.4.4 リリースノート

日めくりのver.3.4.4がApp Storeに並びました。

今回の変更点は以下のとおりです。


  • メニューバーの日めくりが「背景なし」の時に、ダークモードでの日めくり文字色変更を自動的に行うようになりました


2019年7月16日火曜日

日めくり 3.4.3 リリースノート

日めくりのVer.3.4.3がApp Storeに並びました。

今回の変更点は以下のとおりです。




  • KyasuSoftのドメイン変更に対応しました。

2019年4月2日火曜日

日めくり 3.4.2 リリースノート

日めくりのVer.3.4.2がApp Storeで公開されました。

今回の変更点は以下のとおりです。

  • カレンダーを新元号「令和(R)」に対応しました。
  • 設定の「日めくり」の「背景なし」にダークモードに対応しました(モードを変更したら一度日めくりをクリックしてください)。


2019年2月12日火曜日

日めくり 3.4.1 リリースノート

Macアプリの日めくりのVer.3.4.1がMac App Storeで公開されました。

今回の変更点は以下のとおりです。

  • Mac App Store対応となりました。アップルメニューからApp Storeを起動して「日めくり」で検索->インストールできます。
  • 64bitアプリとなりました。最新のMacで今後も使用できます。
  • Mac OS 10.6以降が対象です。
  • 新しい祝日に対応しました。
  • 六曜の対象年を2000年から2032年に拡大しました。
  • 新元号対応準備号となります。
  • 都合によりカレンダーめくりのエフェクトの種類が減りましたm(__)m

2009年11月26日木曜日

メニューのみのアプリケーションの難しさ

「日めくり」に年月の移動用のdatePickerを追加した時のメモ。

「日めくり」は、ステータスバーをメニュー領域に追加してメニューからプルダウンでカレンダーを表示します。

Dockには表示したくないので、Info.plistにNSUIElement=1を追加しています。
こうするとメニューエクストラのように見えます(本当は通常のアプリケーションです)。

一つ問題なのは、メニューから「日めくり」を選んでメニューを表示させても「日めくり」がアクティブなアプリケーションにならないことです(正しい言い方ではないですが...)。

これが問題になったのは、カレンダーの年月の移動用にdatePickerを追加した時でした。
datePickerではテキストフィールドで数値を入力で きますが、テキストフィールドをクリックしても(入力は出来るのに)フォーカスリングとテキストの選択状態のハイライトが表示される時と表示されない時があります。

  • 「日めくり」起動直後は表示される。
  • Finderなどの他のアプリケーションに切り替えてから「日めくり」に戻ると表示されない。
  • 「日めくり」の環境設定ウインドウを表示させた後は表示される。
よくよく検証すると、「日めくり」がアクティブになっていないことが判りました。

自分のアプリケーションをアクティブにするには、[NSApp activateIgnoringOtherApps:YES]を使うという手がありますが、メニューがプルダウンされた状態でこれを呼ぶと一旦メニューが閉じてしまいます(環境設定ウインドウを表示させる時はこれを使っています)。

で、解決策としてdatePickerのサブクラスを作り、drawRectの中でフォーカスリングとテキストの選択状態を自前で表示することにしました。

drawRectの概要

- (void)drawRect:(NSRect)rect

{

// 年か月のハイライト領域を表示

[[[NSColor selectedTextBackgroundColor] set];

NSRectFill(hilightRect);


// 既定のイベント処理を行う(入力した数値の表示)

[super drawRect:rect];


// フォーカスリングを表示

NSSetFocusRingStyle(NSFocusRingOnly);/

//このあと描画した図形の周囲にフォーカスリングが表示される

NSRectFill(NSMakeRect(...);

}

フォーカスリングの表示の前に、[super drawRect:rect]で既定のイベント処理をさせるところがポイントです。これを逆にするとシステムに戻ってから描かれる入力数値にまでフォーカスリングが付いてしまいました。


NSSetFocusRingStyle(NSFocusRingOnly)を無効にする方法があれば[super drawRect:rect]
を最後にできると思うのですが今のところ不明です。これが原因と思われるのですが、自前のフォーカスリングの動作がシステム標準と少し異なります。対象のrectの大きさを調整しましたが十分ではないです。。

ポイント
  1. drawRectの中で、ハイライト領域を色付け→システム側で数値を描画→フォーカスリングを描画の順にすること。
  2. datePickerのBackGroundを透明にしておくこと(InterFace Builder)。
※フォーカスリングについては、ザリガニが見ていた... 。さんの下記リンクが参考になりました。ありがとうございます。

シートの上部が表示されない

「日めくり」の作成中に遭遇した現象と解決策のメモ。

ファイル選択などのプルダウンシートの上部のグラディエーション部分が白抜きになって表示されません。


「日めくり」起動直後はこのように表示されるのですが、
「日めくり」を暫く動作させた後に再度表示させるとこのようになってしまいました。
メニューに新規の項目を追加させた直後だったため、追加したカスタムビューが原因かと思って試行錯誤しました。

しかし、メニュー項目の更新自体が原因であることが判明しました。
「日めくり」ではメニューを表示させたままメニューアイテムの表示/非表示を行っていました。この表示/非表示でメニューの表示領域(高さ)が動的に変わると、シートの表示がおかしくなる現象が再現します。

六曜のメニューアイテムがある時。


六曜のメニューアイテムを非表示にするとメニューの高さが変わります。
ポイントは、メニューが表示されたままで高さが変わることです。
メニューを表示する前に変更するのは問題ありません(通常のメニュー項目の変更)。
「日めくり」はメニューにカレンダーを表示するので、メニューを表示したままの操作が必要になっており、今回の問題に遭遇したようです。

解決策としては、
  • 六曜表示が有る時(2007〜2018)以外ではメニューアイテムを非表示にしていたのを表示したままにしました。
  • ボタンで年月を移動するビューとdatePickerで移動するビューを切り替える時に高さが変わらないようにしました。

でも、これってMac OSのバグッぽくないですかねぇ。。。