예제 #1
0
파일: toc.py 프로젝트: yipeng0428/calibre
 def __init__(self,
              toc,
              depth,
              all_items,
              normal_font,
              emphasis_font,
              parent=None):
     text = toc.get('title') or ''
     self.href = (toc.get('dest') or '')
     if toc.get('frag'):
         self.href += '#' + toc['frag']
     if text:
         text = re.sub(r'\s', ' ', text)
     self.title = text
     self.parent = parent
     self.node_id = toc['id']
     QStandardItem.__init__(self, text)
     all_items.append(self)
     self.normal_font, self.emphasis_font = normal_font, emphasis_font
     for t in toc['children']:
         self.appendRow(
             TOCItem(t,
                     depth + 1,
                     all_items,
                     normal_font,
                     emphasis_font,
                     parent=self))
     self.setFlags(Qt.ItemFlag.ItemIsEnabled)
     self.is_current_search_result = False
     self.depth = depth
     self.set_being_viewed(False)
예제 #2
0
 def __init__(self, spine, toc, depth, all_items, parent=None):
     text = toc.text
     if text:
         text = re.sub(r'\s', ' ', text)
     self.title = text
     self.parent = parent
     QStandardItem.__init__(self, text if text else '')
     self.abspath = toc.abspath if toc.href else None
     self.fragment = toc.fragment
     all_items.append(self)
     self.emphasis_font = QFont(self.font())
     self.emphasis_font.setBold(True), self.emphasis_font.setItalic(True)
     self.normal_font = self.font()
     for t in toc:
         self.appendRow(TOCItem(spine, t, depth+1, all_items, parent=self))
     self.setFlags(Qt.ItemIsEnabled)
     self.is_current_search_result = False
     spos = 0
     for i, si in enumerate(spine):
         if si == self.abspath:
             spos = i
             break
     am = {}
     if self.abspath is not None:
         try:
             am = getattr(spine[i], 'anchor_map', {})
         except UnboundLocalError:
             # Spine was empty?
             pass
     frag = self.fragment if (self.fragment and self.fragment in am) else None
     self.starts_at = spos
     self.start_anchor = frag
     self.start_src_offset = am.get(frag, 0)
     self.depth = depth
     self.is_being_viewed = False
예제 #3
0
파일: toc.py 프로젝트: suman95/calibre
 def __init__(self, spine, toc, depth, all_items, parent=None):
     text = toc.text
     if text:
         text = re.sub(r'\s', ' ', text)
     self.title = text
     self.parent = parent
     QStandardItem.__init__(self, text if text else '')
     self.abspath = toc.abspath if toc.href else None
     self.fragment = toc.fragment
     all_items.append(self)
     self.emphasis_font = QFont(self.font())
     self.emphasis_font.setBold(True), self.emphasis_font.setItalic(True)
     self.normal_font = self.font()
     for t in toc:
         self.appendRow(TOCItem(spine, t, depth+1, all_items, parent=self))
     self.setFlags(Qt.ItemIsEnabled)
     self.is_current_search_result = False
     spos = 0
     for i, si in enumerate(spine):
         if si == self.abspath:
             spos = i
             break
     am = {}
     if self.abspath is not None:
         try:
             am = getattr(spine[i], 'anchor_map', {})
         except UnboundLocalError:
             # Spine was empty?
             pass
     frag = self.fragment if (self.fragment and self.fragment in am) else None
     self.starts_at = spos
     self.start_anchor = frag
     self.start_src_offset = am.get(frag, 0)
     self.depth = depth
     self.is_being_viewed = False