
    cer                     `   d Z ddlmZmZmZmZ ddlZddlmZm	Z	 ddl
mZmZmZmZ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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&m'Z' ddl(m)Z) ddl*m+Z+ ej        Z,e j-        e j.        e j/        gZ0 G d de          Z1 G d de          Z2dS )Conda packages table view.    )divisionprint_functionunicode_literalswith_statementN)PYQT4PYQT5)QEventQPointQSizeQtQUrlSignal)QColorQDesktopServicesQIconQPen)QAbstractItemViewQHeaderViewQItemDelegateQMenu
QTableView)MAC)	constants)get_image_path)	telemetry)to_text_string)add_actionscreate_action)MultiColumnSortFilterProxy)CondaPackagesModelc                       e Zd ZdZd Zd ZdS )CustomDelegatez<Custom delegate to handle selected/hovered behavior of rows.c                    t          j        | |||           |                                }|                                }|j        }|t
          j        t
          j        t
          j        fv rt                      }|
                    d           |                    t          d                     |                    |           |                    |                                |                                           ||                                 k    s.||                                 k    r|                                 r	t                      }|
                    d           ||                                 k    r#|                    t          d                     n"|                    t          d                     |                    |           |                    |                                |                                           |                    |                                |                                           ||                                 k    r|                                 r|t
          j        fv rt                      }|
                    d           |                    t          d                     |                    |           t/          dd          }t/          dd          }	|                    |                                |	z
  |                                |z              d	S d	S d	S d	S )
Override Qt method.   z#dddz#007041z#43b02a
   r         N)r   paintcolumnrowrectCCOL_NAMECOL_DESCRIPTIONCOL_VERSIONr   setWidthsetColorr   setPendrawLinetopRightbottomRightcurrent_hover_rowcurrent_rowhas_focus_or_contexttopLeft
bottomLeft	COL_STARTr   )
selfpainteroptionindexr+   r,   r-   pendytdybs
             Hlib/python3.11/site-packages/anaconda_navigator/widgets/manager/table.pyr*   zCustomDelegate.paint/   s   D'65999iikk{aj!"3Q]CCC&&CLLOOOLL(((NN3T]]__d.>.>.@.@AAA4))++++sd6F6F6H6H/H/HTMfMfMhMh/H&&CLLOOOd&&((((VI..////VI..///NN3T\\^^T]]__===T__..0@0@0B0BCCC4##%%%%$*C*C*E*E%&UVU`TaJaJa&&CLLLL	**+++NN3A,,CA,,CT__..4dllnns6JKKKKK &%%%JaJa    c                     |                                 }|t          j        t          j        fv rt	          dd          S t          j        | ||          S )r%       )r+   r.   ACTION_COLUMNSCOL_PACKAGE_TYPEr   r   sizeHint)r>   stylemodel_indexr+   s       rE   rK   zCustomDelegate.sizeHintQ   sL    ##%%a&(:;;;R== %dE;???rF   N)__name__
__module____qualname____doc__r*   rK    rF   rE   r#   r#   -   sA        FF L  L  LD@ @ @ @ @rF   r#   c                       e Zd ZdZdZdZdZdZ ee	e	e	e	          Z
 eeeee	e	e	          Z eee          Z ee          Z e            Z e            Z fdZd!dZd Zd	 Zd
 Zd Zd Zd Zd Zd Zd Zd Z fdZ fdZd Z d Z!d Z"e#d             Z$d Z%e&j'        dfdZ(	 d"dZ)d Z*d Z+d Z,d Z-e#d              Z. xZ/S )#TableCondaPackagesr      x   Z   c                 &   t                                          |           || _        d| _        t          j        | _        t          |           | _        d| _	        d| _
        d| _        d| _        i | _        d| _        d| _        d| _        d| _        d| _        d| _        d| _        |                     t,          j                   |                     d           |                     t,          j                   |                                                                  |                     d           |                     d           | j        | j        _        | j         | j        _         | j!        | j        _"        | j#        | j        _#        | $                    | j                   | %                    d           | &                    d           | '                    tP          j)                   | *                                | _+        tX          r%| j+        -                    t\          j/                   nat`          rZ	 | j+        -                    t\          j/                   n4# tb          $ r' | j+        2                    t\          j/                   Y nw xY w| j+        3                    d           | 4                    t          j5        tP          j6                   | 7                    tP          j8                   | 9                                 dS )r    NTFz/QHeaderView {border: 0px; border-radius: 0px;};):super__init___parent
_searchboxr.   ALL
_filterboxr#   	_delegate	row_count_advanced_mode_current_hover_row_menu_palette_model_index_clickedvalidcolumn_current_indexpressed_heresource_modelproxy_modelsetSelectionBehaviorr   
SelectRowssetAlternatingRowColorssetSelectionModeNoSelectionverticalHeaderhidesetSortingEnabledsetMouseTrackingr9   r8   updateupdate_indexr:   setItemDelegatesetShowGridsetWordWrapsetHorizontalScrollBarPolicyr   ScrollBarAlwaysOffhorizontalHeader_hheaderr	   setSectionResizeModer   Fixedr   	ExceptionsetResizeModesetStyleSheetsortByColumnr/   AscendingOrdersetContextMenuPolicyCustomContextMenuhide_columns)r>   parent	__class__s     rE   r[   zTableCondaPackages.__init__h   s      %'--""&
 %)!
! " !!"3">???$$T***/;<<<""$$$t$$$d###%)%5"+/+A(&*k#.2.G+T^,,,))"*?@@@ --// 	?M..{/@AAAA 	??22;3DEEEE ? ? ?++K,=>>>>>?##$YZZZ!*b&7888!!""6777s   $I& &.JJNc                    t          |           | _        t          | ||          | _        | j                            | j                   |                     | j                   |r|ni | _        i }|D ] }||                             d          ||<   !|| _        | j        	                    d           d }d }| 
                                                    d|           | 
                                                    d|           |                                 j                            | j                   |                                  |                                  |                                  dS )zSetup model content.sizeTc                     t           fdt          |                                                                          D                       }t           fdt          |                                          D                       }|p|S )zFilter text helper function.c              3   d   K   | ]*}|t           j                                                 v V  +d S N)r.   r/   lower.0tr,   s     rE   	<genexpr>zFTableCondaPackages.setup_model.<locals>.filter_text.<locals>.<genexpr>   s:      ee1!s1:44666eeeeeerF   c              3   d   K   | ]*}|t           j                                                 v V  +d S r   )r.   r0   r   r   s     rE   r   zFTableCondaPackages.setup_model.<locals>.filter_text.<locals>.<genexpr>   s<      dd!!s1#45;;===ddddddrF   )allr   r   split)r,   textstatusin_namein_descs   `    rE   filter_textz3TableCondaPackages.setup_model.<locals>.filter_text   s    eeeet@T@T@Z@Z@\@\@b@b@d@deeeeeGdddd~VZG[G[GaGaGcGcdddddG%g%rF   c                     t          | t          j                           t          |          v }t          | t          j                           t          |          v }|p|S )zFilter status helper function.)r   r.   
COL_STATUS
COL_ACTION)r,   r   r   test1test2s        rE   filter_statusz5TableCondaPackages.setup_model.<locals>.filter_status   sN    "3q|#4559O9OOE"3q|#4559O9OOE>E!rF   ztext-searchzstatus-searchN)r    rl   r!   rk   setSourceModelsetModelmetadata_linksget_packages_sizessetDynamicSortFiltermodeladd_filter_functionverticalScrollBarvalueChangedconnectresize_rowsr   refresh_actions)r>   packagesdatar   packages_sizesnamer   r   s           rE   setup_modelzTableCondaPackages.setup_model   s|   5d;;.tXtDD''(9:::d&'''0>FnnB  	> 	>D#+D>#5#5f#=#=N4  - 	--d333	& 	& 	&	" 	" 	" 	

((DDD

((-HHH 	  -55d6FGGGrF   c                 8   d}|                                  }d}||k     r{|                     |          }|                     |           |                     |          }|                     |||z              ||                     |          |z   z  }||k     ydS dS )zResize rows to fit the content.r'   r   N)heightrowAtresizeRowToContents	rowHeightsetRowHeight)r>   delta_yr   yr,   
row_heights         rE   r   zTableCondaPackages.resize_rows   s    &jj**Q--C$$S))),,Jc:#7888$$w..A &jjjjjjrF   c                 0   t           j        D ]}|                     |           t          }| j        r9t           j        dd         }|                    t           j                   ||z  }n|t           j        gz  }|D ]}|                     |           dS )zHide unused columns.N)	r.   COLUMNS
showColumnHIDE_COLUMNSrb   rI   remover   
hideColumn)r>   colrs   columnss       rE   r   zTableCondaPackages.hide_columns   s    9 	! 	!COOC     	#&qqq)GNN1<(((GODDQ\N"D 	! 	!COOC    	! 	!rF   c           	      n   | j         }| j        }|t          j        fv rd                    t          t          j                  t          t          j                  t          t          j                  t          t          j	                  t          t          j
                  g          }n|t          j        fv rwd                    t          t          j                  t          t          j                  t          t          j	                  t          t          j
                  g          }nW|t          j        fv rGd                    t          t          j                  t          t          j
                  g          }n|t          j	        fv rFd                    t          t          j	                  t          t          j
                  g          }n|t          j        fv rd                    t          t          j                  t          t          j                  t          t          j                  t          t          j                  t          t          j                  g          }nt          |          }| j        /| j                            ||           |                                  |                                                                 }|dk    rt-          d          }n;|dk    rt-          d          }n%|dk    rt          |          t-          d          z   }|dk    r%|t-          d	                              |          z   }d}| j        r-| j                                        }|r|dk    rd
nd}| d| d}| j                            ||dd           dS )zTrigger the filter.-Nr   z0 packages available r&   z1 package available z packages available rY   zmatching "{0}"sz packagez	 selected)r_   r]   r.   r^   joinr   	INSTALLED
UPGRADABLENOT_INSTALLEDDOWNGRADABLEMIXGRADABLESELECTEDACTION_INSTALLACTION_REMOVEACTION_UPGRADEACTION_DOWNGRADEACTION_UPDATErl   
set_filterr   rr   count_formatrk   get_action_countsig_status_updatedemit)r>   groupr   r   
count_textselected_textaction_countplurals           rE   filter_changedz!TableCondaPackages.filter_changed   s   QUGHH"1;//"1<00"1?33"1>22"1=11 EE q{m##HH"1;//"1<00"1>22"1=11	 EE q|n$$HHnQ\::N1=<Y<YZ[[EEq~&&&HHnQ^<<nQ]>[>[\]]EEqzl""HH"1#344"1?33"1#344"1#566"1?33 EE #5))E'''e444 ##%%++--A::233JJaZZ122JJQYY'..3I1J1JJJ2::#a(8&9&9&@&@&F&FFJ  	K,==??L K , 1 1r#/ J J J J J$$ZdKKKKKrF   c                 Z    t          |          }|| _        |                                  dS )zUpdate the search string text.N)r   r]   r   r>   r   s     rE   search_string_changedz(TableCondaPackages.search_string_changed&  s.    d##rF   c                 v    t           j                            |          | _        |                                  dS )z!Update the type string selection.N)r.   COMBOBOX_VALUESr   r_   r   r   s     rE   filter_status_changedz(TableCondaPackages.filter_status_changed,  s2    +//55rF   c                    |                                  }d}d}| j        rt          j        g}n.t          j        t          j        t          j        t          j        g}|                                 	                    t          | j        | j        | j        | j                             |                     t          j        |           |                     t          j        | j                   |                     t          j        | j                   |                     t          j        | j                   ||| j        z   | j        z   | j        z   | j        z   t)          |          | j        z  z   |z   z
  dz   }|                     t          j        |           |                     t          j        |           |D ]}|                     || j                   t/          j        | |           |                                  dS )r%      r   r'   N)widthrb   r.   r   COL_UPGRADECOL_INSTALL
COL_REMOVECOL_DOWNGRADEr}   setMinimumSectionSizemin
WIDTH_TYPE
WIDTH_NAMEWIDTH_VERSIONWIDTH_ACTIONSsetColumnWidthr=   rJ   r/   r1   lenr0   COL_ENDr   resizeEventr   )r>   eventwwidth_start	width_endaction_colsw_newr   s           rE   r   zTableCondaPackages.resizeEvent1  s   JJLL	 	X<.KK=!-qWK55$2DdFXYY	
 	
 	
 	AK555A.@@@AJ888AM4+=>>>$,,t>PSWSee!3346?@
  	A-u555AIy111 	9 	9CT%78888tU+++rF   c                 @   |                                  }|                                }| j        rnt          |dz
  |dz             D ]A}t          j        D ]2}| j                            ||          }|                     |           3B|                                  dS dS )z3Update range of visible rows close to selected row.2   N)	currentIndexr,   rl   ranger.   r   rA   rv   r   )r>   ri   r,   rcorA   s         rE   update_visible_rowsz&TableCondaPackages.update_visible_rowsP  s    ))++!! 	38S2X.. ' ') ' 'B ,221b99EKK&&&&' 	 	rF   c                    | j         r?| j                                         r&|                                                                 S |                                 r&|                                                                 S dS )z"Return the currently selected row.)rd   	isVisibler  r,   hasFocusr>   s    rE   r9   zTableCondaPackages.current_row\  sr    : 	-$*..00 	-$$&&**,,,==?? 	-$$&&**,,,rrF   c                     | j         S )z!Return the currently hovered row.)rc   r
  s    rE   r8   z$TableCondaPackages.current_hover_rowd  s    &&rF   c                 j    |                                  p| j        o| j                                        S )z;Return if the table has focus of if the context menu is on.)r	  rd   r  r
  s    rE   r:   z'TableCondaPackages.has_focus_or_contexth  s*    }}I4:#H$*2F2F2H2HIrF   c                     t                                          |           |                                }|                     |                                          | _        dS r%   N)rZ   mouseMoveEventposr   r   rc   )r>   r   r  r   s      rE   r  z!TableCondaPackages.mouseMoveEventl  sJ    u%%%iikk"&**SUUWW"5"5rF   c                     t                                          |           d| _        |                                  dS r  )rZ   
leaveEventrc   repaint)r>   r   r   s     rE   r  zTableCondaPackages.leaveEventr  s4    5!!!"&rF   c                    |                                  }|                                }|                                                                 }t          r|t
          j        k    rQ|                                  |                     | 	                                
                    dd                     nf|t
          j        k    rT|                                  |                     | 	                                
                    |dz
  d                     n|t
          j        k    rp|                                dz
  dk    r|                                dz
  nd}|                     | 	                                
                    |d                     n|t
          j        k    rr|                                dz   |k     r|                                dz   n|dz
  }|                     | 	                                
                    |d                     |t
          j        t
          j        fv rS|                     | j        
                    |                                t&          j                             d| _        n!|t
          j        fv r|                                dz   }| j        r|| j                                        k    r| j                                         n| j        
                    |d          }|                     |           n|t
          j        fv rh|                                dz
  }|dk     r| j                                         nF| j        
                    |d          }|                     |           nt9          j        | |           |                                  dS )r%   r   r&   TN)r  keyrr   r   r   r   Key_HomescrollToTopsetCurrentIndexr   rA   Key_EndscrollToBottomKey_Upr,   Key_Down	Key_Enter
Key_Returnrl   r.   r   rj   Key_TabrowCountsig_next_focusr   Key_Backtabsig_previous_focusr   keyPressEventr  )	r>   r   rA   r  rowspreviousnext_new_row	new_indexs	            rE   r$  z TableCondaPackages.keyPressEventx  s,   !!##iikk""$$**,, 	Cbk!!  """$$TZZ\\%7%71%=%=>>>>
""##%%%$$TZZ\\%7%7q!%D%DEEEE	!!.3iikkAo.A.A599;;??q$$TZZ\\%7%7!%D%DEEEE##+099;;?T+A+A		atax$$TZZ\\%7%7q%A%ABBB2<///  !1!7!7		Q\!R!RSSS $DRZL  iikkAoG# 0w$2B2K2K2M2M'M'M#((**** ,227A>>	$$Y////R^$$$iikkAoG{{',,.... ,227A>>	$$Y////$T5111  """""rF   c                    t          j        | |           |                                }|                                 }|t          j        t          j        fv r| j        r|                     |           np|t          j	        fv ra| 
                    | j                            |                                t          j                             |                     |d           d| _        |                                  dS )r%   T)right_clickFN)r   keyReleaseEventr  r  r   r  r  rj   context_menu_requestedKey_Menur  rl   rA   r,   r.   r   r  )r>   r   r  rA   s       rE   r,  z"TableCondaPackages.keyReleaseEvent  s    "4///iikk!!##2<///D4E/''....R[M!!  !1!7!7		Q\!R!RSSS''4'@@@!  """""rF   c                 "   t          j        | |           t          |                                |                                          }|                     |          }| j        }| j        | j        dS | j                            |          }|	                                }|dk    rdS |
                                }| j        	                    |          }t          | j                                                  }	t          | j                                                  }
|t          j                 }|t          j                 }|                                t$          j        k    }|                                t$          j        k    }|t          j        k    r|s|r&|t          j        k    r|                     |           n|re|t          j        k    rU|t          j        k    r#|	s!|                     |t          j                   nn|r |                     |t          j                   nK|t          j        k    r;|                    |          r&|r$|
s"|	s |                     |t          j                   |                                  dS )r%   Nr  )r   mousePressEventr   xr   indexAtrk   rl   mapToSourcer,   r+   boolcount_remove_actionscount_install_actionsr.   r   r   buttonr   RightButton
LeftButtonr   r-  ACTION_NONEset_action_statusr   r1   is_upgradabler   r  )r>   r   r  rA   r   rM   r,   r+   row_dataremove_actionsinstall_actionsactionr   r+  
left_clicks                  rE   r0  z"TableCondaPackages.mousePressEvent  sB   "4///UWWYY		**S!!!#t'8'@F&22599oo"99F##%%$((--d/DDFFGGt0FFHHII!,'!,'llnn6\\^^r}4
Q\!! Gz Gf.G.G++E2222 G!/ 9 9Q]**>***;8HIIII G**;FFF am##(;(;K(H(H#Z#`o#" $ "";@@@  """""rF   c                 <    ddddd}|                     | d          S )NUnmarkMark for installationMark for removalMark for update)d   e   f   g   rG  )r   )action_indexindex_action_name_maps     rE   _convert_action_index_to_namez0TableCondaPackages._convert_action_index_to_name  s5     (#"	!
 !
 %((s;;;rF   c                 .    |                                   dS r  )r  )r>   r   s     rE   mouseReleaseEventz$TableCondaPackages.mouseReleaseEvent  s      """""rF   c                    t           j        j                            dd|                     |          i           | j                            |||           |                                  |                                  dS )zSet model index action status.zselect-packager@  N)	r   	ANALYTICSinstancer   rM  rk   r;  r   r   )r>   rM   r   versions       rE   r;  z$TableCondaPackages.set_action_status  sx    $**+;hHjHjkqHrHr=sttt++KIIIrF   Fc                     '()*+,  j         dS t                      _        | }                                 } j                             |          + j                            +                                          }+                                }|t          j	                 } j        
                    |          } j                            |          '|t          j                 }	|t          j                 }
|t          j                 }t           j                                                  }t           j                                                  }t           j                                                  }|t          j        fv r|r j                            +          } j                            +          } j                            +          } j                            +          }g }t1           t3          d          '+ fd          }t1           t3          d          + fd          }t1           t3          d          + fd	          }t1           t3          d
          '+ fd          }g }t5          |          D ]b}+t          j        |f fd	}|'k    rvt1           |t9                       |+t          j        |                    }|s?|                    d           |                    d           |                    d           n|'k    r||v o|                     |          '|v o|                     '          k    rt          j!        }nt          j"        }|rt          j        }t1           |t9                       |+||                    }|	|k    r*|                    d           |                    d           |#                    |           dt          d           }tI          ||           ||||g}|d|gz  }||z   D ]}|r|%                    d           |t          j&        k    r|'                    d           |'                    |           |'                    |           |'                    |           |r+|                    d           |                    d           nY|r+|                    d           |                    d           n,|r*|                    d           |                    d           |                    d           n|t          j        k    rk|'                    d           |'                    d           |                    d           |'                    d           |'                    d           n|t          j(        k    rk|'                    d           |'                    d           |'                    d           |'                    d           |                    d           n|t          j)        k    rj|'                    d           |'                    d           |'                    d           |                    d           |'                    d           n|t          j!        t          j"        fv r~|'                    d           |'                    d           |'                    d           |                    d           |'                    d           |'                    d           |
t          j*        k    r*|'                    d           |'                    d           |t          j+        k    rT|'                    d           |'                    d           |'                    d           |'                    d           ||z   D ].}|r|%                    d           |                    d           /|'                    tY          |          dk    o| o|            n|r j-        .                    |i           }|.                    dd          ,|.                    dd          *|.                    dd          (|.                    dd          )t9          t_          d                    } t9          t_          d                    }!t9          t_          d                    }"d(v rt9          t_          d                    }#n/d(v rt9          t_          d                    }#nt9                      }#g },dk    r7|#                    t1           t3          d          | , fd                     *dk    r7|#                    t1           t3          d           |!* fd!                     )dk    r7|#                    t1           t3          d"          |") fd#                     (dk    r7|#                    t1           t3          d$          |#( fd%                     |rtY          |          dk    rtI           j        |           |0                                tb          j2        k    rO 3                    |          }$ 4                                5                    |$6                                          }%n[to          |8                                |9                                          }& 4                                5                    |&          }% j        :                    |%           dS dS dS )&zCustom context menu.NrC  c                  F                         t          j                   S r   )r;  r.   r:  current_versionrM   r>   s   rE   <lambda>z;TableCondaPackages.context_menu_requested.<locals>.<lambda>  s    $"8"8amUd"e"e rF   )	triggeredrD  c                  D                          t          j                  S r   )r;  r.   r   rM   r>   s   rE   rX  z;TableCondaPackages.context_menu_requested.<locals>.<lambda>  s    $BXBXYdfgfvBwBw rF   )toggledrF  c                  F                          t          j        d           S r   )r;  r.   r   r[  s   rE   rX  z;TableCondaPackages.context_menu_requested.<locals>.<lambda>  s    D<R<RS^`a`oqu<v<v rF   rE  c                  F                         t          j                   S r   )r;  r.   r   rV  s   rE   rX  z;TableCondaPackages.context_menu_requested.<locals>.<lambda>#  s     6 6{AOUd e e rF   c                       fdS )Nc                  4                                    S )N)r   rS  )r;  )r@  rM   r>   rS  s   rE   rX  zLTableCondaPackages.context_menu_requested.<locals>.trigger.<locals>.<lambda>)  s    4#9#9+f^e#9#f#f rF   rR   )rM   r@  rS  r>   s   ```rE   triggerz:TableCondaPackages.context_menu_requested.<locals>.trigger(  s    ffffffffrF   )iconrY  Tz&Mark for specific version installationFr&   pypirY   homedevdocsz
python.pngzhome.pngzconda_docs.pnggitzconda_github.png	bitbucketzconda_bitbucket.pngzPython Package Indexc                  .                                    S r   open_url)rc  r>   s   rE   rX  z;TableCondaPackages.context_menu_requested.<locals>.<lambda>  s    bfboboptbubu rF   Homepagec                  .                                    S r   rj  )rd  r>   s   rE   rX  z;TableCondaPackages.context_menu_requested.<locals>.<lambda>  s    aeananosatat rF   Documentationc                  .                                    S r   rj  )rf  r>   s   rE   rX  z;TableCondaPackages.context_menu_requested.<locals>.<lambda>  s    [_[h[him[n[n rF   Developmentc                  .                                    S r   rj  )re  r>   s   rE   rX  z;TableCondaPackages.context_menu_requested.<locals>.<lambda>  s    cgcpcpqtcucu rF   );rl   r   rd   r  r3  rk   r,   r+   r.   r/   get_package_versionsget_package_versionCOL_ACTION_VERSIONr   rJ   r4  r5  r6  count_update_actionsr   is_installableis_removabler<  action_statusr   r   reversedr   r   setCheckable
setCheckedsetDisabledrA   r   r   appendr   blockSignalsr:  
setEnabledr   r   r   PIP_PACKAGEr   r   r   r   typer
   
KeyRelease
visualRectviewportmapToGlobalr7   r   r1  r   popup)-r>   r   r+  rA  rA   r=  r+   r   versionsaction_versionpackage_statuspackage_typer>  r?  update_actionsrv  rw  r<  rx  actionsaction_unmarkaction_installaction_updateaction_removeversion_actionsrS  ra  version_actionupgrade_or_downgrade_actioninstall_versions_menuacmetadataq_pypiq_homeq_docsq_devr-   
global_posr  rW  re  rf  rd  rM   rc  s-   `                                      @@@@@@rE   r-  z)TableCondaPackages.context_menu_requested  s    #F4[[
$_
!!##&22599$(():):;;##%%
#$99$??+??EE!!"67!!,/ 23d/DDFFGGt0FFHHIId/DDFFGGal^##
#!.==kJJN,99+FFL -;;KHHM -;;KHHMG)(eeeeee  M
 +a/00:w:w:w:w:w  N *a)**4v4v4v4v4v  M *$%%eeeeee  M
 !O#H-- #7 #7(3A<LV] g g g g g g o--%2gEGGww{TUTdfm?n?n& & &N * 9&33D999&11$777&224888// H,H1H1H(H4X9X9XZ Z 786F33676H3% G676F3%2"WW")'+7RT["\"\	& & &N "W,,"//555"--d333&&~6666$)*RTX$Y$Y!-???$nm]SG344G / * * *OOD)))--((///)).999((777((666" 4!--d333!--d3333# 4"..t444!--d3333# 4"..t444!--d333%11%8888!"222((...))%000))$///((///((////!/11((...))%000((///((///((....!/11((...))%000((///((...((////1#3Q5G"HHH((...))%000((///((///((///%0077700((///((///q},,((///))%000((///((/// / 8 8 +OOE***%11$7777!,,S-A-AA-E-snJ\-sesastttt 	x*..tR88H<<++D<<++D,,ub))C<<++D>,7788F>*5566F>*:;;<<F||n-?@@AA##n-BCCDDGrzz!$*@(A(AZuZuZuZuZuvvv   rzz}T1Z==vYtYtYtYtYtuuuvvvrzz!$/(:(:SnSnSnSnSnooo   byy}T1]3C3C%[u[u[u[u[uvvvwww 	)s7||a''
G,,,zz||v000u--!]]__889I9I9K9KLL

UWWYY		22!]]__88==
JZ(((((	) 	)''rF   c                 F    | j         r| j                                         S dS )z"Return currently selected actions.N)rk   get_actionsr
  s    rE   r  zTableCondaPackages.get_actions  s'     	3$00222trF   c                    |                                  }| j        rA| j                                         |                                  |                                  |                                  |                     |           dS )zClear selected actions.N)r  rk   clear_actionsr   r   setFocusr  )r>   rA   s     rE   r  z TableCondaPackages.clear_actions  s~    !!## 	"++---  """!!!U#####rF   c                    | j         rz| j                                         }d}|                                D ].\  }}|                                D ]}|t	          |          z  }/| j                            |           dS dS )z!Refresh package selected actions.r   N)rk   r  itemsvaluesr   sig_actions_updatedr   )r>   actions_per_package_typenumber_of_actionsr   r  r   s         rE   r   z"TableCondaPackages.refresh_actions  s     	='+'8'D'D'F'F$ !6<<>> 3 3
7#NN,, 3 3D%T2%%3$))*;<<<<<	= 	=rF   c                     dS )zUpdate custom CSS style sheet.NrR   r
  s    rE   update_style_sheetz%TableCondaPackages.update_style_sheet  s      rF   c                 P    | r#t          j        t          |                      dS dS )zd
        Open link from action in default operating system browser.

        ADD TRACKING!.
        N)r   openUrlr   )urls    rE   rk  zTableCondaPackages.open_url  s3      	0$T#YY/////	0 	0rF   r   )F)0rN   rO   rP   rQ   r   r   r   r   r   objectr   strintsig_conda_action_requestedsig_pip_action_requestedr  r!  r#  r[   r   r   r   r   r   r   r   r  r9   r8   r:   r  r  r$  r,  r0  staticmethodrM  rO  r.   r:  r;  r-  r  r  r   r  rk  __classcell__)r   s   @rE   rT   rT   Y   s       $$JJMM??!'S#vvv!N!N%vc3// &++VXXN6 6 6 6 6p% % % %N
/ 
/ 
/! ! ! AL AL ALF    
  >
 
 
  ' ' 'J J J6 6 6 6 6    )# )# )#V# # #-# -# -#^ < < \<# # # 56M4     &+K) K) K) K)Z  $ $ $= = =- - - 0 0 \0 0 0 0 0rF   rT   )3rQ   
__future__r   r   r   r   gettextqtpyr   r	   qtpy.QtCorer
   r   r   r   r   r   
qtpy.QtGuir   r   r   r   qtpy.QtWidgetsr   r   r   r   r   anaconda_navigator.configr   anaconda_navigator.utilsr   r.   r   r   "anaconda_navigator.utils.py3compatr   "anaconda_navigator.utils.qthelpersr   r   )anaconda_navigator.widgets.manager.filterr    (anaconda_navigator.widgets.manager.modelr!   r   r   COL_URLrt  r   r#   rT   rR   rF   rE   <module>r     s   !   Q Q Q Q Q Q Q Q Q Q Q Q          ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? < < < < < < < < < < < < [ [ [ [ [ [ [ [ [ [ [ [ [ [ ) ) ) ) ) ) 3 3 3 3 3 3 3 3 3 3 3 3 . . . . . . = = = = = = I I I I I I I I P P P P P P G G G G G G O
 LI)@ )@ )@ )@ )@] )@ )@ )@XN
0 N
0 N
0 N
0 N
0 N
0 N
0 N
0 N
0 N
0rF   