From e7dbd513a9681b39e5c052934fba76f589421176 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 19 Jun 2016 10:24:21 +0530 Subject: [PATCH] Another PyQt 5.6 compatibility fix --- src/calibre/gui2/dialogs/scheduler.py | 19 ++++++++-- src/calibre/gui2/dialogs/scheduler.ui | 51 +++++++++------------------ 2 files changed, 34 insertions(+), 36 deletions(-) diff --git a/src/calibre/gui2/dialogs/scheduler.py b/src/calibre/gui2/dialogs/scheduler.py index 758099dac9..b9675d8427 100644 --- a/src/calibre/gui2/dialogs/scheduler.py +++ b/src/calibre/gui2/dialogs/scheduler.py @@ -13,7 +13,8 @@ from collections import OrderedDict from PyQt5.Qt import (QDialog, Qt, QTime, QObject, QMenu, QHBoxLayout, QAction, QIcon, QMutex, QTimer, pyqtSignal, QWidget, QGridLayout, - QCheckBox, QTimeEdit, QLabel, QLineEdit, QDoubleSpinBox, QSize) + QCheckBox, QTimeEdit, QLabel, QLineEdit, QDoubleSpinBox, QSize, + QTreeView, QSizePolicy) from calibre.gui2.dialogs.scheduler_ui import Ui_Dialog from calibre.gui2 import config as gconf, error_dialog, gprefs @@ -30,6 +31,19 @@ def convert_day_time_schedule(val): return (tuple(xrange(7)), hour, minute) return ((day_of_week,), hour, minute) +class RecipesView(QTreeView): + + def __init__(self, parent): + QTreeView.__init__(self, parent) + self.setAnimated(True) + self.setHeaderHidden(True) + self.setObjectName('recipes') + self.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Expanding) + + def currentChanged(self, current, previous): + QTreeView.currentChanged(self, current, previous) + self.parent().current_changed(current, previous) + class Base(QWidget): def __init__(self, parent=None): @@ -210,6 +224,8 @@ class SchedulerDialog(QDialog, Ui_Dialog): self.recipe_model.searched.connect(self.search.search_done, type=Qt.QueuedConnection) self.recipe_model.searched.connect(self.search_done) + self.recipes = RecipesView(self) + self.gridLayout.addWidget(self.recipes, 1, 0, 1, 1) self.recipes.setFocus(Qt.OtherFocusReason) self.commit_on_change = True self.previous_urn = None @@ -220,7 +236,6 @@ class SchedulerDialog(QDialog, Ui_Dialog): self.buttonBox.ActionRole) self.download_button.setIcon(QIcon(I('arrow-down.png'))) self.download_button.setVisible(False) - self.recipes.currentChanged = self.current_changed for b, c in self.SCHEDULE_TYPES.iteritems(): b = getattr(self, b) b.toggled.connect(self.schedule_type_selected) diff --git a/src/calibre/gui2/dialogs/scheduler.ui b/src/calibre/gui2/dialogs/scheduler.ui index 428f2269fe..d11a15ca3f 100644 --- a/src/calibre/gui2/dialogs/scheduler.ui +++ b/src/calibre/gui2/dialogs/scheduler.ui @@ -53,12 +53,21 @@ 0 0 - 518 - 498 + 581 + 444 - + + 0 + + + 0 + + + 0 + + 0 @@ -118,29 +127,28 @@ - Days of week + &Days of week - Days of month + Da&ys of month - Every x days + Every &x days - - + @@ -316,31 +324,6 @@ - - - - - 0 - 0 - - - - false - - - - 16 - 16 - - - - true - - - true - - - @@ -356,7 +339,7 @@ - Delete downloaded news &older than: + Delete downloaded &news older than: old_news