³ò
¸bc           @   s¹  d  Z  d d k Z d d k Z d d k Z d d k Z d d k Z d d k Z d d k l Z e i Z	 d d k
 Z
 e
 i d ƒ d d k l Z d d k Z d d k Z d d k Z d d k l Z d d k l Z l Z l Z l Z d d k l Z d d	 k l Z l Z d d
 k l Z l Z yE d d k
 Z
 e
 i d ƒ d d k l Z d d k Z d d k Z Wn e j
 o n Xd e i f d „  ƒ  YZ d „  Z  e! d j o	 d GHn d S(   sQ   

    KeepNote
    Create node/s from selected text
    (originally import_txt)

iÿÿÿÿN(   t   escapes   2.0(   t   gdk(   t   unicode_gtk(   t   NoteBookErrort   get_valid_unique_filenamet   CONTENT_TYPE_DIRt   attach_file(   t   notebook(   t   tasklibt   safefile(   t	   extensiont   FileChooserDialogt	   Extensionc           B   sG   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C   s)   h  |  _  h  |  _ t i i |  | ƒ d S(   s   Initialize extensionN(   t   _widget_focust   _set_focus_idR
   R   t   __init__(   t   selft   app(    (    sG   C:\Users\PCB\AppData\Roaming\keepnote\extensions\text2nodes\__init__.pyR   M   s    		c         C   s   d d d f g S(   Nt   keepnotes   >=i    i   i   (   i    i   i   (    (   R   (    (    sG   C:\Users\PCB\AppData\Roaming\keepnote\extensions\text2nodes\__init__.pyt   get_dependsX   s    c      	      sd   ˆ  i  ˆ d t d ƒ ‡  ‡ f d †  d t d ƒ ƒˆ  i ˆ d ƒ ˆ i d ˆ  i ƒ ˆ  i ˆ <d S(   s,   Initialize extension for a particular windowt
   Text2Nodesc            s   ˆ  i  ˆ ƒ S(    (   t   on_text2nodes(   t   w(   R   t   window(    sG   C:\Users\PCB\AppData\Roaming\keepnote\extensions\text2nodes\__init__.pyt   <lambda>e   s    t   tooltips#   Create Node/s from highlighted textsß   
            <ui>
            <menubar name="main_menu_bar">
               <menu action="Tools">
                 <menuitem action="Text2Nodes"/>
               </menu>
            </menubar>
            </ui>
            s	   set-focusN(   t
   add_actiont   _t   add_uit   connectt	   _on_focusR   (   R   R   (    (   R   R   sG   C:\Users\PCB\AppData\Roaming\keepnote\extensions\text2nodes\__init__.pyt	   on_add_ui\   s    		c         C   s5   t  i i |  | ƒ | i |  i | ƒ |  i | =d  S(   N(   R
   R   t   on_remove_uit
   disconnectR   (   R   R   (    (    sG   C:\Users\PCB\AppData\Roaming\keepnote\extensions\text2nodes\__init__.pyR    x   s    c         C   s   | |  i  | <d S(   s#   Callback for focus change in windowN(   R   (   R   R   t   widget(    (    sG   C:\Users\PCB\AppData\Roaming\keepnote\extensions\text2nodes\__init__.pyR      s    c   
      C   s  |  i  i | d ƒ } t | t i ƒ p t i d ƒ d Sn | i ƒ  } | i	 ƒ  } | p d Sn t
 | i | d | d ƒ ƒ } | i ƒ  } t | ƒ d j o d Sn | d } t i ƒ  } xD | i ƒ  D]6 }	 |	 i ƒ  }	 |	 d j o |  i | |	 d ƒ qÎ qÎ W| i ƒ  d S(   s    Callback from gui for text2nodess
   T2N: focusNi    i   t    (   R   t   gett   Nonet
   isinstancet   gtkt   TextViewR   t	   log_errort
   get_buffert   get_selection_boundsR   t   get_textt   get_selected_nodest   lenR   t   Taskt
   splitlinest   stript	   make_paget   finish(
   R   R   R"   t   buft   boundst   txtt   nodest   nodet   taskt   title(    (    sG   C:\Users\PCB\AppData\Roaming\keepnote\extensions\text2nodes\__init__.pyR   †   s(    
 
 c         C   s   | i  t i | d
 ƒ } t i | i ƒ  d d d ƒ} | i d ƒ | i d d ƒ } | i d d ƒ } | i | ƒ | i d	 ƒ | i	 ƒ  d
 S(   s	   
        R   t   codecs   utf-8u¯   <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml"><body>u   
u   <br/>u   u    u   </body></html>N(
   t	   new_childt   notebooklibt   CONTENT_TYPE_PAGER%   R	   t   opent   get_data_filet   writet   replacet   close(   R   t   parent_nodeR:   t   textt   childt   out(    (    sG   C:\Users\PCB\AppData\Roaming\keepnote\extensions\text2nodes\__init__.pyR2   µ   s    (	   t   __name__t
   __module__R   R   R   R    R   R   R2   (    (    (    sG   C:\Users\PCB\AppData\Roaming\keepnote\extensions\text2nodes\__init__.pyR   K   s   							/c         C   sÕ   g  } t  |  ƒ } x: | D]2 } | d j o | i d ƒ q | i | ƒ Pq Wxv | D]n } | d j oN | i d ƒ xK | D]2 } | d j o | i d ƒ q} | i | ƒ Pq} WqV | i | ƒ qV Wd i | ƒ S(   s#   Escape white space for an HTML linet    s   &nbsp;R#   (   t   itert   appendt   join(   t   linet   line2t   itt   c(    (    sG   C:\Users\PCB\AppData\Roaming\keepnote\extensions\text2nodes\__init__.pyt   escape_whitespaceß   s(       	t   __main__t
   text2nodes("   t   __doc__t   codecst   gettextt	   mimetypest   ost   syst   ret   xml.sax.saxutilsR    R   t   pygtkt   requireR'   R   t	   gtk.gladet   gobjectR   R   t   keepnote.notebookR   R   R   R   R   R=   R   R	   t   keepnote.guiR
   R   t   ImportErrorR   RR   RH   (    (    (    sG   C:\Users\PCB\AppData\Roaming\keepnote\extensions\text2nodes\__init__.pys   <module>   s>   	"”	