DonatShell
Server IP : 180.180.241.3  /  Your IP : 216.73.216.252
Web Server : Microsoft-IIS/7.5
System : Windows NT NETWORK-NHRC 6.1 build 7601 (Windows Server 2008 R2 Standard Edition Service Pack 1) i586
User : IUSR ( 0)
PHP Version : 5.3.28
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  C:/Program Files/Malwarebytes/Anti-Malware/QtQuick/Controls/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME SHELL ]     

Current File : C:/Program Files/Malwarebytes/Anti-Malware/QtQuick/Controls/TableView.qml
/****************************************************************************
**
** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the Qt Quick Controls module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:COMM$
**
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** $QT_END_LICENSE$
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
****************************************************************************/

import QtQuick 2.2
import QtQuick.Controls 1.3
import QtQuick.Controls.Private 1.0
import QtQuick.Controls.Styles 1.1
import QtQuick.Window 2.1

BasicTableView {
    id: root

    property var model

    readonly property int rowCount: __listView.count
    property alias currentRow: root.__currentRow

    signal activated(int row)
    signal clicked(int row)
    signal doubleClicked(int row)
    signal pressAndHold(int row)

    function positionViewAtRow(row, mode) {
        __listView.positionViewAtIndex(row, mode)
    }

    function rowAt(x, y) {
        var obj = root.mapToItem(__listView.contentItem, x, y)
        return __listView.indexAt(obj.x, obj.y)
    }

    readonly property alias selection: selectionObject

    style: Settings.styleComponent(Settings.style, "TableViewStyle.qml", root)

    Accessible.role: Accessible.Table

    // Internal stuff. Do not look

    onModelChanged: selection.clear()

    __viewTypeName: "TableView"
    __model: model

    __itemDelegateLoader: TableViewItemDelegateLoader {
        __style: root.__style
        __itemDelegate: root.itemDelegate
        __mouseArea: mousearea
    }

    __mouseArea: MouseArea {
        id: mousearea

        parent: __listView
        width: __listView.width
        height: __listView.height
        z: -1
        propagateComposedEvents: true
        focus: true

        property bool autoincrement: false
        property bool autodecrement: false
        property int previousRow: 0
        property int clickedRow: -1
        property int dragRow: -1
        property int firstKeyRow: -1
        property int pressedRow: -1
        property int pressedColumn: -1

        TableViewSelection {
            id: selectionObject
        }

        function selected(rowIndex) {
            if (dragRow > -1 && (rowIndex >= clickedRow && rowIndex <= dragRow
                                 || rowIndex <= clickedRow && rowIndex >= dragRow))
                return selection.contains(clickedRow)

            return selection.count && selection.contains(rowIndex)
        }

        onReleased: {
            pressedRow = -1
            pressedColumn = -1
            autoincrement = false
            autodecrement = false
            var clickIndex = __listView.indexAt(0, mouseY + __listView.contentY)
            if (clickIndex > -1) {
                if (Settings.hasTouchScreen) {
                    __listView.currentIndex = clickIndex
                    mouseSelect(clickIndex, mouse.modifiers)
                }
                previousRow = clickIndex
            }

            if (mousearea.dragRow >= 0) {
                selection.__select(selection.contains(mousearea.clickedRow), mousearea.clickedRow, mousearea.dragRow)
                mousearea.dragRow = -1
            }
        }

        function decrementCurrentIndex() {
            __listView.decrementCurrentIndexBlocking();

            var newIndex = __listView.indexAt(0, __listView.contentY)
            if (newIndex !== -1) {
                if (selectionMode > SelectionMode.SingleSelection)
                    mousearea.dragRow = newIndex
                else if (selectionMode === SelectionMode.SingleSelection)
                    selection.__selectOne(newIndex)
            }
        }

        function incrementCurrentIndex() {
            __listView.incrementCurrentIndexBlocking();

            var newIndex = Math.max(0, __listView.indexAt(0, __listView.height + __listView.contentY))
            if (newIndex !== -1) {
                if (selectionMode > SelectionMode.SingleSelection)
                    mousearea.dragRow = newIndex
                else if (selectionMode === SelectionMode.SingleSelection)
                    selection.__selectOne(newIndex)
            }
        }

        // Handle vertical scrolling whem dragging mouse outside boundraries
        Timer {
            running: mousearea.autoincrement && __verticalScrollBar.visible
            repeat: true
            interval: 20
            onTriggered: mousearea.incrementCurrentIndex()
        }

        Timer {
            running: mousearea.autodecrement && __verticalScrollBar.visible
            repeat: true
            interval: 20
            onTriggered: mousearea.decrementCurrentIndex()
        }

        onPositionChanged: {
            if (mouseY > __listView.height && pressed) {
                if (autoincrement) return;
                autodecrement = false;
                autoincrement = true;
            } else if (mouseY < 0 && pressed) {
                if (autodecrement) return;
                autoincrement = false;
                autodecrement = true;
            } else  {
                autoincrement = false;
                autodecrement = false;
            }

            if (pressed && containsMouse) {
                pressedRow = Math.max(0, __listView.indexAt(0, mouseY + __listView.contentY))
                pressedColumn = __listView.columnAt(mouseX)
                if (!Settings.hasTouchScreen) {
                    if (pressedRow >= 0 && pressedRow !== currentRow) {
                        __listView.currentIndex = pressedRow;
                        if (selectionMode === SelectionMode.SingleSelection) {
                            selection.__selectOne(pressedRow)
                        } else if (selectionMode > 1) {
                            dragRow = pressedRow
                        }
                    }
                }
            }
        }

        onClicked: {
            var clickIndex = __listView.indexAt(0, mouseY + __listView.contentY)
            if (clickIndex > -1) {
                if (root.__activateItemOnSingleClick)
                    root.activated(clickIndex)
                root.clicked(clickIndex)
            }
        }

        onPressed: {
            pressedRow = __listView.indexAt(0, mouseY + __listView.contentY)
            pressedColumn = __listView.columnAt(mouseX)
            __listView.forceActiveFocus()
            if (pressedRow > -1 && !Settings.hasTouchScreen) {
                __listView.currentIndex = pressedRow
                mouseSelect(pressedRow, mouse.modifiers)
                mousearea.clickedRow = pressedRow
            }
        }

        onExited: {
            mousearea.pressedRow = -1
            mousearea.pressedColumn = -1
        }

        onCanceled: {
            mousearea.pressedRow = -1
            mousearea.pressedColumn = -1
        }

        function mouseSelect(index, modifiers) {
            if (selectionMode) {
                if (modifiers & Qt.ShiftModifier && (selectionMode === SelectionMode.ExtendedSelection)) {
                    selection.select(previousRow, index)
                } else if (selectionMode === SelectionMode.MultiSelection ||
                           (selectionMode === SelectionMode.ExtendedSelection && modifiers & Qt.ControlModifier)) {
                    selection.__select(!selection.contains(index) , index)
                } else {
                    selection.__selectOne(index)
                }
            }
        }

        onDoubleClicked: {
            var clickIndex = __listView.indexAt(0, mouseY + __listView.contentY)
            if (clickIndex > -1) {
                if (!root.__activateItemOnSingleClick)
                    root.activated(clickIndex)
                root.doubleClicked(clickIndex)
            }
        }

        onPressAndHold: {
            var pressIndex = __listView.indexAt(0, mouseY + __listView.contentY)
            if (pressIndex > -1)
                root.pressAndHold(pressIndex)
        }

        // Note:  with boolean preventStealing we are keeping the flickable from
        // eating our mouse press events
        preventStealing: !Settings.hasTouchScreen

        function keySelect(shiftPressed, row) {
            if (row < 0 || row > rowCount - 1)
                return
            if (shiftPressed && (selectionMode >= SelectionMode.ExtendedSelection)) {
                selection.__ranges = new Array()
                selection.select(mousearea.firstKeyRow, row)
            } else {
                selection.__selectOne(row)
            }
        }

        Keys.forwardTo: [root]

        Keys.onUpPressed: {
            event.accepted = __listView.decrementCurrentIndexBlocking()
            if (selectionMode)
                keySelect(event.modifiers & Qt.ShiftModifier, currentRow)
        }

        Keys.onDownPressed: {
            event.accepted = __listView.incrementCurrentIndexBlocking()
            if (selectionMode)
                keySelect(event.modifiers & Qt.ShiftModifier, currentRow)
        }

        Keys.onPressed: {
            __listView.scrollIfNeeded(event.key)

            if (event.key === Qt.Key_Shift) {
                firstKeyRow = currentRow
            }

            if (event.key === Qt.Key_A && event.modifiers & Qt.ControlModifier) {
                if (selectionMode > 1)
                    selection.selectAll()
            }
        }

        Keys.onReleased: {
            if (event.key === Qt.Key_Shift)
                firstKeyRow = -1
        }

        Keys.onReturnPressed: {
            if (currentRow > -1)
                root.activated(currentRow);
            else
                event.accepted = false
        }
    }
}

Anon7 - 2022
AnonSec Team