mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Do not allow library to be changed when device is connected/jobs are running
This commit is contained in:
parent
7a68c4001b
commit
7692482955
@ -137,6 +137,8 @@ class ChooseLibraryAction(InterfaceAction):
|
|||||||
self.qaction.setEnabled(enabled)
|
self.qaction.setEnabled(enabled)
|
||||||
|
|
||||||
def switch_requested(self, location):
|
def switch_requested(self, location):
|
||||||
|
if not self.change_library_allowed():
|
||||||
|
return
|
||||||
loc = location.replace('/', os.sep)
|
loc = location.replace('/', os.sep)
|
||||||
exists = self.gui.library_view.model().db.exists_at(loc)
|
exists = self.gui.library_view.model().db.exists_at(loc)
|
||||||
if not exists:
|
if not exists:
|
||||||
@ -164,9 +166,23 @@ class ChooseLibraryAction(InterfaceAction):
|
|||||||
a.setWhatsThis(tooltip)
|
a.setWhatsThis(tooltip)
|
||||||
|
|
||||||
def choose_library(self, *args):
|
def choose_library(self, *args):
|
||||||
|
if not self.change_library_allowed():
|
||||||
|
return
|
||||||
from calibre.gui2.dialogs.choose_library import ChooseLibrary
|
from calibre.gui2.dialogs.choose_library import ChooseLibrary
|
||||||
db = self.gui.library_view.model().db
|
db = self.gui.library_view.model().db
|
||||||
c = ChooseLibrary(db, self.gui.library_moved, self.gui)
|
c = ChooseLibrary(db, self.gui.library_moved, self.gui)
|
||||||
c.exec_()
|
c.exec_()
|
||||||
|
|
||||||
|
def change_library_allowed(self):
|
||||||
|
if self.gui.device_connected:
|
||||||
|
warning_dialog(self.gui, _('Not allowed'),
|
||||||
|
_('You cannot change libraries when a device is'
|
||||||
|
' connected.'), show=True)
|
||||||
|
return False
|
||||||
|
if self.gui.job_manager.has_jobs():
|
||||||
|
warning_dialog(self.gui, _('Not allowed'),
|
||||||
|
_('You cannot change libraries while jobs'
|
||||||
|
' are running.'), show=True)
|
||||||
|
return False
|
||||||
|
|
||||||
|
return True
|
||||||
|
Loading…
x
Reference in New Issue
Block a user