我正在用qml写一个kde等离子体。它是一个小部件,使用操作员提供的api显示我们国家的一个大型移动priveder的移动使用情况。为了获得数据,必须使用电话号码+密码进行请求,并且我想使用kwallet将“帐户”存储在此小部件的某个kwallet文件夹中。 问题是,如果可能的话,如何在基于qml / javascript的小部件中使用kwallet?我在网上找不到任何信息。我用kwallet发现了这个等离子体:http://kde-look.org/content/show.php/gmail-plasmoid?content=101229 但是这个是用python编写的,并且正在导入一些python kde库,所以我不能真正使用它。任何建议甚至链接到一些有用的api都会很棒。
答案 0 :(得分:0)
可以在命令行上使用qdbus访问Kwallet。显然有一种方法可以使用扩展名LaunchApp
在Javascript plasmoids中进行命令行调用,如下所示:
Button {
onButtonClick: plasmoid.runCommand("qdbus",
["<add-missing-parameters-here>"]);
}
要使扩展程序正常工作,您需要将此行添加到桌面文件中:
X-Plasma-RequiredExtensions=LaunchApp
确切的命令行调用是这样的:
拨打电话打开钱包
qdbus org.kde.kwalletd /modules/kwalletd org.kde.KWallet.open <wallet name> 0 "<your application name>"
使用返回的ID访问密码
qdbus org.kde.kwalletd /modules/kwalletd readPasswordList <wallet-id> kmail "<entry name>" "<your application name>"
我还没有尝试过任何一种,但理论上它可以起作用。
链接: