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/
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)でビルドしたらない。そんなことある?
0420login:Penguin
04/10/30 18:56:34ID:b1pT833eサンクス。 でもプロバイダーが規制されてて立てられないよ orz
0421login:Penguin
04/10/30 19:28:35ID:J0Xmmc42Gentoo x86 (stable) の kde-3.3.0 で、さっき入った
kita-0.172.0.ebuild 試してみたけど、ちゃんと
「サブジェクト」あるよ。
0422421
04/10/30 23:08:17ID:A/aU1Ujr.kde/share/apps/kitaにある*.rcファイルを削除してからkitaを起動して下さい。
すると/usr/share/apps/kitaにある*.rcファイルを読むようになるのでサブジェクトメニュー
が出ます。ただし自分でしたショートカットとかの設定は全部リセットされます。
もうちょい詳しく説明すると、/usr/share/apps/kita/*.rcファイルはリソースファイルで
ここにメニューの項目が書いてあるのですが、自分でショートカットキーを設定すると.kde/share/apps/kita
にrcファイルをコピーしてショートカットの設定を書き込んで以降はそっちのコピーの方をkitaが
読み込むため、古いバージョンのrcファイルが残っているとメニューが出ない時があります。というか
ショートカットの設定はメニューの設定と別にするべきで、これはどう考えてもKDE側の設計ミスだよなあw
ところで
いまKitaThreadViewの見直しをしている最中なのですが、 KitaThreadTabWidget::createView()
の中でわざわざKLibFactory経由でKitaThreadViewを作っていますがこれは何か意図があってのことなん
でしょうか。libkitapart.la は staticリンクされてるのであまり意味ない気がするんですが・・・
0423login:Penguin
04/10/30 23:35:19ID:JcOrL4Q7サンクス。rcファイル削除でうまくいきました。
0424login:Penguin
04/10/31 13:40:51ID:YoajkArf0425kitaの中の人 ◆KITAulkOso
04/10/31 13:48:28ID:HCwNoOGbcommitしました。そのまま入れてますが一つ懸念が。
BBSHISTORYは移転先のキャッシュディレクトリにだけ作成されるようですが、
それだと何か問題が出そうな気がします。
具体的なところはまだ分からないですが、
あらかじめ移転先のBBSHISTORYをloadBBSHistory()で読まないと
移動元 -> 移動先の対応が分からないのは良くないと思います。
少なくともコードが分かりづらくなるはず。
あとキャッシュファイルを全てmvしてますが、これは多分問題ないと思います。
本来はdat落ちかどうかで分けるのがベストだと思いますが、多分無理なので…。
>>415-421
分かりにくいのでメニューは後で直します。
ここらへんの用語もなんとかしなきゃ…
>>422
KPartsの使い方のサンプルでそうなってたのを流用しただけなので
少なくとも今は意味ないです。逆にKDEDIRSを設定する必要があるので削除した方がいいですね。
0426421
04/10/31 17:57:08ID:Jv6lOn61ちょっと分かりにくいのですが、「移転先のキャッシュディレクトリにだけ
作成されるのは問題がある」というのは「移転元のキャッシュディレクトリに
もBBSHISTORYも作るべきだ」という解釈でよろしいでしょうか?
まあこの辺は実際にやってみると分かると思うのですが、移転元のディレクトリ
はディレクトリごとmvされて無くなるのでBBSHISTORYをつくる必要はありません。
例えば http://pc5.2ch.net/linux/ から http://pc10.2ch.net/linux/ に移転したとしたら
mv (root)/pc5.2ch.net/linux (root)/pc10.2ch.net/linux
されます。また、dat落ちしてようが何しようがスレッドは内部では新鯖上のdat形式の
URLで管理されます。例えば、前々スレの「おいお前ら! GTK+使ってLinux版かちゅーしゃ
作れや」のURLは http://pc.2ch.net/test/read.cgi/linux/1022744633/ ですが、
内部的には http://pc5.2ch.net/linux/dat/1022744633.dat で管理されます。
まあ、いざとなったらBBSHISTORYを直接手で編集出来ますしw
ただ、●がらみになるとどういう反応になるか分からないというのは確かで
すねえ・・・。上の例だとひょっとして旧鯖の http://pc.2ch.net/linux/dat/1022744633.dat
でないと過去ログが取れなかったりしますか?
あとKPartsの件は削除の方向で良いでしょうか? ついでに削除して置きますが。
0427kitaの中の人 ◆KITAulkOso
04/10/31 20:20:12ID:HCwNoOGb> 「移転元のキャッシュディレクトリにもBBSHISTORYも作るべきだ」という解釈でよろしいでしょうか?
Yes. むしろ「移転先にはいらない」と考えてます。
> まあこの辺は実際にやってみると分かると思うのですが、移転元のディレクトリ
> はディレクトリごとmvされて無くなるのでBBSHISTORYをつくる必要はありません。
確認しました。↓のような流れですよね。
・移転先があった場合はUnix時間を付けたディレクトリ名でmv
・移転元のディレクトリを移転先にmv
・移転先のBBSHISTORYを作成(更新)
> http://pc.2ch.net/test/read.cgi/linux/1022744633/ ですが、
> 内部的には http://pc5.2ch.net/linux/dat/1022744633.dat で管理されます。
少なくともメモリ上に、pc.2ch.net -> pc5.2ch.netの移転情報が必要で、
その移転情報はpc5.2ch.netのBBSHISTORYに格納されてるんですよね?
となると、pc5.2ch.netのBBSHISTORYがロードされるまでは
pc.2ch.net が pc5.2ch.netに移転したというのは分からないわけですよね。
pc5.2ch.netのBBSHISTORYはどのタイミングでロードされるのを想定してます?
0428kitaの中の人 ◆KITAulkOso
04/10/31 20:22:20ID:HCwNoOGb1. (cachedir)/pc.2ch.net/linux/1022744633.dat を検索(存在しない)
2. (cachedir)/pc.2ch.net/linux/BBSHISTORY を検索(pc5.2ch.netに移転した)
3. (cachedir)/pc5.2ch.net/linux/1022744633.dat を検索(見つかった(・∀・))
> ただ、●がらみになるとどういう反応になるか分からないというのは確かで
> すねえ・・・。上の例だとひょっとして旧鯖の http://pc.2ch.net/linux/dat/1022744633.dat
> でないと過去ログが取れなかったりしますか?
それは確認してないですが、最悪でも上と同じような方法でいけると思います。
> あとKPartsの件は削除の方向で良いでしょうか?
はい、お願いします。
0429421
04/10/31 21:51:06ID:k1do/IOwなんか話が噛み合わないと思ったら、起動時にBoardManager::loadBBSHistory()を呼ぶのを忘れてますねw(をい
KitaBoardView::showBoardList()のKita::BoardManager::enrollBoard( boardURL, boardName );
のところでBoardManagerのデータベースに板を登録しているので、その真下に
Kita::BoardManager::loadBBSHistory( boardURL ); の行を追加しておいて下さい。すると起動時に
上の例で言えば pc.5ch.net/linux/BBSHISTORY を読み込んで
http://pc.5ch.net/linux/
http://pc.2ch.net/linux/
http://pc.5ch.net/test/read.cgi/linux/
http://pc.2ch.net/test/read.cgi/linux/
というデータベース用の検索キーが4つ作られます。つづく
0430421
04/10/31 21:53:38ID:k1do/IOwBoardManager::moveBoard( "http://pc.5ch.net","http://pc.10ch.net" ); により
データベースが更新される手順はこんな感じになります。
(1) BoardData::m_keyHostListの元の中身:
http://pc5ch.net
http://pc2ch.net
BoardData::m_hostname は http://pc5ch.net
ちなみにBoardData::m_hostnameから出力(datURL,cgiURL)を作るのがBoardData::setHostName()、
BoardData::m_keyHostListから検索キーを作る関数は BoardData::createKeys()
(2) /* updata BoardData */ 以下の処理で次のように更新される。ちなみに updata は updateのタイポw
BoardData::m_keyHostListが
http://pc10ch.net
http://pc5ch.net
http://pc2ch.net
BoardData::m_hostname が http://pc10ch.net
ちなみにそこでkeyHosts.removeとkeyHosts.prependを繰り返してるのはホストの順番の入れ換えのため。
図で書くと分かりやすいかな・・・。あとは
(3)移転先があった場合はUnix時間を付けたディレクトリ名でmv
(4)移転元のディレクトリを移転先にmv
(5)移転先のBBSHISTORYを作成
なお(2)の時点でデータベースは最新になっているので再度 BoardManager::loadBBSHistory()で
BBSHISTORYをロードする必要はありません。あとKPartsの件は了解っす。
0431421
04/10/31 22:03:37ID:k1do/IOwコードでプログラマ的には面白い部分なんですが、コードの簡略化とプリファレンスの簡素化
のため消しても良いかなと思ってるんですが・・・
あとひとつバグ報告。
スレッドビューの右クリックメニューですが、範囲選択した文字列が長すぎると一瞬だけ
メニューが現れてすぐ消えます。抽出と検索とかのところに選択した文字列が入ってそれが
長すぎるのが原因だと思われ。
0432kitaの中の人 ◆KITAulkOso
04/11/01 00:15:31ID:v2AYH7Ff>>429>>430
板ロード時に読み込むので了解しました。
ただやっぱり「板リスト→板→BBSHISTORY」と依存性が強いのが気になるので
(Thread, Boardあたりでこれやって失敗しました)、
移動元にBBS_MOVEDというファイルを作って中に移転先を書くコードを追加します。
「保険」をかけておく意味なのと、
直接ディレクトリを見たときに何が起こったのか分かるようにするためです。
>>431
> スレッドビューの右クリックメニュー
適当に文字列を切るように直しておきます。
0433421
04/11/01 00:33:15ID:RBSZrFsW寒くなってきましたからねえ。お大事に
> 移動元にBBS_MOVEDというファイルを作って中に移転先を書くコードを追加
その辺は使いやすくなるように適当に改造しておいて下さい。
ところで、いまコードいじっててふと思ったんですが、シグナルとスロットって 1:n
みたいに多数のクラスに同時にアクセスするときはすごい便利なんですが、KitaMainWindowへの
openURLRequest シグナルみたいに n:1 の関係の時は単にシグナルをコネクト
するのが面倒なだけで、static関数の呼出しでも別に良いじゃんって気がしたりして。
という訳で、またまた *Managerみたいなクラスを作って、KitaMainWindowへの
void bookmarked
void openURLRequest
void setMainURLLine
void setMainCaption
void setMainStatusbar
シグナルはstatic関数経由での呼出しに変更することを提案したいのですがどうでしょうか。
0434login:Penguin
04/11/01 12:35:34ID:ydzjVHab勉強になります。
0435421
04/11/01 22:41:48ID:kAj8QJMC移したこと。cvsからの差分で src フォルダで patch -p0 < patch-1101.txt
ttp://www.geocities.co.jp/SiliconValley-Bay/7435/patch-1101.txt
まあ、あまりやるつもりは無かったんですが、試しにやってみたら結構簡単だったのでw
ただし手抜きして、まちBBSと同じようにデータを全部受け取ってから2chのdat形式に変換
するという手法を取っているので更新時の逐次描画はしません。あと書き込みはまだ未対応。
0436421
04/11/01 23:01:50ID:kAj8QJMC/* abone */
while( num > nextNum++ ) ret += "abone<><><>abone<><>\n";
を
/* abone */
while( num > nextNum++ ) ret += "abone<><><>abone<>\n";
に修正しておいて下さい。こうしないと鯖側であぼーんがあったときにスレが壊れます。
0437421
04/11/01 23:35:02ID:kAj8QJMCif ( regexp.search( dateStr ) == -1 ) {
// invalid response
return 0;
} else {
を
if ( regexp.search( dateStr ) == -1 ) {
// invalid response
if( m_bbstype == Board_JBBS ) return 200; /* adhoc... */
return 0;
} else {
にして下さい。これは何をしてるかというと、JBBSの場合、読み込み中にEscを押して止めると
HTTPヘッダが取れなくて必ずレスポンスコード0が返ってスレが表示されないため、ここで200を
返すようにしています。超adhocな解決方法ですがw
0438login:Penguin
04/11/02 12:47:04ID:c5ZziX8KCVSからインストールするって、どうやるんですか?
お手数ですが、手順をおって教えて頂けませんでしょうか?
http://sourceforge.jp/cvs/?group_id=483
みてもよくわからなかったモノですので
0439login:Penguin
04/11/02 13:11:32ID:PcAMLXQC$ cvs -z3 -d:pserver:[email protected]:/cvsroot/kita co kita
$ cd kita
# コンフィグレーションは各ディストロによって違うので注意。
$ ./configure
$ make
# スーパユーザで
$ su
$ make install
0440login:Penguin
04/11/02 15:27:12ID:c5ZziX8KTHX!!
でも、cd kita しても、configureファイルないよ。。。。
0441kitaの中の人 ◆KITAulkOso
04/11/02 15:33:48ID:6xhhhAZaが必要。
0442login:Penguin
04/11/02 16:19:37ID:c5ZziX8Kでも、
make -f Makefile.cvs
This Makefile is only for the CVS repository
This will be deleted before making the distribution
*** YOU'RE USING automake (GNU automake) 1.8.3.
*** KDE requires automake 1.6
make[1]: *** [cvs] エラー 1
make: *** [all] エラー 2
らしいですので、素直に、RPMからいれます。。。。
ありがとうございました。
0443login:Penguin
04/11/02 16:44:35ID:nLVTdeHG> *** KDE requires automake 1.6
なんだからautomake 1.6 入れればいいだけじゃ?
automakeはメジャーバージョン上がると互換性がなくなる
と言う話をどこかで聞いたような気がする
0444login:Penguin
04/11/02 17:28:23ID:c5ZziX8Kうんうん。そのとおりなんだけどさ、
ダウングレードするの恐い & SUSE9.1用のバージョン1.6が落ちてないんだよな。
0445login:Penguin
04/11/02 17:43:07ID:kGeKc1y+0446421
04/11/02 23:31:06ID:W2agiXxzttp://www.geocities.co.jp/SiliconValley-Bay/7435/patch-1102.txt
内容は
・Board クラスの整理。ほぼ BoardManager に統合完了。
Board クラスはobsoleteってことで廃止の方向へ。
・スレ一覧のタブの右クリックメニューにキャッシュに残っているdat落ちしたログを表示するメニューを追加
表示まわりでちょっと変なところもありますが、実用上はまあ問題ないかと。
ただkita自体がスレがdat落ちしたかどうかの情報を保持していないせいで、いちいち鯖にdat落ちしたスレを
取りに行くのはあまり行儀の良い仕様じゃないなあ・・・
0447login:Penguin
04/11/03 00:50:15ID:jaGoBB89スレ内のリンクをクリックしてもブラウザにリンクがうまく渡されていないようで
リンク先をブラウザで開くことができなくなりました。
記憶がはっきりしないのですが、kita-0.171.0-1.i586.rpmからkita-0.172.0-1.i586.rpmへ
変更したときから不具合が発生している様です。
試したブラウザはkonqueror3.1.5?とOpera7.54です。
どちらでもリンク先を開くことができませんでした。
ファイルの関連付けはきちんと行っています。
教えてチャンで申し訳ないのですが、
どんなことをチェックしたら良いでしょうか?
お手上げ状態です。
0448kitaの中の人 ◆KITAulkOso
04/11/03 01:36:47ID:PsiUghji>>433
ちょっとどんな感じになるか分からないので判断しづらいですが、一般的には
「コードが短くなる」「ロジックが分かりやすくなる」「依存性が減る」
の3つのうち2つ以上が満たされるならOKだと思ってください。
ただ、パッチは基本的にそのままcommitします。
で、433の提案ですが、自分は良くないと思います。
クラスが増える(≒コードが増える)のと、依存性が増すはずなので。
# シグナルの改良については別の方法を考えたのでまた後でテストします。
0449421
04/11/03 02:53:28ID:msV6Xat5リンクの上で右クリックしてブラウザで開いたらどうでしょうか。
>>448
例えば KitaHTMLPartクラスに飛ばす SignalCollection::redrawHTMLPart() シグナル
みたいにシグナルを飛ばすインスタンスが沢山存在して、かつそれがいつdeleteされるか分からない
状況のときはシグナルとスロットは有効なのですが、KitaMainWindow とか KitaSubjectDock
みたいにインスタンスがひとつしか無くて、しかも最後までdeleteされないことが分かっている場合
にはいちいちシグナルをコネクトするのが面倒だなあと思ったけど、かと言って直接そのクラスに
staticな関数作るのもなんだなあと思ったので、例えば
static KitaMainWindow* KitaAPI::m_mainWin = NULL;
static KitaSubjectDock* KitaAPI::m_subjectDoc = NULL;
static void KitaAPI::setup( KitaMainWindow* main, KitaSubjectDock subject )
{
m_mainWin = main;
m_subjectDock = subject;
}
static void KitaAPI::openURLRequest( KURL url ){ m_main->openURLRequest( url ); }
static void KitaAPI::switchToSubject(){ m_subjectDock->switchToSubject(); }
みたいにkitaのAPIをひとつにまとめたクラスがあると楽だなと思ったんですが、まあ単にシグナルを
コネクトするのが面倒臭いってだけの話なのでそんなに強くは提案しないです。
0450kitaの中の人 ◆KITAulkOso
04/11/03 23:53:58ID:PsiUghji>>442
automakeって普通複数のバージョンが用意されてると思ってましたが、
SUSEは違うみたいですね。こまったなぁ。
今のところ対応させるつもりはないですが、
sf.jpに自動でCVSからsnapshotを作成するのを考えてます。
>>447
関連づけ以外だとちょっと今思いつかないです。
あと欲しい情報は…どのURLでも起きるかどうかくらいでしょうか。
0451421
04/11/04 00:02:57ID:Rso8CXWxttp://www.geocities.co.jp/SiliconValley-Bay/7435/patch-1103.txt
内容は
・ライブドアしたらばへの書き込み、スレ立て対応
> まだ微妙に頭が痛い
いや、マジお大事に・・・
0452login:Penguin
04/11/04 00:18:01ID:j2O9zaQd逆にsupplementaryのKDE3.3.1 & automake1.9.2に上げるという手もある。
この組合せでためしにやってみたが、問題なくコンパイルまでいけた。
ただし、SUSE使いなら知ってると思うが、supplementaryは保証外のパッケージだが。
まあそんなこといったらKita自体もSUSEでは保証しないわけで。
0453login:Penguin
04/11/04 14:40:34ID:oVttPLSP以前、したらばのやつが動かねえと質問投げたバカです。
>>451
さっそくいただき、cvsなソースにあてました。
Debian sargeですがautomakeが古いもんでエラーになります。
指示に従い、1.6系がいいだろうということで
automake1.6.3をgnu.orgから貰ってきてOKですた。
現在、いつも出かけてるしたらばのスレを全部登録して巡回&カキコ試してまつ。
今は仕事中なんでそれ系のスレしか行けないのですが
夜にはネタスレヲチスレ避難スレの類も登録していろいろ試してみます。
何かあったら報告します!
では!
0454443=691
04/11/04 15:28:08ID:t2D9bZ2L> 逆にsupplementaryのKDE3.3.1 & automake1.9.2に上げるという手もある。
> この組合せでためしにやってみたが、問題なくコンパイルまでいけた。
おかしいな?そんな事ありえないはずだけど
KDEのバージョン上げてもKitaのビルドスクリプトは更新されない
だからMakefile.cvsはautomake 1.6.xとautomake 1.7x以外は弾くはずだけど
ちなみにMakefile.cvsの実際の処理はadmin/cvs.shがしてて
check_autotool_versionと言う関数でバージョンチェックしてる
>>453
> Debian sargeですがautomakeが古いもんでエラーになります。
> 指示に従い、1.6系がいいだろうということで
> automake1.6.3をgnu.orgから貰ってきてOKですた。
$ apt-cache search automake
(略)
automake1.4 - A tool for generating GNU Standards-compliant Makefiles.
automake1.6 - A tool for generating GNU Standards-compliant Makefiles.
automake1.7 - A tool for generating GNU Standards-compliant Makefiles
automake1.8 - A tool for generating GNU Standards-compliant Makefiles
automake1.9 - A tool for generating GNU Standards-compliant Makefiles
(略)
と言うわけでDebianでautomakeのソースを使う必要はないのだが
>>442もこれくさいな
ところでそのDebianでKitaのパッケージをほぼポリシー準拠した形で作ったけど
需要ある?ありそうならこれから上げようと思うけど
0455453
04/11/04 18:01:52ID:oVttPLSP>>と言うわけでDebianでautomakeのソースを使う必要はないのだが
うげ、今見たら確かにそうなってた OTL スマソ。
>>ところでそのDebianでKitaのパッケージをほぼポリシー準拠した形で作ったけど
>>需要ある?ありそうならこれから上げようと思うけど
需要あると思われ。
俺はしたらばパッチとか試したいんですぐには使えないが
パッケージになるなら是非使わせてもらいます。
0456kitaの中の人 ◆KITAulkOso
04/11/05 00:20:41ID:aTMLdh1yをcommitしました。現在のところ大きな問題は、
まちBBSの一部の板(東京など)でsubject.txtが読めない(↓のログが出る)
kio (Filter): WARNING: KFilterDev::open: Couldn't open underlying device
くらい。いつ頃からおかしいかは調べてません。
まちBBS関連は多分自分が見ますがもし心当たりがあったら直してください。
多分今週末にsnapshot出します。
お気に入り整理のUIとBBS_MOVEDあたりはそれまでに何とかしたい。
0457691
04/11/05 00:22:33ID:IEG4uMSbhttp://www.geocities.jp/tossi0x19/soft_arc.html#kita_debianized
KitaのDebianパッケージうpしました
ソースのみですが
0458rpmpointの中の人
04/11/05 00:25:51ID:UO2JcUgGリンクさせてもらっていいでしょうか
0459691
04/11/05 00:36:59ID:IEG4uMSb> kio (Filter): WARNING: KFilterDev::open: Couldn't open underlying device
KDE 3.3.1ではちゃんと読めます
おそらくHTTPが転送時にBzip2圧縮してる(Content-encoding: deflateだったかな?)のを解けないのが原因でしょう
>>458
> リンクさせてもらっていいでしょうか
どぞー
大した物ありませんが
0460421
04/11/05 00:42:41ID:MMRY6Hljでパッチ。cvsとの差分(というか上のパッチとは排他的)
ttp://www.geocities.co.jp/SiliconValley-Bay/7435/patch-1104.tar.gz
内容は
・ListViewItemで色の指定が出来るようにした(設定部は作ってない)
Kita::ListViewItemというクラスを作って、KListViewItem::paintCell()をオーバライドして
そこでテキストや背景色を設定。詳しくはKitaBoardView::showBoardList()あたりを見てください。
するとこんな感じに。テスト用に適当に色を付けたので激しくケバイですがw
ttp://www.geocities.co.jp/SiliconValley-Bay/7435/ss-1104.png
それとlistviewitem.{h,cpp}はとりあえずsrcの下に置いときましたが、適当な場所に移しても
構いません。
0461421
04/11/05 01:14:01ID:MMRY6Hljとりあえず明日出す予定のKitaWriteView用のパッチ(書き込みウィンドウに改行数や
バイト数を表示させて制限を越えている時に書き込もうとするとダイアログを出して注意)
で現バージョンで私が拡張しようと思っていたことはとりあえず全部です。
あとは一番やっかいなKitaThreadViewクラスの整理に移ろうと思っていますが、
その前に上のクラス( KitaTabWidgetBase, KitaThreadTabWidget )の
整理の方を先にする予定です。
それらが終わったらバグ潰しモードに入る予定。
0462452
04/11/05 02:27:06ID:m45V2Ebpうぎゃー
自分で大分前にautoconf1.7.9持ってきてたの忘れてたーー(しかもそっちにパス通ってる)
ということで>>442=444さん、ウソ言って申し訳なかったです。。。
それでは吊ってきますノシ
0463462
04/11/05 02:29:04ID:m45V2Ebp嗚呼、人間やめたくなってきた。。。
0464login:Penguin
04/11/05 02:52:43ID:MByfnExC0465login:Penguin
04/11/05 13:16:57ID:HPcjPRXQDebian sarge。checkinstallで煎れてる。
$HOME/.kde/share/apps/kitaを全部消しても効果なし。
$ kita >& logfile で起動すると以下のようになる。
kita: WARNING: KXMLGUIClient::setXMLFile: cannot find .rc file kitanaviui.rc
enroll 臨時地震 http://live18.2ch.net/eq/
:
:
enroll 撫子 http://jbbs.livedoor.jp/movie/1411/
enroll 臨時地震 http://live18.2ch.net/eq/
KCrash: Application 'kita' crashing...
「撫子」と書いてあるのがextbrd.confに書いてる奴なのでそこまでが起動時の板一覧取得だと思う。
板一覧の更新を選んで再び「臨時地震〜」が出た後に落ちるっぽい。
何か試すべき事はあるかな?
0466kitaの中の人 ◆KITAulkOso
04/11/05 22:00:21ID:aTMLdh1y再現してバックトレースも取れました。
http://kita.sourceforge.jp/misc/bt-20041106.txt
421さんお願いします。
0467421
04/11/05 22:17:11ID:ka67t3/l>>465を直すついでに、予定を変更して板まわりのバグとかの修正パッチ。
>>460からの差分で kitaディレクトリで patch -p0
ttp://www.geocities.co.jp/SiliconValley-Bay/7435/patch-1105.txt
内容は
・.kde/share/apps/kita/board_list が無い状態の時に板リストが取得できないバグ修正
Boardクラスを廃止する過程で混入したバグ。KitaBoardView::downloadBoardList()や
KitaBoardView::getCategoryList()を若干修正して対応。簡易化して Category クラス
は廃止したので、libkita/category.{cpp,h} は削除して下さい。
なお近い将来、上のKitaBoardView::downloadBoardList()やKitaBoardView::getCategoryList()
は BoardManagerの方に移す予定。
・ついでに板移転処理の半自動化
BoardManager::enrollBoard()あたりをいじって半自動更新。
自動検知は出来ませんが、手動で板一覧の読み込みで更新したときに移転した板があるときは移転処理します。
キャッシュとかboard_listをいじった模擬テストでは問題無かったですが、実際の移転はまだ未テスト。
それと直すの忘れないようにメモ: 初めて開く板は2回クリックしないと開かない( ディレクトリ無いから )
0468421
04/11/05 22:26:02ID:ka67t3/lm_previousBoardData = NULL; するの忘れていたためデータベースの検索
関数のBoardManager::getBoardData()でセグフォを起こしたため。
ちなみにそこの if( m_previousBoardData != NULL ) 以下の数行は何をしてるかというと、
BoardManager::getBoardData()は同じURLで繰り返して呼び出される事が多いので、前回の
呼出で使った BoardData のアドレスを保存してサーチを高速化してます。まあキャッシュみたいな感じ。
0469kitaの中の人 ◆KITAulkOso
04/11/06 00:47:59ID:HTXC8lB1>>457
後でリンクさせてもらいます。
>>460>>467
マージしました。色設定はそのうちプリファレンスに入れます。
crashするバグも治ってるのを確認しました。
板移転もパネルが出ることだけは確認。見ていない板なのでディレクトリ構造は見てません。
> それと直すの忘れないようにメモ: 初めて開く板は2回クリックしないと開かない( ディレクトリ無いから )
>>456のsubject.txtが読めないのもこれが原因みたいですね。
手動でmkdirするとアクセスしにいくようになりました。
0470421
04/11/06 01:57:08ID:kN8KRB7/ちなみに色の設定は文字、奇数行、偶数行、背景色の4つ必要です。それと
KitaSubjectView の KListViewItem も Kita::ListViewItem にする必要があり
ますが、KitaSubjectViewいじる予定が無いなら明日あたりでも私がやっときます。
> 手動でmkdirするとアクセスしにいくようになりました。
最初にクリックした瞬間にmkdirするようにすれば良いのかな。まあこれも
私がやっときます。kita_miscに再帰的にmkdirする関数を作る予定。
0471login:Penguin
04/11/06 19:43:31ID:kkevDZC2次々すみませんが、今度は先程いただいたCVSでスレ一覧が出なくなった板があります。
※萌えバナ( ttp://jbbs.livedoor.jp/movie/1259/ )
※萌えバナ退避( ttp://jbbs.livedoor.jp/game/1966/ )
(以前は読み書きのできた板です。既にお気に入りに登録してあるスレ自体は読み書きできるっぽい)
コンソールでkitaを動かすと以下のメッセージが出力されます。
kita: Requested OpenURL: "http://jbbs.livedoor.jp/movie/1259/"
kita: content type: ""
kita: service type: ""
kita: NewTab: no, reload: no
kio (Filter): WARNING: KFilterDev::open: Couldn't open underlying device
同じしたらばでも、以下は問題ないようです。
※TYPEMOON ( ttp://jbbs.livedoor.jp/otaku/995/ )
※葉鍵月猫揚板 ( ttp://jbbs.livedoor.jp/game/3290/ )
~/.kde/share/apps/kitaを削除してextbrd.confのみコピーしてもダメ、
UTF-8で書いてた板名称をUS-ASCIIで統一してもダメでした。
う〜む何が違うんだろ。メッセージ出てても意味がわからんから報告しかできねえ…。
ってろくでもねえ板ばっかだな俺 OTL
アレな人柱ですみません。
0472471
04/11/06 19:48:03ID:kkevDZC2>>既にお気に入りに登録してあるスレ自体は読み書きできるっぽい
これ確認できてませんので不明です。もちつけ俺 OTL
失礼しました。
0473421
04/11/06 20:52:11ID:UJ5EKkD7>>471
それは単に>>470の
> 最初にクリックした瞬間にmkdirするようにすれば良いのかな。まあこれも
> 私がやっときます。kita_miscに再帰的にmkdirする関数を作る予定。
あたりの問題なので3時間後くらいにはたぶん直ってます。
0475421
04/11/06 22:41:18ID:UJ5EKkD7ttp://www.geocities.co.jp/SiliconValley-Bay/7435/patch-1106.txt
あと>>470の
> KitaSubjectView の KListViewItem も Kita::ListViewItem にする必要があり
もやっておこうと思ったのですが、クラスの継承が
ThreadListViewBase -> ThreadListView -> FavoriteListView, KitaSubjectView
と複雑になっていて、KitaSubjectView::loadBoard()とFavoriteListView::update()で
同じコードを2回書くのが面倒くさかったので今日はパス。ThreadListViewとFavoriteListViewを廃止して
ThreadListViewBase -> KitaSubjectView
として KitaSubjectView の内部パラメータで通常のサブジェクトビューかお気に入りビューかを分けた方が
すっきりして良い気が。まあたしかに上の方がオブジェクト指向っぽいですが。
0476421
04/11/06 23:33:20ID:UJ5EKkD7> 手動で板一覧の読み込みで更新したときに移転した板があるときは移転処理します。
の処理をいきなりやるとバックアップとることも出来ないので、移転した板の一覧を
メッセージボックスに表示して移転作業するかどうか問い合わせるパッチ。
KitaBoardView::downloadBoardList()あたりをいじりました。
ttp://www.geocities.co.jp/SiliconValley-Bay/7435/patch-1106-2.txt
0477421
04/11/06 23:48:05ID:UJ5EKkD7Kita::BoardManager::loadBBSHistory( boardURL ); を呼ぶのが抜けてますね。
いつの間にか間違って消しちゃったかな・・・
という訳で上のパッチを差し替えたので、もしダウンロード済みならもう一回落としてください。
で、特にバグが無ければ>>461の予定に入ります。
0478kitaの中の人 ◆KITAulkOso
04/11/07 00:01:29ID:gH9DHxFBこの時間であってます?
diff -rc src-org/kitaboardview.cpp src/kitaboardview.cpp
*** src-org/kitaboardview.cpp2004-11-06 23:27:33.739381456 +0900
--- src/kitaboardview.cpp2004-11-06 23:27:01.363303368 +0900
0479login:Penguin
04/11/07 00:05:26ID:DaLSh21Jいや、遅かったですorz
-Rして下さい。
*** src-org/kitaboardview.cpp 2004-11-06 23:27:33.739381456 +0900
--- src/kitaboardview.cpp 2004-11-06 23:43:15.213255672 +0900
0480kitaの中の人 ◆KITAulkOso
04/11/07 00:07:42ID:gH9DHxFBは>>478のままのような…
0481421
04/11/07 00:14:14ID:DaLSh21Jという訳で名前を変えました。
ttp://www.geocities.co.jp/SiliconValley-Bay/7435/patch-1106-3.txt
まあ違いは
***************
*** 232,237 ****
--- 264,270 ----
msg += oldURL +"\n->\n" + boardURL;
QMessageBox::warning( this, "Kita", msg );
}
+ Kita::BoardManager::loadBBSHistory( boardURL );
previousBoard = new Kita::ListViewItem( categoryItem, previousBoard, boardName, boardURL );
previousBoard->setColor( m_textColor, m_baseColor );
}
だけなんですが。
0482421
04/11/07 23:26:47ID:uKF3KYvsttp://www.geocities.co.jp/SiliconValley-Bay/7435/patch-1107.txt
BoardManager::enrollBoard()の仕様を変えて戻り値をint型にして、板一覧を更新したとき
に新しい板があるときは表示するように。あと昨日のパッチでthread.cppのパッチを入れ忘れたので
それも追加。
ところでcvsで>>451のパッチが当たってないみたいです。
0483421
04/11/08 00:45:46ID:EZ4Er9zTたいへんなことになります。という訳で下みたいにして、16個以上新板がある時は表示しないように変更。
*** src-org/kitaboardview.cpp 2004-11-08 00:40:20.312348832 +0900
--- src/kitaboardview.cpp 2004-11-08 00:37:22.798335064 +0900
***************
*** 168,174 ****
}
}
! if( newBoards != QString::null ){
QString msg = i18n( "New boards:\n\n" ) + newBoards;
QMessageBox::information( this, "Kita", msg );
--- 168,174 ----
}
}
! if( newBoards != QString::null && newBoards.contains( "\n" ) < 16 ){
QString msg = i18n( "New boards:\n\n" ) + newBoards;
QMessageBox::information( this, "Kita", msg );
0484login:Penguin
04/11/08 09:04:35ID:KyO0k+LAI tried to build kita-0.172.0 form src.rpm on SUSE9.2 in an Athlon64 PC. But, the build was failed wiht the error messages:
....
checking for Qt... configure: error: Qt (>= Qt 3.1.0) (library qt-mt) not found. Please check your installation!
For more details about this problem, look at the end of config.log.
Make sure that you have compiled Qt with thread support!
error: Bad exit status from /var/tmp/rpm-tmp.50175 (%build)
RPM build errors:
user ikemo does not exist - using root
group ikemo does not exist - using root
user ikemo does not exist - using root
group ikemo does not exist - using root
Bad exit status from /var/tmp/rpm-tmp.50175 (%build)
Ofcourse, I specified build prefix option at commondline as following:
# rpmbuild --define='_prefix /opt/kde3' --rebuild kita-0.172.0-1.src.rpm
SUSE9.2 is base on KDE 3.3.0, Qt 3.3.3, kernel 2.6.8, and so-on. I made it sure that what packages is installed coresponding with qt:
# rpm -qa|grep qt
qt3-devel-3.3.3-24\ qt3-3.3.3-24\ yast2-qt-2.10.12-2\ qt3-devel-tools-3.3.3-24\
qt3-non-mt-3.3.3-24\ freqtweak-0.6.1-3\ qt3-devel-doc-3.3.3-24\ uim-qt-0.1.9-3\
gtk-qt-engine-0.5-9\ php4-qtdom-4.3.8-8\ qt3-man-3.3.3-24\ qt3-mysql-3.3.3-24\
scim-qtimm-0.7.5-5\ gtk-qt-engine-32bit-9.2-200410061204\ qt3-devel-32bit-9.2-200410061204\
qt3-examples-3.3.3-24\ qt3-32bit-9.2-200410061204\
As indicated above, qt-mt has not been installed. But, I can't find a package of qt-mt in install mdedia of SUSE9.2 to try to install that.
Could you gyus advice to me ?
Regards
0485login:Penguin
04/11/08 09:20:16ID:iquDcSWq>>183-190?
0486484
04/11/08 09:29:20ID:KyO0k+LABut....
# rpm -qa|grep kdelibs
kdelibs3-doc-3.3.0-34
kdelibs3-32bit-9.2-200410061204
kdelibs3-3.3.0-34
kdelibs3-devel-3.3.0-34
kdelibs3-devel-doc-3.3.0-34
The reason of the fail is not due to missing kdelibs3-devel, maybe.
Hummm...
0487login:Penguin
04/11/08 11:35:34ID:iquDcSWq$QTDIR/lib/libqt-mt.so は有るんだよね?
もし有るなら依存チェックに問題がある(パッケージ名の違い?)だけだろうし、
SPECファイルのRequires:行を消してしまえばいいんでない?
超強引だけどね・・・
0488login:Penguin
04/11/08 13:34:18ID:+MBNdg9b>I tried to build kita-0.172.0 form src.rpm on SUSE9.2 in an Athlon64 PC. But, the build was failed wiht the error
見た限り64な環境だからlib64/を見えるようにするだけで解決しそう。
>>484
./configure --prefix=/opt/kde3 --enable-libsuffix=64 --with-qt-libraries=/usr/lib64/qt-3.3/lib
0490login:Penguin
04/11/08 16:45:21ID:+MBNdg9b>>>169で書いたけどディストリ違うからねぇ。
>>149でSuSE9.1x86_64では使えてる。異なる部分は--prefixぐらい。SuSE9.2でもいけると思われ。
0491447
04/11/08 21:09:05ID:elFuysKi「ファイルの関連付けはきちんと行っています。」などと書いたにも関わらず、
実はきちんと設定できていないことがやっとわかりました。
以前は確かにリンクがブラウザで開けていたのですが、
何かの拍子で設定が変わったようです。
レスをくれた方々には大変申し訳ありませんでした。
0492421
04/11/08 22:34:35ID:mYBG93oZttp://www.geocities.co.jp/SiliconValley-Bay/7435/patch-1108.txt
・KitaThreadPartクラス廃止
KitaThreadTabWidget::createView()のとこ。part/kitathreadpart.{cpp,h}は削除してください。
・書き込みウィンドウで行数、バイト数を表示
KitaWriteView::slotBodyTextChanged()のとこ。とりあえず板名のとこに表示してるので
表示形式とか位置は適当に変更して下さい。
・メニューのサブジェクトの項目とスレ一覧のタブの右クリックメニューに板看板画像表示メニュー追加
Show Title Image ってやつ。画像ビュアーに表示します。
とりあえず現バージョンで付けようと思った機能はこれで全部かな。で、あとは>>461の話をやろうと
思ったのですが、その前に>>343あたりで検討したParseMiscのkita_miscへの統合とBoardクラスの
完全廃止の作業を先にやります。
-------------------------
(2) ソースを見直したら次のコードは使用されてないので削除した方が良いです。
libkita/k2ch_articlefile.{h,cpp}
part/kitanavi.{h,cpp}
part/kitanaviui.rc
part/kitathreadviewui.rc
0493kitaの中の人 ◆KITAulkOso
04/11/09 01:32:10ID:1IX0qKqXmerged.
tukareta...
0494login:Penguin
04/11/09 01:46:35ID:OWpBKQff∧_∧
( ´・ω・) 乙彼です。
( つ旦O
と_)_) 旦旦旦旦旦旦旦旦旦旦旦旦旦旦旦旦旦旦旦旦
0495484
04/11/09 04:31:47ID:07gB+Rr5Athlon64、SUSE9.2 という自分にとって初物どうしの組み合わせが災いし、
その後、kita 以外の部分でも引っかかりまくって挫折して、今放置プレイ中です。
Prescott イジリにあきたら、またやってみようと思います。
0497login:Penguin
04/11/09 21:26:20ID:+qYL4RZo書き込みで「はぁと」を入れると以下の書き込みが途切れる気がします。
えっと、 ♥
入ったかな?
0498497
04/11/09 21:28:11ID:+qYL4RZoしたらばで長文レスしてたら「&hearts;」のセミコロンのとこで切れてしまったので
あれっと思ったのですが。
失礼しました。
0499login:Penguin
04/11/09 22:17:49ID:bCZPt9sr0500421
04/11/09 23:05:48ID:vN6zY7BWやれるうちにやれるるとこまでやっておこうと思ってるからだったりします・・・
という訳でパッチ。cvsからの差分でsrcフォルダで -p0。サイズはでかいですが、
ほとんどがParseMisc::->Kita::への変換だけです。
http://www.geocities.co.jp/SiliconValley-Bay/7435/patch-1109.txt
(1)ParseMiscのkita_miscへの統合
移しただけ。ただしparseURL()をgetDatURL()に、datToThread()をgetThreadURL()
みたいに一部の関数名を変更してます。 parsemisc.cppは消してください。
(2)連鎖あぼーんや参照ツリーの表示がうまくいかないときがあるバグを修正
例えば
>>123
2ch
みたいなアンカーの場合にうまくいきません。レス内に張られてるアンカーのリストを
作成する関数 DatInfo::setAncList()の/* remove HTML tags */の下に
line.replace( "<br>", "\n" );の一行を追加して解決。つまりbrタグを消してたせいで
上の例だと>>1232chみたいに文字列がくっついて、123番じゃなくて1232番にアンカーを
張っていると誤判定してた訳で。
(3)その他、DatInfo 等の整理
具体的にはDatInfo::updateThreadInfo()を消して、ThreadIndex経由で情報を保存する場所を
DatInfo::slotFinishLoad()の/* save thread information */ 以下一ヶ所にまとめました。
その他、読み込み数も記録するためThreadIndex::setReadNum()という関数を追加したり
DatInfoList DatManager::m_datInfoをDatInfoList DatManager::m_datInfoListにしたり等。
0501kitaの中の人 ◆KITAulkOso
04/11/09 23:38:07ID:1IX0qKqXせっかく作ったのでsnapshot.
http://kita.sourceforge.jp/snapshot/kita-20041109.tar.gz
>>500はそのまま当たるのだけ確認してます。
今のところまずいバグは見つかってないですが一応バックアップをおすすめ。
0502421
04/11/09 23:51:03ID:vN6zY7BW乙です。中の人も書いてますが、板の移転処理のとこで下手するとログが
消えるのでsnapshotを使うときはキャッシュのバックアップをおすすめ。
もちろん人柱は大歓迎w
0504421
04/11/10 00:22:46ID:Wm6USiH2ひょっとしてlibkita/parsemisc.hも消してませんか。
parsemisc.hは上のクラスとの橋渡しのために暫定的に残しています。
0505kitaの中の人 ◆KITAulkOso
04/11/10 01:06:47ID:Xt4sLoMr11/20 feature freeze
11/27 code freeze.
11/29 release.
お気に入り整理はほとんどコード書いてないので次のバージョンに入るかどうか微妙。
>>504
> ひょっとしてlibkita/parsemisc.hも消してませんか。
失礼しますたorz
0506421
04/11/10 01:25:46ID:Wm6USiH2>>505
私の予定ですが、さっきも書きましたが来週から忙しくなるのと、金曜からしばらく不在に
なるってことで週末以降はパッチの数がガクっと減ると思います。
という訳で、parsemisc.hとboard.{cpp,h}の削除を明日か明後日あたりに強行するかも。
あとさっき書き忘れましたがpart/kitathreadpart.{cpp,h}は消してOKです。
0507login:Penguin
04/11/10 05:12:57ID:doFU/neL0508rpmpointの中身
04/11/10 08:03:11ID:gUQXX0Sw0509691
04/11/10 21:55:19ID:VTVL5cC4>>500のパッチと>>506での削除も含んでます
http://www.geocities.jp/tossi0x19/soft_arc.html#kita_debianized
>>500
parsemisc.cppはただ消してもダメで
Makefile.amからも消しとかないとコンパイルに失敗します
>>506のpart/kitathreadpart.{cpp,h}も同様なので>>500を使う時は気を付けて
>>中の人
ソースアーカイブにadmin/CVSが紛れ込んでます
できれば削除お願いします
0510login:Penguin
04/11/10 21:57:58ID:ZcvfsTx1ぬぬぬ
2,3日忙しいので、暇ができたらやってみます。
0511421
04/11/10 22:23:30ID:Wn46hKqdttp://www.geocities.co.jp/SiliconValley-Bay/7435/patch-1110.txt
・Board クラス廃止
board.cpp, board.h は消してください。
・.kde/share/apps/kita/cache 廃止
スレの情報管理を完全にidxファイルに移しました。その影響で既読数の情報が
一時的に壊れますが、ログ自体が消える訳ではないので実害は無いと思います。
これでKitaThreadInfoクラスはいつでもThreadに統合して廃止できるようになったはず。
具体的には KitaMainWindow::loadCache() と KitaMainWindow::saveCache()
を消して、BoardManager::getThreadList()である板のスレリストを取得する際に、
新設のBoardManager::getThreadInfoFromIdx()を呼び出してその中でidxファイルから
既読数を読みこんでスレ情報のデータベース( Threadクラス )にセットます。ただし毎回
idxファイルを読んでるとオーバーヘッドが大きいのでその板を初めて開いたときだけidxを
読むようにしてます( BoardData::m_readIdx がFALSEの時だけidxを読み込む )。
同様にお気に入りスレの登録関数( FavoriteThreads::processThreadNode() )でも
idxから情報を取得するように変更しています。まとめると
(1) idxにスレ情報を保存する場所(タイミング)
→ DatInfo::slotFinishLoad() で鯖からログを取得直後
ここまで読んだはDatManager::setKokoyonNum()で直接
(2) idxからスレ情報を取得する場所(タイミング)
→BoardManager::getThreadList()である板のスレリストを取得するとき(初回のみ)
BoardManager::getCachedThreadList()でdat落ちログのリストを取得するとき
及びFavoriteThreads::readFromXML()でお気に入りスレを登録するとき
0512login:Penguin
04/11/11 00:35:35ID:NNQ3GHT3( ´・ω・`) ショボーン
0513AA test
04/11/11 09:37:52ID:tEXjfMhn( ・) < ひとつ言わせてくれ。
( ○ ) └─────────
| | |
(___(__)
从从从从从从从从从从从从
∧_∧ )
( ・∀・)彡 く ( ・∀・)< kitaっていいな。最新のスナップショットでは、ところどころ英語なところがあるが。
( 9 )
| | | WWWWWWWWWWWW
(___)._)
■ このスレッドは過去ログ倉庫に格納されています