Kita - 2ch client for KDE part2
■ このスレッドは過去ログ倉庫に格納されています
0001kitaの中の人 ◆KITAulkOso
04/07/16 00:31ID:IZzU7SYf名前の由来はKDEの'K'に「板(board)」を加えたのと、キターー(゜∀゜)ーー!!から来てます。
Kitaのウェブサイト
http://kita.sourceforge.jp/
http://sourceforge.jp/projects/kita/
Kita Wiki
http://kita.sourceforge.jp/cgi-bin/hiki/hiki.cgi
前スレ
Kita - 2ch client for KDE
http://pc5.2ch.net/test/read.cgi/linux/1069738960/
前々スレ(DAT落ち)
おいお前ら! GTK+使ってLinux版かちゅーしゃ作れや
http://pc.2ch.net/test/read.cgi/linux/1022744633/
0320login:Penguin
04/10/13 22:14:21ID:nQgJShaD> クリックしても、板が表示されなくなっています。
> いつから動作しなくなったのか分かりませんが。
> Kita は Momonga trunk の kita-0.171.0-0.20041010.1m
kita-0.171.0-2m(ほとんど素の Kita 0.171.0)に戻したら、
クリックで板が開きました。
正常に動作します。
つまり、この不具合は >>307 のsnapshotからです。
0321421
04/10/13 22:20:05ID:l/LrQRUB原因は>>287の
> あと起動時に No such signal openBoardRequested 警告が出ますが
> 後で直すので気にしないでください。
って部分なので>>310のパッチで直ってます。
ちなみに今週は忙しくて一行もコード書いてませんw
0323kitaの中の人 ◆KITAulkOso
04/10/14 00:56:51ID:g4G+Co6xコードを整理したのでその分速くなってるかも。せいぜい数%程度だとは思いますが。
>>310>>312>>318
merged.
Kitaの接頭語は出来るだけ使わない(namespaceを使用予定)なので
新規クラスはKita::Fooみたいにしてくれるといいかも。結局そのままにしてますが。
板検索は欲しいですね…出来ればインクリメンタル検索で。スレ一覧も。
>>313
スレ一覧でコピーはあるので板一覧にも同じ機能を付けた方がいいかな。
URLのポップアップは面白いけど一般的ではなさそうなので保留かな。
気が向いたら実装するかもしれません。
>>316
今のところアップローダは用意してないので…他の板から適当に間借りしてください。
定常的にうpする需要があるならアップローダかsf.jpの権限を用意しますので言ってください。
0324421
04/10/14 22:19:51ID:agheFqJxkitaディレクトリで patch -p0 < patch-10-14.txt
ttp://www.geocities.co.jp/SiliconValley-Bay/7435/patch-10-14.txt
内容は"subjectview_newthread"という新スレ立て用のアクションを
追加しただけなんですが、いかんせんまだ2chで実際にテストしていないので
このアクションをメニューに表示させるか悩んでたり・・・。とりあえず
・●なしでスレ立てられるか
・●有りでスレ立てられるか
の2つのテストが必要なんですが、テストでスレ立てする訳にも行かないしなあ・・・
他の2chブラウザの開発者はどうやってテストしたのかな。
まあ、このアクションをメニューに表示させるかどうかは中の人の判断に任せます。
kitasubjecttabwidgetui.rc の <Action name="subjectview_newthread" />
の行を削るだけなので。とりあえず表示しちゃってスレ立てが必要な人にテストしてもらう
って手もありますが。
> 新規クラスはKita::Fooみたいに
これはlibkita以外のフォルダでも今後は全部そうするってことでしょうか。
0325login:Penguin
04/10/14 22:32:31ID:TU7AUonaさほど問題にはならないかと…
0326279
04/10/15 17:40:50ID:gHqRB4N/あげときました>Snapshot
0327login:Penguin
04/10/16 15:47:39ID:KQkmWF+VKitaを眼の敵にするような事の内容におながいします。
0328login:Penguin
04/10/16 18:57:28ID:Cw47+yW9∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
( ^∀^)< 今晩はカレー
( つ ⊂ ) \_________
.) ) )
(__)_) (^∀^) < ♪
kitaの完成度が日々上がっていくのが楽しみなのですが、
個人的な要望がいくつかありますのであげておきます。
(既出もあるかと思いますが勘弁して)
・起動の度に板リストを外部から取ってくるのは困る。
・板リストのインデントをもう少し詰めたりできないかしら。
補足すると、たとえば現在「PC等」カテゴリの下に「PCサロン」板が表示されてるけど
その開始位置が「PC等」の”等”の位置からになっている。
これをせめて「PC等」の”C”の位置からに出来ないかなーと。
0329kitaの中の人 ◆KITAulkOso
04/10/16 20:07:06ID:CXeNxfxX>>324
とりあえずfeature freezeまではそのままにします。
> これはlibkita以外のフォルダでも今後は全部そうするってことでしょうか。
あー、それは考えてなかった。partはKitaPart::みたいにした方がいいかも。
とりあえずファイル名がkitaで始まると補完などで面倒なのが一番気になってるので、
ネームスペース使う場合でも接頭語としてKitaを使う場合でも
ファイル名はKitaを除いたものにしてください。
>>328
既出でもそれだけ要望が多いことが分かるのでOKです。
> ・板リストのインデントをもう少し詰めたりできないかしら。
パラメータ一個いじったら出来たので、とりあえずCVSに入れました。
http://kita.sourceforge.jp/screenshots/treestep10.png
こんな感じでどうでしょう。正直微妙な気もしますけど、慣れの問題かな…
0330328
04/10/16 22:58:56ID:wxexSb2A> こんな感じでどうでしょう。
ありがとうございます。
望んでいたとおりになりました。
表示幅のシビアな環境で使っているものでして、非常に助かります。
0331kitaの中の人 ◆KITAulkOso
04/10/17 15:56:53ID:F2OSyDyUhttp://kita.sourceforge.jp/snapshot/kita-20041017.tar.gz
以降の予定は>>305。
>>307以降の修正は、
・>>310>>312>>318>>324のマージ
・板リストのインデントを詰めた>>329
・スレ一覧にボタンを付けた>>287
・起動時に板リストを取得しないようにした>>328
メニューから手動で実行してください。あと初回起動時には自動的に取得されます。
・インデックスファイルの実装開始
現在のところスレ名だけです。キャッシュディレクトリに*.idxというファイルが出来ます。
今のところ他に何も影響はありません。あと理論上は遅くなるので(毎回ファイルを開いてるし)、
あまりに遅くなるようなら言ってください。
>>326
何かいろいろありますね。
後でリンクします。
0332rpmpointの中身
04/10/17 17:46:27ID:6RY6+JjX0333login:Penguin
04/10/17 18:52:42ID:68PwqOt0私の環境はTurbo10Fなのですが、TurboのHPから落とした旧版をインスコしていると[kita-0.171.0-1.i586.rpm]では更新できませんでした。
明らかに旧Verなのに最新版がインスコ済みって怒られましたw
0334421
04/10/17 21:04:04ID:bEon0xHYttp://www.geocities.co.jp/SiliconValley-Bay/7435/patch-10-17.txt
DatManager::threadNameからスレッド名を取得するときに、DatInfo::getSubject
経由にすると必ずDatInfoを作らなくちゃならなくてオーバーヘッドがデカ杉なので、
Thread::getName経由でThreadIndex::getSubjectを呼ぶように改良。
まあDatManagerでindexファイルから情報を取れるときは極力indexファイルから
取るようにして、糞重いDatInfoを作らないようにしようという方針にしようかと。
これで>>245の既読スレ一覧表示が数十倍くらい高速化されますが、indexファイルが無いスレの
名前は?になります。
あとスレッド情報周りがちとややこしくなってるので頭の整理も兼ねてメモ
・indexファイルが最初に作られるタイミングはdatがサーバかキャッシュから読み込まれて
最初のレスがDatInfo::parseDatでパースされたとき。(ThreadIndex::setSubjectは
DatInfo::parseDatの中以外では呼ばれない)
・スレッド名を保持しているのはThreadクラス
・レス数を保持しているのはThreadInfoクラス
・ここまで読んだの番号を保持してるのはDatInfoクラス
ややこしいなあw
とりあえずここまで読んだもindexに保存して、管轄をThreadかThreadInfoに移した方が良い気が
0335421
04/10/17 21:41:59ID:bEon0xHYttp://www.geocities.co.jp/SiliconValley-Bay/7435/patch-10-17-2.txt
私は0chスクリプトを使って
http://localhost/~foo/cgi-bin/testbbs/
という掲示板をローカルで立てて書き込みとかスレ立てのテストしてるんですが、
その時にスレ名が表示されなかったバグを修正。
datURL.prettyURL()とdatURL.url()の違いで~が%7Eになるってのが原因で
とりあえずprettyURLで統一してみたり。
0336kitaの中の人 ◆KITAulkOso
04/10/17 23:14:19ID:F2OSyDyUTurboの公式パッケージにはSerial:が入ってるのが原因です。
強制的にインストールしてください。
>>344
独断で申し訳ないですが、別の方法で実装しました。
Thread::getNameでなくてDatManager::threadNameでの対応になってます。
"?"でなく""になってますが。
> あとスレッド情報周りがちとややこしくなってるので頭の整理も兼ねてメモ
こんな感じで考えてます。
Thread: メモリ内に一時的に保存するスレ名(subject.txtを読み込んだ時とか。ポップアップなどで必要)
ThreadInfo: レス数、既読数はThreadIndexに移して廃止予定
DatInfo: datファイルを管理するクラス
ThreadIndex: dat.idxファイルを管理するクラス
DatManager: Thread, DatInfo, ThreadIndexを管理する窓口
ThreadやThreadInfoを直接使用しているクラスも
基本的にはDatManager経由でアクセスさせるようにするつもりです。
0337421
04/10/17 23:50:09ID:bEon0xHYcvsの方法だとthreadNameを呼ぶたびにidxをオープンするので、一度ロードしたら
Threadクラスに情報をコピーして2回目からはThreadクラスから情報を呼び出した方が
良いかなと思ったんですが・・・。階層図で書くとこんな感じ。
上位レベル( KitaThreadView とか )
レベル3: DatManager
レベル2: DatInfo | Thread
レベル1: ThreadIndex
つまりDatManagerからは直接ThreadIndexは呼ばない、みたいな感じで。
ただメモリの使用量のことを考えるとThreadIndexをDatManagerから直接呼ぶ(=その都度ファイルを
オープンして情報取得する)した方が良いので、まあその辺の実装はお任せします。
ThreadInfoの廃止は了解です。今後はThreadInfoになるべく手を入れないようにします。
0338kitaの中の人 ◆KITAulkOso
04/10/18 01:28:46ID:BWkf3NbvIOが気になるならこんな感じでどうでしょう(CVSからの差分)。
http://kita.sourceforge.jp/snapshot/datmanager-20041018.patch
自分はこんなイメージです。
上位レベル( KitaThreadView とか )
レベル2: DatManager
レベル1: DatInfo(ThreadIndex) | Thread
スレ名だとレベル1でどちらも同じ情報が入るのですが、
レス数だと異なる数が入る可能性があるので、flatな方がいいかなと。
でも正直自信がないので、実装を進めた方がいいかな。
0339421
04/10/18 02:06:08ID:d7p6pPtnThreadクラスの中でThreadIndexを呼ぶようにしたという経緯があったりしてw
実はこういう4層構造も考えたりもしたんですが。
┏━━━━━━━━┓
レベル4┃ DatManager ┃
┣━━━┳━━━━┫
レベル3┃DatInfo┃ ┃
┣━━━┛ ┃
レベル2┃ Thread ┃
┣━━━━━━━━┫
レベル1┃ ThreadIndex ┃
┗━━━━━━━━┛
しかしまあ、この辺は2人がかりでやっても混乱するだけだと思うので
とりあえず実装しちゃってDatManager以下の構造は後で考えるってのが
いまの所は良いかもしれませんねえ。
0340rpmpointの中身
04/10/18 23:42:28ID:91RI0XOM0341421
04/10/18 23:44:54ID:9qu6iM94┏━━━━━━━━━━━━━━━━━┳━━━━━━┓
┃ KitaMainWindow ┃ ┃
┣━━━━━━━┳━━━━━━━━━┫ DatManager ┃
┃ Kita*TabWidget┃KitaThreadTabWidget┃ ImgManager ┃
┣━━━━━━━╋━━━━━━━━━┫ KitaConfig ┃
┃ Kita*View ┃ KitaThreadView ┃ Signal ┃
┗━━━━━━━╋━━━━━━━━━┫ Collection ┃
┃ KitaHTMLPart ┃ (kita_misc) ┃
┣━━━━━━━━━┫ ┃
┃ KitaDomTree ┃ ┃
┗━━━━━━━━━┻━━━━━━┛
KitaMainWindow: メインウィジット。タブウィジット全体の管理、全体のアクション定義
Kita*TabWidget: タブウィジット、タブウィジット別のアクション定義
Kita*View : 個別のビューウィジット
KitaHTMLPart : 拡張したKHTMLPart
KitaDomTree : スレ別のDOM管理
DatManager : スレッド情報管理
ImgManager : 画像情報管理
KitaConfig : ユーザ設定管理
SignalCollection : シグナル管理
(kita_misc) : ユーティリティ関数群 ( kita_misc.{h,cpp}で定義 )
だいぶ整理されてきたかな・・・。つづく
0342421
04/10/18 23:48:27ID:9qu6iM94(1) SETTING.TXTを扱うことも考えて、板情報を一元に扱うBoardManagerみたいなクラスを新設して
DatManager::boardURL()みたいな板情報を返す関数はそっちに移した方が良いかも。
BoardManager::boardURL()とかBoardManager::boardName()みたいな感じで。
(2) datファイルのURLを取得するためにParseMisc::parseURL()とParseMisc::parseURLonly()を
使ってますが、これらはkita_miscに移した方がすっきりするかも。Kita::threadToDat()はもう使用
されてないので廃止して、getDatURL()みたいな関数名にして。
(3) ついでにParseMisc::qcpToUnicodeとかParseMisc::DatToHtmlもkita_miscに窓口を作って
ParseMiscクラスは上位クラスから直接呼ばないようにした方が良いかも。
(4) kita_miscの関数とURLをやりとりするのにQStringを使ってますが、KURLに統一した方が良いかも。
>>335みたいなKURL->QString変換時の混乱を避けるためにも。
0343kitaの中の人 ◆KITAulkOso
04/10/19 00:35:32ID:9ZIXKwUm・datを消すときにdat.idxも消すようにしました。
・レス数、「ここまで読んだ」の位置も.idxに保存するようにしました(書き込みだけで使用はまだ)
>>342
(1): DatManagerは肥大気味なのと"Dat"Managerが板情報を扱うのは良くないので賛成。
(2)(3): kita_miscへの移動はちょっと微妙。ParseMiscの位置づけが分かりにくいのが気になります。
コンビニエンス関数という位置づけなら移動でなくて統合の方がいいかと。
> ParseMiscクラスは上位クラスから直接呼ばないように
するのは階層が増える割にメリットがないような気がします。
(4): 賛成。実は最初KURLを使ってたのですが、一時期気の迷いでQStringにしたので、
今のような中途半端な状態になってます。
0344421
04/10/19 01:21:36ID:Wjk1NCP/いるかもしれませんが気にせずして下さいw
>>343
(1) ではSETTING.TXTの件は次バージョンで私がやっとくので、BoardManager
の新設はおながいします。
(4) これもついでにおながいします。
(2)(3) ParseMiscは元々DatInfoでメインで使うけど他のクラスからも使われる
関数を集めたクラスなんですが、指摘の通りいまいち位置付けが良く分からない
のが玉に傷ですねえ。kita_miscに統合する方向で見直してみます。
あとついでになんかここ変じゃない?って部分があれば直す(もしくは言い訳するw)
ので言ってください。
0345280
04/10/19 03:06:49ID:wiwrw4nT壺に "(゜∀゜)" を25日までに作る予定でつ。ピョンピョン跳ねまつ。
0346login:Penguin
04/10/19 22:05:30ID:xt+fxOQUまちBSS 読めません。 これって、仕様?
0347kitaの中の人 ◆KITAulkOso
04/10/19 22:25:11ID:9ZIXKwUm>>346
確認しました。読み込みはサポートしてるのでバグです。
どこかでエンバグしたのかな。見ておきます。
0348kitaの中の人 ◆KITAulkOso
04/10/20 01:06:10ID:Yjeekm/Yでも差分が取れなかったりログが消せなかったりしますorz
次のバージョンまでには直したいかな…。
>>344
BoardManagerを作りました。とりあえず中身は空で。(4)は了解。
あと気になったのは名前の統一性かな…。
ThreadIndexという名前もDatInfoとの関連が薄いので失敗だったかもしれない。
とりあえずガイドライン作ってみます。
>>345
期待して待ってます。
アニメーションだと使いどころが難しいかも?
0349login:Penguin
04/10/20 11:04:28ID:IicQIrBACtrl+CでもCtrl+Insertでもコピーができぬ。
ショートカットキーを設定し直してもダメでした。
「他のアプリに」ということではなく、kita内でも効きません。
仕方ないので右クリックから「コピー」を選んでますが、不便・・・・
他のショートカットキーはちゃんと効くんですが・・・・
0350login:Penguin
04/10/20 13:55:25ID:qw5yWH6F対応ありがとうございます。
ところで、フィックスされたものって、どこにうpされました?
0353login:Penguin
04/10/20 19:59:43ID:IicQIrBA了解。よろしくです。
0354421
04/10/20 20:16:14ID:Gg9nUwtA今日は早く帰ってきたので私がやっときますか?>コピー
ちなみにコピーの件は私も気づいてたんですが、中クリック
で代用できるので言われるまで放置してたりしてw
0357421
04/10/20 20:26:13ID:Gg9nUwtAじゃあやっときます。多分kitathreadwidgetとpart以下のファイル以外
はいじらないと思います。飯食いながらなんで出来るの11時くらいかなあw
0358421
04/10/20 21:38:17ID:Gg9nUwtAttp://www.geocities.co.jp/SiliconValley-Bay/7435/patch-10-20.txt
ついでなので画像ビューの右クリックメニューにサイズ指定つけときました。
0359rpmpointの中身
04/10/20 22:32:00ID:M6UBzYgW0361kitaの中の人 ◆KITAulkOso
04/10/21 00:49:47ID:IeUlcVKMhttp://kita.sourceforge.jp/snapshot/kita-20041021.tar.gz
>>331以降の修正は、
・>>334>>335>>358のパッチをマージ
・>>343の「CVSの変更点」
・まちBBSの読み込みが出来なかった問題の修正
20日になったのでfeature freeze。以降は大きな機能追加はしない予定です。
まちBBSのバグも大体取れたはずなのでリリースに支障があるような大きなバグはないはず。
# まちBBSのバグ対応でかなりコードが滅茶苦茶になってますがorz
code freezeは10/27、releaseはやっぱり肉の日の予定。
0362rpmpointの中身
04/10/21 07:50:22ID:pyI493PA0363login:Penguin
04/10/21 23:07:27ID:k6L3RULK再インストール
今度は、まちBBS、読めないどころか スレッド一覧さえでないよ。。。。
0364kitaの中の人 ◆KITAulkOso
04/10/21 23:29:01ID:IeUlcVKMテストの時も大変だったorz
0365rpmpointの中身
04/10/22 00:36:03ID:/EBHKtYZなにぶん自分のマシン以外でテストができていないので、不安なのです。
エラーなく使えていますでしょうか?
0366login:Penguin
04/10/22 05:55:57ID:n423Onqkすんません。再度確認したところ、OKでした。
御迷惑かけました。
おっしゃるように、まちBBSが不安定なためか、
スレ一覧 及び スレ本体ともに、手動で再読み込み
をして、表示されない問題を回避しております。
0367login:Penguin
04/10/23 13:04:48ID:0l3W6Q0credhat9/kde3.1-13で、kita0.140.1を使っているのですが、
IDが表示されません。
設定で表示させる/させない等切り替えができるのでしょうか?
初心者な質問で申し訳ありませんが。
0368kitaの中の人 ◆KITAulkOso
04/10/23 13:22:21ID:+zBJuHCkとりあえず最新は0.171.0なので、それに入れ替えてもらえますか?
0369login:Penguin
04/10/23 13:28:50ID:0l3W6Q0c>0.140.1というバージョンはないはずですが…kita-0.140.0-1のことかな。
すみません。間違えていました。それです。
>とりあえず最新は0.171.0なので、それに入れ替えてもらえますか?
やってみます。ありがとうございます。
0370login:Penguin
04/10/24 11:28:02ID:T+fYP/1X起動しようとすると以下のようなエラーが出ます。
tarボールを自前で入れていた時は正常に動いていたのですが・・。
kita: error while loading shared libraries: /opt/kde3/lib/kita.so:
undefined symbol: _ZN13KListViewItem10insertItemEP13QListViewItem
0371rpmpointの中身
04/10/24 12:33:33ID:lCDAjLYc何が悪いんだろ…。
0372kitaの中の人 ◆KITAulkOso
04/10/24 16:41:32ID:JJoVPe/Ymake uninstallでtarballで入れた方を削除してみてください。
0373367
04/10/24 19:04:47ID:KFIuYCB+IDも無事表示されるようになりました。ありがとうございました。
0374421
04/10/25 00:54:51ID:WhJSJrLU現バージョンに関しては既にコードフリーズしちゃって次バージョンのコード書いてます。
特にバグが無ければ現バージョンのパッチを出す事は無いです。て言うか、何かバグが
あったら潰すんでネタ下さいw
まあそんな訳で KitaWriteView の qDebug は適当にコメントアウトしておいて下さい > 中の人
ちなみに今は SETTING.TXT の読み込み部分を書いてるんですが、imgmanager.cpp
にあった FileLoader を独立させて DownloadManager というファイルの汎用の
ダウンロード管理クラスを新設してそれで画像とかSETTING.TXTをロードするようにしてます。
0375kitaの中の人 ◆KITAulkOso
04/10/25 01:07:31ID:U0sK4F5vCVSでの変更はこれくらい。
・書き込みウィンドウが縦幅取り杉なのを対応(>>66)
・スレッド一覧の右クリックで「URLをコピー」を追加
あと入れる予定なのは板一覧での右クリックメニューくらい。
それと今までに挙がってる要望を更新しました。
漏れがあったら言ってください。
http://kita.sourceforge.jp/cgi-bin/hiki/hiki.cgi?%CD%D7%CB%BE
次のバージョンのコードはまだ書いてないですが、やっぱりお気に入りの整理かなぁ。
0376login:Penguin
04/10/25 13:33:13ID:T56b+RlQさて外部板の話。
したらばの板を追加できんかとあれこれ見てたんですが、
ディレクトリ構成が違うせいか巧くいかないようです。
で、kitaboardview.cppあたりを眺めてたんですが
おいらの阿呆な頭では早々わかりそうもない罠
参った。
もしかしておいら、何か盛大に勘違いしてますか?(;´Д`)
0377rpmpointの中身
04/10/25 22:36:36ID:m8yeYpcvOpenJane系の用に、
Kitaを終了して次回起動時に板ツリーをオープンのまま起動できるようにならないでしょうk?
0378421
04/10/25 22:49:13ID:SHSFV1+Rこっちの返事は中の人にお任せ
>>376
結論から言うと現段階では無理です。理由は
(1)そもそもライブドアしたらばのrawmode.cgiにkitaが対応していない。
まあこっちはそれほど問題ではないのですが、一番やっかいなのが、
(2)変則URLのため板のURL関係を扱う関数をほぼ書き直す必要がある。
ってことだったりして。2chその他の互換板のURLは「(root)/test/read.cgi/板名/スレッドID」なのに
対して、したらばのURLは「(root)/bbs/read.cgi/板名/板ID/スレッドID 」と板IDが間に入ってるため、
ざっと見ただけでも boardRoot(), parseURL(), cachePath(), datToThread()、etc.
は書き直す必要があります。
つづく
0379421
04/10/25 22:53:23ID:SHSFV1+R上の(2)の続き。要するに、いまの実装ではURLのうち、どこまでがルートで、どこからが板で
どこからがスレッドIDなのか分からないのが問題なので、URLを(root),(delimiter),(bbs),(thread)
の4つのパスに分けて管理すれば良いのかな。で、.kde/share/apps/kita/extbrd.confに外部板を
登録するときは「スレ名<>(root)<>(delimiter)<>(bbs)」という形式にすると。例えば
(1) 2ch形式で http://pc5.2ch.net/test/read.cgi/linux/1089905503/ だったら
(root)= http://pc5.2ch.net, (delimiter)= test/read.cgi, (bbs)= linux, (thread)= 1089905503
(2) したらば形式で http://jbbs.livedoor.jp/bbs/read.cgi/computer/11111/222222 だったら
(root)= http://jbbs.livedoor.jp, (delimiter)= bbs/read.cgi, (bbs)= computer/11111, (thread)= 222222
extbrd.confには「したらばのスレ<>http://jbbs.livedoor.jp<>/bbs/read.cgi/<>/computer/11111/」と登録
(3) ローカルに立てた http://localhost/~foo/cgi-bin/test/read.cgi/testbbs/111111 みたいなURLだったら
(root) = http://localhost/~foo/cgi-bin, (delimiter)= test/cgi-bin, (bbs)= testbbs, (thread)= 11111
extbrd.confには「ローカルのスレ<>http://localhost/~foo/cgi-bin<>test/cgi-bin<>/testbbs/」と登録
で、(root),(delimiter),(bbs)のパスを返す getRootPath(url),getDelimiterPath(url),
getBBSPath(url) みたいな関数を作るれば良いのかな。例えば
getBBSPath( "http://jbbs.livedoor.jp/bbs/read.cgi/computer/11111/222222" ) = "computer/11111"
すると次みたいにして簡単にURLが得られます。
subject.txt のURLは getRootPath(url) + getBBSPath(url) + "subject.txt"
read.cgi形式のURLは getRootPath(url) + getDelimiterPath(url) + getBBSPath(url) + (thread)
2chのdatファイルのURLは getRootPath(url) + getBBSPath(url) + "/dat" + (thread).dat
したらばのrawmode.cgiのURLは getRootPath(url) +"/bbs/rawmode.cgi" + getBBSPath(url) + (thread)
なんか見づらいなあ・・・ つづく
0380421
04/10/25 22:55:27ID:SHSFV1+Rstruct BBSDATA{
QString root;
QString delimiter;
QString bbb;
};
みたいな構造体で登録されてる板情報を管理する事にすると、上のgetBBSPath()は大雑把に書くと
こんな感じになりますかね。
QString getBBSPath( const KURL& url){
for( int i = 0; i < bbsmax; i++ ){
if( url.prettyURL().contains( bbsdata[i].root + bbsdata[i].delimiter + bbsdata[i].bbs )
|| url.prettyURL().contains( bbsdata[i].root + bbsdaat[i].bbs ) )
return bbsdata[i].bbs;
}
return QString::null;
}
まあ次バージョンでしたらばをサポートするかどうかは置いといて、やるとしたらこんな風に実装すれば良いのかな・・・
0381login:Penguin
04/10/25 23:03:02ID:2hUqZBw6・スレ一覧で項目の表示オン/オフ出来るようにほしい。
(Thread's speedを表示させずにそのぶんTitleの表示幅を広くとりたい、とか)
・スレ一覧で項目の幅を調整した時にその状態を記憶しておいてほしい。
(せっかく調整しても次回起動時にはリセットされるので毎度調整し直してます)
kitaが日に日に洗練されていくのは使う側としてもうれしいです。開発者さま乙。
0382kitaの中の人 ◆KITAulkOso
04/10/26 00:11:11ID:G069bhNGぱっと実装が思いついたので多分すぐ出来るかと。
気力があったら次のバージョンに入れます。
>>381
前も要望があったので入れたいですが、
ぱっと思いつかなかったので次の次以降になると思います。
0383kitaの中の人 ◆KITAulkOso
04/10/26 00:24:55ID:G069bhNG最終形は
> 2chの板も含めて登録されてる板の情報を扱うクラスなり構造体
になると思います。
内部ではroot, delimiter, bbsと持った方がいいかもしれませんが、
extbrd.confでは「キーとなるURL」「板のタイプ(2ch、したらばなど)」で
登録できる方が楽かと思います。高々数種類だと思うので。
いろいろ考え出すと長くなりそうなので、詳細は後でWikiに書きます。
0384login:Penguin
04/10/26 01:23:38ID:lgMQAZtR...... ○|\_
0385login:Penguin
04/10/26 07:38:46ID:jycHKkx4>>次のバージョンのコードはまだ書いてないですが、やっぱりお気に入りの整理かなぁ。
お気に入りの整理!!
これさえあれば、OpenJaneから離れられます。
ぜひお願いします。
0386login:Penguin
04/10/26 09:35:29ID:Hzl5xnK3おぉ、予想を遥かに上まわる('A`)了解です。聞いてみてよかった…。
わざわざ解説&ご考慮いただきありがとうございます。
どうせなら先の事を見込んだ上、じっくりご対応していただければ幸いです。
動きだせばとっとと突撃、人柱もさせていただく所存。
では。
0387login:Penguin
04/10/26 18:54:26ID:NoOd0ury試作2: http://page.freett.com/SUSER/hi48-kita-tubo.png
イマイチですが、片隅に置いてくださればウレスイ。
0388421
04/10/27 00:12:37ID:KzsaaAkU作ってみました。やっぱり軽く内部設計をしておくとコーディングが楽で良いなあw
ttp://www.geocities.co.jp/SiliconValley-Bay/7435/bbsdb.tar.gz
どんな風かと言うと、
BoardData という板情報を保持するクラスを作って、
BoardManager で板情報のデータベース( BoardManager::m_boardDataList )を管理して、
BoardManager::enrollBoard()で板情報を登録して
BoardManager::getBoardData()でデータベースを検索
って感じ。ちなみに鯖移転にも対応。
データベースの具体的な使い方は readme.txt の中にKitaBoardView::showBoardList()
でデータを登録する方法と ParseMisc::parseURL() でURLをdat形式に変換するサンプルコードを書いときました。
詳しくは readme.txt を。
支障がなければ次バージョンでこの新型データベースを搭載して Board クラスは段階的に廃止しようと
思うのですがどうでしょうか。まあextbrd.confの登録の仕方はあとで考えることにしてw
0389kitaの中の人 ◆KITAulkOso
04/10/27 01:01:50ID:+xxIirCzインターフェースを考えていますがどうでしょう?
>>377
気力があったのでCVSに入れました。
>>387
今の段階でCVSに入れちゃっていいですか?
新しいのが出たら置き換えるってことで。
0390login:Penguin
04/10/27 01:50:27ID:cX0l42bJ>ブラウザのブックマークみたいなインターフェースを考えていますがどうでしょう?
要望(勝手なことばかり書いてすみません。)
1.ディレクトリ構造になっているのを希望します。
2.ディレクトリ構造の中のスレがディレクトリごとに一気に開ける機能があれば最高です。
3.その際にスレの更新もできればさらにイイのですが、それをやると
2chの中の人に怒られちゃうかもしれませんが・・・
4.ディレクトリの名前とその中のスレの名前も自分で決められるとイイです。
デフォルトではスレ名で登録して必要がある場合は名前をリネームできる。
スレの名前がPart45とかになっていると、たまに番号を間違えてスレたてされちゃうため
過去ログの順番がワケワカメになるためです。
0391login:Penguin
04/10/27 01:52:37ID:cDlS6IcP>今の段階でCVSに入れちゃっていいですか?
>新しいのが出たら置き換えるってことで。
はい。いいです。(試作1はキャンセル)
置き換えて欲しいときはここに書き込みます。
また、前にWindowMaker用?のアイコンとかスタイルシートとか
色々作られてましたので、消えてしまわないうちに保存されても
問題ないかな?と思いました。
( スタイルシートのURL消えちゃってるし . . . )
( パケジがでかくなるかな? )
0392rpmpointの中身
04/10/27 23:33:01ID:LUro173AIDで抽出を付けていただけませんか?
0393kitaの中の人 ◆KITAulkOso
04/10/28 01:17:26ID:lYQ6A4Ljsnapshot。RC版。>>377と翻訳だけ。
>>392
Ctrl+'IDをクリック'で出ます。
メニューがあった方がいいかな。
0394kitaの中の人 ◆KITAulkOso
04/10/28 01:43:24ID:lYQ6A4Lj>>391
じゃあ、280のアイコンと置き換えます。
>>390
了解。実装は多少変わるかもしれません。
0395421
04/10/28 02:35:08ID:xeKaguyjちなみに中クリックでもID抽出、右クリックでIDポップアップだったりします。
snapshotは明日試してみます・・・
0396rpmpointの中身
04/10/28 07:58:44ID:kRtO6xqQ>>393
>>395
どうもです。知りませんでした。
0397欲張り名無しさん
04/10/28 08:13:45ID:L2+yMzUPsubjectウィンドウを縦にも埋めこめて、Favoriteの内容を自由に並び換えられて、
Favorite内のスレをロードするときスクロールバー(?)がそのつど上に戻らない様になったら幸せです。
あとFavorite内のスレの一括リロードもできたら幸せです。
飲み物は先に持って来て下さい。
Kita重宝してますヽ(´ー`)ノシ
0398login:Penguin
04/10/29 01:19:03ID:BXkR6B2jこれは俺も禿市区欲しい・・・・
0399kitaの中の人 ◆KITAulkOso
04/10/29 01:58:15ID:xVhLXZsq同じIDが他にないときにもメニューが出るようにした方がいいと思った。
(ポップアップも同様)
以下忘れないためのメモ。
・晒しあげ用にIDから「>>393>>394」みたいな文字列を抽出したい
・doxygenで生成したファイルをsf.jpで見れるようにしたい(←これはさすがに自分がやる)
・名前に数字が入ってるときそのレスをポップアップしたい
・お気に入りからもスレのプロパティが見たい(←これも自分がやる)
・スレのプロパティの表示が汚い(←直すの忘れてたorz)
>>397>>398
Favoriteのリロードは付いてます。
> Favorite内のスレをロードするときスクロールバー(?)がそのつど上に戻らない様になったら幸せです。
これも確か直したはず。バージョン古くないですか?
0400421
04/10/29 02:59:02ID:S9qGYso7> IDから「>>393>>394」みたいな文字列を抽出したい
これは簡単なので手が空いたらやるかも。要は DatManager::getNumByID() と
DatInfo::getNumByID() を適当な名前でコピペして
if ( m_resDatVec[ i ].id == strid ) outstr += ">>" + QString::setNum( i )
ってやって文字列取って来るだけなので。
> 名前に数字が入ってるときそのレスをポップアップしたい
これは「hoge123」みたいに名前の途中に入ってる数字もポップアップしたいってことですか?
ちと面倒ですが、そのうちParseMiscクラスの再編成をやる時についでにやるかも。
あとsnapshotは書き込みの時にデバッグ情報出ますがそれ以外は特に問題無いです。
0401欲張り名無しさん
04/10/29 05:58:52ID:9tTRk6Z5ありがとんヽ(´ー`)ノクレクレでゴメソです☆
0402login:Penguin
04/10/29 13:37:37ID:HoGrCrSyいままで開いたことあるスレッドがスレッドタイトルだけでも残ってて
既読 未読の数さえ把握できればいいんですけどね。
0403login:Penguin
04/10/29 20:33:30ID:BXkR6B2j>Favoriteのリロードは付いてます。
んー、やっぱりこれがそうなのかなぁ・・・・
それは「お気に入り」タブ内の「板のリロード」というボタンのことでしょうか?
確かにこれを押すとスレ一覧らしきものがダウンロードされてくるのですが、
でもそれだけで、見たところ何の変化も起こりません。
左端に二重四角のアイコンも出ないし、未読数も空欄のままで、どのスレに
更新があったのか知る術が無いのですが・・・・ウチだけ?
それともこれではないのかな?
色々試してみたんですが分かりません。教えてくだされm(_ _)m
今使っているのはRPMPOINTさんのところのkita-Snapshot 20041028です。
0404kitaの中の人 ◆KITAulkOso
04/10/29 20:36:55ID:xVhLXZsq・スレッド立て対応
・アイコンの修正/追加(展開したディレクトリの下の'icons'ディレクトリにあります。279さん、280さん285さんThanks)
・起動時に自動的に板リストを読まないようにした
・バグ修正、UIの整理
詳しくは過去のsnapshotあたりを参照。
>>307>>331>>361>>393
393からの変更点はアイコンだけ(>>394)。
0405kitaの中の人 ◆KITAulkOso
04/10/29 20:40:13ID:xVhLXZsq今試したらどうやら更新されてないみたいです。多分バグっぽいですね。
次のバージョンでお気に入り関連整理する予定なのでお待ちを。
# そもそもFavoritesは未読/既読数が別管理になってるのが問題かなぁ…
0406login:Penguin
04/10/29 20:48:29ID:BXkR6B2jあらま。了解しました。待ってます
0407kitaの中の人 ◆KITAulkOso
04/10/29 20:53:33ID:xVhLXZsq> これは「hoge123」みたいに名前の途中に入ってる数字もポップアップしたいってことですか?
悩むところですが、とりあえずそれでお願いします。
ただしトリップは外してください。大変そうならとりあえず「数字だけ」の場合でもいいです。
>>402
とりあえず全スレ表示に関しては>>245でどうでしょう?
タブ表示はそのうち入れたいとは思いますが今のところ優先度は低いです。
0408421
04/10/29 23:00:01ID:S9qGYso7ちなみにスレ立てですが、作った本人は「2chで実際にテストしてません」ので御注意を。
というかスレ立てに成功したら報告して〜みたいなw
> 「数字だけ」の場合
それはもうなってますよ。ただメールアドレス欄表示になってないとポップアップしませんが。
非表示の時はメール欄の表示をどうするかって問題があるからあまり考えたくなかったりして・・・
で早速パッチ。 kita フォルダで patch -p0 < patch-1029.patch して
downloadmanager.cpp downloadmanager.h event.h を libkita 以下に追加
ttp://www.geocities.co.jp/SiliconValley-Bay/7435/patch-1029.tar.gz
内容は>>378,388あたりの話。クラス整理の過渡期なのでまだちょっと変なとこともありますが。
もうちょい詳しい話につづく。
0409421
04/10/29 23:03:08ID:S9qGYso7まあ少しだけ拡張してますが、基本は>>388のreadme.txtに書いてあることと大体同じ。
なお板の登録関数( BoardManager::enrollBoard() )の中でホストを見て板のタイプを決定しているので
extbrd.conf の書式はとりあえずそのままにしてます。
あと、したらばはサブジェクトだけは見れるようになりました。>>378の(1)はやってないのでまだ読めませんが。
個人的にはしたらばは使わないので>>378の(1)は使う人にやってもらいたかったり。
(2) 鯖移転本対応
BoardManager::moveBoard()を呼ぶだけでキャッシュフォルダの移動とかも全部するようにしました。
またキャッシュフォルダ内にBBSHISTORYという履歴ファイルを作ってそこに鯖移転の履歴を保存して
データベースのキーとして使えるようにしました。
例えば http://aaa.com -> http://bbb.com -> http://ccc.com -> http://ddd.com
みたいに移転したら BBSHISTORY は最新の http://ddd.com を除いた
http://ccc.com
http://bbb.com
http://aaa.com
という風になります。BBSHISTORYはテキストファイルなので直接編集も可能。すると、http://aaa.com みたいに
古いURLのスレでも内部では http://ddd.com で処理するのでポップアップでリンクを辿って行けるようになります。
ちなみに移転の検知のコードは書いてないので、移転作業をするときは従来通り設定ダイアログの
デバッグのとこから手でやる必要があります(DebugPrefPage::replace()の中でBoardManager::moveBoard()
を呼んでいる)。個人的には別に手動でも良いやと思うので自動移転機能は欲しい人に作ってもらいたかったり。
(3) SETTING.TXTの読み込み
DownloadManagerという汎用のダウンロード管理クラスを作って SETTING.TXT を読み込んでます。
0410421
04/10/29 23:10:59ID:S9qGYso7・今度こそkitathreadviewのコード整理
・parsemiscその他のクラスの整理統合
・デバッグ
くらいですかねえ。kitathreadviewのコード整理が終わったらとりあえず
長々とやってきたkitaの拡張はひと区切りって感じで、上のBoardManager
みたいなイレギュラーな更新が無い限りはでかいパッチはもう無いと思います。
0411login:Penguin
04/10/29 23:24:04ID:NoEZTqxE0412login:Penguin
04/10/29 23:28:46ID:cwdq3NINリリース、乙です。
> ・アイコンの修正/追加(展開したディレクトリの下の'icons'ディレクトリにあります。279さん、280さん285さんThanks)
> 393からの変更点はアイコンだけ(>>394)。
さがしても無いようなんですが、アイコン、'icons'ディレクトリ、、、
0413rpmpointの中身
04/10/29 23:32:07ID:VZo4svir0414kitaの中の人 ◆KITAulkOso
04/10/30 00:07:21ID:VCIgMBOL> それはもうなってますよ。ただメールアドレス欄表示になってないとポップアップしませんが。
> 非表示の時はメール欄の表示をどうするかって問題があるからあまり考えたくなかったりして・・・
なるほど。「位置を変えて両方表示する」か「ポップアップするビューにメール欄を埋め込む」かなぁ。
パッチは後で見ますが多分そのまま入れます。
>>412
> さがしても無いようなんですが、アイコン、'icons'ディレクトリ、、、
_| ̄|○ ゴメン…
http://kita.sourceforge.jp/misc/icons-0.172.0.tar.gz
に置きました。
0415login:Penguin
04/10/30 02:44:43ID:JcOrL4Q70416login:Penguin
04/10/30 07:30:48ID:b1pT833eまじで教えて。
0417rpmpointの中身
04/10/30 07:40:37ID:F/kX+yMc0418login:Penguin
04/10/30 16:35:47ID:y1VX6R0Dどうしても使いたかったらSubjectウィンドウのエコマークみたいなボタン押して、
ロードが終ったと思ったらKitaを再起動してみて下さいな! 漏れの0.160.0だけど、
未読欄に数字反映されますよん。ではヽ(´ー`)ノシ
0419login:Penguin
04/10/30 17:18:32ID:vwFD3mSrGentoo(KDE3.2.3)でビルドしたらない。そんなことある?
■ このスレッドは過去ログ倉庫に格納されています