ツイートする このエントリーを含むはてなブックマーク [雑記]

カラムでのソート機能を修正していたら・・・ / 2009-03-11 (水)

現在のプログラムだと不完全なリストビューカラムソート機能が付いている
だけなので、これに関しても今回の1.1で改善しようと思い修正に挑戦
してみたのですが、なかなかすぐ完成に持っていけるものではありませんでした。

最初につまづいたのはArrayListのソートという概念で、ソートをしなくちゃまずいかもと
思っていたのですが、ListViewのItem(項目)にあるTagのプロパティに番号を振ってあげて
件名をクリックしたときにそれと対となる配列を読み出すことでこの問題を解決できて
1.0の時に実装しようとしていた件名、差出人、日付、メールサイズでのソートが可能に
なりました。(ちなみにもう1つ未読・既読の表示がおかしくなるバグもありましたが
それに関しても何とか解決できました)

でもこのプログラムにはまだ問題があって、昨日実装した件名を複数選択して削除するという
機能でまたちょっとおかしな動き(指定したアイテムが削除されずにソート前の並び順で
メールデータが)になってしまっているので、とりあえずそれの修正が目下の課題点と
いったところです。

とりあえず1.1の更新はこの辺りで止めて、リリース後にまた製作開始する予定の1.2での
実装機能の単品サンプルとかを作っていこうかなぁ・・・と思っています。

Ak@Ne! Version 1.1のデモ(日付でのソート)


ツイートする このエントリーを含むはてなブックマーク [雑記]

リストから複数選択して削除する機能の実装 / 2009-03-10 (火)

1.1に変更したことでもう少しメールソフトとしての機能を改善しようと思い
実装を先延ばしにしてしまっていたリストビューの複数項目選択機能を
削除に関してだけ有効にしました。

あまりリストビューの複数項目の削除に関しての情報がなかったので、先延ばしに
していたのですが、Pascalなどで書いてあるサンプルコードをC#に書き換えて
複数選択項目の削除を実装することが出来ました。

項目を削除する際にfor文を初期値i=0でリストアイテムの数だけ順(i++)に回して
いたため、おかしな項目が削れていくという減少に見舞われていたけれど
これを初期値i=リストアイテム数で逆(i--)に回しながら選択項目を削除すると
書き直したら正しい動きをしました。

さらに追加機能としてリスト再描画の際にフォーカスが外れてしまうというバグも
一緒に直したので、1.0と比べたらだいぶメールソフトっぽくなったかなぁ・・・と
思ったりしています。

Ak@Ne! Version 1.1のデモ(スプラッシュウィンドウ)

Ak@Ne! Version 1.1のデモ(メール複数選択)


ツイートする このエントリーを含むはてなブックマーク [雑記]

1.02改め1.10としての公開 / 2009-03-03 (火)

当初1.02として作っていたAk@Ne!の新バージョンですが、前のコードからいろいろな
部分のコード修正をしたり、メールデータの仕様変更をしたりと変えてしまった
部分が結構あるので単なるリビジョンアップではやりすぎと思い、1.10として
公開をすることにしました。

昨日は追加で付けることにしたタスクトレイへの格納部分と無駄にメールリストを更新
していた部分のリスト更新を止めるための処理(といってもreturnで返すだけ)を
追加したり、さらにプログレスバーを通常メール送信(直接送信時は除く)の時に
表示できるようにしました。

一応追加する機能や修正点はテストも一応して公開できるようにはなっていますが
nMail.dllの正式版が公開されていないので、公開されてから1週間以内には
この新バージョンを公開する予定です。

Ak@Ne! Version 1.1の環境設定画面

Ak@Ne! Version 1.1のデモ