
    ^h                         S r SSKr SSKJr  SSKJrJr  SSKJrJ	r	  SSK
Jr  Sr\(       a,  Sr\R                  " 5       (       d  \" / 5      r " S	 S
\	5      rgg! \ a    Sr N>f = f)A qt screenshot exporter.    N)QtCore)QPageLayout	QPageSize)QWebEngineSettingsQWebEngineView)QApplicationTFc                   J   ^  \ rS rSrSrU 4S jrS rS rS rS r	S r
S	rU =r$ )
QtScreenshot   r   c                 8   > [         TU ]  5         [        U l        g)zInitialize the exporter.N)super__init__APPapp)self	__class__s    [/home/james-whalen/.local/lib/python3.13/site-packages/nbconvert/exporters/qt_screenshot.pyr   QtScreenshot.__init__   s    GDH    c                    ^  UT l         UT l        T R                  [        R                  " U5      5        T R
                  R                  T R                  5        T R                  [        R                  R                  5        T R                  5       R                  5       R                  [        R                  S5        ST l        UR!                  S5      (       aA  T R"                  T l        U 4S jnT R                  5       R&                  R                  U5        O8UR!                  S5      (       a  T R(                  T l        OSU 3n[+        U5      eT R-                  5         T R.                  R1                  5         g)zCapture the screenshot.Fr   z.pdfc                  Z   > TR                   R                  5         TR                  5         g)zCleanup the app.N)r   quitget_data)argsr   s    r   cleanup%QtScreenshot.capture.<locals>.cleanup-   s    HHMMOMMOr   z.pngz%Export file extension not supported: N)output_filepaginateloadr   QUrlloadFinishedconnect	on_loadedsetAttributeQtWA_DontShowOnScreenpagesettingsr   ShowScrollBarsdataendswith
export_pdfexportpdfPrintingFinished
export_pngRuntimeErrorshowr   exec)r   urlr   r   r   msgs   `     r   captureQtScreenshot.capture    s   *D$DMIIfkk#&'%%dnn5fii;;<IIK  "//0B0Q0QSXYDI##F++"oo$
 		//77@%%f--"oo=k]K"3''IIKHHMMOr   c                     U R                  5       R                  5       R                  5       U l        U R	                  U R                  5        [
        R                  R                  SU R                  5        g)zHandle app load.i  N)	r(   contentsSizetoSizesizeresizer   QTimer
singleShotr.   r   s    r   r$   QtScreenshot.on_loaded;   sI    		00299;DIKK		"MM$$T4;;7r   c                 0   U R                   (       aH  [        [        R                  5      n[        U[        R                  [
        R                  " 5       5      nOSn[        [
        R                  " U R                  R                  5       U-  U R                  R                  5       U-  5      [        R                  5      n[        U[        R                  [
        R                  " 5       5      nU R                  5       R                  U R                  US9  g)zExport to pdf.g      ?)
pageLayoutN)r   r   A4r   Portraitr   	QMarginsFQSizeFr;   widthheightPointr(   
printToPdfr   )r   	page_sizepage_layoutfactors       r   r-   QtScreenshot.export_pdfB   s    }}%ill3	))[5I5I6K[K[K]^%MM$))//"3f"<dii>N>N>PSY>YZOO	 *)[5I5I6K[K[K]^IIK""4#3#3"Lr   c                     U R                  5       R                  U R                  S5        U R                  R	                  5         U R                  5         g)zExport to png.PNGN)grabsaver   r   r   r   r?   s    r   r0   QtScreenshot.export_pngQ   s4    IIKT--u5HHMMOMMOr   c                 ,   [         R                  R                  U R                  5      (       aU  [	        U R                  S5       nUR                  5       U l        SSS5        [         R                  " U R                  5        gg! , (       d  f       N0= f)zGet output data.rbN)ospathexistsr   openreadr+   unlink)r   fs     r   r   QtScreenshot.get_dataW   s]    ww~~d..//$**D1Q !DI 2		$**+ 011s   B
B)r   r+   r.   r   r   r;   )__name__
__module____qualname____firstlineno____doc__r   r6   r$   r-   r0   r   __static_attributes____classcell__)r   s   @r   r   r      s*    '	
	6	8	M		, 	,r   r   )rb   rV   PyQt5r   PyQt5.QtGuir   r   PyQt5.QtWebEngineWidgetsr   r   PyQt5.QtWidgetsr	   QT_INSTALLEDModuleNotFoundErrorr   instancer    r   r   <module>rm      sq     	2 -L
 
C  ""2D,~ D, 	  Ls   A A%$A%