QML勉強中(Plasmoidの設定)
引き続き、QMLの勉強中。
RSS等のニュース用Feedリーダーを作ろうとしているが、Feedアドレスの設定とかをPlasmoidの設定ボタンから行いたいが、今回はそれ。
Plasmoidの設定ボタンからのアクションを作るには、QTのリファレンス見ても書いて無いようで、KDEのリファレンス見ないとダメぽい。
KDEのリファレンスは発見するのも難しい状況なんだが、とりあえず動いた。
今までは、
の2ファイルだけ作ってたが、新たに、
contents/config/config.qml
が必要。
config.qml
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タグが使えるとか見た気がするが・・・
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{
name: "General"
icon: "plasma"
source: "main.qml"
}
}
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タグが使えるとか見た気がするが・・・