示例#1
0
 def add_file(self):
     if not self.check_opf_dirtied():
         return
     d = NewFileDialog(self.gui)
     if d.exec_() != d.Accepted:
         return
     self.add_savepoint(_('Add file %s') % self.gui.elided_text(d.file_name))
     c = current_container()
     data = d.file_data
     if d.using_template:
         data = data.replace(b'%CURSOR%', b'')
     try:
         c.add_file(d.file_name, data)
     except:
         self.rewind_savepoint()
         raise
     self.gui.file_list.build(c)
     self.gui.file_list.select_name(d.file_name)
     if c.opf_name in editors:
         editors[c.opf_name].replace_data(c.raw_data(c.opf_name))
     mt = c.mime_map[d.file_name]
     syntax = syntax_from_mime(mt)
     if syntax:
         if d.using_template:
             self.edit_file(d.file_name, syntax, use_template=d.file_data.decode('utf-8'))
         else:
             self.edit_file(d.file_name, syntax)
示例#2
0
    def add_file(self):
        if current_container() is None:
            return error_dialog(self.gui, _('No open book'), _(
                'You must first open a book to tweak, before trying to create new files'
                ' in it.'), show=True)

        self.commit_dirty_opf()
        d = NewFileDialog(self.gui)
        if d.exec_() != d.Accepted:
            return
        self.add_savepoint(_('Add file %s') % self.gui.elided_text(d.file_name))
        c = current_container()
        data = d.file_data
        if d.using_template:
            data = data.replace(b'%CURSOR%', b'')
        try:
            c.add_file(d.file_name, data)
        except:
            self.rewind_savepoint()
            raise
        self.gui.file_list.build(c)
        self.gui.file_list.select_name(d.file_name)
        if c.opf_name in editors:
            editors[c.opf_name].replace_data(c.raw_data(c.opf_name))
        mt = c.mime_map[d.file_name]
        syntax = syntax_from_mime(d.file_name, mt)
        if syntax:
            if d.using_template:
                self.edit_file(d.file_name, syntax, use_template=d.file_data.decode('utf-8'))
            else:
                self.edit_file(d.file_name, syntax)
示例#3
0
 def import_image(self):
     ans = choose_images(self, 'add-cover-choose-image', _('Choose a cover image'), formats=(
         'jpg', 'jpeg', 'png', 'gif'))
     if ans:
         from calibre.gui2.tweak_book.file_list import NewFileDialog
         d = NewFileDialog(self)
         d.do_import_file(ans[0], hide_button=True)
         if d.exec_() == d.Accepted:
             self.import_requested.emit(d.file_name, d.file_data)
             self.container = current_container()
             self.names_filter.clear()
             self.names.model().set_names(sorted(self.image_names, key=sort_key))
             i = self.names.model().find_name(d.file_name)
             self.names.setCurrentIndex(self.names.model().index(i))
             self.current_image_changed()
示例#4
0
文件: boss.py 项目: kmshi/calibre
    def add_file(self):
        if current_container() is None:
            return error_dialog(
                self.gui,
                _('No open book'),
                _('You must first open a book to tweak, before trying to create new files'
                  ' in it.'),
                show=True)

        self.commit_dirty_opf()
        d = NewFileDialog(self.gui)
        if d.exec_() != d.Accepted:
            return
        self.add_savepoint(
            _('Add file %s') % self.gui.elided_text(d.file_name))
        c = current_container()
        data = d.file_data
        if d.using_template:
            data = data.replace(b'%CURSOR%', b'')
        try:
            c.add_file(d.file_name, data)
        except:
            self.rewind_savepoint()
            raise
        self.gui.file_list.build(c)
        self.gui.file_list.select_name(d.file_name)
        if c.opf_name in editors:
            editors[c.opf_name].replace_data(c.raw_data(c.opf_name))
        mt = c.mime_map[d.file_name]
        syntax = syntax_from_mime(d.file_name, mt)
        if syntax:
            if d.using_template:
                self.edit_file(d.file_name,
                               syntax,
                               use_template=d.file_data.decode('utf-8'))
            else:
                self.edit_file(d.file_name, syntax)