From c23fe6ad8fe28e087117a7b6f79b690259dd1724 Mon Sep 17 00:00:00 2001 From: Peter Marheine Date: Thu, 15 Oct 2015 23:20:11 -0600 Subject: [PATCH] Perform player probing in a non-UI thread. Network operations tend to be extremely slow when checking all user inputs for player path, so perform those checks in a non-UI thread so the GUI remains responsive. While queries are ongoing, the icon is a "busy" spinner. --- resources/spinner.mng | Bin 0 -> 7279 bytes syncplay/constants.py | 2 +- syncplay/ui/GuiConfiguration.py | 51 ++++++++++++++++++++++++++++---- 3 files changed, 46 insertions(+), 7 deletions(-) create mode 100755 resources/spinner.mng diff --git a/resources/spinner.mng b/resources/spinner.mng new file mode 100755 index 0000000000000000000000000000000000000000..435d749797b248f87bfa07c835337c329804fd1d GIT binary patch literal 7279 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