11from PySide6 .QtCore import Qt , QThreadPool
22from PySide6 .QtWidgets import (
33 QWidget ,
4- QVBoxLayout ,
4+ QHBoxLayout ,
55 QGridLayout ,
6- QSpacerItem ,
7- QSizePolicy ,
86)
97from qfluentwidgets import ScrollArea
108
119from nlightreader .utils import Thread
10+ from nlightreader .widgets .NlightContainers .content_container import AbstractContentContainer
1211from nlightreader .widgets .NlightWidgets .manga_item import MangaItem
1312
1413
15- class MangaArea (ScrollArea ):
16- def __init__ (self , parent ):
14+ class MangaArea (ScrollArea , AbstractContentContainer ):
15+ def __init__ (self ):
1716 super ().__init__ ()
1817 self .setWidgetResizable (True )
1918 self .setStyleSheet (
@@ -29,7 +28,7 @@ def __init__(self, parent):
2928 self ._scrollAreaWidgetContents .setObjectName ("scrollAreaWidgetContents" )
3029 self ._scrollAreaWidgetContents .resizeEvent = self ._scroll_resize_event
3130
32- self ._scroll_layout = QVBoxLayout (self ._scrollAreaWidgetContents )
31+ self ._scroll_layout = QHBoxLayout (self ._scrollAreaWidgetContents )
3332 self ._scroll_layout .setSpacing (0 )
3433 self ._scroll_layout .setContentsMargins (0 , 0 , 0 , 0 )
3534
@@ -38,17 +37,12 @@ def __init__(self, parent):
3837
3938 self ._scroll_layout .addLayout (self ._content_grid )
4039
41- self ._verticalSpacer = QSpacerItem (20 , 40 , QSizePolicy .Minimum , QSizePolicy .Expanding )
42- self ._scroll_layout .addItem (self ._verticalSpacer )
4340 self .setWidget (self ._scrollAreaWidgetContents )
4441
4542 self .manga_thread_pool = QThreadPool ()
4643 self .manga_thread_pool .setMaxThreadCount (self ._column_count )
4744 self ._set_images_thread = Thread (target = self .partial_image_addition )
4845
49- if parent is not None :
50- parent .addWidget (self )
51-
5246 def _scroll_resize_event (self , event ):
5347 if event .oldSize ().width () != event .size ().width ():
5448 self .update_items ()
@@ -82,3 +76,6 @@ def delete_items(self):
8276 def update_items (self ):
8377 size = self .size ().width () // (self ._column_count + 1 )
8478 [item .set_size (size ) for item in self ._manga_items ]
79+
80+ def get_content_widget (self ):
81+ return self ._scrollAreaWidgetContents
0 commit comments