__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

[email protected]: ~ $
�

 ]e�X���SSKrSSKJr SSKJr SSKJr SSKJr SSKJr SSKJ	r	 SSKJ
r
 SS	KJr SS
KJr SSKJ
r
 "SS
\R5rg)�N)�AltControllerCategory)�CoverLocale)�GSetting)�GLib)�GObject)�Gdk)�Gio)�Gtk)�Pango)�RBc�^�\rSrSr\R
"\SS9rU4SjrSr	Sr
SrSrS	r
S
rSrSrS
rSrSrSrSrSrSrSrSrSrSrU=r$)�AltToolbarSidebar�!z{1:True})�type�defaultc�j>^�[[T]5 URTlUTlUR
TlUTlSTlSTl[5nURURR5 TRS5 0TlSTlSTl[#5nUR%UR&R(5nUR+UR,R.TS[0R2R45 [6R8R;[<[>R@[B/5Tl"TRDRGSS9Tl$TRHRKS5 TRMTRH5 TRO5nURQ[6RR5 TRUS5 U4SjnU"[WS	5[XRZ5 U"[WS
5[XR\5 U"[WS5[XR^5 U"[WS5[XR`5 U4S
jn[bRd"SU5 [6RfR;5n	U	RiS5 U	Rk[6RlRn5 TRqU	5 [6RfR;5n	[6Rr"5n
U	RuU
S5 [6Rv"5nURySTRz5 UTl>U	RuUS5 U	RU
TR�5 U	RUTR�5 U	TlBTRqU	5 TR�U	5 TR�5 TR�S5 [5nURURR�5 g)z
Initialises the object.
N����AltToolbarSideBarF�	expanders)�root�c�~>�TRRS5nUSS/TRU'UTRU'g)NF)�	treestore�append�	_category)�text�category�local�selfs   ��D/usr/lib/rhythmbox/plugins/alternative-toolbar/alttoolbar_sidebar.py�define_category�3AltToolbarSidebar.__init__.<locals>.define_categoryLs:����N�N�)�)�$�/�E�%)�4��$7�D�N�N�5�!�',�D�N�N�8�$�zLocal collectionzOnline sourcesz
Other sources�	Playlistsc�>�TRRRnUR5nSnTR	XSU5 TR5 TR
5 [TR5n[U5 [TR5 UH\n[U5 TRRTRU5nU(dM?XE(dMJTRUS5 M^ g)NrF)�shell�props�display_page_model�get_iter_first�_traverse_rows�_refresh_headers�_connect_signals�evalr�printr�get_pathr�
expand_row)�args�model�rootiter�depthrr�pathrs       �r �delayed�+AltToolbarSidebar.__init__.<locals>.delayedVs�����J�J�$�$�7�7�E��+�+�-�H��E������u�=�
�!�!�#�
�!�!�#��T�^�^�,�I��)���$�.�.�!�%���h���~�~�.�.�t�~�~�h�/G�H���4�I�/�/��O�O�D�%�0�
&�r#���editedT)G�superr�__init__r&�toolbar�plugin�rbtree�_drag_dest_source�_drag_motion_counterr�
switch_locale�Locale�
LOCALE_DOMAIN�set_namer�_last_click_source�
_user_clickedr�get_setting�Path�PLUGIN�bind�	PluginKey�	EXPANDERSr	�SettingsBindFlags�DEFAULTr
�	TreeStore�new�strr�Object�boolr�
filter_new�treestore_filter�set_visible_column�	set_model�get_style_context�	add_class�STYLE_CLASS_SIDEBAR�set_headers_visible�_r�LOCAL�ONLINE�OTHER�PLAYLISTr�timeout_add_seconds�TreeViewColumn�set_fixed_width�
set_sizing�TreeViewColumnSizing�FIXED�
append_column�CellRendererPixbuf�
pack_start�CellRendererText�connect�on_renderertext_edited�
text_renderer�set_cell_data_func�_set_pixbuf�	_set_text�tree_column�set_expander_column�show_all�
set_can_focusr)
rr=r?�cl�gs�plugin_settings�contextr!r6�column�pixbuf_renderer�renderer�	__class__s
`           �r r<�AltToolbarSidebar.__init__$s���	���/�1��]�]��
�����n�n������!%���$&��!��]��
������0�0�1��
�
�)�*����"&���"���
�Z���.�.������8�����R�\�\�3�3�T�;� �2�2�:�:�	<����*�*�C�����+F�G��� $��� 9� 9�t� 9� D������0�0��3����t�,�,�-��(�(�*�����#�1�1�2�� � ��'�	-�
	��,�-�/D�/J�/J�K���*�+�-B�-I�-I�J���/�*�,A�,G�,G�H���+��(=�(F�(F�G�	�8	
� � ��G�,��#�#�'�'�)�����q�!����#�2�2�8�8�9����6�"��#�#�'�'�)���0�0�2�����/�5�1��'�'�)������4�#>�#>�?�%������(�E�*��!�!�/�4�3C�3C�D��!�!�(�D�N�N�;�!������6�"�� � ��(��
�
�����4� �
�]��
��������&r#c�h�URRRnURSUR5UlURSUR5UlURSUR5 URRRnURRRSUR5 URSUR5 URRRRSUR5 UR/[ R"R$5 UR'5 URSUR(5 URSUR*5 URS	UR,5 g)
Nz
page-insertedzrow-deletedzbutton-press-eventzrow-inserted�selectedzplaying-song-changed�	drag-drop�drag-data-receivedzdrag-motion)r&r'r(rl�_model_page_inserted�_cpi�_model_page_deleted�_crd�
_row_click�display_page_treer2�_tree_inserted�_display_page_tree_selected�shell_player�_on_playing_song_changed�enable_model_drag_destr�
DragAction�COPY�drag_dest_add_uri_targets�on_drag_drop�on_drag_data_received�on_drag_motion)rr2�trees   r r,�"AltToolbarSidebar._connect_signals�s;���
�
� � �3�3���M�M�/�4�3L�3L�M��	��M�M�-��1I�1I�J��	�
	
���)�4�?�?�;��z�z���1�1���
�
��� � ���1D�1D�E����Z��5�5�	7��
�
���%�%�-�-�.D�.2�.K�.K�	M�	
�#�#�B����(;�(;�<��&�&�(����[�$�"3�"3�4����)��/�/�	1����]�D�$7�$7�8r#c��URRRnURUR5 URUR
5 g�N)r&r'r(�
disconnectr�r�)rr2s  r �cleanup�AltToolbarSidebar.cleanup�s;���
�
� � �3�3��
������#�
������#r#c��[S5 URS5 URUS5nURX&U5 SUlg)zs
Callback called when a drag operation finishes over the treeview
It decides if the dropped item can be processed.
r�r�NT)r.�stop_emission_by_name�drag_dest_find_target�
drag_get_datar@)r�widgetry�x�y�time�targets       r r��AltToolbarSidebar.on_drag_drop�sG��
	�n���$�$�[�1��+�+�G�T�:�����W�d�3�!%���r#c��^�SnURX45upgSnU(a�W[RR:XdU[RR:XagU[RR:Xa[RR
n	O[RRn	URSU	5 SnU(a�TRUSn
U
(dSnOU
R5(aSnU
(aiU(abU
TR:waTRS:waSTlU
Tl
U4SjnTRS:XaSTl[R"SU5 U(a7[R"U[R R"U5 U(+$[R"USU5 STl
U(+$! GN�=f! SnN�=f)NFr8Trrc�|>�TRS:a'TR(aT=RS-
slgTR(alTRS:�a\TRRRnU(a5URTR5 TRR5 STlg)Nrr8TrF)rAr@r&r'r��selectr?�
expand_all)r1r�rs  �r r6�1AltToolbarSidebar.on_drag_motion.<locals>.delayed�s�����0�0�1�4� �2�2��1�1�Q�6�1�#��-�-� $� 9� 9�Q� >�#�z�z�/�/�A�A��� �K�K��(>�(>�?� �K�K�2�2�4�02�D�-� r#)�get_dest_row_at_posr
�TreeViewDropPosition�BEFORE�AFTER�INTO_OR_BEFORE�
INTO_OR_AFTER�set_drag_dest_rowrV�	can_paster@rArrbr�drag_statusr�r�)rr��drag_contextr�r�r�r5�pos�result�drop_pos�dest_sourcer6s`           r r�� AltToolbarSidebar.on_drag_motion�s������	��2�2�1�8�I�D�����s�/�/�6�6�6�#��AY�AY�A_�A_�:_��c�.�.�5�5�5��3�3�B�B���3�3�A�A���$�$�T�8�4��D���/�/��5�a�8�K�
�#�"�F� �*�*�,�,�!�F��v��$�"8�"8�8��0�0�B�6�45��1�-8�D�*�!� �,�,��2�01�D�-��,�,�Q��8���O�O�L�#�.�.�*=�*=�t�D�
�z��
�O�O�L�!�T�2�%)�D�"��z���{	���2
���s�G�	G�(G�G�G!c��[S5 URS5 URX45up�URUSn
UR	SSU5 UR5n/nUHLn
URRRRU
5nU(dM;URU5 MN U
RU5 g)zT
Callback called when the drag source has prepared the data (pixbuf)
for us to use.
r�r�r8TFN)r.r�r�rV�finish�get_urisr&r'�db�entry_lookup_by_locationr�paste)rr�r�r�r��data�infor�r5r�r��uris�entries�uri�entrys               r r��'AltToolbarSidebar.on_drag_data_receiveds���	�%�&��$�$�%9�:��.�.�q�4�	���+�+�D�1�!�4�����D�%��.��}�}������C��J�J�$�$�'�'�@�@��E�E��u����u�%��
	���'�"r#c��[S5 [URS5(a[S5 UR5 gg)z�
  signal when a playing song changes - need to invoke a tree-refresh
  to ensure the user can see which source
:param args:
:return:
zplaying song changedr��queuingN)r.�hasattrr>�
queue_draw)rr1s  r r��*AltToolbarSidebar._on_playing_song_changeds5��	�$�%��4�;�;��%�%��)���O�O��&r#c��[S5 [U5 [U5 X0RUSRlg)Nr:r8)r.rVr'�name)rr|r5�new_texts    r rm�(AltToolbarSidebar.on_renderertext_edited*s3��
�h��
�d��
�h��4<���d�#�A�&�,�,�1r#c��UGbR[XS[R5(aLURU5(a#UR	U5nURXX$5 UR
U5nMtUS:Xa2URXS5nURRU5nOURRU5nXSURUS'SURUS'SURUS'URU5(a&UR	U5nURXXtS-5 UR
U5nUbGMQgg)Nr8r�Tr)
�
isinstancer�DisplayPageGroup�iter_has_child�
iter_childrenr*�	iter_next�_get_category_iterrr)r�store�treeiter�new_parent_iterr4�	childiter�
category_iter�	leaf_iters        r r*� AltToolbarSidebar._traverse_rows2s7���"��%�/�!�,�b�.A�.A�B�B��'�'��1�1� %� 3� 3�H� =�I��'�'��(�J� �?�?�8�4�����z� $� 7� 7����8J� K�
� �N�N�1�1�-�@�	� �N�N�1�1�/�B�	�+0�?�1�+=�D�N�N�9�%�a�(�+-�D�N�N�9�%�a�(�+/�D�N�N�9�%�a�(��#�#�H�-�-�!�/�/��9�	��#�#�E�i���K����x�0�H�/�"r#c���[U5 [U5 [XSRR5 [XS5 URXUSU5 g�Nr8)r.r'r�r�)rr2r5�	page_iters    r r�� AltToolbarSidebar._tree_insertedQsQ��
�d��
�i��
�e�k�!�n�"�"�'�'�(�
�e�k�!�n���!�!�%�t��Q���Cr#c�\^	�U(aURR(dg[U5 [U5 URU5n[U5 U	4Sjm	URR5nT	"URXR5(agU(a$[
XS[R5(dU(d-URU5nURRU5nO5XSnT	"URXX5nURRU5nX RUS'SURUS'SURUS'UR5 S[U5R;aURU5 URR!5 g)Nc�>�UbkXSn[U5 UbX2:XaU$URU5(a#URU5nT"XU5nU(aU$URU5nUbMk[S5 g)Nr8z
nothing found)r.r�r�r�)r�r��page�
found_pager��ret�find_lookup_rowss      �r r��@AltToolbarSidebar._model_page_inserted.<locals>.find_lookup_rows`s�����&�"�_�Q�/�
��j�!��)�j�.@�#�O��'�'��1�1� %� 3� 3�H� =�I�*�5�T�B�C��"�
� �?�?�8�4���&�"
�/�"�r#r8r�rTr�PlaylistSource)r'�
visibilityr.�iter_parentrr)r�rr�r�rr+r�__name__�
edit_playlistr?r�)
rr2r�r��parent_iterr3r�r��
searchpager�s
         @r r��&AltToolbarSidebar._model_page_insertedXs\�����
�
�-�-��
�d��
�i���'�'�	�2��
�k��	�,�>�>�0�0�2���D�N�N�H�;�;���J�u�'9�!�'<�')�':�':�<�<��!�3�3�D�9�M����-�-�m�<�I�
�+�A�.�J�(�����N�I����-�-�i�8�I�'+���y�!�!�$�')����y�!�!�$�'+����y�!�!�$������t�D�z�2�2�2�
���y�)������ r#c�4^^�[S5 STRRlTRRU5mTRRT5m[T5 TR5 UU4Sjn[R"SUS5 g)z@
   edit the playlist
:param leaf_iter: treestore iter
:return:
r�Tc�V>�TRTTRTRS5 g)NT)�set_cursor_on_cellrrrn)r1r5rs ��r r6�0AltToolbarSidebar.edit_playlist.<locals>.delayed�s'����#�#�D�$(�$4�$4�d�6H�6H�$�
Pr#r8N)r.rnr'�editablerr/rV�convert_child_path_to_path�
grab_focusrrb)rr�r6r5s`  @r r��AltToolbarSidebar.edit_playlist�sv���	�o��,0���� � �)��~�~�&�&�y�1���$�$�?�?��E��
�d������	P�	
� � ��G�T�2r#c�"^^^�0mURR5nUU4SjmT"URU5 UU4SjmUR5nT"X5 TH!nURRTU5 M# UR5 g)z�
  signal from the displaytreemodel - we dont actually know what is
  deleted ... just that something has been
:param model:
:param path:
:return:
c�>�UbXXSb
UTXS'URU5(aURU5nT"X5 URU5nUbMWggr��r�r�r��r�r�r�r��lookups   ��r r��?AltToolbarSidebar._model_page_deleted.<locals>.find_lookup_rows�sh����&��?�1�%�1�19�F�5�?�1�-�.��'�'��1�1� %� 3� 3�H� =�I�$�U�6� �?�?�8�4���&r#c�>�UbYXST;aTXS	URU5(aURU5nT"X5 URU5nUbMXggr�r�)r�r�r��	find_rowsr�s   ��r r�8AltToolbarSidebar._model_page_deleted.<locals>.find_rows�sf����&��?�1�%��/��u��q�1�2��'�'��1�1� %� 3� 3�H� =�I��e�/� �?�?�8�4���&r#N)rr)�remover+)rr2r5r3�sourcer�rr�s     @@@r r��%AltToolbarSidebar._model_page_deleted�s~������>�>�0�0�2��	5�	�����2�	5��'�'�)���%�"��F��N�N�!�!�&��.�1��	
���r#c�~^�[S5 URURUR5up4pVTRUSn[U5 U(a�STlTRRRRU5 TRR5 TRU:Xa2S[U5R;TRRlO"STRRlUTlU4Sjn["R$"SU5 g! [S5 g=f)	z%
event called when clicking on a row
r��exitNr8Tr�Fc�>�0nTRHGnTRRTRU5nU(dM4TRU5X'MI [	U5Tl[
TR
5 gr�)rrr/�row_expandedrRrr.)r1�cat_valsrr5rs    �r r6�-AltToolbarSidebar._row_click.<locals>.delayed�sd����H� �N�N���~�~�.�.�t�~�~�h�/G�H���4�)-�):�):�4�)@�H�&�+�
!��]�D�N��$�.�.�!r#)r.�get_path_at_posr�r�rVrGr&r'r�r�r?r�rFrr�rnr�rrb)	rr��event�treepath�
treecolumn�cellx�celly�
active_objectr6s	`        r r��AltToolbarSidebar._row_click�s���	�l��	��&�&�u�w�w����8�
/�H�%��-�-�h�7��:�
�
�m���!%�D���J�J���.�.�5�5�m�D��K�K�"�"�$��&�&�-�7�$��]�(;�(D�(D�D��"�"�(�(�1�5:��"�"�(�(�1�*7��'�		"�	
� � ��G�,��=	��&�M��s�)D-�-
D<c�4^^�UR(aSUlg0mURR5nUU4SjmT"URU5 UT;aAURRTU5nUR	U5 URU5 gg)z�
signal from when a page is selected in the display-page-tree -
we need to sync with our tree
:param display_page_tree:
:param page:
:return:
FNc�>�Ub|XSb.UTXS'[XSRR5 URU5(aUR	U5nT"X5 URU5nUbM{ggr�)r.r'r�r�r�r�r�s   ��r r��GAltToolbarSidebar._display_page_tree_selected.<locals>.find_lookup_rowss�����&��?�1�%�1�19�F�5�?�1�-�.��%�/�!�,�2�2�7�7�8��'�'��1�1� %� 3� 3�H� =�I�$�U�6� �?�?�8�4���&r#)rGrVr)r/�expand_to_path�
set_cursor)rr�r�r3r5r�r�s     @@r r��-AltToolbarSidebar._display_page_tree_selecteds�������!&�D������(�(�7�7�9��
	5�	��.�.��9��6�>��(�(�1�1�&��,�?�D�����%��O�O�D�!�r#c�4�UcgUcgX4SnUcv[RRURlX4SURl[
URR
5 X4SURlGO}SURlURRRnUR=(a UR5U:HnURR(a�[5n	U	RU	RR 5 ["R""URR5n
U	RU	RR$5 X�RlOSURlU(a*[RRURlO)[RR&URlSURlUR+U5nUR-5S:Xa#SURlSURlO"SURlSURl[R0R2URlg)Nr8rrTr���)r�Weight�BOLDr'�weightrr.�visibler&r��get_playing�get_playing_sourcer�rrBrCrD�gettextr�NORMAL�ypadr/�	get_depth�xpad�
EllipsizeMode�END�	ellipsize)rrzr|r2r��argr�player�playingrv�translationr5s            r rq�AltToolbarSidebar._set_text-s�������=�����#���>�$)�L�L�$5�$5�H�N�N�!�"'�/�!�"4�H�N�N���(�.�.�%�%�&�%*�_�Q�%7�H�N�N�"�%)�H�N�N�"��Z�Z�%�%�2�2�F��"�"�L�v�'@�'@�'B�f�'L�
����!�!� �]��� � ����!8�!8�9�%�o�o�f�l�l�.?�.?�@��� � ������.�&1���#�&(����#��(-���(9�(9����%�(-���(;�(;����%�"#�H�N�N���~�~�h�'���>�>��q� �"#�H�N�N��"#�H�N�N��"#�H�N�N��"#�H�N�N��#(�#6�#6�#:�#:���� r#c���URR5nUbLURRU5URUS'URRU5nUbMKgg)Nr)rr)r�r�)rr�s  r r+�"AltToolbarSidebar._refresh_headersXs]���>�>�0�0�2���"����-�-�h�7�
�N�N�8�$�Q�'��~�~�/�/��9�H�	�"r#c��X4SnUcSURlONURRU5upxUR	U5URlSURlURU5n	U	R5S:XaSURl	OSURl	SURl
g)Nr8TrFr)r'�pixbufr=�
is_controlled�	get_gicon�gicon�follow_stater/r%rr&)
rrzr|r2r�r*r�ret_bool�
controllerr5s
          r rp�AltToolbarSidebar._set_pixbufas������#���>�$(�H�N�N�!�#'�<�<�#=�#=�f�#E� �H�#-�#7�#7��#?�H�N�N� �*.�H�N�N�'��~�~�h�'���>�>��q� �%)�H�N�N�"�&+�H�N�N�"� ����r#c��URRU5up#[RnU(aUR	5nUR
U$r�)r=r3rr`�get_categoryr)rrr7r8rs     r r��$AltToolbarSidebar._get_category_iterusD��#�|�|�9�9�&�A���(�.�.���!�.�.�0�H��~�~�h�'�'r#)rr�r�r@rArFrGrr>r?r&rnr=rrrrV)r��
__module__�__qualname__�__firstlineno__r�propertyrRrr<r,r�r�r�r�r�rmr*r�r�r�r�r�r�rqr+rpr��__static_attributes__�
__classcell__)r}s@r rr!s����� � �c�:�>�I�i'�V9�6$�� B�H#�2�=�1�>D�?!�B3�&1 �f'-�R#"�J);�V:� �((�(r#r)r"�alttoolbar_controllerr�alttoolbar_preferencesrr�
gi.repositoryrrrr	r
rr�TreeViewr�r#r �<module>rHs:��&�7�.�+��!������\	(����\	(r#

Filemanager

Name Type Size Permission Actions
alternative-toolbar.cpython-313.pyc File 25.26 KB 0644
alttoolbar_controller.cpython-313.pyc File 29.02 KB 0644
alttoolbar_plugins.cpython-313.pyc File 24.7 KB 0644
alttoolbar_preferences.cpython-313.pyc File 15.9 KB 0644
alttoolbar_rb3compat.cpython-313.pyc File 36.76 KB 0644
alttoolbar_repeat.cpython-313.pyc File 18.25 KB 0644
alttoolbar_sidebar.cpython-313.pyc File 26.88 KB 0644
alttoolbar_type.cpython-313.pyc File 74.77 KB 0644
alttoolbar_widget.cpython-313.pyc File 3.39 KB 0644
Filemanager