mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Allow removing the close button from tabs in the Virtual library tab bar. Right click the tab bar and choose "Lock tabs" to do that.
Merge branch 'master' of https://github.com/Serized/calibre
This commit is contained in:
commit
80599a0425
@ -139,6 +139,7 @@ def create_defs():
|
||||
defs['cover_grid_show_title'] = False
|
||||
defs['cover_grid_texture'] = None
|
||||
defs['show_vl_tabs'] = False
|
||||
defs['vl_tabs_closable'] = True
|
||||
defs['show_highlight_toggle_button'] = False
|
||||
defs['add_comments_to_email'] = False
|
||||
defs['cb_preserve_aspect_ratio'] = False
|
||||
|
@ -396,7 +396,7 @@ class VLTabs(QTabBar): # {{{
|
||||
self.setDocumentMode(True)
|
||||
self.setDrawBase(False)
|
||||
self.setMovable(True)
|
||||
self.setTabsClosable(True)
|
||||
self.setTabsClosable(gprefs['vl_tabs_closable'])
|
||||
self.gui = parent
|
||||
self.ignore_tab_changed = False
|
||||
self.currentChanged.connect(self.tab_changed)
|
||||
@ -432,6 +432,23 @@ class VLTabs(QTabBar): # {{{
|
||||
gprefs['show_vl_tabs'] = False
|
||||
self.setVisible(False)
|
||||
|
||||
def lock_tab(self):
|
||||
gprefs['vl_tabs_closable'] = False
|
||||
self.setTabsClosable(False)
|
||||
|
||||
def unlock_tab(self):
|
||||
gprefs['vl_tabs_closable'] = True
|
||||
self.setTabsClosable(True)
|
||||
try:
|
||||
self.tabButton(0, self.RightSide).setVisible(False)
|
||||
except AttributeError:
|
||||
try:
|
||||
self.tabButton(0, self.LeftSide).setVisible(False)
|
||||
except AttributeError:
|
||||
# On some OS X machines (using native style) the tab button is
|
||||
# on the left
|
||||
pass
|
||||
|
||||
def tab_changed(self, idx):
|
||||
if self.ignore_tab_changed:
|
||||
return
|
||||
@ -512,6 +529,10 @@ class VLTabs(QTabBar): # {{{
|
||||
for x in hidden:
|
||||
s.addAction(x, partial(self.restore, x))
|
||||
m.addAction(_('Hide virtual library tabs'), self.disable_bar)
|
||||
if gprefs['vl_tabs_closable']:
|
||||
m.addAction(_('Lock virtual library tabs'), self.lock_tab)
|
||||
else:
|
||||
m.addAction(_('Unlock virtual library tabs'), self.unlock_tab)
|
||||
i = self.tabAt(ev.pos())
|
||||
if i > -1:
|
||||
vl = unicode(self.tabData(i) or '')
|
||||
|
Loading…
x
Reference in New Issue
Block a user