
    eh                         d dl Z d dlZ ej                  dd       d dlmZ d dlmZ d dlmZ  G d dej                        Z
 G d	 d
      Zy)    NGtkz3.0)r   )Deb822SourceEntry)setup_uic                   2     e Zd Zd fd	Zd Zd Zd Z xZS )_CustomSourceEntryFieldc                 4   t         t        j                  |           || _        t        j
                  dd      | _        t        j
                  dd      | _        t        j                  j                  d      | _
        || j                  j                  |       || j                  j                  |       | j                  d       | j                  | j                  ddd	d	       | j                  | j                  d	dd	d	       | j                  | j                  d
dd	d	       | j                  d|       | j                  j                  d|       | j                  j                  d|       | j                  j                  d| j                         y )N	field_keyKey)nameplaceholder_textfield_valueValuez
gtk-delete   r         destroychangedclicked)superr   Grid__init__windowEntry	entry_key	entry_valButtonnew_from_stockbutton_deleteset_textset_column_spacingattachconnect"_button_del_field_clicked_callback)selfr   input_changed_callbackkeyvalue	__class__s        I/usr/lib/python3/dist-packages/softwareproperties/gtk/DialogEditDeb822.pyr   z _CustomSourceEntryField.__init__   s6   chh&(eLP ZZ66|D?NN##C(NN##E*#DNNAq!Q/DNNAq!Q/D&&1a3Y 67y*@Ay*@A""9"&"I"I	K    c                     | j                         }|j                         j                  |       | j                  j                         d   }| j                  j	                  |d       y )Nr   r   )
get_parentremover   get_default_sizeresize)r$   dataparentwidths       r)   r#   z:_CustomSourceEntryField._button_del_field_clicked_callback7   sR    """6* ,,.q15!$r*   c                 6    | j                   j                         S N)r   get_textr$   s    r)   get_keyz_CustomSourceEntryField.get_key?       ~~&&((r*   c                 6    | j                   j                         S r4   )r   r5   r6   s    r)   get_valz_CustomSourceEntryField.get_valB   r8   r*   NN)__name__
__module____qualname__r   r#   r7   r:   __classcell__)r(   s   @r)   r   r      s    K2%))r*   r   c                   J    e Zd Zd Zd ZddZd Zd Zd Zd Z	d	 Z
d
 Zd Zy)DialogEditDeb822c                     || _         || _        d | _        t        | t        j
                  j                  |dd      d       | j                  | _        | j                  j                  |       | j                          | j                          y )N
gtkbuilderzdialog-edit-deb822-source.uizsoftware-properties)domain)sourceslistsource_entrynew_source_entryr   ospathjoindialog_edit_deb822mainset_transient_for$_populate_with_existing_source_entry_connect_signal_callbacks)r$   r1   rE   rF   datadirs        r)   r   zDialogEditDeb822.__init__G   sv    &( $GGLL,0NO(	

 ++			##F+113&&(r*   c                 
   | j                   j                  dj                  | j                  j                               | j
                  j                  dj                  | j                  j                               | j                  j                  dj                  | j                  j                               | j                  j                  dj                  | j                  j                               | j                  j                  | j                  j                  j                                | j                  j                  j                  j!                         D ]  \  }}|dvs| j#                  ||        y )N )TypesURIsSuites
Components)r&   r'   )entry_typesr   rJ   rF   types
entry_urisurisentry_suitessuitesentry_compscompsentry_commentcommentrstripsectiontagsitems!_append_custom_source_entry_field)r$   r&   r'   s      r)   rN   z5DialogEditDeb822._populate_with_existing_source_entryW   s   !!#((4+<+<+B+B"CD  $*;*;*@*@!AB""388D,=,=,D,D#EF!!#((4+<+<+B+B"CD##D$5$5$=$=$D$D$FG++3388>>@ 	MJCCC663e6L	Mr*   Nc                    t        j                  dd      }t        | j                  | j                  ||      }|j                  |       | j                  j                  |d       | j                  j                          y )NF)
selectableactivatable)	r   
ListBoxRowr   rL   _input_changed_callbackaddlist_box_additional_fieldsinsertshow_all)r$   r&   r'   rowfields        r)   re   z2DialogEditDeb822._append_custom_source_entry_fieldb   sd    nn5A'IIt33S%
 	''..sB7''002r*   c                     | j                   j                         }|D cg c]  }|j                         d    }}|D cg c].  }t        |j                         |j	                         f      s-|0 c}S c c}w c c}w )Nr   )rm   get_childrenanyr7   r:   )r$   rowsrfieldsfs        r)   _get_custom_source_entry_fieldsz0DialogEditDeb822._get_custom_source_entry_fieldsm   sf    ..;;=/34!!.."1%44!EaS!))+qyy{)C%DEE 5Es   A5.A:.A:c                 H   d| j                   j                         | j                  j                         | j                  j                         | j                  j                         fv ry| j                         D ]&  }d|j                         |j                         fv s& y y)N FT)rW   r5   rY   r[   r]   ry   r7   r:   )r$   rq   s     r)   _is_current_input_validz(DialogEditDeb822._is_current_input_valids   s    $""++-//**,##,,.""++-/ / 99; 	Eemmou}}77	 r*   c                    | j                   | j                  | j                  | j                  | j                  fD ]  }|j                  d| j                           | j                  j                  d| j                         y )Nr   r   )	rW   rY   r[   r]   r_   r"   rk   button_add_field"_button_add_field_clicked_callback)r$   entrys     r)   rO   z*DialogEditDeb822._connect_signal_callbacks   ss    &&9J9J&&(:(:< 	CEMM)T%A%AB	C 	%%i&*&M&M	Or*   c                 V    | j                   j                  | j                                y r4   )button_edit_okset_sensitiver|   r$   r0   s     r)   rk   z(DialogEditDeb822._input_changed_callback   s    ))$*F*F*HIr*   c                 $    | j                          y r4   )re   r   s     r)   r   z3DialogEditDeb822._button_add_field_clicked_callback   s    ..0r*   c                 l   t        d | j                  j                        }| j                  j	                         j                         |_        | j                  j	                         j                         |_        | j                  j	                         j                         |_
        | j                  j	                         j                         |_        | j                  j	                         |_        | j                         D ]-  }|j!                         |j"                  |j%                         <   / |S r4   )r   rF   filerW   r5   splitrX   rY   rZ   r[   r\   r]   r^   r_   r`   ry   r:   rb   r7   )r$   rF   rq   s      r)   _source_entry_from_inputz)DialogEditDeb822._source_entry_from_input   s    (t/@/@/E/EF!--668>>@ OO446<<>"//88:@@B!--668>>@#11::<99; 	DE49MMOL  1	D r*   c                     | j                   j                         }|t        j                  j                  k(  r| j                         | _        | j                   j                          |S r4   )rL   runr   ResponseTypeOKr   rG   hide)r$   ress     r)   r   zDialogEditDeb822.run   sI    iimmo#""%%%$($A$A$CD!		
r*   r;   )r<   r=   r>   r   rN   re   ry   r|   rO   rk   r   r   r    r*   r)   rA   rA   F   s8    ) 	M	3FOJ1r*   rA   )rH   girequire_versiongi.repositoryr   aptsources.sourceslistr   softwareproperties.gtk.utilsr   r   r   rA   r   r*   r)   <module>r      sG   $ 
 	   5%    4
&)chh &)R] ]r*   