Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • Orange/OrangeWidgets/OWBaseWidget.py

    r11458 r11482  
    199199        widgetId += 1 
    200200        self.widgetId = widgetId 
    201          
    202         self._private_thread_pools = {} 
     201 
    203202        self.asyncCalls = [] 
    204203        self.asyncBlock = False 
     204        self.__progressBarValue = -1 
    205205 
    206206    # uncomment this when you need to see which events occured 
     
    746746        self.processingStateChanged.emit(1) 
    747747 
    748     def progressBarSet(self, value): 
     748    def progressBarSet(self, value, processEventsFlags=QEventLoop.AllEvents): 
     749        """ 
     750        Set the current progress bar to `value`. This method will also call 
     751        `qApp.processEvents` with the `processEventsFlags` unless the 
     752        processEventsFlags equals ``None``. 
     753 
     754        """ 
     755        old = self.__progressBarValue 
    749756        if value > 0: 
    750757            self.__progressBarValue = value 
     
    765772            self.progressBarHandler(self, value) 
    766773 
    767         self.progressBarValueChanged.emit(value) 
    768  
    769         qApp.processEvents() 
     774        if old != value: 
     775            self.progressBarValueChanged.emit(value) 
     776 
     777        if processEventsFlags is not None: 
     778            qApp.processEvents(processEventsFlags) 
    770779 
    771780    def progressBarValue(self): 
    772781        return self.__progressBarValue 
    773782 
    774     progressBarValue = pyqtProperty(float, fset=progressBarSet, 
    775                                     fget=progressBarValue) 
    776  
    777     def progressBarAdvance(self, value): 
    778         self.progressBarSet(self.progressBarValue + value) 
     783    progressBarValue = pyqtProperty( 
     784        float, 
     785        fset=lambda self, val: 
     786            self.progressBarSet(val, processEventsFlags=None), 
     787        fget=progressBarValue 
     788    ) 
     789 
     790    def progressBarAdvance(self, value, processEventsFlags=QEventLoop.AllEvents): 
     791        self.progressBarSet(self.progressBarValue + value, processEventsFlags) 
    779792 
    780793    def progressBarFinished(self): 
Note: See TracChangeset for help on using the changeset viewer.