diff --git a/src/calibre/gui2/convert/__init__.py b/src/calibre/gui2/convert/__init__.py
index 97fcee0633..9230b6d673 100644
--- a/src/calibre/gui2/convert/__init__.py
+++ b/src/calibre/gui2/convert/__init__.py
@@ -146,6 +146,8 @@ class Widget(QWidget):
ret = self.get_value_handler(g)
if ret != 'this is a dummy return value, xcswx1avcx4x':
return ret
+ if hasattr(g, 'get_value_for_config'):
+ return g.get_value_for_config
if isinstance(g, (QSpinBox, QDoubleSpinBox)):
return g.value()
elif isinstance(g, (QLineEdit, QTextEdit, QPlainTextEdit)):
@@ -218,6 +220,9 @@ class Widget(QWidget):
from calibre.gui2.widgets import EncodingComboBox
if self.set_value_handler(g, val):
return
+ if hasattr(g, 'set_value_for_config'):
+ g.set_value_for_config = val
+ return
if isinstance(g, (QSpinBox, QDoubleSpinBox)):
g.setValue(val)
elif isinstance(g, (QLineEdit, QTextEdit, QPlainTextEdit)):
diff --git a/src/calibre/gui2/convert/pdf_output.py b/src/calibre/gui2/convert/pdf_output.py
index 7c73be7d97..280d14b95f 100644
--- a/src/calibre/gui2/convert/pdf_output.py
+++ b/src/calibre/gui2/convert/pdf_output.py
@@ -33,8 +33,7 @@ class PluginWidget(Widget, Ui_Form):
except TypeError:
pass # link already localized
- for x in get_option('paper_size').option.choices:
- self.opt_paper_size.addItem(x)
+ self.opt_paper_size.initialize(get_option('paper_size').option.choices)
for x in get_option('unit').option.choices:
self.opt_unit.addItem(x)
for x in get_option('pdf_standard_font').option.choices:
diff --git a/src/calibre/gui2/convert/pdf_output.ui b/src/calibre/gui2/convert/pdf_output.ui
index 0af14e0d15..db330271f2 100644
--- a/src/calibre/gui2/convert/pdf_output.ui
+++ b/src/calibre/gui2/convert/pdf_output.ui
@@ -32,7 +32,7 @@
-
-
+
-
@@ -300,6 +300,13 @@
+
+
+ PaperSizes
+ QComboBox
+
+
+