Warning, /maui/mauikit-accounts/src/controls.6/AccountsMenuItem.qml is written in an unsupported language. File is not indexed.

0001 /*
0002  *   Copyright 2018 Camilo Higuita <milo.h@aol.com>
0003  *
0004  *   This program is free software; you can redistribute it and/or modify
0005  *   it under the terms of the GNU Library General Public License as
0006  *   published by the Free Software Foundation; either version 2, or
0007  *   (at your option) any later version.
0008  *
0009  *   This program is distributed in the hope that it will be useful,
0010  *   but WITHOUT ANY WARRANTY; without even the implied warranty of
0011  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
0012  *   GNU General Public License for more details
0013  *
0014  *   You should have received a copy of the GNU Library General Public
0015  *   License along with this program; if not, write to the
0016  *   Free Software Foundation, Inc.,
0017  *   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
0018  */
0019 import QtQuick 
0020 
0021 import QtQuick.Controls 
0022 import QtQuick.Layouts 
0023 
0024 import org.mauikit.controls 1.3 as Maui
0025 import org.mauikit.accounts 1.0 as MA
0026 
0027 /**
0028  * @inherit QtQuick.Controls.MenuItem
0029  * @brief A MenuItem entry to list the available accounts and for launching the accounts dialog.
0030  * 
0031  * @image html accountsmenuitem.png "Accounts menu entry"
0032  * 
0033  * @code
0034  * Maui.Page
0035  * {
0036  *    anchors.fill: parent
0037  * 
0038  *    Maui.Controls.showCSD: true
0039  * 
0040  *    headBar.leftContent: Maui.ToolButtonMenu
0041  *    {
0042  *        icon.name: "application-menu"
0043  *        MA.AccountsMenuItem {}
0044  * 
0045  *        MenuSeparator {}
0046  * 
0047  *        MenuItem
0048  *        {
0049  *            text: "About"
0050  *            onTriggered: root.about()
0051  *        }
0052  *    }
0053  * }
0054  * @endcode
0055  */
0056 MenuItem
0057 {
0058     MA.AccountsDialog
0059     {
0060         id: _accountsDialog
0061     }
0062     
0063     contentItem: ColumnLayout
0064     {
0065         id: _accountLayout
0066         
0067         spacing: Maui.Style.defaultSpacing
0068         
0069         Repeater
0070         {
0071             id: _accountsListing
0072             
0073             model: Maui.BaseModel
0074             {
0075                 list: MA.Accounts
0076             }
0077             
0078             delegate: MenuItem
0079             {
0080                 Layout.fillWidth: true
0081                 
0082                 checked: MA.Accounts.currentAccountIndex === index
0083                 icon.name: "amarok_artist"
0084                 text: model.user
0085                 
0086                 onClicked: MA.Accounts.currentAccountIndex = index
0087             }
0088             
0089             Component.onCompleted:
0090             {
0091                 if(_accountsListing.count > 0)
0092                     MA.Accounts.currentAccountIndex = 0
0093             }
0094         }
0095         
0096         Button
0097         {
0098             Layout.alignment: Qt.AlignCenter
0099             Layout.fillWidth: true
0100             text: i18nd("mauikitaccounts","Accounts")
0101             icon.name: "list-add-user"
0102             onClicked:
0103             {
0104                 _accountsDialog.open()
0105             }
0106         }
0107     }
0108 }
0109 
0110