
    ODg                     "   d dl Z d dlZd dlmZmZmZmZmZ dZe j                  j                  e j                  j                  d      d      ZdZ G d dej                  ej                        Z G d	 d
ej                  ej"                        Zy)    N)GObjectXviewerGioGtkPeasGtkz
<ui>
    <menubar name="MainMenu">
        <menu name="ToolsMenu" action="Tools">
            <separator/>
            <menuitem name="Export" action="Export"/>
            <separator/>
        </menu>
    </menubar>
</ui>
~zexported-imagesz%org.x.viewer.plugins.export-to-folderc                   n    e Zd Z ej                  ej                        Zd Zed        Z	d Z
d Zd Zy)ExportPlugin)typec                     t         j                  j                  |        t        j                  j                  t              | _        y Nr   Object__init__r   SettingsnewBASE_KEYsettingsselfs    ,/usr/lib/xviewer/plugins/export-to-folder.pyr   zExportPlugin.__init__-   *    %((2    c                 R    | j                   j                  d      }|dk(  rt        S |S )Ntarget-folder )r   
get_string
EXPORT_DIR)r   
target_dirs     r   
export_dirzExportPlugin.export_dir1   s*    ]]--o>
r   c                 Z   | j                   j                         }t        j                  d      | _        | j                  j                  dd t        d      dd | j                  fg| j                          |j                  | j                  d       |j                  t              | _        y )NExport)name_ExportEr   )windowget_ui_managerr   ActionGroupaction_groupadd_actions_	export_cbinsert_action_groupadd_ui_from_stringui_strui_idr   
ui_managers     r   do_activatezExportPlugin.do_activate9   s    [[//1
OO:%%$)c4(A 'BCG;;	P&&t'8'8!<226:
r   c                 j    | j                   j                         j                  | j                        }y r   )r&   r'   	remove_uir0   r1   s     r   do_deactivatezExportPlugin.do_deactivateA   s#    [[//1;;DJJG
r   c                    |j                         }|st        d       y |j                         j                         }t        j
                  j                  |      }t        j
                  j                  | j                  |      }	 t	        j                  | j                         t        j                  ||       t        d|d| j                         y # t        $ r Y =w xY w)NzNo image can be exportedzCopied z into )	get_imageprintget_fileget_pathospathbasenamejoinr    makedirsOSErrorshutilcopy2)r   actionr&   imagesrcr#   dests          r   r,   zExportPlugin.export_cbD   s      ",-nn'')ww$ww||DOOT2	KK( 	S$T4??;<  		s   C 	C$#C$N)__name__
__module____qualname__r   propertyr   Windowr&   r   r    r3   r6   r,    r   r   r
   r
   *   sA    W7>>2F3  ;I=r   r
   c                       e Zd Zd Zd Zd Zy)ExportConfigurablec                     t         j                  j                  |        t        j                  j                  t              | _        y r   r   r   s    r   r   zExportConfigurable.__init__X   r   r   c                 
   d| j                   i}t        j                         }|j                  d       |j	                  t
        j                  j                  | j                  j                         d             |j                  |       |j                  d      | _        |j                  d      | _        | j                  j                  d      }|dk(  rt         }| j                  j#                  |       | j                  S )Ncurrent_folder_changed_cbzxviewer-pluginszpreferences_dialog.uiexport_dir_buttonpreferences_boxr   r   )rR   r   Builderset_translation_domainadd_from_filer<   r=   r?   plugin_infoget_data_dirconnect_signals
get_objectrS   preferences_dialogr   r   r   set_current_folder)r   signalsbuilderr   s       r   do_create_configure_widgetz-ExportConfigurable.do_create_configure_widget\   s    .0N0NO++-&&'89bggll4+;+;+H+H+J+BD 	E(!(!3!34G!H")"4"45F"Gmm..?
#J11*=&&&r   c                 X    | j                   j                  d|j                                y )Nr   )r   
set_stringget_current_folder)r   buttons     r   rR   z,ExportConfigurable.current_folder_changed_cbn   s      &2K2K2MNr   N)rH   rI   rJ   r   r`   rR   rM   r   r   rO   rO   V   s    3'$Or   rO   )r<   rB   gi.repositoryr   r   r   r   r   r/   r=   r?   
expanduserr   r   r   WindowActivatabler
   ConfigurablerO   rM   r   r   <module>ri      sx   * 
  = =

 WW\\"'',,S13DE
2)=7>>7#<#< )=XO)=)= Or   