From 5a477915a981c29d000b22b70c486cc580c7d2b9 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sat, 1 May 2010 12:44:48 -0600 Subject: [PATCH] Make Tag Browser visible by default and freely resizable --- src/calibre/gui2/main.ui | 79 +++++++++++++++++++------------------- src/calibre/gui2/status.py | 15 -------- src/calibre/gui2/ui.py | 13 +++---- 3 files changed, 46 insertions(+), 61 deletions(-) diff --git a/src/calibre/gui2/main.ui b/src/calibre/gui2/main.ui index 4c9351909e..2021e1bc88 100644 --- a/src/calibre/gui2/main.ui +++ b/src/calibre/gui2/main.ui @@ -301,8 +301,11 @@ - - + + + Qt::Horizontal + + @@ -363,7 +366,7 @@ - &Restrict display to: + &Restrict to: search_restriction @@ -386,42 +389,40 @@ - - - - - - 100 - 10 - - - - true - - - true - - - false - - - QAbstractItemView::DragDrop - - - true - - - QAbstractItemView::SelectRows - - - false - - - false - - - - + + + + + 100 + 10 + + + + true + + + true + + + false + + + QAbstractItemView::DragDrop + + + true + + + QAbstractItemView::SelectRows + + + false + + + false + + + diff --git a/src/calibre/gui2/status.py b/src/calibre/gui2/status.py index bdba768c5f..371efddb44 100644 --- a/src/calibre/gui2/status.py +++ b/src/calibre/gui2/status.py @@ -205,19 +205,6 @@ class CoverFlowButton(QToolButton): self.setDisabled(True) self.setToolTip(_('

Browsing books by their covers is disabled.
Import of pictureflow module failed:
')+reason) -class TagViewButton(QToolButton): - - def __init__(self, parent=None): - QToolButton.__init__(self, parent) - self.setIconSize(QSize(80, 80)) - self.setIcon(QIcon(I('tags.svg'))) - self.setToolTip(_('Click to browse books by tags')) - self.setSizePolicy(QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Expanding)) - self.setCursor(Qt.PointingHandCursor) - self.setCheckable(True) - self.setChecked(False) - self.setAutoRaise(True) - class StatusBar(QStatusBar): @@ -227,9 +214,7 @@ class StatusBar(QStatusBar): self.notifier = get_notifier(systray) self.movie_button = MovieButton(jobs_dialog) self.cover_flow_button = CoverFlowButton() - self.tag_view_button = TagViewButton() self.addPermanentWidget(self.cover_flow_button) - self.addPermanentWidget(self.tag_view_button) self.addPermanentWidget(self.movie_button) self.book_info = BookInfoDisplay(self.clearMessage) self.book_info.setAcceptDrops(True) diff --git a/src/calibre/gui2/ui.py b/src/calibre/gui2/ui.py index f8bce11114..6e0c5e333f 100644 --- a/src/calibre/gui2/ui.py +++ b/src/calibre/gui2/ui.py @@ -575,8 +575,6 @@ class Main(MainWindow, Ui_MainWindow, DeviceGUI): self.connect(self.tags_view, SIGNAL('tags_marked(PyQt_PyObject, PyQt_PyObject)'), self.saved_search.clear_to_help) - self.connect(self.status_bar.tag_view_button, - SIGNAL('toggled(bool)'), self.toggle_tags_view) self.connect(self.search, SIGNAL('search(PyQt_PyObject, PyQt_PyObject)'), self.tags_view.model().reinit) @@ -674,8 +672,10 @@ class Main(MainWindow, Ui_MainWindow, DeviceGUI): if self.cover_flow is not None and dynamic.get('cover_flow_visible', False): self.status_bar.cover_flow_button.toggle() - if dynamic.get('tag_view_visible', False): - self.status_bar.tag_view_button.toggle() + tb_state = dynamic.get('tag_browser_state', None) + if tb_state is not None: + self.horizontal_splitter.restoreState(tb_state) + self.toggle_tags_view(True) self._add_filesystem_book = Dispatcher(self.__add_filesystem_book) v = self.library_view @@ -2331,7 +2331,6 @@ class Main(MainWindow, Ui_MainWindow, DeviceGUI): self.view_menu.actions()[1].setEnabled(True) self.action_open_containing_folder.setEnabled(True) self.action_sync.setEnabled(True) - self.status_bar.tag_view_button.setEnabled(True) self.status_bar.cover_flow_button.setEnabled(True) for action in list(self.delete_menu.actions())[1:]: action.setEnabled(True) @@ -2342,7 +2341,6 @@ class Main(MainWindow, Ui_MainWindow, DeviceGUI): self.view_menu.actions()[1].setEnabled(False) self.action_open_containing_folder.setEnabled(False) self.action_sync.setEnabled(False) - self.status_bar.tag_view_button.setEnabled(False) self.status_bar.cover_flow_button.setEnabled(False) for action in list(self.delete_menu.actions())[1:]: action.setEnabled(False) @@ -2459,8 +2457,9 @@ class Main(MainWindow, Ui_MainWindow, DeviceGUI): def write_settings(self): config.set('main_window_geometry', self.saveGeometry()) dynamic.set('sort_history', self.library_view.model().sort_history) - dynamic.set('tag_view_visible', self.tags_view.isVisible()) dynamic.set('cover_flow_visible', self.cover_flow.isVisible()) + dynamic.set('tag_browser_state', + str(self.horizontal_splitter.saveState())) self.library_view.write_settings() if self.device_connected: self.save_device_view_settings()