Skip to content
Snippets Groups Projects
Commit 72646960 authored by Aline Gondim Santos's avatar Aline Gondim Santos Committed by Aline Gondim Santos
Browse files

plugin: fix load/unload

Change-Id: If527d5c8ca3947943ac17ef627cb5bf73a4530bd
parent be70e36b
No related branches found
No related tags found
No related merge requests found
......@@ -43,12 +43,14 @@ Rectangle {
visible: false
function resetPluginSlot(){
signal uninstalled
function resetPluginSlot() {
resetPluginMessageBox.open()
}
function resetPlugin(){
if (isLoaded){
function resetPlugin() {
if (isLoaded) {
PluginModel.unloadPlugin(pluginId)
PluginModel.resetPluginPreferencesValues(pluginId)
PluginModel.loadPlugin(pluginId)
......@@ -58,27 +60,26 @@ Rectangle {
pluginPreferenceView.model = PluginAdapter.getPluginPreferencesModel(pluginId)
}
function uninstallPluginSlot(){
function uninstallPluginSlot() {
uninstallPluginMessageBox.open()
}
function uninstallPlugin(){
function uninstallPlugin() {
PluginModel.uninstallPlugin(pluginId)
uninstalled()
}
function setPreference(pluginId, preferenceKey, preferenceNewValue)
{
if (isLoaded){
if (isLoaded) {
PluginModel.unloadPlugin(pluginId)
PluginModel.setPluginPreference(pluginId, preferenceKey, preferenceNewValue)
PluginModel.loadPlugin(pluginId)
}
else {
} else
PluginModel.setPluginPreference(pluginId, preferenceKey, preferenceNewValue)
}
}
MessageDialog{
MessageDialog {
id: uninstallPluginMessageBox
title:qsTr("Uninstall plugin")
......@@ -92,7 +93,7 @@ Rectangle {
}
}
MessageDialog{
MessageDialog {
id: resetPluginMessageBox
title:qsTr("Reset preferences")
......
......@@ -24,6 +24,7 @@ import QtQuick.Layouts 1.3
import Qt.labs.platform 1.1
import QtGraphicalEffects 1.14
import net.jami.Models 1.0
import net.jami.Adapters 1.0
import "../../commoncomponents"
Rectangle {
......@@ -31,29 +32,37 @@ Rectangle {
property PluginListPreferencesView pluginListPreferencesView
Connections {
target: pluginListPreferencesView
function onUninstalled() {
pluginListView.model = PluginAdapter.getPluginSelectableModel()
}
}
visible: false
function openPluginFileSlot(){
function openPluginFileSlot() {
pluginPathDialog.open()
}
function loadPluginSlot(pluginId, isLoaded){
function loadPluginSlot(pluginId, isLoaded) {
var loaded = false
if (isLoaded)
PluginModel.unloadPlugin(pluginId)
else
loaded = PluginModel.loadPlugin(pluginId)
if(pluginListPreferencesView.pluginId === pluginId)
if (pluginListPreferencesView.pluginId === pluginId)
pluginListPreferencesView.isLoaded = loaded
}
function openPreferencesPluginSlot(pluginName, pluginIcon, pluginId, isLoaded){
function openPreferencesPluginSlot(pluginName, pluginIcon, pluginId, isLoaded) {
if (pluginListPreferencesView.pluginId == pluginId || pluginListPreferencesView.pluginId == "")
pluginListPreferencesView.visible = !pluginListPreferencesView.visible
if(!pluginListPreferencesView.visible){
if (!pluginListPreferencesView.visible) {
pluginListPreferencesView.pluginId = ""
} else{
} else {
pluginListPreferencesView.pluginName = pluginName
pluginListPreferencesView.pluginIcon = pluginIcon
pluginListPreferencesView.pluginId = pluginId
......@@ -61,7 +70,7 @@ Rectangle {
}
}
function hidePreferences(){
function hidePreferences() {
pluginListPreferencesView.pluginId = ""
pluginListPreferencesView.visible = false
}
......@@ -79,6 +88,7 @@ Rectangle {
onAccepted: {
var url = UtilsAdapter.getAbsPath(file.toString())
PluginModel.installPlugin(url, true)
pluginListView.model = PluginAdapter.getPluginSelectableModel()
}
}
......@@ -117,9 +127,7 @@ Rectangle {
text: qsTr("Install Plugin")
onClicked: {
openPluginFileSlot()
}
onClicked: openPluginFileSlot()
}
ListView {
......@@ -131,28 +139,25 @@ Rectangle {
model: PluginAdapter.getPluginSelectableModel()
delegate: PluginItemDelegate{
delegate: PluginItemDelegate {
id: pluginItemDelegate
width: pluginListView.width
height: 50
pluginName : PluginName
pluginName: PluginName
pluginId: PluginId
pluginIcon: PluginIcon
isLoaded: IsLoaded
onClicked: {
pluginListView.currentIndex = index
}
onClicked: pluginListView.currentIndex = index
onBtnLoadPluginToggled:{
onBtnLoadPluginToggled: {
loadPluginSlot(pluginId, isLoaded)
pluginListView.model = PluginAdapter.getPluginSelectableModel()
}
onBtnPreferencesPluginClicked:{
openPreferencesPluginSlot(pluginName, pluginIcon, pluginId, isLoaded)
}
onBtnPreferencesPluginClicked: openPreferencesPluginSlot(pluginName, pluginIcon, pluginId, isLoaded)
}
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment