%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/lib/python3/dist-packages/usbcreator/frontends/gtk/__pycache__/
Upload File :
Create Path :
Current File : //usr/lib/python3/dist-packages/usbcreator/frontends/gtk/__pycache__/frontend.cpython-312.pyc

�

�^�d�n���ddlZddlZddlZddlZddlZej
dd�ej
dd�ddlmZddlmZddlm	Z	ddlm
Z
dd	lmZdd
lmZddl
mZddlmZdd
lmZdej&vr,ej(j+ej,�d�ZndZe
j0�d�ZGd�de�Zd�Zy)�N�Gdkz3.0�Gtk)�GObject)�GLib)�Gio)r)�Pango)r)�Frontend)�UnitySupport)�misc�USBCREATOR_LOCALzgui/usbcreator-gtk.uiz(/usr/share/usb-creator/usbcreator-gtk.uic����fd�}|S)z>Decorator for functions that will be called by another thread.c���tj�	�|�tj�S#tj�wxYw�N)r�
threads_enter�
threads_leave)�args�funcs ��C/usr/lib/python3/dist-packages/usbcreator/frontends/gtk/frontend.py�wrapzthread_wrap.<locals>.wrap+s4�������	 ���;������C����s	�0�A�)rrs` r�thread_wrapr)s��� ��K�c�&�eZdZed��Zed��Zd!d�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zed��Zed��Zed��Zed��Zed��Zd�Zed"d��Zd"d�Zed��Z d�Z!d�Z"d �Z#y)#�GtkFrontendc���tjtjjtjj
|��}|j
�|j�y)N)�message_type�buttons�message_format)r�
MessageDialog�MessageType�ERROR�ButtonsType�CLOSE�run�destroy)�cls�message�dialogs   r�startup_failurezGtkFrontend.startup_failure4sA���"�"����0E�0E��O�O�)�)�'�C���
�
�����rc�"�ddlm}|d��y)Nr)�
DBusGMainLoopT)�set_as_default)�dbus.mainloop.glibr+)r&r+s  r�DBusMainLoopzGtkFrontend.DBusMainLoop;s
��4��T�*rNc����|�_t��_tj��_�j
j
d��j
jt�i�_	i�_
i�_�j
j�D]�}t|tj�r|jdd�t!t#|�tj$�s�S�jj'|�|j)tj*j-|��t/�tj$j-|�|���tj0j3d��j
j5���j6j9d�fd���j:j9d�fd���j<j9d�fd���j>j9d�fd	���j@jC�jD�d
�}�jFjI�|�_%�jL�jJ_'�jP�jJ_)�jT�jJ_+�jX�jJ_-�j\�jJ_/�j`�jJ_1�jd�jJ_3�jh�jJ_5�jl�jJ_7�jp�jJ_9�jt�jJ_;�jx�jJ_=d�_>�j~jI��j���j��g}|�6�jJj�|��j�jI�n4t�j�j�t�j�j�g}|D]�}t�j�|�}|s�t�j�j�|�s�;t�j�|�D]^}	|	j�d�s|	j�d�s�&�jJj�t�j�j�||	���`���j��j�j����j�j���j�j��}
|
j9d
�j���j�j��}
|
j9d
�j���jJj��t�����_X�j�d�jJj���_[t�j��	tj��t�j��y#t�$r�j��Y�0wxYw)N�
usbcreatorz	can-focusFzusb-creator-gtk�clickedc�8���jj�Sr)�warning_dialog�hide��x�selfs �r�<lambda>z&GtkFrontend.__init__.<locals>.<lambda>bs���t�7J�7J�7O�7O�7Q�rc�8���jj�Sr)�finished_dialogr4r5s �rr8z&GtkFrontend.__init__.<locals>.<lambda>cs����8L�8L�8Q�8Q�8S�rc�8���jj�Sr)�failed_exitr4r5s �rr8z&GtkFrontend.__init__.<locals>.<lambda>ds���d�6F�6F�6K�6K�6M�rc�8���jj�Sr)r3�showr5s �rr8z&GtkFrontend.__init__.<locals>.<lambda>es����AT�AT�AY�AY�A[�rc�,�tj|�Sr)r�format_mb_size)�scale�values  r�format_valuez*GtkFrontend.__init__.<locals>.format_valuejs���&�&�u�-�-rz.isoz.img�changed)�parenti�)b�allow_system_internal�set�all_widgetsr�Builder�builder�set_translation_domain�
add_from_file�ui_path�icons�names�pretty_names�get_objects�
isinstance�Label�set_property�
issubclass�type�Widget�add�set_name�	Buildable�get_name�setattr�Window�set_default_icon_name�connect_signals�cancelbutton�connect�
finished_exitr<�progress_cancel_buttonr3�set_transient_for�install_window�format_destr4�backend�
add_source�source_added_cb�
add_target�target_added_cb�
remove_source�source_removed_cb�
remove_target�target_removed_cb�failure�
failure_cb�success�
success_cb�progress�install_progress_cb�progress_message�install_progress_message_cb�progress_pulse�install_progress_pulse_cb�progress_pulse_stop�install_progress_pulse_stop_cb�retry�retry_cb�
update_target�target_changed_cb�pulsing�button_help�setup_sources_treeview�setup_targets_treeview�	add_image�source_vboxr�
UserDirectory�DIRECTORY_DOWNLOAD�DIRECTORY_DESKTOP�get_user_special_dir�os�path�isdir�listdir�endswith�join�selection_changed_source�source_treeview�
get_selection�windowr>�
dest_treeview�selection_changed_target�detect_devicesr
�unity�add_timeout�update_free�update_looprr�main�KeyboardInterrupt�quitr)r7rg�imgrF�widgetrC�search_dir_ids�
search_dir_id�
search_dir�fname�	selections`          r�__init__zGtkFrontend.__init__@s����%:��"��5����{�{�}������+�+�L�9����"�"�7�+���
���
�����l�l�.�.�0�
	C�F��&�#�)�)�,��#�#�K��7��$�v�,��
�
�3�� � �$�$�V�,�����
�
� 6� 6�v� >�?���c�j�j�1�1�&�9�6�B�
	C�	�
�
�(�(�):�;�	
���$�$�d�+����!�!�)�-Q�R����"�"�9�.S�T���� � ��,M�N��#�#�+�+�I�7[�\�	
���-�-�d�.A�.A�B�	.�	
���������'+������$�'+������$�)-�);�);����&�)-�);�);����&�"&�,�,�����"&�,�,�����+/�=�=����(�37�3H�3H����0�15�1D�1D����.�6:�6N�6N����3� $�
�
�����)-�);�);����&����	
������
	
�#�#�%��#�#�%����?��L�L�"�"�3�'����!�!�#�"�0�0�C�C�"�0�0�B�B�D�N�,�	P�M��2�2�=�A�J��b�g�g�m�m�J�7��Z�Z�
�3�P�E��~�~�f�-�����1G����.�.�r�w�w�|�|�J��/N�O�P�		P�	
�%�%�d�&:�&:�&H�&H�&J�K��������(�(�6�6�8�	����)�T�%B�%B�C��&�&�4�4�6�	����)�T�%B�%B�C����#�#�%�!��.��
��+�+�D�$�,�,�2J�2J�K�������	��H�H�J�	�����!�	��I�I�K�	�s�#Y�Y(�'Y(c�4�tj||g|���}|S)znAdd a new timer for function 'func' with optional arguments. Wraps a
        similar gobject call timeout_add.)r�timeout_add)r7�intervalrr�timers     rr�zGtkFrontend.add_timeout�s ��� � ��4�7�$�7���rc�,�tj|�S)z=Remove the specified timer. Wraps gobject source_remove call.)r�
source_remove)r7r�s  r�delete_timeoutzGtkFrontend.delete_timeout�s���!�!�%�(�(rc���tjdt|�z�t|j|gd��|j
j|d}|j
j|d}|j
j|d}|tjk(sO|tjk(s;|j|�\}}|r||j|<|s|r||j|<yyyyy)Nzadd_source: %sT��force_selectionrV�label�device)
�logging�debug�str�_append_to_list_and_selectr�rg�sourcesr�
SOURCE_ISO�
SOURCE_IMG�get_gnome_driverNrO)r7�source�t�l�d�name�icons       rrhzGtkFrontend.add_source�s����
�
�&��V��4�5�"�4�#7�#7�&�� �	"�
�L�L� � ��(��0���L�L� � ��(��1���L�L� � ��(��2���T�_�_�$��T�_�_�(<��-�-�a�0�J�D�$��%)��
�
�6�"���%)��
�
�6�"��1�	)=�$rc�0�tjdt|�z�t|jt|�gd��|j
j|d}|j
j|d}|j
j|d}|j
j|d}|j|�\}}|r||j|<|s|r||j|<|�d|�d	tj|��d
�|j|<y)Nzadd_target: %sFr��vendor�modelr�r�� z (�))
r�r�r�r�r�rg�targetsr�rNrOr�	text_typerP)r7�target�v�mr�r�r�r�s        rrjzGtkFrontend.add_target�s����
�
�&��V��4�5�"�4�#5�#5��F��}�!�	#�
�L�L� � ��(��2���L�L� � ��(��1���L�L� � ��(��2���L�L� � ��(��1���)�)�!�,�
��d��!%�D�J�J�v���T�!%�D�J�J�v��45�q�$�.�.��:K�$L����&�!rc���|jj�}|j�}d}|�+|j|d�|k(r|}|j	|�}|��+|�|j|�||jvr|jj|�||jvr|jj|�|jj�}|j�\}}y�Nr)r��	get_model�get_iter_first�	get_value�	iter_next�removerO�poprNr��get_selected)r7r�r��iterator�	to_delete�selr��is        rrlzGtkFrontend.remove_source�s����$�$�.�.�0���'�'�)���	��"����x��+�v�5�$�	����x�0�H��"�� ��L�L��#��T�Z�Z���J�J�N�N�6�"��T�Z�Z���J�J�N�N�6�"��"�"�0�0�2�����!���1rc�,�|jj�}|j�}d}|�+|j|d�|k(r|}|j	|�}|��+|�|j|�||jvr|jj|�||jvr|jj|�||jvr|jj|�|jj�}|j�\}}yr�)r�r�r�r�r�r�rOr�rNrPr�r�)r7r�r�r�r�r�r�r�s        rrnzGtkFrontend.remove_target�s����"�"�,�,�.���'�'�)���	��"����x��+�v�5�$�	����x�0�H��"�� ��L�L��#��T�Z�Z���J�J�N�N�6�"��T�Z�Z���J�J�N�N�6�"��T�&�&�&����!�!�&�)�� � �.�.�0�����!���1rc��|jj�}|j�\}}|r||dStjd�y)z-Returns the UDI of the selected source image.rzNo source selected.�)r�r�r�r�r��r7r�r�r�s    r�
get_sourcezGtkFrontend.get_source	sH���"�"�0�0�2�����!���1���Q�4��7�N��M�M�/�0�rc��|jj�}|j�\}}|r||dStjd�y)z9Returns the UDI of the selected target disk or partition.rzNo target selected.r�)r�r�r�r�r�r�s    r�
get_targetzGtkFrontend.get_targetsH��� � �.�.�0�����!���1���Q�4��7�N��M�M�/�0�rc�X�	tjj�}|j�D]`}d|j	�vs�|jd�|k(s�+|j
�}|j�j�d}||fcS|j�D]`}d|j	�vs�|jd�|k(s�+|j
�}|j�j�d}||fcS	y#t$rtjd�YywxYw)Nzunix-devicerz Could not determine GNOME drive:)r�r�)
r�
VolumeMonitor�get�get_volumes�enumerate_identifiers�get_identifierr[�get_icon�	get_names�get_connected_drives�	Exceptionr��	exception)r7�dev�monitor�driver�r�s      rr�zGtkFrontend.get_gnome_drives ��	B��'�'�+�+�-�G� �,�,�.�
,�� �E�$?�$?�$A�A��+�+�M�:�c�A�$�~�~�/��$�~�~�/�9�9�;�A�>�� $�d�|�+�
,�!�5�5�7�
,�� �E�$?�$?�$A�A��+�+�M�:�c�A�$�~�~�/��$�~�~�/�9�9�;�A�>�� $�d�|�+�
,����	B����@�A��	B�s6�AD�D�6D�&D�9D�6D�D�D)�(D)c����fd�}�fd�}tjt�}�jj	|�tj
�}|j
dtjj�tj�}tjtd��}|jtjj�|j!d�|j#d�|j%d�|j'|d�|j'|d��jj)|�|j+||d�|j+||d�tj
�}|j
dtjj�tjtd	�|�}|j+||d
�|jtjj�|j!d�|j#d�|j%d��jj)|�tj
�}|j
dtjj�tjtd�|�}|j+||d�|jtjj�|j!d�|j#d�|j%d��jj)|�d
�}	d�}
�fd�}�jj-tj.j0tj2j5ddd�gt6j8j:��jj=d|	��jj=d|
��jj=d|�y)Nc����jsy||d}�jj|}|dk(rD|�jvr |jd�j|�y|jd|d�y|dk(r|jd|d�y|dk(r)|jdt	j
|d��yy)Nr�textr��r���size)rgr�rOrTr�format_size��layout�cellr�r��column�udir�r7s       �r�column_data_funcz<GtkFrontend.setup_sources_treeview.<locals>.column_data_func1s�����<�<����/�!�$�C��,�,�&�&�s�+�C���{��$�*�*�$��%�%�f�d�j�j��o�>��%�%�f�c�(�m�<��1���!�!�&�#�g�,�7��1���!�!�&�$�*:�*:�3�v�;�*G�H�rc����jsy||d}�jj|}|d}|tjk(r!|j	dt
j�y|tjk(r!|j	dt
j�y|�jvr |j	d�j|�y|j	dd�y)NrrV�stock-id�	icon-name)
rgr�rr�rTr�STOCK_CDROMr��STOCK_HARDDISKrN)	r�r�r�r��datar�r��source_typer7s	        �r�pixbuf_data_funcz<GtkFrontend.setup_sources_treeview.<locals>.pixbuf_data_func@s�����<�<����/�!�$�C��,�,�&�&�s�+�C��f�+�K��d�o�o�-��!�!�*�c�o�o�>�����/��!�!�*�c�.@�.@�A��$�*�*�$��%�%�k�4�:�:�c�?�C��%�%�j�$�7r�	ellipsizezCD-Drive/ImageT�KFrz
OS Versionr��Sizer�c�X�|jtjj|�y�NT)�drag_statusr�
DragAction�COPY)�wid�contextr6�y�times     r�	motion_cbz5GtkFrontend.setup_sources_treeview.<locals>.motion_cbzs�������� 3� 3�T�:�rc��|j�}|j||�}|j||�|jdd�yr)�drag_dest_get_target_list�drag_dest_find_target�
drag_get_data�finish)�wr
r6rr�target_listr�s       r�drop_cbz3GtkFrontend.setup_sources_treeview.<locals>.drop_cb~sA���5�5�7�K��,�,�W�k�B�F�
�O�O�G�V�,��N�N�4��&�rc����|jjd�}|jd�r|dd}n|jd�r|dd}�jj	|�y)Nz
zfile://�zfile:�)r��strip�
startswithrgr�)	rr
r6rr��target_type�	timestamp�filer7s	        �r�data_received_cbz<GtkFrontend.setup_sources_treeview.<locals>.data_received_cb�sY����>�>�'�'�
�3�D����y�)��A�B�x������)��A�B�x���L�L�"�"�4�(rz
text/uri-listiX�drag_motion�	drag_dropzdrag-data-received)r�	ListStorer�r��	set_model�CellRendererTextrTr�
EllipsizeMode�END�CellRendererPixbuf�TreeViewColumn�_�
set_sizing�TreeViewColumnSizing�AUTOSIZE�
set_resizable�
set_expand�
set_min_width�
pack_start�
append_column�set_cell_data_func�
drag_dest_set�DestDefaults�ALL�TargetEntry�newrrrra)r7r�r�
list_store�	cell_name�cell_pixbuf�column_name�cell_version�	cell_sizer
rrs`           rr�z"GtkFrontend.setup_sources_treeview0s���
	I�	8� �]�]�3�'�
����&�&�z�2��(�(�*�	����{�E�,?�,?�,C�,C�D��,�,�.���(�(��+;�)<�=�����s�7�7�@�@�A��!�!�$�'����t�$��!�!�"�%����{�E�2����y�$�/����*�*�;�7��&�&�y�2B�A�F��&�&�{�4D�d�K��+�+�-���!�!�+�u�/B�/B�/F�/F�G��(�(��<��,�G���&�&�|�5E�q�I����s�7�7�@�@�A��!�!�$�'����t�$��!�!�"�%����*�*�;�7��(�(�*�	����{�E�,?�,?�,C�,C�D��(�(��6��I�>���&�&�y�2B�A�F����s�7�7�@�@�A��!�!�$�'����u�%��!�!�"�%����*�*�;�7�	�	�	)�	
���*�*�3�+;�+;�+?�+?�
�_�_�
 �
 ��!�S�
9�:�C�N�N�<O�<O�	Q����$�$�]�I�>����$�$�[�'�:����$�$�%9�;K�Lrc���|jj�}|j�}|�K|j|d�|k(r"|j	|j|�|�n|j
|�}|��K|jj|}|d}|jj�}|s|jjd�y|tjk(r|jjd�n|jjd�|jj�|tj k(rt#d�}nd}|j$j'|�y)Nr�statusFTz2The device is not large enough to hold this image.r�)r�r�r�r��row_changed�get_pathr�rgr��get_current_source�button_install�
set_sensitiver�CAN_USE�	open_destr4�
CANNOT_USEr(�dest_status�set_text)r7r�r�r�r�r>r��msgs        rr~zGtkFrontend.update_target�s/�����(�(�*���#�#�%���"��{�{�8�Q�'�3�.��
�
�a�j�j��2�H�=���{�{�8�,�H�	�"����%�%�c�*����!�����0�0�2������-�-�e�4���T�\�\�!����-�-�d�3����-�-�e�4��������T�_�_�$��H�I�C��C����!�!�#�&rc���|j�\}}|sy||d}|jj|�|j|jj��yr�)r�rg�set_current_sourcer�r�r�)r7r�r�r�r�s     rr�z$GtkFrontend.selection_changed_source�sW��#�0�0�2���x����H�o�a� �����'�'��,��%�%�d�&8�&8�&F�&F�&H�Irc��|j�\}}|sy||d}|r|j|�|jj|}|d}|r3||jjvr|jj|}yyy)NrrE)r�r~rgr�)r7r�r�r�r�r��ps       rr�z$GtkFrontend.selection_changed_target�s���#�0�0�2���x����H�o�a� ������s�#��l�l�"�"�3�'����M����d�l�l�*�*�*��,�,�&�&�q�)�C�+�1rc����fd�}�fd�}tjtj�}|j	dtj
j��jj|�tj�}|jtd��tj�}|jdtjj �tj"�}|j%tj&j(�|j+d�|j-d�|j/d�|j1|d�|j1|d��jj3|�|j5||d�|j5||d�tj�}|jdtjj �tjtd	�|�}|j5||d
�|j%tj&j(�|j+d�|j-d�|j/d��jj3|�tj�}|jdtjj �tjtd�|�}|j5||d�|j%tj&j(�|j+d�|j-d�|j/d��jj3|�y)
Nc�����jsy||d}�jj|}|dk(rD|�jvr |jd�j|�y|jd|d�y|dk(rD|�jvr |jd�j|�y|jd|d�y|dk(r)|jdtj|d��yy)Nrr�r�r�r�r��capacity)rgr�rPrTrOrr�r�s       �rr�z<GtkFrontend.setup_targets_treeview.<locals>.column_data_func�s�����<�<����/�!�$�C��,�,�&�&�s�+�C���{��$�+�+�+��%�%�f�d�.?�.?��.D�E��%�%�f�c�(�m�<��1���$�*�*�$��%�%�f�d�j�j��o�>��%�%�f�c�'�l�;��1���!�!�&�$�*:�*:�3�z�?�*K�L�rc����jsy||d}�jj|}|d}|tjk(r!|j	dt
j�y|tjk(r!|j	dt
j�y|�jvr |j	d�j|�y|j	dd�y)Nrr>r�r�)
rgr�r�
NEED_SPACErTr�STOCK_DIALOG_WARNINGrF�STOCK_DIALOG_ERRORrN)	r�r�r�r�r�r�r�r>r7s	        �rrz<GtkFrontend.setup_targets_treeview.<locals>.pixbuf_data_func�s�����<�<����/�!�$�C��,�,�&�&�s�+�C���]�F�����(��!�!�*�c�.F�.F�G��4�?�?�*��!�!�*�c�.D�.D�E��$�*�*�$��%�%�k�4�:�:�c�?�C��%�%�j�$�7rr�DevicerTrFrSr��Capacityr�)rr!r�TYPE_STRING�set_sort_column_id�SortType�	ASCENDINGr�r"r'�	set_titler(r#rTrr$r%r&r)r*r+r,r-r.r/r0r1)r7r�rr7r:r8r9�
cell_capacitys`       rr�z"GtkFrontend.setup_targets_treeview�s����	M�&	8�&�]�]�7�#6�#6�7�
��%�%�a����)?�)?�@����$�$�Z�0��(�(�*�����a��k�*��(�(�*�	����{�E�,?�,?�,C�,C�D��,�,�.�����s�7�7�@�@�A��!�!�$�'����t�$��!�!�"�%����{�E�2����y�$�/����(�(��5��&�&�y�2B�A�F��&�&�{�4D�d�K��(�(�*�	����{�E�,?�,?�,C�,C�D��(�(��7��Y�?���&�&�y�2B�A�F����s�7�7�@�@�A��!�!�$�'����t�$��!�!�"�%����(�(��5��,�,�.�
��"�"�;��0C�0C�0G�0G�H��(�(��:��
�F���&�&�}�6F��J����s�7�7�@�@�A��!�!�$�'����u�%��!�!�"�%����(�(��5rc	���
�d}tjd|jtjjtj
tjjtjtjjf���
�
fd�}|dtd��|dtd��tjjd�}�
j|��
j�}|tjjk(rɉ
j!�}�
j#�|j$}|j'�}|j)�}|�_|j+|d	�|k(r6|j-|�}	|j/|	dd
�|j1|	�y|j3|�}|��_|j4j7|�y�
j#�y)Nr�)�titlerE�actionrc���tj�}|j|�|j|��j	|�yr)r�
FileFilter�add_patternrY�
add_filter)rM�n�filter�choosers   �r�_add_filterz7GtkFrontend.add_file_source_dialog.<locals>._add_filters7����^�^�%�F����q�!��O�O�A�����v�&rz*.isoz	CD Imagesz*.imgzDisk Images�~rF)r�FileChooserDialogr��FileChooserAction�OPEN�STOCK_CANCEL�ResponseType�CANCEL�
STOCK_OPEN�OKr(r�r��
expanduser�set_current_folderr$�get_filenamer%r�r�r�r�r@�
set_cursor�scroll_to_cellr�rgr�)r7r�filenamerg�folder�response�treeviewr�r�r�rfs          @r�add_file_source_dialogz"GtkFrontend.add_file_source_dialogs�������'�'�d�4�;�;�/2�/D�/D�/I�/I�14�1A�1A�14�1A�1A�1H�1H�14���14�1A�1A�1D�1D�1F�G��	'�	�G�Q�{�^�,��G�Q�}�-�.����#�#�C�(���"�"�6�*��;�;�=���s�'�'�*�*�*��+�+�-�H��O�O���+�+�H��&�&�(�E��+�+�-�H��&��?�?�8�Q�/�8�;� �>�>�(�3�D��'�'��d�E�:��+�+�D�1�� �?�?�8�4��
�&�
�L�L�"�"�8�,��O�O�rc��|j�}|j�}|�r�|�r�tj|jdtj
jtjj��}|jtd��|jtd��|j�}|j�|tjjk7rytd�}|j jd|zdz�|j"j%d�|j&j)�|jj+�|j,j/�|j1|j2�	|j4j7|||j8�	�yyy#|j;�YyxYw)
NT)�
transient_for�modalrrz<Are you sure you want to write the disc image to the device?zAll existing data will be lost.zStarting up...�<big><b>�
</b></big>r�)rF)r�r�rrr�r �QUESTIONr"�YES_NO�
set_markupr(�format_secondary_markupr$r%rm�YES�progress_title�
progress_inforHrer>r4r��
show_progressr�r�rg�installrF�_fail)r7r�r�r�r�rx�starting_ups       rr�zGtkFrontend.install;sf�����"�����"���f��!�!����4�!$���!9�!9�3�?�?�CY�CY�[�A�
�L�L��Y�Z�[�
�%�%�a�(I�&J�K��u�u�w�H�
�I�I�K��3�+�+�/�/�/���,�-�K����*�*�:��+C�l�+R�S����'�'��+����$�$�&��K�K�����J�J�$�$�&����� 0� 0�1�
����$�$�V�V�;?�;U�;U�%�W�'�6��*
��
�
��s�(G�Gc�|�|jr|jjd�y|dkDrd}|jj	|dz�|j
j
|dz�|dkr(|jjtd�|z�y|jjtd��y)Nr��dgY@z
%d%% completezFinishing...)r�r�rH�progress_bar�set_fractionr��set_progressr()r7�completes  rrtzGtkFrontend.progressVs����<�<����'�'��+���c�>��H����&�&�x�%�'7�8��
�
����5� 0�1��c�>����'�'��/�(:�X�(E�F����'�'��.�(9�:rc�F�|jjd|zdz�y)Nr~r)r�r��r7r's  rrvzGtkFrontend.progress_messagees �����&�&�z�G�';�l�'J�Krc�>���fd�}�jd|��_y)Nc�:���jj�yr)r��pulse�r7s�rr�z)GtkFrontend.progress_pulse.<locals>.pulseks������#�#�%�rr�)r�r�)r7r�s` rrxzGtkFrontend.progress_pulseis���	��'�'��U�3��rc�b�|jr#|j|j�d|_yy�NF)r�r�r�s rrzzGtkFrontend.progress_pulse_stopps'���<�<�������-� �D�L�rc�&�tj|jddtjjtj
j|��}|j�}|j�|tjjk(S�NT)r|r}�destroy_with_parentrrr)rrr�r r!r"r�r$r%rmr�)r7r'�retry_dialogrxs    rr|zGtkFrontend.retryvsp���(�(�t�{�{�$�dh�69�o�o�6K�6K�UX�Ud�Ud�Uk�Uk�8?�A�� �#�#�%�������3�+�+�/�/�/�/rc��|jj�tj�dkDrtj�yyr�)rg�cancel_installr�
main_level�	main_quit�r7rs  rr�zGtkFrontend.quits/�����#�#�%��>�>��a���M�M�O� rc�&�|j|�yr)r�r�s  rrpzGtkFrontend.failure�s���
�
�7�rc���tjd�|jj�|jj�|j
j
d�|std�}|jj|j�|jj|�|jj�tj�y)NzInstallation failed.F)r�r�r3r4rer�r�r(�
failed_dialogrd�failed_dialog_labelrHr$rr�r�s  rr�zGtkFrontend._fail�s������0�1���� � �"���� � �"��
�
� � ��'���.�/�G����,�,�T�-@�-@�A�� � �)�)�'�2������ ��
�
�rc������jj��jj��jj	d�	ddl}|j
�}|jdd���jdtj��r<�jj���fd�}�jjd|��j"j%�j��j"j'��j(j+�t-j.�y#j$rtj d�Y��wxYw)	NFr�com.ubuntu.USBCreatorz/com/ubuntu/USBCreator)�dbus_interface�timeoutc�f���j�j�tjd��y)Nr�)r�)�KVMTestr�r��environ)r�objr7s ��r�gozGtkFrontend.success.<locals>.go�s'����K�K���� 1�2�:�:�/F� �Hrr1zError checking for kvm:)r3r4rer�r��dbus�	SystemBus�
get_object�KVMOkr�MAX_DBUS_TIMEOUT�kvm_testr>ra�
DBusExceptionr�r�r:rdr$rg�shutdownrr�)r7r��busr�r�s`   @rrrzGtkFrontend.success�s������ � �"���� � �"��
�
� � ��'�
	9���.�.�"�C��.�.�!8�!9�;�C��y�y�(?�!%�!6�!6��8��
�
�"�"�$�H��
�
�%�%�i��4�	
���.�.�t�/B�/B�C���� � �"��������
�
���
�!�!�	9����7�8�	9�s�BE�$E+�*E+c���tj|jddtjjtj
j|��}|j�|j�yr�)	rrr�r �WARNINGr"r#r$r%)r7r'r(s   r�notifyzGtkFrontend.notify�sQ���"�"����D�^b�03���0G�0G�QT�Q`�Q`�Qf�Qf�29�;��	�
�
�����rc��yrrr�s  r�format_dest_clickedzGtkFrontend.format_dest_clicked�s��rc��|jj�j�\}}|stjd�y||d}|j
j
|�}|rtjd|g�yy)Nz/Open button pressed but there was no selection.rz
gnome-open)	r�r�r�r��errorrg�open�
subprocess�Popen)r7rr�r��disk�dirs      r�open_dest_folderzGtkFrontend.open_dest_folder�ss���,�,�:�:�<�I�I�K���x���M�M�K�L���X��q�!���l�l����%������l�C�0�1�rr�r)$�__name__�
__module__�__qualname__�classmethodr)r.r�r�r�rhrjrlrnr�r�r�r�r~r�r�r�rzr�rrtrvrxrzr|r�rpr�rrr�r�r�rrrrr3s.�������+��+�n�`�)�
*�&M�$"�&"�*���&cM�J'�<J�*�L6�\#�J�6�;��;��L��L��4��4��!��!�
�0��0��
���������0��2rrc��|j�}|j|�}|s!|j�j�d�C|j	|j|�dd�|j
|j|��yy)Nr�F)r��appendr�r�rtr@ru)ry�new_rowr�r��new_iters     rr�r��su����� �E��|�|�G�$�H��8�1�1�3�@�@�B�1�E�M����E�N�N�8�4�d�E�B�������x� 8�9�Nr)r�r��gettextr��gi�require_version�
gi.repositoryrrrrrr�usbcreator.frontends.baser	�%usbcreator.frontends.gtk.unitysupportr
r0rr�r�r��getcwdrM�threads_initrrr�rrr�<module>r�s����	���	�����5�%� �����5�%� �!������.�>������#��g�g�l�l�9�2�9�9�;�(?�@�G�8�G�������M
2�(�M
2�^:r

Zerion Mini Shell 1.0