Merge pull request #103 from birarda/atp-mappings

fix for selected index crashes
This commit is contained in:
Clément Brisset 2016-03-10 18:36:29 -08:00
commit 4bb3314d87
2 changed files with 14 additions and 8 deletions

View file

@ -127,6 +127,7 @@ Window {
function reload() { function reload() {
Assets.mappingModel.refresh(); Assets.mappingModel.refresh();
treeView.selection.clear();
} }
function handleGetMappingsError(errorCode) { function handleGetMappingsError(errorCode) {
@ -138,7 +139,7 @@ Window {
function addToWorld(url) { function addToWorld(url) {
if (!url) { if (!url) {
url = assetProxyModel.data(treeView.currentIndex, 0x103); url = assetProxyModel.data(treeView.selection.currentIndex, 0x103);
} }
if (!url || !canAddToWorld(url)) { if (!url || !canAddToWorld(url)) {
@ -153,10 +154,10 @@ Window {
function copyURLToClipboard(index) { function copyURLToClipboard(index) {
if (!index) { if (!index) {
index = treeView.currentIndex; index = treeView.selection.currentIndex;
} }
var url = assetProxyModel.data(treeView.currentIndex, 0x103); var url = assetProxyModel.data(treeView.selection.currentIndex, 0x103);
if (!url) { if (!url) {
return; return;
} }
@ -165,8 +166,9 @@ Window {
function renameFile(index) { function renameFile(index) {
if (!index) { if (!index) {
index = treeView.currentIndex; index = treeView.selection.currentIndex;
} }
var path = assetProxyModel.data(index, 0x100); var path = assetProxyModel.data(index, 0x100);
if (!path) { if (!path) {
return; return;
@ -194,14 +196,14 @@ Window {
} }
function deleteFile(index) { function deleteFile(index) {
if (!index) { if (!index) {
index = treeView.currentIndex; index = treeView.selection.currentIndex;
} }
var path = assetProxyModel.data(index, 0x100); var path = assetProxyModel.data(index, 0x100);
if (!path) { if (!path) {
return; return;
} }
var isFolder = assetProxyModel.data(treeView.currentIndex, 0x101); var isFolder = assetProxyModel.data(treeView.selection.currentIndex, 0x101);
var typeString = isFolder ? 'folder' : 'file'; var typeString = isFolder ? 'folder' : 'file';
var object = desktop.messageBox({ var object = desktop.messageBox({
@ -239,7 +241,7 @@ Window {
var fileUrl = fileUrlTextField.text var fileUrl = fileUrlTextField.text
var shouldAddToWorld = addToWorldCheckBox.checked var shouldAddToWorld = addToWorldCheckBox.checked
var path = assetProxyModel.data(treeView.currentIndex, 0x100); var path = assetProxyModel.data(treeView.selection.currentIndex, 0x100);
var directory = path ? path.slice(0, path.lastIndexOf('/') + 1) : "/"; var directory = path ? path.slice(0, path.lastIndexOf('/') + 1) : "/";
var filename = fileUrl.slice(fileUrl.lastIndexOf('/') + 1); var filename = fileUrl.slice(fileUrl.lastIndexOf('/') + 1);
@ -302,7 +304,7 @@ Window {
height: 26 height: 26
width: 120 width: 120
enabled: canAddToWorld(assetProxyModel.data(treeView.currentIndex, 0x100)) enabled: canAddToWorld(assetProxyModel.data(treeView.selection.currentIndex, 0x100))
onClicked: root.addToWorld() onClicked: root.addToWorld()
} }

View file

@ -8,6 +8,7 @@
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
// //
import QtQml.Models 2.2
import QtQuick 2.5 import QtQuick 2.5
import QtQuick.Controls 1.4 import QtQuick.Controls 1.4
import QtQuick.Controls.Styles 1.4 import QtQuick.Controls.Styles 1.4
@ -22,6 +23,9 @@ TreeView {
readonly property bool isLightColorScheme: colorScheme == hifi.colorSchemes.light readonly property bool isLightColorScheme: colorScheme == hifi.colorSchemes.light
model: treeModel model: treeModel
selection: ItemSelectionModel {
model: treeModel
}
TableViewColumn { TableViewColumn {
role: "display"; role: "display";