def process_duplicates(self, db, duplicates): ta = _('%(title)s by %(author)s') bf = QFont(self.dup_list.font()) bf.setBold(True) itf = QFont(self.dup_list.font()) itf.setItalic(True) for mi, cover, formats in duplicates: item = QTreeWidgetItem([ta%dict( title=mi.title, author=mi.format_field('authors')[1])] , 0) item.setCheckState(0, Qt.Checked) item.setFlags(Qt.ItemIsEnabled|Qt.ItemIsUserCheckable) item.setData(0, Qt.FontRole, bf) item.setData(0, Qt.UserRole, (mi, cover, formats)) matching_books = db.books_with_same_title(mi) def add_child(text): c = QTreeWidgetItem([text], 1) c.setFlags(Qt.ItemIsEnabled) item.addChild(c) return c add_child(_('Already in calibre:')).setData(0, Qt.FontRole, itf) for book_id in matching_books: aut = [a.replace('|', ',') for a in (db.authors(book_id, index_is_id=True) or '').split(',')] add_child(ta%dict( title=db.title(book_id, index_is_id=True), author=authors_to_string(aut))) add_child('') yield item
def create_item(self, f, parent): name = f.name ans = QTreeWidgetItem(parent, [name]) ans.setData(0, Qt.UserRole, '/'.join(f.full_path[1:])) ans.setFlags(Qt.ItemIsUserCheckable | Qt.ItemIsEnabled) ans.setCheckState(0, Qt.Unchecked if self.dev.is_folder_ignored(f.storage_id, f.full_path[1:]) else Qt.Checked) ans.setData(0, Qt.DecorationRole, file_icon_provider().icon_from_ext('dir')) return ans
def readControlFile(self, filename): self.control = controlPoints(self.N, filename) # obs=obsSplit(obs) for x, y in self.control.iteritems(): #print coord item = QTreeWidgetItem(self.treeControl) item.setText(0, x) item.setText(1, str(round(y.y, 3))) item.setText(2, str(round(y.x, 3))) item.setText(3, str(round(y.h, 3))) item.setCheckState(0, Qt.Checked)
def readControlFile(self, filename): self.control = controlPoints(self.N,filename) # obs=obsSplit(obs) for x,y in self.control.iteritems(): #print coord item = QTreeWidgetItem(self.treeControl) item.setText(0, x) item.setText(1, str(round(y.y,3))) item.setText(2, str(round(y.x,3))) item.setText(3, str(round(y.h,3))) item.setCheckState(0, Qt.Checked)
def create_item(self, f, parent): name = f.name ans = QTreeWidgetItem(parent, [name]) ans.setData(0, Qt.UserRole, '/'.join(f.full_path[1:])) ans.setFlags(Qt.ItemIsUserCheckable | Qt.ItemIsEnabled) ans.setCheckState( 0, Qt.Unchecked if self.dev.is_folder_ignored( f.storage_id, f.full_path[1:]) else Qt.Checked) ans.setData(0, Qt.DecorationRole, file_icon_provider().icon_from_ext('dir')) return ans
def process_duplicates(self, db, duplicates): ta = _('%(title)s by %(author)s [%(formats)s]') bf = QFont(self.dup_list.font()) bf.setBold(True) itf = QFont(self.dup_list.font()) itf.setItalic(True) for mi, cover, formats in duplicates: # formats is a list of file paths # Grab just the extension and display to the user # Based only off the file name, no file type tests are done. incoming_formats = ', '.join( os.path.splitext(path)[-1].replace('.', '').upper() for path in formats) item = QTreeWidgetItem([ ta % dict(title=mi.title, author=mi.format_field('authors')[1], formats=incoming_formats) ], 0) item.setCheckState(0, Qt.Checked) item.setFlags(Qt.ItemIsEnabled | Qt.ItemIsUserCheckable) item.setData(0, Qt.FontRole, bf) item.setData(0, Qt.UserRole, (mi, cover, formats)) matching_books = db.books_with_same_title(mi) def add_child(text): c = QTreeWidgetItem([text], 1) c.setFlags(Qt.ItemIsEnabled) item.addChild(c) return c add_child(_('Already in calibre:')).setData(0, Qt.FontRole, itf) for book_id in matching_books: aut = [ a.replace('|', ',') for a in ( db.authors(book_id, index_is_id=True) or '').split(',') ] add_child( ta % dict(title=db.title(book_id, index_is_id=True), author=authors_to_string(aut), formats=db.formats( book_id, index_is_id=True, verify_formats=False))) add_child('') yield item
def process_duplicates(self, db, duplicates): ta = _('%(title)s by %(author)s [%(formats)s]') bf = QFont(self.dup_list.font()) bf.setBold(True) itf = QFont(self.dup_list.font()) itf.setItalic(True) for mi, cover, formats in duplicates: # formats is a list of file paths # Grab just the extension and display to the user # Based only off the file name, no file type tests are done. incoming_formats = ', '.join(os.path.splitext(path)[-1].replace('.', '').upper() for path in formats) item = QTreeWidgetItem([ta%dict( title=mi.title, author=mi.format_field('authors')[1], formats=incoming_formats)] , 0) item.setCheckState(0, Qt.Checked) item.setFlags(Qt.ItemIsEnabled|Qt.ItemIsUserCheckable) item.setData(0, Qt.FontRole, bf) item.setData(0, Qt.UserRole, (mi, cover, formats)) matching_books = db.books_with_same_title(mi) def add_child(text): c = QTreeWidgetItem([text], 1) c.setFlags(Qt.ItemIsEnabled) item.addChild(c) return c add_child(_('Already in calibre:')).setData(0, Qt.FontRole, itf) for book_id in matching_books: aut = [a.replace('|', ',') for a in (db.authors(book_id, index_is_id=True) or '').split(',')] add_child(ta%dict( title=db.title(book_id, index_is_id=True), author=authors_to_string(aut), formats=db.formats(book_id, index_is_id=True, verify_formats=False))) add_child('') yield item
def readObsFile(self, filename): self.N, self.stationsOrder, self.obsOrder = Observations(filename) N = self.N self.obs1, self.ObsList = getObs(N) self.obs = obsSplit(self.obs1) for name in self.stationsOrder: item = QTreeWidgetItem(self.treeObs) item.setText(0, name) for t, j in self.obs[name].iteritems(): subitem = QTreeWidgetItem(item) subitem.setText(1, t[0:-2]) if j.type == 'direction': subitem.setText(2, str(rad2dms(j.direction))) subitem.setCheckState(0, Qt.Checked) if j.type == 'distance': subitem.setCheckState(0, Qt.Checked) subitem.setText(3, str(j.distance)) if j.type == 'both': subitem.setText(2, str(rad2dms(j.direction))) subitem.setCheckState(0, Qt.Checked) subitem.setText(3, str(j.distance)) item.setCheckState(0, Qt.Checked)
def readObsFile(self, filename): self.N,self.stationsOrder,self.obsOrder = Observations(filename) N=self.N self.obs1,self.ObsList=getObs(N) self.obs=obsSplit(self.obs1) for name in self.stationsOrder: item = QTreeWidgetItem(self.treeObs) item.setText(0, name) for t,j in self.obs[name].iteritems(): subitem=QTreeWidgetItem(item) subitem.setText(1, t[0:-2]) if j.type=='direction': subitem.setText(2,str( rad2dms(j.direction))) subitem.setCheckState(0, Qt.Checked) if j.type=='distance': subitem.setCheckState(0, Qt.Checked) subitem.setText(3, str(j.distance)) if j.type=='both': subitem.setText(2,str( rad2dms(j.direction))) subitem.setCheckState(0, Qt.Checked) subitem.setText(3, str(j.distance)) item.setCheckState(0, Qt.Checked)