From 9849c4f8d462c58e19492e350c78c7c24524ee23 Mon Sep 17 00:00:00 2001 From: Thomas Perl Date: Tue, 4 Feb 2014 22:33:53 +0100 Subject: [PATCH] New utility function: Util.disableUntilReturn --- common/util.js | 8 ++++++++ touch/EpisodeItem.qml | 4 +++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/common/util.js b/common/util.js index 95ddcac..3f48635 100644 --- a/common/util.js +++ b/common/util.js @@ -61,3 +61,11 @@ function formatDuration(duration) { function formatPosition(position,duration) { return formatDuration(position) + " / " + formatDuration(duration) } + +// Call a Python function and disable item until the function returns +function disableUntilReturn(item, py, func, args) { + item.enabled = false; + py.call(func, args, function() { + item.enabled = true; + }); +} diff --git a/touch/EpisodeItem.qml b/touch/EpisodeItem.qml index 1667e41..8c62de0 100644 --- a/touch/EpisodeItem.qml +++ b/touch/EpisodeItem.qml @@ -21,6 +21,7 @@ import QtQuick 2.0 import 'common/constants.js' as Constants +import 'common/util.js' as Util Item { id: episodeItem @@ -75,9 +76,10 @@ Item { } IconMenuItem { + id: toggleNew text: 'Toggle New' iconSource: 'icons/star_32x32.png' - onClicked: py.call('main.toggle_new', [id]); + onClicked: Util.disableUntilReturn(toggleNew, py, 'main.toggle_new', [id]); } IconMenuItem {