§
    bíhhÏ  ã                   óØ   — d dl mZ d dlmZmZ d dlmZmZmZm	Z	 d dlm
Z
mZmZmZmZ d dlZ	 dadadad„  eej        ¦  «        D ¦   «         Zeai a e¦   «         Z G d	„ d
e¦  «        ZdS )é    )ÚQGuiApplication)ÚQQmlApplicationEngineÚqmlRegisterType)ÚQUrlÚQTimerÚQAbstractListModelÚQModelIndex)ÚQObjectÚSignalÚSlotÚPropertyÚQtNÚ Fc                 ó\   — i | ])}|t           j        d          v ¯|t           j        |         “Œ*S )Úbeebo)Úmodule_infoÚeffect_type_mapsÚeffect_prototypes_models_all)Ú.0Úks     ú'/home/debian/UI/module_browser_model.pyú
<dictcomp>r      sh   € ð  mð  mð  mÈð  BCõ  GRô  Gcð  dkô  Glð  Blð  Bl�a�Ô@ÀÔCð  Blð  Blð  Bló    c                   ó¸  — e Zd Zej        dz   Zej        dz   Zej        dz   Zej        dz   Zej        dz   Z	d„ Z
d„ Zd„ Zd	„ Zd
„ Z e¦   «         d„ ¦   «         Z ee¦  «        d„ ¦   «         Z eee¦  «        d„ ¦   «         Z e¦   «         d„ ¦   «         Z ee¦  «        dd„¦   «         Z e¦   «         d„ ¦   «         Z e¦   «         d„ ¦   «         Zdd„Zd„ Zd„ ZdS )ÚModuleBrowserModelr   é   é   é   é   c                 óâ   — t          j        | ¦  «         t                               ¦   «         | _        t          t          t                               ¦   «         ¦  «        ¦  «        | _        |a| a	d S ©N)
r   Ú__init__Úfiltered_modulesÚkeysÚ!_ModuleBrowserModel__effect_typesÚdictÚ	enumerateÚ_ModuleBrowserModel__orderÚ
favouritesÚmodule_browser_singleton)ÚselfÚl_favouritess     r   r"   zModuleBrowserModel.__init__!   s`   € ÝÔ# DÑ)Ô)Ð)õ /×3Ò3Ñ5Ô5ˆÔÝ�IÕ&6×&;Ò&;Ñ&=Ô&=Ñ>Ô>Ñ?Ô?ˆŒð "ˆ
Ø#'Ð Ð Ð r   c                 ó”   — |                       t          ¦   «         |                      ¦   «         |                      ¦   «         ¦  «         d S r!   )ÚbeginInsertRowsr	   ÚrowCount©r+   s    r   ÚstartInsertzModuleBrowserModel.startInsert-   s4   € à×Ò�[™]œ]¨D¯MªM©O¬O¸T¿]º]¹_¼_ÑMÔMÐMÐMÐMr   c                 óž   — t          t          t                               ¦   «         ¦  «        ¦  «        | _        |                      ¦   «          d S r!   )r&   r'   r#   r$   r(   ÚendInsertRowsr0   s    r   Ú	endInsertzModuleBrowserModel.endInsert1   s>   € å�IÕ&6×&;Ò&;Ñ&=Ô&=Ñ>Ô>Ñ?Ô?ˆŒØ×ÒÑÔÐÐÐr   c                 ó¾   — t          t                               ¦   «         ¦  «                             |¦  «        }|                      t          ¦   «         ||¦  «         d S r!   )Úlistr#   r$   ÚindexÚbeginRemoveRowsr	   ©r+   Ú	effect_idÚcurrent_rows      r   ÚstartRemovezModuleBrowserModel.startRemove6   sL   € ÝÕ+×0Ò0Ñ2Ô2Ñ3Ô3×9Ò9¸)ÑDÔDˆØ×Ò�[™]œ]¨K¸ÑEÔEÐEÐEÐEr   c                 ó.   — |                       ¦   «          d S r!   )ÚendRemoveRowsr0   s    r   Ú	endRemovezModuleBrowserModel.endRemove;   s   € Ø×ÒÑÔÐÐÐr   c                 óØ   — da |                      ¦   «          t          at	          t          t                               ¦   «         ¦  «        ¦  «        | _        |                      ¦   «          d S )Nr   )	Úcurrent_searchÚbeginResetModelÚeffect_prototypesr#   r&   r'   r$   r(   ÚendResetModelr0   s    r   Úclear_filterzModuleBrowserModel.clear_filter>   s_   € ð ˆà×ÒÑÔÐõ -ÐÝ�IÕ&6×&;Ò&;Ñ&=Ô&=Ñ>Ô>Ñ?Ô?ˆŒØ×ÒÑÔÐÐÐr   c                 ó>   — |a |                      t          ¦  «         d S r!   )Úshowing_favouriteÚ
add_filterrA   )r+   Úvs     r   Úshow_favouritesz"ModuleBrowserModel.show_favouritesJ   s"   € ð ÐØ�Š�Ñ'Ô'Ð'Ð'Ð'r   c                 ó¨   — |rt                                |¦  «         nt                                |¦  «         |                      t          ¦  «         d S r!   )Úcurrent_tagsÚaddÚdiscardrH   rA   )r+   ÚtagrI   s      r   Úshow_hide_tagz ModuleBrowserModel.show_hide_tagP   sM   € àð 	&Ý×Ò˜SÑ!Ô!Ð!Ð!å× Ò  Ñ%Ô%Ð%à�Š�Ñ'Ô'Ð'Ð'Ð'r   c                 ól   — t                                ¦   «          |                      t          ¦  «         d S r!   )rL   ÚclearrH   rA   r0   s    r   Ú
clear_tagszModuleBrowserModel.clear_tagsY   s,   € å×ÒÑÔÐØ�Š�Ñ'Ô'Ð'Ð'Ð'r   r   c                 óV  — |a |                      ¦   «          t          r$d„ t                               ¦   «         D ¦   «         ant          at          r#d„ t
                               ¦   «         D ¦   «         at           dk    r_t          t           ¦  «        dk    r$d„ t
                               ¦   «         D ¦   «         an#d„ t
                               ¦   «         D ¦   «         at          t          t
           
                    ¦   «         ¦  «        ¦  «        | _        |                      ¦   «          d S )Nc                 ó8   — i | ]\  }}|t           d          v ¯||“ŒS )Úmodules)r)   ©r   r   rI   s      r   r   z1ModuleBrowserModel.add_filter.<locals>.<dictcomp>h   s/   € ÐiÐiÐi©¨¨1ÈaÕS]Ð^gÔShÐNhÐNh  !ÐNhÐNhÐNhr   c                 óZ   — i | ](\  }}t                                |d          ¦  «        ¯%||“Œ)S )Útags)rL   ÚissubsetrW   s      r   r   z1ModuleBrowserModel.add_filter.<locals>.<dictcomp>m   s8   € ÐoÐoÐo©¨¨1Í\×MbÒMbÐcdÐekÔclÑMmÔMmÐo  !ÐoÐoÐor   r   r   c                 ó¾   — i | ]Z\  }}|                      d d¦  «                             ¦   «                              t                               ¦   «         ¦  «        ¯W||“Œ[S )Ú_ú )ÚreplaceÚlowerÚ
startswithrA   rW   s      r   r   z1ModuleBrowserModel.add_filter.<locals>.<dictcomp>q   sŽ   € ð  $Qð  $Qð  $Q©E¨Q¨qÐQR×QZÒQZÐ[^Ð`cÑQdÔQd×QjÒQjÑQlÔQl×QwÒQwõ  yG÷  yMò  yMñ  yOô  yOñ  RPô  RPð  $Q A að  $Qð  $Qð  $Qr   c                 ó  — i | ]|\  }}t                                ¦   «         |                     d d¦  «                             ¦   «         v s3t                                ¦   «         |d                              ¦   «         v ¯y||“Œ}S )r\   r]   Údescription)rA   r_   r^   rW   s      r   r   z1ModuleBrowserModel.add_filter.<locals>.<dictcomp>s   sã   € ð  $Bð  $Bð  $B©E¨Q¨qÕR`×RfÒRfÑRhÔRhÐlm×luÒluÐvyÐ{~ÑlÔl÷  mFò  mFñ  mHô  mHð  SHð  SHõ  N\÷  Nbò  Nbñ  Ndô  Ndð  hið  jwô  hx÷  h~ò  h~ñ  h@ô  h@ð  N@ð  N@ A að  N@ð  N@ð  N@r   )rA   rB   rG   rC   Úitemsr#   rL   Úlenr&   r'   r$   r(   rD   )r+   Úsearchs     r   rH   zModuleBrowserModel.add_filter^   s8  € ð  ˆà×ÒÑÔÐõ ð 	1ØiÐiÕ1B×1HÒ1HÑ1JÔ1JÐiÑiÔiÐÐå0Ðåð 	pØoÐoÕ1A×1GÒ1GÑ1IÔ1IÐoÑoÔoÐå˜RÒÐÝ•>Ñ"Ô" aÒ'Ð'ð $Qð  $QÕ5E×5KÒ5KÑ5MÔ5Mð  $Qñ  $Qô  $QÐ Ð ð $Bð  $BÕ5E×5KÒ5KÑ5MÔ5Mð  $Bñ  $Bô  $BÐ õ �IÕ&6×&;Ò&;Ñ&=Ô&=Ñ>Ô>Ñ?Ô?ˆŒØ×ÒÑÔÐÐÐr   c                 ó¶   — | j                              |                      dd¦  «        |                      t          t          ¦  «        dz
  d¦  «        ¦  «         d S )Nr   r   )ÚdataChangedÚemitr7   rd   r#   r0   s    r   Úitems_changedz ModuleBrowserModel.items_changedz   sK   € àÔ×Ò˜dŸjšj¨¨1™oœo¨t¯zªz½#Õ>NÑ:OÔ:OÐPQÑ:QÐSTÑ/UÔ/UÑVÔVÐVÐVÐVr   c                 óþ   — t          t                               ¦   «         ¦  «                             |¦  «        }| j                             |                      |d¦  «        |                      |d¦  «        ¦  «         d S )Nr   )r6   r#   r$   r7   rg   rh   r9   s      r   Úitem_changedzModuleBrowserModel.item_changed~   sf   € åÕ+×0Ò0Ñ2Ô2Ñ3Ô3×9Ò9¸)ÑDÔDˆàÔ×Ò˜dŸjšj¨°QÑ7Ô7¸¿ºÀKÐQRÑ9SÔ9SÑTÔTÐTÐTÐTr   Nc                 ó*   — t          t          ¦  «        S r!   )rd   r#   )r+   Úparents     r   r/   zModuleBrowserModel.rowCount„   s   € õ Õ#Ñ$Ô$Ð$r   c                 óB  — |                      ¦   «         st          ¦   «         S |                     ¦   «         }d|cxk    r|                      ¦   «         k     �r<n �n8|t          j        k    r| j        |                     ¦   «                  S |t          j        k    r0t          | j        |                     ¦   «                           d         S |t          j	        k    r0t          | j        |                     ¦   «                           d         S |t          j
        k    r=t          t          | j        |                     ¦   «                           d         ¦  «        S |t          j        k    r,| j        |                     ¦   «                  t          d         v S t          ¦   «         S )Nr   rb   Úlong_descriptionrY   rV   )ÚisValidÚQVariantÚrowr/   r   Ú
EffectTyper(   ÚDescriptionr#   ÚLongDescriptionÚTagsr6   Ú	Favouriter)   )r+   r7   Úrolerr   s       r   ÚdatazModuleBrowserModel.data‰   sC  € Ø�}Š}‰Œð 	Ý‘:”:ÐØ�iŠi‰kŒkˆØ�Ð%Ð%Ò%Ð%�d—m’m‘o”oÒ%Ñ%Ð%Ð%Ñ%àÕ)Ô4Ò4Ð4à”| E§I¢I¡K¤KÔ0Ð0ØÕ+Ô7Ò7Ð7å'¨¬°U·Y²Y±[´[Ô(AÔBÀ=ÔQÐQØÕ+Ô;Ò;Ð;Ý'¨¬°U·Y²Y±[´[Ô(AÔBÐCUÔVÐVØÕ+Ô0Ò0Ð0åÕ,¨T¬\¸%¿)º)¹+¼+Ô-FÔGÈÔOÑPÔPÐPØÕ+Ô5Ò5Ð5Ø”| E§I¢I¡K¤KÔ0µJ¸yÔ4IÐIÐIÝ‰zŒzÐr   c           
      ó~   — t           j        dt           j        dt           j        dt           j        dt           j        diS )Ns   l_effect_types   descriptions   long_descriptions   tagss   is_favourite)r   rs   rt   ru   rv   rw   r0   s    r   Ú	roleNameszModuleBrowserModel.roleNamesž   s6   € åÔ)Ð+;ÝÔ*¨NÝÔ.Ð0CÝÔ# WÝÔ(¨/ð
ð 	
r   )r   r!   )Ú__name__Ú
__module__Ú__qualname__r   ÚUserRolers   rt   ru   rv   rw   r"   r1   r4   r<   r?   r   rE   ÚboolrJ   ÚstrrP   rS   rH   ri   rk   r/   ry   r{   © r   r   r   r      sÈ  € € € € € à”˜q‘€JØ”+ ‘/€KØ”k A‘o€OØŒ;˜‰?€DØ”˜a‘€Ið	(ð 	(ð 	(ðNð Nð Nðð ð ð
Fð Fð Fð
ð ð ð 
€T�V„Vð	ð 	ñ „Vð	ð 
€Tˆ$�Z„Zð(ð (ñ „Zð(ð
 
€Tˆ#ˆt�_„_ð(ð (ñ „_ð(ð 
€T�V„Vð(ð (ñ „Vð(ð 
€Tˆ#�Y„Yðð ð ñ „Yðð6 
€T�V„VðWð Wñ „VðWð 
€T�V„VðUð Uñ „VðUð
%ð %ð %ð %ð
ð ð ð*
ð 
ð 
ð 
ð 
r   r   )ÚPySide2.QtGuir   ÚPySide2.QtQmlr   r   ÚPySide2.QtCorer   r   r   r	   r
   r   r   r   r   r   r*   rA   rG   Úsortedr   rC   r#   r)   ÚsetrL   r   r‚   r   r   ú<module>rˆ      s)  ðð *Ð )Ð )Ð )Ð )Ð )Ø @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ø HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ Hà >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >à Ð Ð Ð ðð
  Ð Ø€ØÐ ð mð  mÈVÈVÐT_ÔT|ÑM}ÔM}ð  mñ  mô  mÐ Ø$Ð Ø€
Øˆs‰uŒu€ðL
ð L
ð L
ð L
ð L
Ð+ñ L
ô L
ð L
ð L
ð L
r   