
    @};d                         d dl mZ d dlmZmZ d dlZd dlmZmZm	Z	m
Z
mZ d dlZ ej                  d ej                                 G d de
j                  ej                         Zy)    )lyrics_sites)systempathN)RBGtkGioGObjectPeasGtk	rhythmboxc                   h    e Zd Zd Z ej
                  ej                        Zd Zd Z	d Z
d Zd Zy)LyricsConfigureDialog)typec                     t         j                  j                  |        t        j                  j                  d      | _        y )Nz"org.gnome.rhythmbox.plugins.lyrics)r	   Object__init__r   Settingsnewsettings)selfs    K/usr/lib/x86_64-linux-gnu/rhythmbox/plugins/lyrics/LyricsConfigureDialog.pyr   zLyricsConfigureDialog.__init__*   s+    	..$,,""#GH$-    c                 H   t        j                         }|j                  t        j                  | d             |j                  d      | _        |j                  d      | _        |j                  d      | _        | j                  j                  d| j                         | j                         \  }| _        | j                  d| _        | j                  j                  | j                         |j                  d      }i | _        t        D ]u  }|d   }t        j                   |d	   
      }|j#                  |d   |v        |j                  d| j$                         || j                  |<   |j'                  |ddd       w |j)                          | j                  S )Nzlyrics-prefs.uiconfigchoose_buttonpath_displayclickedz	~/.lyricssitesidname)labeltoggledTr   )r   Builderadd_from_filerbfind_plugin_file
get_objectr   r   r   connectchoose_callback	get_prefsfolderset_textsite_checksr   CheckButton
set_active	set_sites
pack_startshow_all)r   builderenginessite_boxssite_idcheckbuttons          r   do_create_configure_widgetz0LyricsConfigureDialog.do_create_configure_widget.   sd   KKM'	++D2CDE""8,$+))/:$((8$Y(<(<=)'4;	[[4;T[[) (($ 3atW763;!D'W,-y$..1*4G{D$23 	r   c                     g }t         D ]<  }| j                  |d      }||j                         s)|j                  |d          > t	        dt        |      z          || j                  d<   y )Nr   zsetting lyrics sites: r   )r   r,   
get_activeappendprintstrr   )r   widgetr   r5   checks        r   r/   zLyricsConfigureDialog.set_sitesM   sp    
% aAdG$5m	LL4  3u:-. $--r   c                 :     fd}t         j                  t         j                  j                  t         j                  t         j                  j
                  f}t        j                  t        d      d t         j                  j                  |       _
         j                  j                  d|        j                  j                  d        j                  j                   j                  j                                 j                  j!                          y )Nc                 2   |t         j                  j                  k(  r_j                  j	                         }j                  j                          j                  j                  |       |j                  d<   y j                  j                          y )Nr*   )	r   ResponseTypeOKchooserget_filenamedestroyr   r+   r   )r>   responser   r   s      r   response_handlerz?LyricsConfigureDialog.choose_callback.<locals>.response_handler\   sk    #""%%%<<$$&DLLt$"DMM(LLr   zChoose lyrics folder...)titleparentactionbuttonsrG   T)r   STOCK_CLOSErB   CLOSESTOCK_OKrC   FileChooserDialog_FileChooserActionSELECT_FOLDERrD   r'   	set_modalset_transient_forr   get_toplevelpresent)r   r>   rH   rL   s   `   r   r(   z%LyricsConfigureDialog.choose_callback[   s     __c..44LL#""%%''&&Q/H-I!!//$, ,,z#34,,,,  !9!9!;<,,r   c                     	 | j                   d   }| j                   d   }t        dt	              z          t        d|z          ||fS # t        j                  $ r}t        |       g }Y d }~]d }~ww xY w)Nr   r*   zlyric sites: zlyric folder: )r   GLibGErrorr<   r=   )r   r   er3   r*   s        r   r)   zLyricsConfigureDialog.get_prefsp   sp    ==!5 =="&#u+%&6!"
 
 87s   A	 	A3A..A3N)__name__
__module____qualname____gtype_name__r	   propertyr   objectr   r8   r/   r(   r)    r   r   r   r   &   s7    )
'


/I>!*
r   r   )LyricsSitesr   osr   r   r$   gi.repositoryr   r   r   r	   r
   gettextinstall
locale_dirr   Configurabler   rb   r   r   <module>rj      sK   8 %  	 8 8  ]R]]_ -TW^^W-A-A Tr   