o
    ˷e                     @   sT   d dl Z d dlZd dlmZmZmZ d dlmZ dada	dd Z
dd Zd	d
 ZdS )    N)QtCoreQtGuienum_helper)get_ipythonFc                 C   s"   t | dr|   d S |   d S )Nexec)hasattrr   exec_)obj r
   X/var/www/ideatree/venv/lib/python3.10/site-packages/IPython/terminal/pt_inputhooks/qt.py_exec   s   "r   c                  C   s   t  } | d ur| jt_d S d S N)r   
excepthooksys)shellr
   r
   r   _reclaim_excepthook   s   r   c              	      s  t j }|s_tjdkr'tjds'tjds'dd l}t	s%da	|
d d S z
t jt jj W n	 ty:   Y nw zt jt jjj W n	 tyO   Y nw tdg a}t jdt t | tjdkrt  }|j j |  s|d	 t  |  |  rxd S d S t  | ! t"d
j#}z'|j$ fdd |%d |  st  W |%d d S W |%d d S |%d w )NlinuxDISPLAYWAYLAND_DISPLAYr   TzThe DISPLAY or WAYLAND_DISPLAY environment variable is not set or empty and Qt5 requires this environment variable. Deactivate Qt5 code. win322   zQtCore.QSocketNotifier.Typec                      s      S r   )exitr
   
event_loopr
   r   <lambda>O   s    zinputhook.<locals>.<lambda>F)&r   QCoreApplicationinstancer   platformosenvirongetwarnings_already_warnedwarnQApplicationsetAttributeQtAA_EnableHighDpiScalingAttributeError#setHighDpiScaleFactorRoundingPolicy HighDpiScaleFactorRoundingPolicyPassThroughr   _apprefQTimer
singleShotr   
QEventLooptimeoutconnectquitinput_is_readystartr   stopQSocketNotifierfilenor   Read	activated
setEnabled)contextappr"   timernotifierr
   r   r   	inputhook   s^   







r@   )r   r   IPython.external.qt_for_kernelr   r   r   IPythonr   r-   r#   r   r   r@   r
   r
   r
   r   <module>   s    