From 60263f36432dd5f44d3833d684d476ed1e1e477c Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 30 Jul 2008 12:12:51 -0700 Subject: [PATCH] Add config option to ask for confirmation on deletes --- installer/osx/freeze.py | 8 ++++++-- src/calibre/gui2/dialogs/config.py | 2 ++ src/calibre/gui2/dialogs/config.ui | 9 ++++++++- src/calibre/gui2/main.py | 6 ++++++ 4 files changed, 22 insertions(+), 3 deletions(-) diff --git a/installer/osx/freeze.py b/installer/osx/freeze.py index 24be7aec0a..e35e302d32 100644 --- a/installer/osx/freeze.py +++ b/installer/osx/freeze.py @@ -45,8 +45,10 @@ print >>loader, 'from %(module)s import %(function)s' print >>loader, '%(function)s()' loader.close() os.chmod(loader_path, 0700) -os.environ['PYTHONHOME'] = resources_dir -os.environ['FC_CONFIG_DIR'] = os.path.join(resources_dir, 'fonts') +os.environ['PYTHONHOME'] = resources_dir +os.environ['FC_CONFIG_DIR'] = os.path.join(resources_dir, 'fonts') +os.environ['MAGICK_HOME'] = os.path.join(frameworks_dir, 'ImageMagick') +os.environ['DYLD_LIBRARY_PATH'] = os.path.join(frameworks_dir, 'ImageMagick', 'lib') os.execv(loader_path, sys.argv) ''' CHECK_SYMLINKS_PRESCRIPT = \ @@ -325,6 +327,8 @@ def main(): 'NSHumanReadableCopyright':'Copyright 2008, Kovid Goyal', 'LSEnvironment':{ 'FC_CONFIG_DIR':'@executable_path/../Resources/fonts', + 'MAGICK_HOME':'@executable_path/../Frameworks/ImageMagick', + 'DYLD_LIBRARY_PATH':'@executable_path/../Frameworks/ImageMagick/lib', } }, }, diff --git a/src/calibre/gui2/dialogs/config.py b/src/calibre/gui2/dialogs/config.py index 6c6caddda9..e4379deb56 100644 --- a/src/calibre/gui2/dialogs/config.py +++ b/src/calibre/gui2/dialogs/config.py @@ -67,6 +67,7 @@ class ConfigDialog(QDialog, Ui_Dialog): single_format = settings.get('save to disk single format', 'lrf') self.single_format.setCurrentIndex(BOOK_EXTENSIONS.index(single_format)) self.cover_browse.setValue(settings.get('cover flow queue length', 6)) + self.confirm_delete.setChecked(settings.get('confirm delete', False)) def compact(self, toggled): d = Vacuum(self, self.db) @@ -96,6 +97,7 @@ class ConfigDialog(QDialog, Ui_Dialog): self.final_columns = [self.columns.item(i).checkState() == Qt.Checked for i in range(self.columns.count())] settings.set('toolbar icon size', self.ICON_SIZES[self.toolbar_button_size.currentIndex()]) settings.set('show text in toolbar', bool(self.show_toolbar_text.isChecked())) + settings.set('confirm delete', bool(self.confirm_delete.isChecked())) pattern = self.filename_pattern.commit() settings.set('filename pattern', pattern) settings.set('save to disk single format', BOOK_EXTENSIONS[self.single_format.currentIndex()]) diff --git a/src/calibre/gui2/dialogs/config.ui b/src/calibre/gui2/dialogs/config.ui index 70d223446f..a8c24563d5 100644 --- a/src/calibre/gui2/dialogs/config.ui +++ b/src/calibre/gui2/dialogs/config.ui @@ -83,7 +83,7 @@ 0 0 595 - 638 + 640 @@ -156,6 +156,13 @@ + + + + Ask for &confirmation before deleting files + + + diff --git a/src/calibre/gui2/main.py b/src/calibre/gui2/main.py index ab80b1e466..c1ca797d41 100644 --- a/src/calibre/gui2/main.py +++ b/src/calibre/gui2/main.py @@ -534,6 +534,12 @@ class Main(MainWindow, Ui_MainWindow): rows = view.selectionModel().selectedRows() if not rows or len(rows) == 0: return + if Settings().get('confirm delete', False): + d = question_dialog(self, _('Confirm delete'), + _('Are you sure you want to delete these %d books?')%len(rows)) + if d.exec_() != QMessageBox.Yes: + return + if self.stack.currentIndex() == 0: view.model().delete_books(rows) else: