Warning, /maui/mauikit-accounts/src/controls.5/AccountsDialog.qml is written in an unsupported language. File is not indexed.
0001 0002 import QtQuick 2.14 0003 import QtQuick.Controls 2.14 0004 import QtQuick.Layouts 1.3 0005 0006 import org.mauikit.controls 1.3 as Maui 0007 import org.mauikit.accounts 1.0 as MA 0008 0009 Maui.PopupPage 0010 { 0011 id: control 0012 0013 maxHeight: 350 0014 maxWidth: maxHeight 0015 // footBar.visible: false 0016 title: i18nd("mauikitaccounts","Accounts") 0017 0018 /** 0019 * 0020 */ 0021 property alias model : _syncingModel 0022 0023 /** 0024 * 0025 */ 0026 property alias list : _syncingModel.list 0027 0028 MA.CredentialsDialog 0029 { 0030 id: _syncDialog 0031 onAccepted: 0032 { 0033 control.addAccount(serverField.text, userField.text, passwordField.text); 0034 close(); 0035 } 0036 } 0037 0038 actions: Action 0039 { 0040 text: i18nd("mauikitaccounts","Add") 0041 onTriggered: _syncDialog.open() 0042 } 0043 0044 // headBar.rightContent: ToolButton 0045 // { 0046 // icon.name: "documentinfo" 0047 // onClicked: Qt.openUrlExternally("https://mauikit.org/cloud") 0048 // } 0049 0050 Maui.InfoDialog 0051 { 0052 id: _removeDialog 0053 0054 title: i18nd("mauikitaccounts","Remove Account") 0055 message: i18nd("mauikitaccounts","Are you sure you want to remove this account?") 0056 0057 // rejectButton.text: i18nd("mauikitaccounts","Delete Account") 0058 // rejectButton.visible: false 0059 0060 onRejected: 0061 { 0062 var account = MA.Accounts.get(_listView.currentIndex) 0063 console.log(account.label) 0064 control.removeAccount(account.server, account.user) 0065 close() 0066 } 0067 0068 0069 // footBar.rightContent: Button 0070 // { 0071 // text: i18nd("mauikitaccounts","Delete Account and Files") 0072 // onClicked: 0073 // { 0074 // var account = MA.Accounts.get(_listView.currentIndex) 0075 // control.removeAccountAndFiles(account.server, account.user) 0076 // close() 0077 // } 0078 // } 0079 } 0080 0081 Menu 0082 { 0083 id: _menu 0084 0085 MenuItem 0086 { 0087 text: i18nd("mauikitaccounts","Remove...") 0088 Maui.Theme.textColor: Maui.Theme.negativeTextColor 0089 0090 onTriggered: _removeDialog.open() 0091 } 0092 } 0093 0094 stack: Maui.ListBrowser 0095 { 0096 id: _listView 0097 Layout.fillHeight: true 0098 Layout.fillWidth: true 0099 0100 model: Maui.BaseModel 0101 { 0102 id: _syncingModel 0103 list: MA.Accounts 0104 } 0105 0106 delegate: Maui.ListDelegate 0107 { 0108 id: delegate 0109 width: ListView.view.width 0110 label: model.label 0111 label2: model.server 0112 0113 radius: Maui.Style.radiusV 0114 0115 onClicked: 0116 { 0117 _listView.currentIndex = index 0118 } 0119 0120 onPressAndHold: 0121 { 0122 _listView.currentIndex = index 0123 _menu.popup() 0124 } 0125 0126 onRightClicked: 0127 { 0128 _listView.currentIndex = index 0129 _menu.popup() 0130 } 0131 } 0132 0133 Maui.Holder 0134 { 0135 visible: _listView.count == 0 0136 anchors.fill: parent 0137 isMask: true 0138 emoji: "qrc:/assets/dialog-information.svg" 0139 title: i18nd("mauikitaccounts","No accounts yet!") 0140 body: i18nd("mauikitaccounts","Start adding new accounts to sync your files, music, contacts, images, notes, etc...") 0141 } 0142 } 0143 0144 function addAccount(server, user, password) 0145 { 0146 if(user.length) 0147 MA.Accounts.registerAccount({server: server, user: user, password: password}) 0148 } 0149 0150 function removeAccount(server, user) 0151 { 0152 if(server.length && user.length) 0153 MA.Accounts.removeAccount(server, user) 0154 } 0155 0156 function removeAccountAndFiles(server, user) 0157 { 0158 if(server.length && user.length) 0159 MA.Accounts.removeAccountAndFiles(server, user) 0160 } 0161 }