Skip to content

Commit e504ddc

Browse files
committed
Slight refactoring
1 parent 9bd6c5d commit e504ddc

File tree

1 file changed

+25
-30
lines changed

1 file changed

+25
-30
lines changed

Orange/widgets/data/owimageviewer.py

Lines changed: 25 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -351,6 +351,16 @@ def __init__(self):
351351
self.allAttrs = []
352352
self.stringAttrs = []
353353

354+
self.thumbnailWidget = None
355+
self.sceneLayout = None
356+
self.selectedIndices = []
357+
358+
#: List of _ImageItems
359+
self.items = []
360+
361+
self._errcount = 0
362+
self._successcount = 0
363+
354364
self.info = gui.widgetLabel(
355365
gui.vBox(self.controlArea, "Info"),
356366
"Waiting for input.\n"
@@ -400,16 +410,6 @@ def __init__(self):
400410
)
401411
self.resize(800, 600)
402412

403-
self.thumbnailWidget = None
404-
self.sceneLayout = None
405-
self.selectedIndices = []
406-
407-
#: List of _ImageItems
408-
self.items = []
409-
410-
self._errcount = 0
411-
self._successcount = 0
412-
413413
self.loader = ImageLoader(self)
414414

415415
def setData(self, data):
@@ -513,11 +513,7 @@ def set_pixmap(future, thumb=thumbnail):
513513
self.sceneLayout = layout
514514

515515
if self.sceneLayout:
516-
width = (self.sceneView.width() -
517-
self.sceneView.verticalScrollBar().width())
518-
self.thumbnailWidget.reflow(width)
519-
self.thumbnailWidget.setPreferredWidth(width)
520-
self.sceneLayout.activate()
516+
self._updateGeometryConstraints()
521517

522518
def urlFromValue(self, value):
523519
variable = value.variable
@@ -567,15 +563,7 @@ def updateSize(self):
567563
for item in self.thumbnailItems():
568564
item.setThumbnailSize(size)
569565

570-
if self.thumbnailWidget:
571-
width = (self.sceneView.width() -
572-
self.sceneView.verticalScrollBar().width())
573-
574-
self.thumbnailWidget.reflow(width)
575-
self.thumbnailWidget.setPreferredWidth(width)
576-
577-
if self.sceneLayout:
578-
self.sceneLayout.activate()
566+
self._updateGeometryConstraints()
579567

580568
def updateTitles(self):
581569
titleAttr = self.allAttrs[self.titleAttr]
@@ -635,25 +623,32 @@ def _updateStatus(self, future):
635623
def _updateSceneRect(self):
636624
self.scene.setSceneRect(self.scene.itemsBoundingRect())
637625

626+
def _updateGeometryConstraints(self):
627+
# Update the thumbnail grid widget's width constraint (derived from
628+
# the viewport's width
629+
if self.thumbnailWidget is not None:
630+
width = (self.sceneView.width() -
631+
self.sceneView.verticalScrollBar().width())
632+
width = width - 2
633+
self.thumbnailWidget.reflow(width)
634+
self.thumbnailWidget.setPreferredWidth(width)
635+
self.thumbnailWidget.layout().activate()
636+
638637
def onDeleteWidget(self):
639638
self._cancelAllFutures()
640639
self.clear()
641640

642641
def eventFilter(self, receiver, event):
643642
if receiver is self.sceneView and event.type() == QEvent.Resize \
644643
and self.thumbnailWidget:
645-
width = (self.sceneView.width() -
646-
self.sceneView.verticalScrollBar().width())
647-
648-
self.thumbnailWidget.reflow(width)
649-
self.thumbnailWidget.setPreferredWidth(width)
644+
self._updateGeometryConstraints()
650645

651646
return super(OWImageViewer, self).eventFilter(receiver, event)
652647

653648

654649
class ImageLoader(QObject):
655650
#: A weakref to a QNetworkAccessManager used for image retrieval.
656-
#: (we can only have only one QNetworkDiskCache opened on the same
651+
#: (we can only have one QNetworkDiskCache opened on the same
657652
#: directory)
658653
_NETMANAGER_REF = None
659654

0 commit comments

Comments
 (0)