Blog
Webサイト
住所録
データの持ち方を色々考え中。
1つのデータの中に人間のリストと住所のリストを含めるのがいいように思える。
宛名印刷の最低限の情報(郵便番号、住所、氏名)以外の情報も持ったほうがいいのかなぁ?
結局 KAddressBook が使いづらいから、こんなに悩むわけで、
メーラーみたいな3ぺインで、郵便番号からの住所補完機能と連名用のフィールドがあれば
Kontact みたいに KAddressBook を取り込んで(KParts?)はい、終わりってなるのに。
でも、いまさら KAddressBook を修正するなんて多分色んな面で無理なので、
とりあえず KreetingKard の一部として作って、後で(誰かが)KParts化するって道のりで
KAddressBook の代替ソフトを目指すのが現実的。
API(kabc)にも関わる問題なので、現実的といってもほぼ無理に近いんだけど。
まぁ、みんなに「こっちのほうがいいじゃん」って思ってもらえるものを作らないと話にならないんだけど。。。
というわけで、「宛名印刷モード」「個人情報管理モード」って作ればいいんだな。
外国の郵便番号も対応できるようにして、さらに住所の直接入力はだるいから
-
北海道
-
札幌市
-
○○区
-
△△
-
□条
-
×丁目
-
▽番
- ☆号
-
▽番
-
×丁目
-
□条
-
△△
- ○△区
-
○○区
- 函館市
-
札幌市
- 青森県
みたいなツリーで選んで行けるような機能もつけよう。
全国の住所一覧ってどっかにあるんだろうか?
goo 地図とか
Mapion 住所一覧から探すからぱくっていいのかな?
ゼンリン 地図複製等利用のご案内とか関係あるのかな?
地図へのリンク機能はつけたら便利そう。逆に地図から入力とかそういう機能はいらないよな…。
どっかにそういうWebServiceがあったらいいのに、住所ってどこの管轄か知らないけど、国がやるべきだよね。
それから、少し前に仕事でKreetingKardでも使っている郵政公社の郵便番号リストを利用したんだけど、
一部古い情報があったりして、かならずしも最新で正しいとは限らないということがわかりました。
縦書き
範囲指定
肉の日
世の中の流れにのってリリースしたいところだけど、全然無理。
細かいところをちまちま修正して、飽きたのでAPIドキュメント眺めていた。
- KMainWindow::setAutoSaveSettings
- KMainWindow::saveProperties関係
- KMainWindow::settingsDirty
- KMainWindow::slotStateChanged
- KApplication::sessionSaving関係
- KApplication::installSigpipeHandler
よくわからなかったのでどっかで使ってないか検索してみよう。
スクリーンショット - デザイナ
デザイナ部分のドキュメント/ビューがなかなかいい感じでできつつあります。
明日から後回しにしていた縦書き描画とフォーマット関連をやる気出して設計/実装しよう。
その前に住所録のクラスをさくっと(ごっそり?)見直して、ドキュメントも書かないと。
Kontact
2005/07/27 ( KDE )
Kontact に100MBくらいの添付ファイルを付けたらとても重くなった。
相手のサーバーに受信拒否されたのはまぁ、当然として、
送信待ちのそのメールから添付ファイルを削除して再度送信した後も
Kontactがむちゃくちゃメモリを掴んでいるようで、
全体的に描画が遅いなどの影響があったので、Kontactを再起動。
KontactというよりはKMailの問題だと思うが、ちゃんと作ってーって感じ。
人の事いえないだろ?と思ったあなたは大正解です。なんでもいいから手伝ってー!
「動きません」メールの返信テンプレート
2005/07/27 ( Support )
なんか「インストールできません><;」とか「エラーになります」とかだけのメールの割合が多くてうんざりする。
どうもはじめまして。
鈴木と申します。
Linux Life 及び K????? に興味を持っていただいてありがとうございます。
どうやらメールで質問をする時の基本がなっていないようなので
http://www.linux.or.jp/beginners/question.html
やその他メールで質問するときのマナーなどについて書いてあるサイトを御覧になることをお薦めします。
その上でもう一度メール頂ければ、あなたの問題を解決する努力を前向きにしたいと思います。
それでは。
コメントを多言語で書く方法があった
2005/07/27 ( Doxygen KreetingKard )
Doxygen 専用コマンドの
\if <セクションラベル>の
例2のところにあるサンプルがまさにそれでした。
#if defined DOXY_LANG_JA ... #else ... #end 作戦はナシって事でorz
コメントを書く場所
2005/07/27 ( Doxygen KreetingKard )
宣言部(.h)か実装部(.cpp)のどちらにも書けるらしい。
「APIドキュメント」と言う位なので宣言部に書いた方がいい気がするが、
ヘッダーファイルに記述すると、全体の8割くらいがこのコメントになってしまうので、
基本的にはソースファイルの方に書くようにします。
というより、ヘッダファイルに書いておいて、実装するときにそこに移動するような感じかな?
コメントを多言語で書く
2005/07/27 ( Doxygen KreetingKard KDevelop )
src/kkglobal.h を追加し、以下の内容を記述
/**
* DOXY_LANG_XX マクロは APIドキュメントのコメントの言語を切替えるスイッチです。
* DOXY_LANG_JA を定義すると、コメントが日本語になります。(Doxygen自体の言語とは関係ありません。)
* なにも定義しない場合は英語になります。
*/
#elif defined DOXY_LANG_XX
/**
* Other language
*/
#else
/**
* DOXY_LANG_XX macro is switch of language that comments API document.
* For example, DOXY_LANG_JA difinition outputs japanese comments.
* No DOXY_LANG_XX is defined, english comments is output.
*/
#endif
#define DOXY_LANG_XX
この部分は KDevelop での表示がカラフルになって、思っていたよりずっと素晴らしい感じ。
をこのファイルの先頭に記述するとAPIドキュメントのコメントが日本語で出力され、
この定義をコメントアウトすると英語に切り替わることを確認した。
#include <klocale.h>
もほとんどのファイルに記述してあるのでこのファイルに移動しよう。
//TODO 全てのヘッダファイルに kkglobal.h をインクルードする。
日本語入力
2005/07/26 ( KDevelop 日本語入力 )
KDevelop で skim + uim-anthy で日本語を入力していると 10秒くらいでキャンセルされる。
エディタが何かしてるのかな?
すばやく変換をしてなんとかかんとか書いたが、あきらめてそこだけ他のエディタで書いた方が多分早い。
APIドキュメント
2005/07/26 ( Doxygen KreetingKard )
色々調べて書いてみる。
Qt は /*! */ のスタイルだが、KDE では /** */ が多いようだ。
Doxygen は出力言語が選べるらしく、Japaneseにすると日本語でマニュアルが作成された。
ファイルのエンコードがUnicodeなので、入力フィルタ(INPUT_FILTER)に「nkf -e」が必要
Japanese-euc、Japanese-utf8、Japanese-sjisとかになってたら便利なのに。
QPROPERTY に対するコメントを以下のように記述すると Qt のドキュメントだと get/set に対してコメントが付加されているようだがそうはならなかった。
* \property プロパティ名
* 説明
*/
ドキュメントを日本語と英語で書けたら(日本語だけ書いておけば後で訳してくれる人がいれば)
楽だなぁと思って色々調べたが、正式な方法では無理っぽい。
m17nのドキュメントは
日本語版と
英語版があり、
ずるいことをして生成してるらしい。
英語と日本語のドキュメントを #if - #else - #end で分けてみるとうまく表示されたのでよいことにしよう。
日本語(゜д゜)ウザァって外国人(?)が現れたら泣く泣く削除するって事で。
画像の保存、読み込み
設定した画像が「保存」→「読み込み」を繰り返すたびに劣化していることが判明。
内部では QImage で持っているのを 保存、読み込み時に QPixmap にコンバートしていたのが原因らしい。
QDataStream & operator<< ( QDataStream & s, const QImage & image )
QDataStream & operator>> ( QDataStream & s, QImage & image )
に置き換えることにより解決したっぽい。
ドキュメントクラス
設計の見直しが半分くらい終わった。
速度の事は気にしないで、とりあえず正しいような感じになったかな。
宛名関係のサイト
設計ミス
どうもドキュメントの設計をミスってるっぽいので考え直す必要があるみたい。
それにあわせてビューも見直さないと。
というか、デザイン関係全部だな。
勉強/実行していないもの
2005/07/21 ( KDevelop )
- DCOP
- KParts
- C++形式のキャスト
いまのところ必要ないといえばない?
必要になった時に集中してやればいいや。
Q_PROPERTY
2005/07/21 ( KDevelop KreetingKard )
ソースにコメントを書くの件で色々ソースを見ていて、
今まで「必要ないからいいや」と思っていたQ_PROPERTYについてちょっと調べてみた。
プロパティによると Qt 独自のプロパティを扱う仕組みだそうだ。
やっぱり使いはしないなと思うけど、これを機にできるだけ書くようにしよう。
あと、疑問に思ったのが
の部分。色々作ってみてるくせに知らないこと多すぎだ。
ソースにコメントを書く
2005/07/21 ( KDevelop KreetingKard Doxygen )
KMyMoneyというのが気になって色々見ていたら、
KMyMoney Main Page for API documentation.なんてものが存在する。
ちゃんとコメントを書いていてとても偉いと思ったので、KreetingKardにも採り入れることにした。
* 説明
* …
* @short 短い説明
* @param パラメータ名 説明
*/
みたいな感じに書いておけば、KDevelopの「ビルド(I)」>「API ドキュメントをビルド」で自動的に作れるらしい。
詳しい設定は「プロジェクト(P)」>「Project Options...」>「Doxygen」でする。
「Doxyfile」というファイルが設定ファイルで、cvs には登録しない雰囲気。
とりあえず、debug フォルダは除いておいた。
詳しい書き方とかはソースとドキュメントを見比べて勉強しよう。
他にも KMyMoney は Project Handbook もちゃんと作ってるし、
その中には Appendix C. Unit Test Examples なんて項目もあって、勉強になる。
宛名
とりあえず連名に対応させよう。
インターフェースは以下のような感じ?
↓名前をスペース区切りで分割して
| Prefix | Name | Suffix | |
|---|---|---|---|
| 秋穂 | 巧 | 様 | |
| 澪 | 様 | ||
| 佑司 | 様 | ||
↓いらない行と列を削除して
| 秋穂 | 巧 | 様 |
| 澪 | 様 | |
| 佑司 | 様 |
↓縦書きのときはこうすればいい気がしてきた。
| 秋 穂 |
||
| 佑 司 |
澪 | 巧 |
| 様 | 様 | 様 |
げ
2005/07/20 ( Blog )
書き込み方を間違って以前のエントリを消してしまいました。
まぁいいか…。
アイテムの挿入/削除
実装。
CDをMP3に
2005/07/18 ( Gentoo KDE )
CDを色々借りてきたので KAudioCreator 1.1.2 で mp3化。
ID3タグの日本語がちゃんと保存されない。
Konqueror のファイルのプロパティで変更できるようだが、反映されない。
amaroKも同様。
Jukはちゃんと保存された。
ドライブ
2005/07/17 ( Private Travel )
温泉
2005/07/16 ( Private Travel )
北湯沢の名水亭に行ってきた。
浴衣ではなく『湯ぱっちゃ』というパジャマみたいなの(MITSUKOSHI製)がかなり微妙。
温泉は悪い意味で普通、食事も普通。
でも、のんびり出来てかなり満足でした。
TKSelectColorAction
KWord の文字色の設定は以下のようになっていた。
actionFormatColor = new TKSelectColorAction( i18n( "Text Color..." ), TKSelectColorAction::TextColor,
this, SLOT( textColor() ),
actionCollection(), "format_color", true );
本体はkofficeuiらしい。
configure.in.in で以下を定義して
Makefile.am の _la_LIBADD に $(LIB_KOFFICEUI) を追加でとりあえず動いた。
KOfficeに依存する感じになった。
ごっそり移植ができそうなら、そのうち自分に取り込んでしまおう。
スクリーンショット
アイコンが「A」になってないのも後回しで。
CVS
SourseForge にリポジトリがあるのだが、全然チェックインしていない。
理由は簡単で、1から作りなおしたからで、
当時のコードは色々な箇所に残っているけど、ディレクトリ構成とかをわかりやすく変えてしまったためにコミットするのがめんどうなのと、
少なくとも最初に公開したkreetingkard-0.1.0.tar.gzと同じくらいのレベルにしてから公開したいから。
おおまかな構想は頭の中ではほぼ固まっているので、気が向いたところから気の赴くままに実装しているところです。
現在の状況は私が想定しているソース公開レベルに対して35%くらいの出来ですが、
それでもいいからソースみたいとか、俺が変わりにコミットしてやるからソースをくれとか、
今の時点から開発に参加したいという積極的な方がおられましたらおしらせください。
宛名印刷
前から分かってはいたが、年賀状の宛名印刷のレイアウトは会社名、所属、役職の有無でかなり難しい。
あとは連名の印字で、これもかなり泥くさいことをしないと実現しなさそう。
前者は「設定」の「宛名の自動レイアウト」という項目を作って、「日本/葉書(縦)」、「日本/葉書(横)」、「日本/封筒(縦)」かなんかで
印刷直前にデータによって動的にレイアウトを変更するような仕組みを作るのが一番正当な気がする。
後者はフォーマットというプロパティを追加して
「日本/郵便番号」、「日本/住所(縦)」、「日本/宛名(横)」なんかで個別に対応するのが正しいかな?
郵便番号の形式(???-????)や住所の自動補完なども含めて、やはり世界中でつかえるものにしたいです。
KFontAction
2005/07/14 ( KDE KreetingKard )
フォントが異なるアイテムを選択したときには空白にしたいが、 QString::null や "" を渡してもだめらしい。
KWord だと最後に関係したものを表示しているようだが、他にやることがまだまだあるようなので後回し。
KKDDoc で SelectItems のスタックみたいなものを持っていれば最後に選択されたものはわかるので、そのうち実装しよう。
絶対失敗しない宛名印刷
2005/07/13 ( Books KreetingKard )
絶対失敗しない宛名印刷 なんて本を購入してみた。
Word,筆まめ,筆王,筆ぐるめ で宛名印刷をする方法が書いてあるので参考にしよう。
ただ、800円+税は高すぎる。そんな金あったら業者とかに頼める気が。
Textの編集
2005/07/13 ( KDE KreetingKard )
ドキュメントには載っていないが、 KFontAction , KfontSizeAction なんてものがあるらしい。
テキスト編集用のツールバーを以下のような感じで作成。
フォントのコンボボックスの動きが最初はもっさりしてるけど、いい感じ。
あとは色用のを KWord からぱくってこよう。
22x22 の text_center.png が text_left.png,text_right.png より 1px づつ広いのはわざとなのかな・・・。
横書用をパクって縦書用のアイコンを作成したけど微妙に見づらい。
Iconの追加
2005/07/13 ( KDE KDevelop KreetingKard )
src ディレクトリに hi16-action-????.png を作成して Makefile.am を以下のように変更
KDE_ICON = AUTO
Blog ネタ
2005/07/12 ( Blog )
Blogを書きはじめたはいいけど、何を書こうか、どこまで書こうか、ちゃんと書こうか、適当に書こうか、色々悩むもんですね。
とりあえず、最近は KreetingKard を作りなおしているところなので、それが中心になりそう。
あとは適当に人のブログからネタをパクってきたり、調べたり学んだりしたことをメモ代りに書いておこう。
Anthyでユーザ辞書の作成
2005/07/12 ( KannaDic )
Adefg - Anthy dictionary editor for GNOMEの作者の方から「KannaDic で Anthy の時に辞書の作成ボタンが押せる」とバグ報告を受けていた。
確かにあのへんはすごく適当に作ってたので、直そう直そうとは思ってるんだけど放置気味。
オープンソースなんだから誰かが直してくれるかなぁとか思いつつ今にいたります。
恥ずかしいのでさっさと直したい。
ちなみに KannaDic by Google Suggest を見ると今日現在で 5710件。結構探されてるのね〜。
Blogを作った
2005/07/12 ( Blog )
とりあえず、最新、月別、日別、詳細、カテゴリ別、カテゴリ一覧、年月一覧を作った。
のべ2時間くらい。
あとは書き込みと、コメント機能、トラックバック機能、RSSくらいかな?
今のところ特に必要としていないので、だれかにコメントつけたい!トラックバックしたい!と言われるまで実装しないのもひとつの手かな?
ToDo
KKDTextItem::drawString()
KActoinの動きの見直し
Redo/Undo時のKKDCanvasのraise
Undo/Redo
KKDDoc::currentIndex() のバグで動いていなかったのを修正
MouseEvent
KKDCanvas::mousePressEvent
KKDCanvas::mouseMoveEvent
KKDCanvas::MouseReleaseEvent を実装
Blogを作る
2005/07/12 ( Blog Linux Life )
色々考えたあげく、日記を書くことにしました。
日々考えたり調べたり試行錯誤したことをメモして置くだけでも多少価値があるかなぁと。
で、既存のものに使いやすそうなものがなかったので
自分で自分が使いやすいものを作ることにしました。
やっぱりオーダーメイドが一番。
現在のサーバーは自作PCの自宅用で、色々やるのはとても恐いので、どっかに借りて作ろう。
SourceForgeでもいいんだけど。
色々利用したいので、データベースが使えるところがいいなぁ。
以上のものを国別に用意。
住所/郵便番号データベースも持ってもいいかもと思ってる。
さらに開発用のページも用意したいところだけど、別かな。
Kitaが2chを見ているような感じで アプリケーションから上記のデータを参照できるのがベストだけど、データのユニットが大きいから、 本当にそうしようと思ったらすごいスペックのサーバーがいる気がする。
12月はアクセスが集中しますので、なるべくお早めに。みたいな。
別に逐次アクセスじゃなくても、配布ファイル作成用でもいいかな?
毎月サイト内のデータのアーカイブを作成して、アプリケーションから(templates-ja-20051101.tar.gzを)ダウンロード。
どうするにせよ、サイトを作らないことにはアプリケーションも作れないから、 さっさと作る必要があるな…。
どなたか協力してもらえる方いませんか???