diff --git a/src/calibre/gui2/catalog/catalog_csv_xml.py b/src/calibre/gui2/catalog/catalog_csv_xml.py
index 8fc7277ad1..627f6ec51f 100644
--- a/src/calibre/gui2/catalog/catalog_csv_xml.py
+++ b/src/calibre/gui2/catalog/catalog_csv_xml.py
@@ -17,6 +17,7 @@ class PluginWidget(QWidget):
HELP = _('Options specific to')+' CSV/XML '+_('output')
sync_enabled = False
formats = set(['csv', 'xml'])
+ handles_scrolling = True
def __init__(self, parent=None):
QWidget.__init__(self, parent)
diff --git a/src/calibre/gui2/dialogs/catalog.py b/src/calibre/gui2/dialogs/catalog.py
index dc2f43fa2c..a834f3500b 100644
--- a/src/calibre/gui2/dialogs/catalog.py
+++ b/src/calibre/gui2/dialogs/catalog.py
@@ -8,7 +8,7 @@ __docformat__ = 'restructuredtext en'
import os, sys, importlib
-from PyQt5.Qt import QDialog, QCoreApplication, QSize
+from PyQt5.Qt import QDialog, QCoreApplication, QSize, QScrollArea
from calibre.customize.ui import config
from calibre.gui2.dialogs.catalog_ui import Ui_Dialog
@@ -143,7 +143,12 @@ class Catalog(QDialog, Ui_Dialog):
self.tabs.removeTab(1)
for pw in self.widgets:
if cf in pw.formats:
- self.tabs.addTab(pw, pw.TITLE)
+ if getattr(pw, 'handles_scrolling', False):
+ self.tabs.addTab(pw, pw.TITLE)
+ else:
+ self.sw__mem = s = QScrollArea(self)
+ s.setWidget(pw), s.setWidgetResizable(True)
+ self.tabs.addTab(s, pw.TITLE)
break
if hasattr(self.tabs.widget(1),'show_help'):
self.buttonBox.button(self.buttonBox.Help).setVisible(True)
diff --git a/src/calibre/gui2/dialogs/catalog.ui b/src/calibre/gui2/dialogs/catalog.ui
index 209ee23b62..7c96a42d20 100644
--- a/src/calibre/gui2/dialogs/catalog.ui
+++ b/src/calibre/gui2/dialogs/catalog.ui
@@ -17,8 +17,8 @@
:/images/lt.png:/images/lt.png
-
- -
+
+
-
@@ -31,7 +31,94 @@
- -
+
-
+
+
+
+ 0
+ 0
+
+
+
+
+ 650
+ 575
+
+
+
+ 0
+
+
+
+ Catalog options
+
+
+
-
+
+
+ Catalo&g format:
+
+
+ format
+
+
+
+ -
+
+
+ -
+
+
+ Catalog &title (existing catalog with the same title will be replaced):
+
+
+ true
+
+
+ title
+
+
+
+ -
+
+
+ -
+
+
+ Qt::Vertical
+
+
+
+ 0
+ 0
+
+
+
+
+ -
+
+
+ &Send catalog to device automatically
+
+
+
+ -
+
+
+ Add the catalog to your calibre library after it is generated.
+Note that if you disable adding of the catalog to the library
+automatic sending of the catalog to the device will not work.
+
+
+ &Add catalog to library
+
+
+
+
+
+
+
+ -
Qt::Horizontal
@@ -41,127 +128,6 @@
- -
-
-
- QFrame::NoFrame
-
-
- true
-
-
-
-
- 0
- 0
- 656
- 596
-
-
-
-
- 0
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
-
-
- 0
- 0
-
-
-
-
- 650
- 575
-
-
-
- 0
-
-
-
- Catalog options
-
-
-
-
-
-
- Catalo&g format:
-
-
- format
-
-
-
- -
-
-
- -
-
-
- Catalog &title (existing catalog with the same title will be replaced):
-
-
- true
-
-
- title
-
-
-
- -
-
-
- -
-
-
- Qt::Vertical
-
-
-
- 0
- 0
-
-
-
-
- -
-
-
- &Send catalog to device automatically
-
-
-
- -
-
-
- Add the catalog to your calibre library after it is generated.
-Note that if you disable adding of the catalog to the library
-automatic sending of the catalog to the device will not work.
-
-
- &Add catalog to library
-
-
-
-
-
-
-
-
-
-
-