From cf815b6a03b76e5b0c475a5fda7aa99260a26163 Mon Sep 17 00:00:00 2001 From: Charles Haley Date: Sat, 20 Mar 2021 15:02:54 +0000 Subject: [PATCH] Get rid of elision in the template tester results table --- src/calibre/gui2/dialogs/template_dialog.py | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/src/calibre/gui2/dialogs/template_dialog.py b/src/calibre/gui2/dialogs/template_dialog.py index ef8095ba1f..2303278d9f 100644 --- a/src/calibre/gui2/dialogs/template_dialog.py +++ b/src/calibre/gui2/dialogs/template_dialog.py @@ -9,8 +9,7 @@ import json, os, traceback from qt.core import (Qt, QDialog, QDialogButtonBox, QSyntaxHighlighter, QFont, QRegExp, QApplication, QTextCharFormat, QColor, QCursor, - QIcon, QSize, QPalette, QTableWidgetItem, QStyledItemDelegate, - QByteArray) + QIcon, QSize, QPalette, QLineEdit, QByteArray) from calibre import sanitize_file_name from calibre.constants import config_dir @@ -340,6 +339,14 @@ class TemplateDialog(QDialog, Ui_TemplateDialog): tv.setColumnWidth(0, self.table_column_widths[0]) else: tv.setColumnWidth(0, tv.fontMetrics().averageCharWidth() * 10) + # Use our own widget to get rid of elision. setTextElideMode() doesn't work + for r in range(0, len(mi)): + w = QLineEdit(tv) + w.setReadOnly(True) + tv.setCellWidget(r, 0, w) + w = QLineEdit(tv) + w.setReadOnly(True) + tv.setCellWidget(r, 1, w) # Remove help icon on title bar icon = self.windowIcon() @@ -478,11 +485,15 @@ class TemplateDialog(QDialog, Ui_TemplateDialog): def display_values(self, txt): tv = self.template_value for r,mi in enumerate(self.mi): - tv.setItem(r, 0, QTableWidgetItem(mi.title)) + w = tv.cellWidget(r, 0) + w.setText(mi.title) + w.setCursorPosition(0) v = SafeFormat().safe_format(txt, mi, _('EXCEPTION: '), mi, global_vars=self.global_vars, template_functions=self.all_functions) - tv.setItem(r, 1, QTableWidgetItem(v)) + w = tv.cellWidget(r, 1) + w.setText(v) + w.setCursorPosition(0) def text_cursor_changed(self): cursor = self.textbox.textCursor()