U
    ą^                     @   s   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Zd dlmZmZ G dd	 d	ej	Z
ed
kre Ze
e  dS )    )IBus)Gdk)	GdkPixbuf)Gtk)PangoN)_N_c                       s>   e Zd Zd fdd	Zdd Zdd Zdd	 Zd
d Z  ZS )EngineAboutNc                    sD   || _ tt| jtd|d tdtjjf}| j|  | 	  d S )NZAbout)titletransient_forZ_Close)
_EngineAbout__engine_descsuperr	   __init__r   r   ZResponseTypeZCLOSEZadd_buttons_EngineAbout__init_ui)selfZenginer   Zbuttons	__class__ $/usr/share/ibus/setup/engineabout.pyr   "   s    

zEngineAbout.__init__c                 C   s   |  d t }|tjj |tjjtjj |	dd t
 | _| jd || j |  | j|ddd |   d S )Nz
help-abouti  FTr   )Zset_icon_namer   ZScrolledWindowZset_shadow_typeZ
ShadowTypeZ	ETCHED_INZ
set_policyZ
PolicyTypeZ	AUTOMATICZset_size_requestZTextView_EngineAbout__text_viewZset_editableaddZshow_allZvboxZ
pack_start_EngineAbout__fill_text_view)r   swr   r   r   Z	__init_ui,   s    

zEngineAbout.__init_uic                 C   s   | j  }| | |d}||dd ||| | j  ||dt	
| j dd ||tdt| j  ddd ||td	| j  ddd ||td
| j  ddd ||tdddd ||t	| jdd d S )Nr   z
 left_margin_16z
%s
headingzLanguage: %s
smallboldzKeyboard layout: %s
zAuthor: %s
zDescription:
	wrap_textleft_margin_32)r   Z
get_buffer_EngineAbout__create_tagsZget_iter_at_offsetZinsert_with_tags_by_nameZinsert_pixbuf_EngineAbout__load_iconr   Zget_iconi18nZgettext_engine_longnamer   r   Zget_language_nameZget_languageZ
get_layoutZ
get_authorZgettext_engine_description)r   text_bufferiterr   r   r   Z__fill_text_view;   sV    


          
 zEngineAbout.__fill_text_viewc                 C   s   |j dtjjdtj d |j dtjjd |j dtjjd |j dd	d
 |j ddd |j dtjj	d |j ddd |j ddd d S )Nr      )weightsizer   )r%   Zitalic)Zstyler   g𞪪?)ZscaleZgray_foregroundz	dark gray)Z
foregroundr   )Z	wrap_moder   )Zleft_marginr       )
Z
create_tagr   ZWeightZBOLDZSCALEZStyleZITALICr   ZWrapModeZWORD)r   r"   r   r   r   Z__create_tagsW   s2    zEngineAbout.__create_tagsc                 C   st   zt j|ddd}W nX   tj }||dd}|d krL|ddd}|d krb|ddd}| }Y nX |S )N0   Tr   zibus-enginezimage-missing)r   ZPixbufZnew_from_file_at_scaler   Z	IconThemeZget_defaultZlookup_iconZ	load_icon)r   Z	icon_nameZpixbufZthemeZiconr   r   r   Z__load_iconj   s    
zEngineAbout.__load_icon)N)	__name__
__module____qualname__r   r   r   r   r    __classcell__r   r   r   r   r	   !   s
   
r	   __main__)Zgi.repositoryr   r   r   r   r   r!   r   r   ZDialogr	   r)   Z
EngineDescZdescrunr   r   r   r   <module>   s   Y