More QVariant porting

This commit is contained in:
Kovid Goyal 2014-04-24 12:45:57 +05:30
parent fea5728d70
commit ba7206a5ff
15 changed files with 37 additions and 37 deletions

View File

@ -29,7 +29,7 @@ class ItemDelegate(QStyledItemDelegate):
return QStyledItemDelegate.sizeHint(self, *args) + QSize(0, 15) return QStyledItemDelegate.sizeHint(self, *args) + QSize(0, 15)
def setEditorData(self, editor, index): def setEditorData(self, editor, index):
name = unicode(index.data(Qt.DisplayRole).toString()) name = unicode(index.data(Qt.DisplayRole) or '')
editor.setText(name) editor.setText(name)
editor.lineEdit().selectAll() editor.lineEdit().selectAll()

View File

@ -9,7 +9,7 @@ __docformat__ = 'restructuredtext en'
from PyQt5.Qt import ( from PyQt5.Qt import (
QCoreApplication, QModelIndex, QTimer, Qt, pyqtSignal, QWidget, QCoreApplication, QModelIndex, QTimer, Qt, pyqtSignal, QWidget,
QGridLayout, QDialog, QPixmap, QSize, QPalette, QShortcut, QKeySequence, QGridLayout, QDialog, QPixmap, QSize, QPalette, QShortcut, QKeySequence,
QSplitter, QVBoxLayout, QCheckBox, QPushButton, QIcon, QBrush) QSplitter, QVBoxLayout, QCheckBox, QPushButton, QIcon, QBrush, QUrl)
from PyQt5.QtWebKitWidgets import QWebView from PyQt5.QtWebKitWidgets import QWebView
from calibre.gui2 import gprefs from calibre.gui2 import gprefs
@ -103,7 +103,7 @@ class BookInfo(QDialog):
pass pass
def link_clicked(self, qurl): def link_clicked(self, qurl):
link = unicode(qurl.toString()) link = unicode(qurl.toString(QUrl.None))
self.link_delegate(link) self.link_delegate(link)
def done(self, r): def done(self, r):

View File

@ -352,7 +352,7 @@ class CheckLibraryDialog(QDialog):
child_count = tl.childCount() child_count = tl.childCount()
for i in range(0, child_count): for i in range(0, child_count):
item = tl.child(i) item = tl.child(i)
id = item.data(0, Qt.UserRole).toInt()[0] id = int(item.data(0, Qt.UserRole))
all = self.db.formats(id, index_is_id=True, verify_formats=False) all = self.db.formats(id, index_is_id=True, verify_formats=False)
all = set([f.strip() for f in all.split(',')]) if all else set() all = set([f.strip() for f in all.split(',')]) if all else set()
valid = self.db.formats(id, index_is_id=True, verify_formats=True) valid = self.db.formats(id, index_is_id=True, verify_formats=True)
@ -365,7 +365,7 @@ class CheckLibraryDialog(QDialog):
child_count = tl.childCount() child_count = tl.childCount()
for i in range(0, child_count): for i in range(0, child_count):
item = tl.child(i) item = tl.child(i)
id = item.data(0, Qt.UserRole).toInt()[0] id = int(item.data(0, Qt.UserRole))
self.db.set_has_cover(id, False) self.db.set_has_cover(id, False)
def fix_extra_covers(self): def fix_extra_covers(self):
@ -373,7 +373,7 @@ class CheckLibraryDialog(QDialog):
child_count = tl.childCount() child_count = tl.childCount()
for i in range(0, child_count): for i in range(0, child_count):
item = tl.child(i) item = tl.child(i)
id = item.data(0, Qt.UserRole).toInt()[0] id = int(item.data(0, Qt.UserRole))
self.db.set_has_cover(id, True) self.db.set_has_cover(id, True)
def fix_items(self): def fix_items(self):

View File

@ -110,7 +110,7 @@ class DeleteMatchingFromDeviceDialog(QDialog, Ui_DeleteMatchingFromDeviceDialog)
for row in range(self.table.rowCount()): for row in range(self.table.rowCount()):
if self.table.item(row, 0).checkState() == Qt.Unchecked: if self.table.item(row, 0).checkState() == Qt.Unchecked:
continue continue
(model, id, path) = self.table.item(row, 0).data(Qt.UserRole).toPyObject() (model, id, path) = self.table.item(row, 0).data(Qt.UserRole)
path = unicode(path) path = unicode(path)
self.result.append((model, id, path)) self.result.append((model, id, path))
return return

View File

@ -87,7 +87,7 @@ class DeviceCategoryEditor(QDialog, Ui_DeviceCategoryEditor):
item.setText(item.previous_text()) item.setText(item.previous_text())
return return
if item.text() != item.initial_text(): if item.text() != item.initial_text():
id_ = item.data(Qt.UserRole).toInt()[0] id_ = int(item.data(Qt.UserRole))
self.to_rename[id_] = unicode(item.text()) self.to_rename[id_] = unicode(item.text())
def rename_tag(self): def rename_tag(self):
@ -113,7 +113,7 @@ class DeviceCategoryEditor(QDialog, Ui_DeviceCategoryEditor):
return return
row = self.available_tags.row(deletes[0]) row = self.available_tags.row(deletes[0])
for item in deletes: for item in deletes:
(id,ign) = item.data(Qt.UserRole).toInt() id = int(item.data(Qt.UserRole))
self.to_delete.add(id) self.to_delete.add(id)
self.available_tags.takeItem(self.available_tags.row(item)) self.available_tags.takeItem(self.available_tags.row(item))

View File

@ -135,7 +135,7 @@ class DuplicatesQuestion(QDialog):
for i in xrange(self.dup_list.topLevelItemCount()): for i in xrange(self.dup_list.topLevelItemCount()):
x = self.dup_list.topLevelItem(i) x = self.dup_list.topLevelItem(i)
if x.checkState(0) == Qt.Checked: if x.checkState(0) == Qt.Checked:
yield x.data(0, Qt.UserRole).toPyObject() yield x.data(0, Qt.UserRole)
@property @property
def as_text(self): def as_text(self):

View File

@ -274,7 +274,7 @@ class EditAuthorsDialog(QDialog, Ui_EditAuthorsDialog):
self.save_state() self.save_state()
self.result = [] self.result = []
for row in range(0,self.table.rowCount()): for row in range(0,self.table.rowCount()):
id = self.table.item(row, 0).data(Qt.UserRole).toInt()[0] id = int(self.table.item(row, 0).data(Qt.UserRole))
aut = unicode(self.table.item(row, 0).text()).strip() aut = unicode(self.table.item(row, 0).text()).strip()
sort = unicode(self.table.item(row, 1).text()).strip() sort = unicode(self.table.item(row, 1).text()).strip()
link = unicode(self.table.item(row, 2).text()).strip() link = unicode(self.table.item(row, 2).text()).strip()

View File

@ -168,7 +168,7 @@ class MatchBooks(QDialog, Ui_MatchBooks):
def book_clicked(self, row, column): def book_clicked(self, row, column):
self.book_selected = True self.book_selected = True
id_ = self.books_table.item(row, 0).data(Qt.UserRole).toInt()[0] id_ = int(self.books_table.item(row, 0).data(Qt.UserRole))
self.current_library_book_id = id_ self.current_library_book_id = id_
def book_doubleclicked(self, row, column): def book_doubleclicked(self, row, column):

View File

@ -569,12 +569,12 @@ class MetadataBulkDialog(ResizableDialog, Ui_MetadataBulkDialog):
def s_r_sf_itemdata(self, idx): def s_r_sf_itemdata(self, idx):
if idx is None: if idx is None:
idx = self.search_field.currentIndex() idx = self.search_field.currentIndex()
return unicode(self.search_field.itemData(idx).toString()) return unicode(self.search_field.itemData(idx) or '')
def s_r_df_itemdata(self, idx): def s_r_df_itemdata(self, idx):
if idx is None: if idx is None:
idx = self.destination_field.currentIndex() idx = self.destination_field.currentIndex()
return unicode(self.destination_field.itemData(idx).toString()) return unicode(self.destination_field.itemData(idx) or '')
def s_r_get_field(self, mi, field): def s_r_get_field(self, mi, field):
if field: if field:

View File

@ -277,7 +277,7 @@ class Quickview(QDialog, Ui_Quickview):
def book_doubleclicked(self, row, column): def book_doubleclicked(self, row, column):
if self.no_valid_items: if self.no_valid_items:
return return
book_id = self.books_table.item(row, self.title_column).data(Qt.UserRole).toInt()[0] book_id = int(self.books_table.item(row, self.title_column).data(Qt.UserRole))
self.view.select_rows([book_id]) self.view.select_rows([book_id])
modifiers = int(QApplication.keyboardModifiers()) modifiers = int(QApplication.keyboardModifiers())
if modifiers in (Qt.CTRL, Qt.SHIFT): if modifiers in (Qt.CTRL, Qt.SHIFT):

View File

@ -8,9 +8,9 @@ __docformat__ = 'restructuredtext en'
from PyQt5.Qt import QVBoxLayout, QDialog, QLabel, QDialogButtonBox, Qt, \ from PyQt5.Qt import QVBoxLayout, QDialog, QLabel, QDialogButtonBox, Qt, \
QAbstractListModel, QVariant, QListView, QSize QAbstractListModel, QListView, QSize
from calibre.gui2 import NONE, file_icon_provider from calibre.gui2 import file_icon_provider
class Formats(QAbstractListModel): class Formats(QAbstractListModel):
@ -28,16 +28,16 @@ class Formats(QAbstractListModel):
if role == Qt.DisplayRole: if role == Qt.DisplayRole:
fmt = self.fmts[row] fmt = self.fmts[row]
count = self.counts[fmt] count = self.counts[fmt]
return QVariant('%s [%d]'%(fmt.upper(), count)) return ('%s [%d]'%(fmt.upper(), count))
if role == Qt.DecorationRole: if role == Qt.DecorationRole:
return QVariant(self.fi.icon_from_ext(self.fmts[row].lower())) return (self.fi.icon_from_ext(self.fmts[row].lower()))
if role == Qt.ToolTipRole: if role == Qt.ToolTipRole:
fmt = self.fmts[row] fmt = self.fmts[row]
count = self.counts[fmt] count = self.counts[fmt]
return QVariant( return (
_('There are %(count)d book(s) with the %(fmt)s format')%dict( _('There are %(count)d book(s) with the %(fmt)s format')%dict(
count=count, fmt=fmt.upper())) count=count, fmt=fmt.upper()))
return NONE return None
def flags(self, index): def flags(self, index):
return Qt.ItemIsSelectable|Qt.ItemIsEnabled return Qt.ItemIsSelectable|Qt.ItemIsEnabled

View File

@ -165,7 +165,7 @@ class TagCategories(QDialog, Ui_TagCategories):
return return
nodes = self.available_items_box.selectedItems() if node is None else [node] nodes = self.available_items_box.selectedItems() if node is None else [node]
for node in nodes: for node in nodes:
index = self.all_items[node.data(Qt.UserRole).toPyObject()].index index = self.all_items[node.data(Qt.UserRole)].index
if index not in self.applied_items: if index not in self.applied_items:
self.applied_items.append(index) self.applied_items.append(index)
self.applied_items.sort(key=lambda x:sort_key(self.all_items[x].name)) self.applied_items.sort(key=lambda x:sort_key(self.all_items[x].name))
@ -177,7 +177,7 @@ class TagCategories(QDialog, Ui_TagCategories):
def unapply_tags(self, node=None): def unapply_tags(self, node=None):
nodes = self.applied_items_box.selectedItems() if node is None else [node] nodes = self.applied_items_box.selectedItems() if node is None else [node]
for node in nodes: for node in nodes:
index = self.all_items[node.data(Qt.UserRole).toPyObject()].index index = self.all_items[node.data(Qt.UserRole)].index
self.applied_items.remove(index) self.applied_items.remove(index)
self.display_filtered_categories(None) self.display_filtered_categories(None)

View File

@ -210,7 +210,7 @@ class TagListEditor(QDialog, Ui_TagListEditor):
item.setText(item.previous_text()) item.setText(item.previous_text())
return return
if item.text() != item.initial_text(): if item.text() != item.initial_text():
id_ = item.data(Qt.UserRole).toInt()[0] id_ = int(item.data(Qt.UserRole))
self.to_rename[id_] = unicode(item.text()) self.to_rename[id_] = unicode(item.text())
orig = self.table.item(item.row(), 2) orig = self.table.item(item.row(), 2)
self.table.blockSignals(True) self.table.blockSignals(True)
@ -240,7 +240,7 @@ class TagListEditor(QDialog, Ui_TagListEditor):
return return
row = self.table.row(deletes[0]) row = self.table.row(deletes[0])
for item in deletes: for item in deletes:
(id,ign) = item.data(Qt.UserRole).toInt() id = int(item.data(Qt.UserRole))
self.to_delete.add(id) self.to_delete.add(id)
self.table.removeRow(self.table.row(item)) self.table.removeRow(self.table.row(item))

View File

@ -7,7 +7,7 @@ import json, os, traceback
from PyQt5.Qt import (Qt, QDialog, QDialogButtonBox, QSyntaxHighlighter, QFont, from PyQt5.Qt import (Qt, QDialog, QDialogButtonBox, QSyntaxHighlighter, QFont,
QRegExp, QApplication, QTextCharFormat, QColor, QCursor, QRegExp, QApplication, QTextCharFormat, QColor, QCursor,
QIcon, QSize, QVariant) QIcon, QSize)
from calibre import sanitize_file_name_unicode from calibre import sanitize_file_name_unicode
from calibre.constants import config_dir from calibre.constants import config_dir
@ -248,7 +248,7 @@ class TemplateDialog(QDialog, Ui_TemplateDialog):
from calibre.gui2.preferences.coloring import icon_rule_kinds from calibre.gui2.preferences.coloring import icon_rule_kinds
for i,tup in enumerate(icon_rule_kinds): for i,tup in enumerate(icon_rule_kinds):
txt,val = tup txt,val = tup
self.icon_kind.addItem(txt, userData=QVariant(val)) self.icon_kind.addItem(txt, userData=(val))
if val == icon_rule_kind: if val == icon_rule_kind:
dex = i dex = i
self.icon_kind.setCurrentIndex(dex) self.icon_kind.setCurrentIndex(dex)
@ -426,12 +426,12 @@ class TemplateDialog(QDialog, Ui_TemplateDialog):
return return
self.rule = (unicode(self.colored_field.itemData( self.rule = (unicode(self.colored_field.itemData(
self.colored_field.currentIndex()).toString()), txt) self.colored_field.currentIndex()) or ''), txt)
elif self.iconing: elif self.iconing:
rt = unicode(self.icon_kind.itemData(self.icon_kind.currentIndex()).toString()) rt = unicode(self.icon_kind.itemData(self.icon_kind.currentIndex()) or '')
self.rule = (rt, self.rule = (rt,
unicode(self.icon_field.itemData( unicode(self.icon_field.itemData(
self.icon_field.currentIndex()).toString()), self.icon_field.currentIndex()) or ''),
txt) txt)
else: else:
self.rule = ('', txt) self.rule = ('', txt)

View File

@ -3,14 +3,14 @@ __copyright__ = '2008, Kovid Goyal <kovid at kovidgoyal.net>'
import time, os import time, os
from PyQt5.Qt import (QUrl, QAbstractListModel, Qt, QVariant, QFont) from PyQt5.Qt import (QUrl, QAbstractListModel, Qt, QFont)
from calibre.web.feeds.recipes import compile_recipe, custom_recipes from calibre.web.feeds.recipes import compile_recipe, custom_recipes
from calibre.web.feeds.news import AutomaticNewsRecipe from calibre.web.feeds.news import AutomaticNewsRecipe
from calibre.gui2.dialogs.user_profiles_ui import Ui_Dialog from calibre.gui2.dialogs.user_profiles_ui import Ui_Dialog
from calibre.gui2 import ( from calibre.gui2 import (
error_dialog, question_dialog, open_url, choose_files, ResizableDialog, error_dialog, question_dialog, open_url, choose_files, ResizableDialog,
NONE, open_local_file) open_local_file)
from calibre.gui2.widgets import PythonHighlighter from calibre.gui2.widgets import PythonHighlighter
from calibre.ptempfile import PersistentTemporaryFile from calibre.ptempfile import PersistentTemporaryFile
from calibre.utils.icu import sort_key from calibre.utils.icu import sort_key
@ -48,8 +48,8 @@ class CustomRecipeModel(QAbstractListModel):
if role == Qt.DisplayRole: if role == Qt.DisplayRole:
ans = self.title(index) ans = self.title(index)
if ans is not None: if ans is not None:
return QVariant(ans) return (ans)
return NONE return None
def replace_by_title(self, title, script): def replace_by_title(self, title, script):
urn = None urn = None
@ -330,8 +330,8 @@ class %(classname)s(%(base_class)s):
if not items: if not items:
return return
item = items[-1] item = items[-1]
id_ = unicode(item.data(Qt.UserRole).toString()) id_ = unicode(item.data(Qt.UserRole) or '')
title = unicode(item.data(Qt.DisplayRole).toString()).rpartition(' [')[0] title = unicode(item.data(Qt.DisplayRole) or '').rpartition(' [')[0]
profile = get_builtin_recipe_by_id(id_, download_recipe=True) profile = get_builtin_recipe_by_id(id_, download_recipe=True)
if profile is None: if profile is None:
raise Exception('Something weird happened') raise Exception('Something weird happened')