// This file is part of Friendiqa // https://git.friendi.ca/lubuwest/Friendiqa // Copyright (C) 2020 Marco R. <thomasschmidt45@gmx.net> // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // In addition, as a special exception, the copyright holders give // permission to link the code of portions of this program with the // OpenSSL library under certain conditions as described in each // individual source file, and distribute linked combinations including // the two. // // You must obey the GNU General Public License in all respects for all // of the code used other than OpenSSL. If you modify file(s) with this // exception, you may extend this exception to your version of the // file(s), but you are not obligated to do so. If you do not wish to do // so, delete this exception statement from your version. If you delete // this exception statement from all source files in the program, then // also delete it here. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, see <http://www.gnu.org/licenses/>. import QtQuick 2.11 import QtQuick.Controls 2.12 import QtQuick.Layouts 1.11 import QtQuick.LocalStorage 2.0 import "qrc:/js/helper.js" as Helperjs //import "qrc:/js/news.js" as Newsjs import "qrc:/js/service.js" as Service import "qrc:/qml/contactqml" import "qrc:/qml/genericqml" Item{ id: contactsGridTab Layout.fillWidth:true Layout.fillHeight: true function showContacts(contact){ try {contactsModel.clear()} catch(e){print(e)}; Helperjs.readData(db, "contacts",root.login.username,function(contactsobject){ for (var j=0;j<contactsobject.length;j++){ contactsobject[j].description=Qt.atob(contactsobject[j].description); contactsobject[j].name=Qt.atob(contactsobject[j].name); contactsModel.append({"contact":contactsobject[j]}); } },"isFriend",0,"screen_name ASC"); } MButton { id: cleanButton text: "\uf021" anchors.top: parent.top anchors.topMargin: mm anchors.right: parent.right onClicked: { Service.cleanContacts(root.login,root.db,function(){ try {contactsModel.clear()} catch(e){print(e)}; Helperjs.readData(db, "contacts",root.login.username,function(contactsobject){ for (var j=0;j<contactsobject.length;j++){ contactsobject[j].description=Qt.atob(contactsobject[j].description); contactsobject[j].name=Qt.atob(contactsobject[j].name); contactsModel.append({"contact":contactsobject[j]}); } },"isFriend",0,"screen_name ASC"); }) } } ListView { id: contactsView x:mm y:cleanButton.height+2*mm width:contactsGridTab.width-2*mm height:contactsGridTab.height-cleanButton.height-2*mm spacing: 2 clip: true function processContactSelection(contactobject){showContactdetails(contactobject)} //add: Transition { // NumberAnimation { properties: "x,y"; from: 300; duration: 1000 } // } model: contactsModel delegate: ContactComponent { } } ListModel{id: contactsModel} Component.onCompleted: { friendsTabView.contactsSignal.connect(showContacts); showContacts() } }