ジャンル不定の日記です。

QML勉強中(Plasmoidの設定)

引き続き、QMLの勉強中。
RSS等のニュース用Feedリーダーを作ろうとしているが、Feedアドレスの設定とかをPlasmoidの設定ボタンから行いたいが、今回はそれ。


Plasmoidの設定ボタンからのアクションを作るには、QTのリファレンス見ても書いて無いようで、KDEのリファレンス見ないとダメぽい。
KDEのリファレンスは発見するのも難しい状況なんだが、とりあえず動いた。


今までは、

metadata.desktop

contents/ui/main.qml
の2ファイルだけ作ってたが、新たに、
contents/config/config.qml
が必要。


config.qml
import org.kde.plasma.configuration 2.0

ConfigModel{
    ConfigCategory{
        name: "General"
        icon: "plasma"
        source: "main.qml"
    }
}
config.qml では、org.kde.plasma.configuration をimportして、
ConfigModelとConfigCategoryを定義すればいいぽい。

この config.qml を用意しておくと、Plasmoidの設定ボタンで設定画面が出てくるようになり、
[General]カテゴリに ui/main.qml で作ったUIが表示される。

今回はPlasmoidの設定ボタンのテスト目的なんで、設定用のUIは作らずに作成済みの main.qml を利用した。
実際には設定用の.qmlを用意して、JavaScriptのlocalStorageを利用して設定の保存と読み込みを行えば良いのかな?

あと、qmlsceneコマンドで.qmlを実行してもウインドウ表示されるだけでPlasmoidの設定ボタンは出てこないから、plasmapkg2コマンドでインストールする必要があるが、
plasmapkg2でインストールしちゃうとKDE再起動しないと再インストールが反映しなくなっちゃう。
config.qml のテストはqmlsceneでテストしておいて、全部完成してからplasmapkg2でインストールって感じにしないとダメだな。
最終的に一発勝負wこの仕様どうにかならんの?w


ここまでで得た知識で、目的の実現ができそうだな。
URLにジャンプするリンクの表示がまだか。TextにHTMLタグが使えるとか見た気がするが・・・