
    s
e                     d   d Z ddlZddlZddlmZ ddlmZmZmZm	Z	 ddl
mZ ddlmZmZ ddlmZ ddlmZ dd	lmZ dd
lmZmZ ddlmZ ddlmZ ddlmZ  ee	d          r ej        e	j                     ee	d          r ej        e	j!                   d Z"d Z# G d de          Z$d Z%dS )zApplication start.    N)PYQT5)QCoreApplicationQEventQObjectQt)QIcon)LOCKFILEMAC)filelock)images)
load_fonts)setup_loggerLOGGER_CONFIG)qapplication)MessageBoxInformation)
MainDialogAA_UseHighDpiPixmapsAA_EnableHighDpiScalingc                 2    t          j        | ||           dS )z-Custom except hook to avoid crashes on PyQt5.N)sys__excepthook__)cls	exception	tracebacks      ;lib/python3.11/site-packages/navigator_updater/app/start.pyexcept_hookr   (   s    sIy11111    c                  l    t          t          j                  } t                              |            dS )zSet application icon.N)r   r   ANACONDA_LOGOappsetWindowIcon)app_icons    r   set_application_iconr#   -   s.     V)**Hhr   c                   ,     e Zd ZdZ fdZ fdZ xZS )
EventEater#Event filter for application state.c                 V    t                                                       || _        dS )r&   N)super__init__r    )selfapplication	__class__s     r   r)   zEventEater.__init__7   s$    r   c                 ,   |                                 t          j        k    rt          r| j        j        j        r| j        j                                         | j        j                                        r| j        j        	                                 n[| j        j        
                                r| j        j                                         n| j        j                                         dS t                                          ||          S )zQt override.T)typer   ApplicationActivater
   r    windowsetup_readyshowisMaximizedshowMaximizedisFullScreenshowFullScreen
showNormalr(   eventFilter)r*   obeventr,   s      r   r8   zEventEater.eventFilter<   s    JJLLF666C6DHOD_6HO  """x**,, ---////--// -..0000**,,,4ww""2u---r   )__name__
__module____qualname____doc__r)   r8   __classcell__)r,   s   @r   r%   r%   4   sW        --    
. . . . . . . . .r   r%   c                 L   | j         t          _        t                       t          rt
          t          _        t          d          a	t                       t          t                     t          j        t          j        t          j                   t          j        t"                    }	 |                    d          5  t'          | j        | j                  }|t          _        t/          t                    }t                              |           t          j        |                                           ddd           dS # 1 swxY w Y   dS # t          j        $ r; t9          dd	          }t          j        |                                           Y dS w xY w)
zMain application entry point.<   )	test_timeg      ?)timeout)latest_versionprefixNz&Anaconda Navigator Updater InformationzCThere is an instance of Anaconda Navigator Updater already running.)titletext)	log_levelr   levelr   r   r   r   
excepthookr   r    r#   r   signalSIGINTSIG_DFLr   FileLockr	   acquirer   rD   rE   r0   r%   installEventFilterexitexec_Timeoutr   )optionslockdlgevent_eatermsgboxs        r   	start_apprY   K   s    "+MNNN  %$ 
$
$
$CsOOO
M&-000 X&&D!\\#\&& 	" 	"&5gn  C CJ$S//K"";///HSYY[[!!!	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	"  ! ! !&:V
 
 
 	      !s8   -E A<E?E EE EE AF#"F#)&r>   rK   r   qtpyr   qtpy.QtCorer   r   r   r   
qtpy.QtGuir   navigator_updater.configr	   r
   navigator_updater.externalr   navigator_updater.staticr   navigator_updater.static.fontsr   navigator_updater.utils.logsr   r   !navigator_updater.utils.qthelpersr   !navigator_updater.widgets.dialogsr   -navigator_updater.widgets.dialogs.main_dialogr   hasattrsetAttributer   r   r   r#   r%   rY    r   r   <module>rh      s      



       = = = = = = = = = = = =       3 2 2 2 2 2 2 2 / / / / / / + + + + + + 5 5 5 5 5 5 D D D D D D D D : : : : : : C C C C C C D D D D D D 72%&& ;!!""9:::
72()) >!!""<===2 2 2
     . . . . . . . .. !  !  !  !  !r   