Kita - 2ch client for KDE part2
■ このスレッドは過去ログ倉庫に格納されています
0238421
04/09/19 00:08:26ID:iYdpxdjq>>237
詳しく説明すると、>>234でやりたかった事はURLが2chの板か登録外部板かの判定では
なくて、外部板も含めてそのURLが板一覧に登録されているURLかどうかの判定です。
で、そもそも何故外部板が登録されているか判定したいかというと、現状ではリンクをクリック
したときに登録されているにも係わらず必ずwebブラウザで開いてしまうからなんですが、
Kita::is2chみたいにQRegExpを使って静的に判定すると外部板の場合はそれが登録された
ものかどうか判定できないという問題が。
という訳で、最初は>>234のBoard::boardExistsみたいな関数を作って
m_boardDictにURLが登録されているかどうかをみて判定しようと思ったんですが、
例えばhttp://kita.sourceforge.jp/みたいなリンクの上にカーソルを移動すると、
KitaHTMLPart::slotOnURL
→ DatManager::boardName
→ Board::getName
→ Board::getByURL
の順番に関数が呼ばれて new Board( "http://kita.sourceforge.jp/" );
が作られてm_boardDict->insertされます。で、結局リンクをクリックしたときに
Board::boardExistsを呼ぶと必ずTRUEが返る=登録されてる、と判定されることに。
と書いてるうちに、Board::getNameの中でBoard::boardExistsしてFALSEならQString::nullを返すように
すればこのnew Board問題はとりあえず回避できそうな気がしてきたなあ。激しくアドホックですがw
あと、そのうちKita::Board, Kita::Threadを書き直すなら、Board,Threadを直接呼んでいる
部分をとりあえず今のうちからdatmanager経由にしとけば、あとで下位クラスの仕様を変更しても上位
クラスへの影響は少ないと思います(mediator型構造っていうんでしたっけ?)
■ このスレッドは過去ログ倉庫に格納されています