This commit is contained in:
Kovid Goyal 2010-06-15 17:56:33 -06:00
parent e266303706
commit 957bac503c
2 changed files with 8 additions and 37 deletions

View File

@ -8,7 +8,7 @@ __docformat__ = 'restructuredtext en'
import functools import functools
from PyQt4.Qt import QMenu, Qt, pyqtSignal, QToolButton, QIcon, QStackedWidget, \ from PyQt4.Qt import QMenu, Qt, pyqtSignal, QToolButton, QIcon, QStackedWidget, \
QWidget, QHBoxLayout, QToolBar, QSize, QSizePolicy, QStatusBar QSize, QSizePolicy, QStatusBar
from calibre.utils.config import prefs from calibre.utils.config import prefs
from calibre.ebooks import BOOK_EXTENSIONS from calibre.ebooks import BOOK_EXTENSIONS
@ -333,29 +333,6 @@ class Stack(QStackedWidget): # {{{
# }}} # }}}
class SideBar(QToolBar): # {{{
def __init__(self, splitters, jobs_button, parent=None):
QToolBar.__init__(self, _('Side bar'), parent)
self.setOrientation(Qt.Vertical)
self.setMovable(False)
self.setFloatable(False)
self.setToolButtonStyle(Qt.ToolButtonIconOnly)
self.setIconSize(QSize(48, 48))
self.spacer = QWidget(self)
self.spacer.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Expanding)
for s in splitters:
self.addWidget(s.button)
self.addWidget(self.spacer)
self.addWidget(jobs_button)
for ch in self.children():
if isinstance(ch, QToolButton):
ch.setCursor(Qt.PointingHandCursor)
# }}}
class StatusBar(QStatusBar): # {{{ class StatusBar(QStatusBar): # {{{
def initialize(self, systray=None): def initialize(self, systray=None):
@ -383,24 +360,18 @@ class LayoutMixin(object): # {{{
self.setupUi(self) self.setupUi(self)
self.setWindowTitle(__appname__) self.setWindowTitle(__appname__)
if config['gui_layout'] == 'narrow': if config['gui_layout'] == 'narrow': # narrow {{{
self.book_details = BookDetails(False, self) self.book_details = BookDetails(False, self)
self.stack = Stack(self) self.stack = Stack(self)
self.bd_splitter = Splitter('book_details_splitter', self.bd_splitter = Splitter('book_details_splitter',
_('Book Details'), I('book.svg'), _('Book Details'), I('book.svg'),
orientation=Qt.Vertical, parent=self, side_index=1) orientation=Qt.Vertical, parent=self, side_index=1)
self._layout_mem = [QWidget(self), QHBoxLayout()] self.bd_splitter.addWidget(self.stack)
self._layout_mem[0].setLayout(self._layout_mem[1])
l = self._layout_mem[1]
l.addWidget(self.stack)
self.sidebar = SideBar([getattr(self, x+'_splitter')
for x in ('bd', 'tb', 'cb')], self.jobs_button, parent=self)
l.addWidget(self.sidebar)
self.bd_splitter.addWidget(self._layout_mem[0])
self.bd_splitter.addWidget(self.book_details) self.bd_splitter.addWidget(self.book_details)
self.bd_splitter.setCollapsible(self.bd_splitter.other_index, False) self.bd_splitter.setCollapsible(self.bd_splitter.other_index, False)
self.centralwidget.layout().addWidget(self.bd_splitter) self.centralwidget.layout().addWidget(self.bd_splitter)
else: # }}}
else: # wide {{{
self.bd_splitter = Splitter('book_details_splitter', self.bd_splitter = Splitter('book_details_splitter',
_('Book Details'), I('book.svg'), initial_side_size=200, _('Book Details'), I('book.svg'), initial_side_size=200,
orientation=Qt.Horizontal, parent=self, side_index=1) orientation=Qt.Horizontal, parent=self, side_index=1)
@ -412,14 +383,15 @@ class LayoutMixin(object): # {{{
self.bd_splitter.setSizePolicy(QSizePolicy(QSizePolicy.Expanding, self.bd_splitter.setSizePolicy(QSizePolicy(QSizePolicy.Expanding,
QSizePolicy.Expanding)) QSizePolicy.Expanding))
self.centralwidget.layout().addWidget(self.bd_splitter) self.centralwidget.layout().addWidget(self.bd_splitter)
# }}}
self.status_bar = StatusBar(self) self.status_bar = StatusBar(self)
self.setStatusBar(self.status_bar)
for x in ('cb', 'tb', 'bd'): for x in ('cb', 'tb', 'bd'):
button = getattr(self, x+'_splitter').button button = getattr(self, x+'_splitter').button
button.setIconSize(QSize(22, 22)) button.setIconSize(QSize(24, 24))
self.status_bar.addPermanentWidget(button) self.status_bar.addPermanentWidget(button)
self.status_bar.addPermanentWidget(self.jobs_button) self.status_bar.addPermanentWidget(self.jobs_button)
self.setStatusBar(self.status_bar)
def finalize_layout(self): def finalize_layout(self):
self.status_bar.initialize(self.system_tray_icon) self.status_bar.initialize(self.system_tray_icon)

View File

@ -104,7 +104,6 @@ class Main(MainWindow, Ui_MainWindow, DeviceMixin, ToolbarMixin, # {{{
def __init__(self, opts, parent=None): def __init__(self, opts, parent=None):
MainWindow.__init__(self, opts, parent) MainWindow.__init__(self, opts, parent)
self.opts = opts self.opts = opts
self.setUnifiedTitleAndToolBarOnMac(True)
def initialize(self, library_path, db, listener, actions): def initialize(self, library_path, db, listener, actions):
opts = self.opts opts = self.opts