ログファイルの機能を追加する オープンとクローズ
メッセージ・ダイアログの機能はQMessageBoxクラスを継承したので、おおよその目処はつきました。
あとはログファイルにメッセージを記録する仕組みの追加が必要です。
まず、ログファイルを書き込み用にオープンする/クローズする場所を決める必要がありますね。普通に考えるとコンストラクタでオープンして、デストラクタでクローズするのが良さそうですけど…。
LogMessageクラスインスタンスは、恐らくプログラム実行時に作成され、プログラム終了時に破棄されることになります。ですので、コンストラクタ/デストラクタに実装するとオープン/クローズするタイミングが限定されてしまいますね。
あと、設定ダイアログとかでログファイルを作る/作らないを切り替えた時に次回起動時以降にしかログ・ファイルが作成されないという仕様になってしまいます。それはあまりよろしくない気がします。
別にログファイルを作成開始(オープン)する関数とログファイルへのアクセス(書き込み)を終了する関数を設けたほうが良さそうです。
関数名はopenLogFile()/closeLogFile()でいいでしょうか。引数も検討しないと。
今はこんな感じでダイアログが出ます。内容は暫定ですが。
呼び出し方はこんな感じです。
// output message
logMessage.criticalMessage(PHASE_BRYNHILDR,
tr("Password Error! Please check your password."),
LogMessage::Ok,
LogMessage::NoButton);
(*)お分かりだと思いますが、翻訳済みなので日本語で出てます。
openLogFile()/closeLogFile()の追加は後でやるとして、criticalなメッセージダイアログ出力の実装はもう可能になっています。
標準C++のfstreamを利用してほぼ書き上げたのですが、Qtの用意するQFileとQTextStreamを使ったほうがよいことに今更気づきました。今日はこれで終了します。
« ログファイルとメッセージダイアログ出力 | トップページ | 間違えてました、Emacsさん »
コメント