このページは、ソフトウェアの仕様を書き出したものです。
ユーザ用のページは このリンク先 です。
実現すること
- 本家 APM バッテリーモニターの機能を実現する
- マスコットの少女とペンギンは、アプリの右クリックメニューから変更できるようにする
- カーソルをアプリの上に移動させたとき、説明メッセージを表示する
- 充電していないときは、残り何時間ほど使えるかを表示する
- 電源がつながっている場合は、「充電中」などと表示する
- 状態が不定なときは、「システム情報の取得エラー」などと表示する
- マウスの左ドラッグでアプリの位置を変更できるようにする
- Windows, Mac OS でも動作するようにする
実装の概略
- Qt を用いる
- 数秒毎にシステム情報を確認し、変化があれば描画内容を更新する
- 更新の際、過去の状態と描画内容が同じなら再描画しないようにする
- フォーカス時のバッテリー残り時間表示は、カーソルをフォーカスし直すまで更新されなくてもよい
- バッテリー残量の計算クラスは、qrk ライブラリで提供する
- システム情報を取得するためのソースコードを、OS 毎の ifdef で提供する
- Linux では、Plamo と Ubuntsu を対象とする
- proc の違いは、クラスのコンストラクタ時に総当たりで判定する
実装の詳細
Todo
- "充電中は隠す" をアプリ操作以外から元に戻す方法を提供する
- システムトレイが利用できるときは、そこからメニューが操作できるようにした