ó
%_[c           @   s_  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 d d l m Z d d l m Z d d l m Z e e	 d  re j e	 j  n  e e	 d  r*e j e	 j   n  d   Z! d   Z" d e f d     YZ# d   Z$ d S(   s   Application start.iĸĸĸĸN(   t   PYQT5(   t   QCoreApplicationt   QEventt   QObjectt   Qt(   t   QIcon(   t   LOCKFILEt   MAC(   t   filelock(   t   images(   t
   load_fonts(   t   setup_logger(   t   qapplication(   t   MessageBoxInformation(   t
   MainDialogt   AA_UseHighDpiPixmapst   AA_EnableHighDpiScalingc         C   s   t  j |  | |  d S(   s-   Custom except hook to avoid crashes on PyQt5.N(   t   syst   __excepthook__(   t   clst	   exceptiont	   traceback(    (    s:   lib/python2.7/site-packages/navigator_updater/app/start.pyt   except_hook'   s    c          C   s    t  t j  }  t j |   d S(   s   Set application icon.N(   R   R	   t   ANACONDA_LOGOt   appt   setWindowIcon(   t   app_icon(    (    s:   lib/python2.7/site-packages/navigator_updater/app/start.pyt   set_application_icon,   s    t
   EventEaterc           B   s    e  Z d  Z d   Z d   Z RS(   s#   Event filter for application state.c         C   s    t  t |   j   | |  _ d S(   s#   Event filter for application state.N(   t   superR   t   __init__R   (   t   selfR   (    (    s:   lib/python2.7/site-packages/navigator_updater/app/start.pyR   6   s    c         C   są   | j    t j k r t r |  j j j r |  j j j   |  j j j   r_ |  j j j	   n5 |  j j j
   r |  j j j   n |  j j j   t St t |   j | |  S(   s   Qt override.(   t   typeR   t   ApplicationActivateR   R   t   windowt   setup_readyt   showt   isMaximizedt   showMaximizedt   isFullScreent   showFullScreent
   showNormalt   TrueR   R   t   eventFilter(   R   t   obt   event(    (    s:   lib/python2.7/site-packages/navigator_updater/app/start.pyR+   ;   s    (   t   __name__t
   __module__t   __doc__R   R+   (    (    (    s:   lib/python2.7/site-packages/navigator_updater/app/start.pyR   3   s   	c      	   C   s  t  |  j  t r t t _ n  t d d  a t   t	 t  t
 j
 t
 j t
 j  t j t  } ym | j d d  U t d |  j d |  j  } | t _ t t  } t j |  t j | j    Wd QXWn< t j k
 rt d d	 d
 d  } t j | j    n Xd S(   s   Main application entry point.t	   test_timei<   t   timeoutg      ð?t   latest_versiont   prefixNt   titles&   Anaconda Navigator Updater Informationt   textsC   There is an instance of Anaconda Navigator Updater already running.(   R   t	   log_levelR    R   R   t
   excepthookR   R   R   R
   t   signalt   SIGINTt   SIG_DFLR   t   FileLockR   t   acquireR   R3   R4   R"   R   t   installEventFiltert   exitt   exec_t   TimeoutR   (   t   optionst   lockt   dlgt   event_eatert   msgbox(    (    s:   lib/python2.7/site-packages/navigator_updater/app/start.pyt	   start_appK   s*    
		(%   R0   R9   R   t   qtpyR    t   qtpy.QtCoreR   R   R   R   t
   qtpy.QtGuiR   t   navigator_updater.configR   R   t   navigator_updater.externalR   t   navigator_updater.staticR	   t   navigator_updater.static.fontsR
   t   navigator_updater.utils.logsR   t!   navigator_updater.utils.qthelpersR   t!   navigator_updater.widgets.dialogsR   t-   navigator_updater.widgets.dialogs.main_dialogR   t   hasattrt   setAttributeR   R   R   R   R   RG   (    (    (    s:   lib/python2.7/site-packages/navigator_updater/app/start.pyt   <module>	   s*   "		