Ë
    Î£j!5  ã                   óª   — d dl mZmZmZ d dlmZ d dlmZmZm	Z	m
Z
mZmZmZmZmZmZ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mZ  G d„ d	e«      Zy
)é    )ÚQEventÚQtÚ
pyqtSignal)ÚQAction)ÚQAbstractItemViewÚQFrameÚQHBoxLayoutÚQLabelÚ	QLineEditÚQListWidgetÚQMenuÚQPushButtonÚQStyleÚQToolButtonÚQVBoxLayoutÚQWidget)ÚLoadOrderPanel)ÚAddonDescription)Úconfirm_action)ÚBUTTON_STYLE_ALTÚFRAME_STYLEÚSECTION_LABEL_STYLEc                   ó
  ‡ — e Zd Z e«       Z e«       Z e«       Z e«       Z e«       Z e«       Z	 ee
«      Zdˆ fd„	Zd„ Zd„ Zd„ Zde
fd„Zd„ Zd„ Zd	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zed„ «       Zd„ Zd„ Zd„ Zˆ fd„Z ˆ xZ!S )Ú
AddonPanelc                 óÂ   •— t         ‰| �  |«       d | _        d | _        d | _        d | _        d | _        d | _        d| _        d| _	        d | _
        | j                  «        y )NF)ÚsuperÚ__init__Úaddons_listÚaddon_searchÚload_order_panelÚaddon_descriptionÚdetails_frameÚdetails_headerÚdetails_collapsedÚdetails_has_contentÚcollapse_btnÚsetup_ui)ÚselfÚparentÚ	__class__s     €úBC:\Users\pivot\Documents\cueki\casual-preloader\gui\addon_panel.pyr   zAddonPanel.__init__!   sa   ø€ Ü‰Ñ˜Ô ØˆÔØ ˆÔØ $ˆÔØ!%ˆÔØ!ˆÔØ"ˆÔØ!&ˆÔØ#(ˆÔ Ø ˆÔØ�‰�ó    c                 ó®  — t        | «      }|j                  dddd«       t        «       }|j                  dddd«       t        «       }|j                  dddd«       t        «       }|j	                  t
        «       t        |«      }t        «       }t        d«      }|j	                  t        «       |j                  |«       |j                  «        t        «       | _        | j                  j                  d«       | j                  j                  d«       | j                  j                  j                  | j                   «       |j                  | j                  «       t#        d«      }|j	                  t$        «       |j&                  j                  | j(                  j*                  «       |j                  |«       t-        «       }	|	j/                  d«       |	j1                  d«       |	j3                  | j5                  «       j7                  t8        j:                  j<                  «      «       |	j&                  j                  | j>                  j*                  «       |j                  |	«       |jA                  |«       tC        «       | _"        | jD                  jG                  tB        jH                  jJ                  «       | jD                  jL                  j                  | jN                  «       | jD                  jP                  j                  | jR                  «       | jD                  jT                  j                  | jV                  «       | jD                  jY                  tZ        j\                  j^                  «       | jD                  j`                  j                  | jb                  «       | jD                  je                  tf        jh                  jj                  «       | jD                  jm                  «       }
|
jo                  d«       |j                  | jD                  «       |j                  |d	«       t        «       | _8        | jp                  j	                  t
        «       t        | jp                  «      }ts        «       | _:        | jt                  jw                  | «       t        | jt                  «      }|j                  dddd«       t        d
«      }|j	                  t        «       |j                  |«       |j                  «        t-        «       | _<        | jx                  j/                  d«       | jx                  j3                  | j5                  «       j7                  t8        j:                  jz                  «      «       | jx                  j&                  j                  | j|                  «       |j                  | jx                  «       |j                  | jt                  «       t        «       | _@        | j€                  j‚                  j                  | j„                  «       |j                  | j€                  d«       |j                  | jp                  d«       |jA                  |d	«       t‡        «       | _D        | jˆ                  jŠ                  j                  | jŒ                  «       | jˆ                  jŽ                  j                  | j�                  «       | jˆ                  j’                  j                  | j”                  «       |j                  | jˆ                  d«       |jA                  |«       | j—                  «        y )Nr   zAvailable Addonsz	Search...é–   zOpen FolderTzRefresh all addonsé   é   zAddon Detailsé   )Lr   ÚsetContentsMarginsr	   r   ÚsetStyleSheetr   r
   r   Ú	addWidgetÚ
addStretchr   r   ÚsetPlaceholderTextÚsetFixedWidthÚtextChangedÚconnectÚ_filter_addonsr   r   ÚclickedÚopen_folder_clickedÚemitr   ÚsetAutoRaiseÚ
setToolTipÚsetIconÚstyleÚstandardIconr   ÚStandardPixmapÚSP_BrowserReloadÚrefresh_clickedÚ	addLayoutr   r   ÚsetSelectionModeÚSelectionModeÚExtendedSelectionÚitemClickedÚon_selection_changedÚitemChangedÚon_checkbox_changedÚitemDoubleClickedÚon_double_clickÚsetContextMenuPolicyr   ÚContextMenuPolicyÚCustomContextMenuÚcustomContextMenuRequestedÚshow_context_menuÚsetVerticalScrollModer   Ú
ScrollModeÚScrollPerPixelÚverticalScrollBarÚsetSingleStepr"   r   r#   ÚinstallEventFilterr&   ÚSP_TitleBarMinButtonÚtoggle_details_collapser   r!   Úcontent_changedÚon_details_content_changedr   r    Úload_order_changedÚon_load_order_changedÚunadd_requestedÚon_unadd_requestedÚdeselect_all_requestedÚon_deselect_all_requestedÚ_update_details_frame_size)r(   ÚlayoutÚcolumnsÚleft_columnÚavailable_frameÚavailable_layoutÚ
header_rowÚavailable_lblÚopen_folder_btnÚrefresh_btnÚv_scrollbarÚdetails_layoutÚdetails_header_layoutÚdetails_lbls                 r+   r'   zAddonPanel.setup_ui.   si  € Ü˜TÓ"ˆØ×!Ñ! ! Q¨¨1Ô-ô “-ˆØ×"Ñ" 1 a¨¨AÔ.ô "“mˆØ×&Ñ& q¨!¨Q°Ô2ô !›(ˆØ×%Ñ%¤kÔ2Ü& Ó7Ðô !“]ˆ
ÜÐ1Ó2ˆØ×#Ñ#Ô$7Ô8Ø×Ñ˜]Ô+Ø×ÑÔä%›KˆÔØ×Ñ×,Ñ,¨[Ô9Ø×Ñ×'Ñ'¨Ô,Ø×Ñ×%Ñ%×-Ñ-¨d×.AÑ.AÔBØ×Ñ˜T×.Ñ.Ô/ä% mÓ4ˆØ×%Ñ%Ô&6Ô7Ø×Ñ×'Ñ'¨×(@Ñ(@×(EÑ(EÔFØ×Ñ˜_Ô-ä!“mˆØ× Ñ  Ô&Ø×ÑÐ3Ô4Ø×Ñ˜DŸJ™J›L×5Ñ5´f×6KÑ6K×6\Ñ6\Ó]Ô^Ø×Ñ×#Ñ# D×$8Ñ$8×$=Ñ$=Ô>Ø×Ñ˜[Ô)à×"Ñ" :Ô.ä&›=ˆÔØ×Ñ×)Ñ)¬+×*CÑ*C×*UÑ*UÔVØ×Ñ×$Ñ$×,Ñ,¨T×-FÑ-FÔGØ×Ñ×$Ñ$×,Ñ,¨T×-EÑ-EÔFØ×Ñ×*Ñ*×2Ñ2°4×3GÑ3GÔHØ×Ñ×-Ñ-¬b×.BÑ.B×.TÑ.TÔUØ×Ñ×3Ñ3×;Ñ;¸D×<RÑ<RÔSð 	×Ñ×.Ñ.Ô/@×/KÑ/K×/ZÑ/ZÔ[Ø×&Ñ&×8Ñ8Ó:ˆØ×!Ñ! !Ô$à×"Ñ" 4×#3Ñ#3Ô4Ø×Ñ˜o¨qÔ1ô $›XˆÔØ×Ñ×(Ñ(¬Ô5Ü$ T×%7Ñ%7Ó8ˆô &›iˆÔØ×Ñ×.Ñ.¨tÔ4Ü +¨D×,?Ñ,?Ó @ÐØ×0Ñ0°°A°q¸!Ô<Ü˜_Ó-ˆØ×!Ñ!Ô"5Ô6Ø×'Ñ'¨Ô4Ø×(Ñ(Ô*ä'›MˆÔØ×Ñ×&Ñ& tÔ,Ø×Ñ×!Ñ! $§*¡*£,×";Ñ";¼F×<QÑ<Q×<fÑ<fÓ"gÔhØ×Ñ×!Ñ!×)Ñ)¨$×*FÑ*FÔGØ×'Ñ'¨×(9Ñ(9Ô:Ø× Ñ  ×!4Ñ!4Ô5ä!1Ó!3ˆÔØ×Ñ×.Ñ.×6Ñ6°t×7VÑ7VÔWØ× Ñ  ×!7Ñ!7¸Ô;Ø×Ñ˜d×0Ñ0°!Ô4à×Ñ˜+ qÔ)ô !/Ó 0ˆÔØ×Ñ×0Ñ0×8Ñ8¸×9SÑ9SÔTØ×Ñ×-Ñ-×5Ñ5°d×6MÑ6MÔNØ×Ñ×4Ñ4×<Ñ<¸T×=[Ñ=[Ô\Ø×Ñ˜$×/Ñ/°Ô3à×Ñ˜Ô!ð 	×'Ñ'Õ)r,   c                 ó8   — | j                   j                  «        y ©N)Úaddon_selection_changedr=   ©r(   s    r+   rK   zAddonPanel.on_selection_changed“   s   € Ø×$Ñ$×)Ñ)Õ+r,   c                 ó8  — | j                    | _         | j                  j                  | j                   «       | j                  j	                  | j                    «       | j                   rQ| j
                  j                  | j                  «       j                  t        j                  j                  «      «       nP| j
                  j                  | j                  «       j                  t        j                  j                  «      «       | j                  «        y rt   )r$   Údetails_collapse_changedr=   r!   Ú
setVisibler&   r@   rA   rB   r   rC   ÚSP_TitleBarNormalButtonr[   re   rv   s    r+   r\   z"AddonPanel.toggle_details_collapse–   sÁ   € Ø%)×%;Ñ%;Ð!;ˆÔØ×%Ñ%×*Ñ*¨4×+AÑ+AÔBØ×Ñ×)Ñ)¨d×.DÑ.DÐ*DÔEØ×!Ò!Ø×Ñ×%Ñ% d§j¡j£l×&?Ñ&?Ä×@UÑ@U×@mÑ@mÓ&nÕoà×Ñ×%Ñ% d§j¡j£l×&?Ñ&?Ä×@UÑ@U×@jÑ@jÓ&kÔlØ×'Ñ'Õ)r,   Úhas_contentc                 ó2   — || _         | j                  «        y rt   )r%   re   )r(   r{   s     r+   r^   z%AddonPanel.on_details_content_changed    s   € Ø#.ˆÔ Ø×'Ñ'Õ)r,   c                 ól  — | j                   j                  «       }|j                  «       }| j                  j	                  «       j                  «       }| j                  r@|j                  «       |z   |j                  «       z   }| j                   j                  |«       y | j                  sT|j                  «       |z   |j                  «       z   dz   |j                  «       z   }| j                   j                  |«       y | j                   j                  d«       | j                   j                  d«       y )Né(   iÿÿÿ r   )r"   rf   ÚcontentsMarginsr&   ÚsizeHintÚheightr$   ÚtopÚbottomÚsetFixedHeightr%   ÚspacingÚsetMaximumHeightÚsetMinimumHeight)r(   rf   ÚmarginsÚheader_heightÚcollapsed_heightÚempty_heights         r+   re   z%AddonPanel._update_details_frame_size¤   só   € Ø×#Ñ#×*Ñ*Ó,ˆØ×(Ñ(Ó*ˆØ×)Ñ)×2Ñ2Ó4×;Ñ;Ó=ˆà×!Ò!à&Ÿ{™{›}¨}Ñ<¸w¿~¹~Ó?OÑOÐØ×Ñ×-Ñ-Ð.>Õ?Ø×)Ò)à"Ÿ;™;›=¨=Ñ8¸6¿>¹>Ó;KÑKÈbÑPÐSZ×SaÑSaÓScÑcˆLØ×Ñ×-Ñ-¨lÕ;ð ×Ñ×/Ñ/°Ô9Ø×Ñ×/Ñ/°Õ2r,   c                 ó^  — |r«|j                  «       t        j                  j                  z  r|j	                  «       t        j
                  j                  k(  r*|j                  t        j
                  j                  «       y |j                  t        j
                  j                  «       y y y rt   )	Úflagsr   ÚItemFlagÚItemIsUserCheckableÚ
checkStateÚ
CheckStateÚCheckedÚsetCheckStateÚ	Unchecked©r(   Úitems     r+   rO   zAddonPanel.on_double_click¶   sm   € Ù�D—J‘J“L¤2§;¡;×#BÑ#BÒBØ�‰Ó ¤B§M¡M×$9Ñ$9Ò9Ø×"Ñ"¤2§=¡=×#:Ñ#:Õ;à×"Ñ"¤2§=¡=×#8Ñ#8Õ9ð	 Cˆ4r,   c                 óX   — | j                  «        | j                  j                  «        y rt   )Úupdate_load_order_listÚaddon_checkbox_changedr=   rv   s    r+   rM   zAddonPanel.on_checkbox_changed½   s    € Ø×#Ñ#Ô%Ø×#Ñ#×(Ñ(Õ*r,   c                 ó8   — | j                   j                  «        y rt   )r_   r=   rv   s    r+   r`   z AddonPanel.on_load_order_changedÁ   s   € Ø×Ñ×$Ñ$Õ&r,   c                 óâ  — t        | j                  j                  «       «      D ]É  }| j                  j                  |«      }|sŒ!|j	                  «       t
        j                  j                  z  sŒM|j                  t
        j                  j                  «      xs" |j                  «       j                  d«      d   }||k(  sŒ |j                  t
        j                  j                  «        y  y ©Nz [#r   )Úranger   Úcountr–   r�   r   rŽ   r�   ÚdataÚItemDataRoleÚUserRoleÚtextÚsplitr“   r‘   r”   )r(   Ú
addon_nameÚir–   Úoriginal_names        r+   rb   zAddonPanel.on_unadd_requestedÄ   s¨   € ä�t×'Ñ'×-Ñ-Ó/Ö0ˆAØ×#Ñ#×(Ñ(¨Ó+ˆDÚ˜Ÿ
™
›¤r§{¡{×'FÑ'FÓFØ $§	¡	¬"¯/©/×*BÑ*BÓ CÒ bÀtÇyÁyÃ{×GXÑGXÐY^ÓG_Ð`aÑGb�Ø  JÓ.Ø×&Ñ&¤r§}¡}×'>Ñ'>Ô?Ùñ 1r,   c                 ó2  — | j                  «       }|sy t        | dd«      sy | j                  j                  d«       |D ]+  }|j	                  t
        j                  j                  «       Œ- | j                  j                  d«       | j                  «        y )NzDeselect Allz$Remove all mods from the load order?TF)	Úget_checked_itemsr   r   ÚblockSignalsr“   r   r‘   r”   rM   )r(   Úcheckedr–   s      r+   rd   z$AddonPanel.on_deselect_all_requestedÎ   s|   € à×(Ñ(Ó*ˆÙØÜ˜d NÐ4ZÔ[ØØ×Ñ×%Ñ% dÔ+ÛˆDØ×ÑœrŸ}™}×6Ñ6Õ7ð à×Ñ×%Ñ% eÔ,Ø× Ñ Õ"r,   c                 ó6  — g }t        | j                  j                  «       «      D ]Ö  }| j                  j                  |«      }|sŒ!|j	                  «       t
        j                  j                  z  sŒM|j                  «       t
        j                  j                  k(  sŒy|j                  t
        j                  j                  «      xs" |j                  «       j                  d«      d   }|j!                  |«       ŒØ | j"                  j%                  |«       y rœ   )r�   r   rž   r–   r�   r   rŽ   r�   r�   r‘   r’   rŸ   r    r¡   r¢   r£   Úappendr    Úsync_from_checked_addons)r(   Úchecked_itemsr¥   r–   r¦   s        r+   r˜   z!AddonPanel.update_load_order_listÛ   sÉ   € ð ˆÜ�t×'Ñ'×-Ñ-Ó/Ö0ˆAØ×#Ñ#×(Ñ(¨Ó+ˆDÚ˜Ÿ
™
›¤r§{¡{×'FÑ'FÓFØ—?‘?Ó$¬¯©×(=Ñ(=Ó=à$(§I¡I¬b¯o©o×.FÑ.FÓ$GÒ$fÈ4Ï9É9Ë;×K\ÑK\Ð]bÓKcÐdeÑKf�MØ!×(Ñ(¨Õ7ð 1ð 	×Ñ×6Ñ6°}ÕEr,   c                 óh  — g }t        | j                  j                  «       «      D ]‰  }| j                  j                  |«      }|sŒ!|j	                  «       t
        j                  j                  z  sŒM|j                  «       t
        j                  j                  k(  sŒy|j                  |«       Œ‹ |S rt   )r�   r   rž   r–   r�   r   rŽ   r�   r�   r‘   r’   r¬   )r(   r®   r¥   r–   s       r+   r¨   zAddonPanel.get_checked_itemsê   s„   € ØˆÜ�t×'Ñ'×-Ñ-Ó/Ö0ˆAØ×#Ñ#×(Ñ(¨Ó+ˆDÚ˜Ÿ
™
›¤r§{¡{×'FÑ'FÓFØ—?‘?Ó$¬¯©×(=Ñ(=Ó=Ø!×(Ñ(¨Õ.ð	 1ð
 Ðr,   c                 ó6   — | j                   j                  «       S rt   )r    Úget_load_orderrv   s    r+   r±   zAddonPanel.get_load_orderó   s   € à×$Ñ$×3Ñ3Ó5Ð5r,   c                 ó2  ‡ — ‰ j                   j                  |«      }|�rx|j                  «       t        j                  j
                  z  �rK|j                  «       s‰ j                   j                  |«       ‰ j                  j                  «        ‰ j                  «       }t        ‰ «      }t        |«      dk  �r‰ j                  «       j                  t        j                   j"                  «      }t%        |d‰ «      }|j&                  j)                  ‰ j*                  j,                  «       |j/                  |«       ‰ j                  «       j                  t        j                   j0                  «      }t%        |d‰ «      }|j&                  j)                  ‰ j*                  j2                  «       |j/                  |«       |j5                  «        ‰ j                  «       j                  t        j                   j6                  «      }	t%        |	‰ j9                  d|«      ‰ «      }
|
j&                  j)                  ˆ fd„«       |j/                  |
«       ‰ j                  «       j                  t        j                   j:                  «      }t%        |‰ j9                  d|«      ‰ «      }|j&                  j)                  ˆ fd„«       |j/                  |«       |j5                  «        ‰ j                  «       j                  t        j                   j<                  «      }t%        |‰ j9                  d|«      ‰ «      }|j&                  j)                  ˆ fd	„«       |j/                  |«       |j?                  ‰ j                   jA                  |«      «       y y y )
Nr1   zEdit mod.jsonzExport as VPKÚEnablec                  óV   •— ‰ j                  t        j                  j                  «      S rt   )Úset_selected_check_stater   r‘   r’   rv   s   €r+   Ú<lambda>z.AddonPanel.show_context_menu.<locals>.<lambda>  s   ø€ °D×4QÑ4QÔRT×R_ÑR_×RgÑRgÔ4hr,   ÚDisablec                  óV   •— ‰ j                  t        j                  j                  «      S rt   )rµ   r   r‘   r”   rv   s   €r+   r¶   z.AddonPanel.show_context_menu.<locals>.<lambda>  s   ø€ °T×5RÑ5RÔSU×S`ÑS`×SjÑSjÔ5kr,   ÚDeletec                  ó8   •— ‰ j                   j                  «       S rt   )Údelete_button_clickedr=   rv   s   €r+   r¶   z.AddonPanel.show_context_menu.<locals>.<lambda>  s   ø€ °D×4NÑ4N×4SÑ4SÔ4Ur,   )!r   ÚitemAtr�   r   rŽ   r�   Ú
isSelectedÚsetCurrentItemru   r=   Úget_selected_addonsr   ÚlenrA   rB   r   rC   ÚSP_FileDialogDetailedViewr   Ú	triggeredr9   r!   Úopen_editorÚ	addActionÚSP_DialogSaveButtonÚexport_addonÚaddSeparatorÚSP_DialogApplyButtonÚ_bulk_labelÚSP_DialogCancelButtonÚSP_TrashIconÚexecÚmapToGlobal)r(   Úpositionr–   ÚselectedÚmenuÚ	edit_iconÚedit_actionÚexport_iconÚexport_actionÚenable_iconÚenable_actionÚdisable_iconÚdisable_actionÚdelete_iconÚdelete_actions   `              r+   rT   zAddonPanel.show_context_menu÷   s›  ø€ Ø×Ñ×&Ñ& xÓ0ˆÚ�D—J‘J“L¤2§;¡;×#BÑ#BÓBà—?‘?Ô$Ø× Ñ ×/Ñ/°Ô5Ø×(Ñ(×-Ñ-Ô/à×/Ñ/Ó1ˆHä˜“;ˆDô �8‹} Ó!Ø ŸJ™J›L×5Ñ5´f×6KÑ6K×6eÑ6eÓf�	Ü% i°À$ÓG�Ø×%Ñ%×-Ñ-¨d×.DÑ.D×.PÑ.PÔQØ—‘˜{Ô+à"Ÿj™j›l×7Ñ7¼×8MÑ8M×8aÑ8aÓb�Ü '¨°_ÀdÓ K�Ø×'Ñ'×/Ñ/°×0FÑ0F×0SÑ0SÔTØ—‘˜}Ô-à×!Ñ!Ô#àŸ*™*›,×3Ñ3´F×4IÑ4I×4^Ñ4^Ó_ˆKÜ# K°×1AÑ1AÀ(ÈHÓ1UÐW[Ó\ˆMØ×#Ñ#×+Ñ+Ó,hÔiØ�N‰N˜=Ô)àŸ:™:›<×4Ñ4´V×5JÑ5J×5`Ñ5`ÓaˆLÜ$ \°4×3CÑ3CÀIÈxÓ3XÐZ^Ó_ˆNØ×$Ñ$×,Ñ,Ó-kÔlØ�N‰N˜>Ô*à×ÑÔàŸ*™*›,×3Ñ3´F×4IÑ4I×4VÑ4VÓWˆKÜ# K°×1AÑ1AÀ(ÈHÓ1UÐW[Ó\ˆMØ×#Ñ#×+Ñ+Ó,UÔVØ�N‰N˜=Ô)à�I‰I�d×&Ñ&×2Ñ2°8Ó<Õ=ðS Cˆ4r,   c                 ó,   — t        |«      dkD  r| › d�S | S )Nr1   z all selected)rÀ   )ÚverbrÏ   s     r+   rÉ   zAddonPanel._bulk_label$  s   € ä),¨X«¸Ò):�$��}Ð%ÐDÀÐDr,   c                 ó²   — | j                   j                  «       D �cg c]/  }|j                  «       t        j                  j
                  z  r|‘Œ1 c}S c c}w rt   )r   ÚselectedItemsr�   r   rŽ   r�   r•   s     r+   r¿   zAddonPanel.get_selected_addons(  sP   € ð "×-Ñ-×;Ñ;Ô=ó
Ù=�TØ�z‰z‹|œbŸk™k×=Ñ=Ò=ò Ð=ñ
ð 	
ùò 
s   �4Ac                 ó2  — | j                  «       D �cg c]  }|j                  «       |k7  sŒ|‘Œ }}|sy | j                  j                  d«       |D ]  }|j	                  |«       Œ | j                  j                  d«       | j                  «        y c c}w )NTF)r¿   r�   r   r©   r“   rM   )r(   Ústater–   Útargetss       r+   rµ   z#AddonPanel.set_selected_check_state/  sˆ   € à$(×$<Ñ$<Ô$>Ó]Ñ$>˜DÀ$Ç/Á/ÓBSÐW\ÓB\’4Ð$>ˆÐ]ÙØà×Ñ×%Ñ% dÔ+ÛˆDØ×Ñ˜uÕ%ð à×Ñ×%Ñ% eÔ,Ø× Ñ Õ"ùò ^s
   “B¬Bc                 ó  — t        | j                  j                  «       «      D ]Z  }| j                  j                  |«      }|j	                  |j                  «       |j                  «       j                  «       v«       Œ\ y rt   )r�   r   rž   r–   Ú	setHiddenÚlowerr¢   )r(   r¢   r¥   r–   s       r+   r:   zAddonPanel._filter_addons;  s\   € Ü�t×'Ñ'×-Ñ-Ó/Ö0ˆAØ×#Ñ#×(Ñ(¨Ó+ˆDØ�N‰N˜4Ÿ:™:›<¨t¯y©y«{×/@Ñ/@Ó/BÐBÕCñ 1r,   c                 óº   •— || j                   k(  r<|j                  «       t        j                  j                  k(  r| j                  «        yt        ‰| �  ||«      S )NT)r#   Útyper   ÚTypeÚMouseButtonDblClickr\   r   ÚeventFilter)r(   ÚobjÚeventr*   s      €r+   ré   zAddonPanel.eventFilter@  sI   ø€ Ø�$×%Ñ%Ò%¨%¯*©*«,¼&¿+¹+×:YÑ:YÒ*YØ×(Ñ(Ô*ØÜ‰wÑ" 3¨Ó.Ð.r,   rt   )"Ú__name__Ú
__module__Ú__qualname__r   ru   r™   r_   r»   r<   rE   Úboolrx   r   r'   rK   r\   r^   re   rO   rM   r`   rb   rd   r˜   r¨   r±   rT   ÚstaticmethodrÉ   r¿   rµ   r:   ré   Ú__classcell__)r*   s   @r+   r   r      sÃ   ø„ Ù(›lÐÙ'›\ÐÙ#›ÐÙ&›LÐÙ$›,ÐÙ “l€OÙ)¨$Ó/Ðõòc*òJ,ò*ð*°dó *ò3ò$:ò+ò'òò#òFòò6ò+>ðZ ñEó ðEò
ò
#òD÷
/ð /r,   r   N)ÚPyQt6.QtCorer   r   r   ÚPyQt6.QtGuir   ÚPyQt6.QtWidgetsr   r   r	   r
   r   r   r   r   r   r   r   r   Úgui.load_order_panelr   Úgui.addon_detailsr   Úgui.dialogsr   Ú	gui.themer   r   r   r   © r,   r+   Ú<module>rú      sA   ðß /Ñ /Ý ÷÷ ÷ ó õ 0Ý .Ý &ß HÑ Hôl/�õ l/r,   