Hello world !

2003 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2004 | 01 | 02 | 03 | 04 | 05 | 07 | 08 | 09 | 12 |
2005 | 02 | 05 |
2006 | 09 |
2007 | 05 | 08 |
2008 | 05 | 10 |
2009 | 07 |

2004-04-26 KDE/DCOP

[] Desktop COmmunication Protocol

コンソール上で使えるコマンド適当にchoice。

dcop の object の部分は、アプリケーション名-プロセスID

KMAIL=`dcopstart kmail`の様にして値を得る。

もしくは、kdcopやdcopコマンドで確認。

(dcopの引数を省略するとリストを表示する。)

 # メール送信
 dcop kmail KMailIface openComposer "宛先" "" "" "題名" "本文" 1
 dcop kmail "kmail-composer#1" activateAction send_default

 # メールチェック
 dcop kmail KMailIface checkMail

 # セッションを保存
 dcop ksmserver ksmserver saveCurrentSession

KOrganizerのJurnal と Hatena diary の同期を取る。

まずは、KOrganizerを起動し、オブジェクト名前を調べる。

kdcopで korganizerのツリーを調べる。

 # Journal のパネルを表示
 dcop korganizer "KOrganizer MainWindow" activateAction view_journal

 # 今日の日付へ
 dcop korganizer "KOrganizer MainWindow" activateAction go_today

 # action一覧(共通)
 dcop korganizer "KOrganizer MainWindow" actions

と、GUIを操作する関数は見つかったが、

テキストコントロール内の情報を得るには到らず。

他に利用できそうなactionは、

file_save ... セーブしてファイルからデータを読む、、、だと DCOP関係ないし。

~/.kde/share/apps/korganizer/std.ics から読み込む方が簡単そう。

edit_copy ... でクリップボード経由でテキストを得られるかな。など考えたけど(選択方法が分からなかったので諦めた。select_allみたいなのがあればなぁ...)

情報を得るにはプロパティの方かなと思い、

property, propertyNames を探ってみるが、こちらはスタイル関連のプロパティばかりだった。

関数の型をみても他に文字列の情報を返しそうな関数はなかったので、DCOP関連のドキュメントを当たる事にした。

http://developer.kde.org/documentation/tutorials/dot/dcopiface/dcop-interface.html

なければ QCString getJournalText(int year, int month, int day) みたいなのを追加しよう。

を読み、該当するコントロールを探す方法を探ってみる。

 # オブジェクト一覧表示
 dcop korganizer qt objects | grep -i journal
 dcop korganizer "qt/KXMLGUIClient-KActionCollection/view_journal" property text

と打つと、"ジャーナル(&J)"と言う文字列が得られた。

これは、ツールバーのボタンのラベルらしい。

この調子で、ジャーナルのテキスト・コントロールのプロパティを参照すれば目的の情報を得られるかなと思ったけど、

まだ日付をどうやって指定すればいいのか問題が残っている。



散文になってしまったけどそのままPOST。(汗

TODO

  • Kommander Editor ...
  • QSA - Qt Script for Application ... コンパイル失敗した

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/teamikl/20040426