Make Tag Browser visible by default and freely resizable

This commit is contained in:
Kovid Goyal 2010-05-01 12:44:48 -06:00
parent ebb5c43abc
commit 5a477915a9
3 changed files with 46 additions and 61 deletions

View File

@ -301,8 +301,11 @@
<widget class="QWidget" name="library"> <widget class="QWidget" name="library">
<layout class="QVBoxLayout" name="verticalLayout_2"> <layout class="QVBoxLayout" name="verticalLayout_2">
<item> <item>
<layout class="QHBoxLayout" name="horizontalLayout"> <widget class="QSplitter" name="horizontal_splitter">
<item> <property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<widget class="QWidget" name="layoutWidget">
<layout class="QVBoxLayout" name="verticalLayout"> <layout class="QVBoxLayout" name="verticalLayout">
<item> <item>
<widget class="TagsView" name="tags_view"> <widget class="TagsView" name="tags_view">
@ -363,7 +366,7 @@
<item> <item>
<widget class="QLabel" name="restriction_label"> <widget class="QLabel" name="restriction_label">
<property name="text"> <property name="text">
<string>&amp;Restrict display to:</string> <string>&amp;Restrict to:</string>
</property> </property>
<property name="buddy"> <property name="buddy">
<cstring>search_restriction</cstring> <cstring>search_restriction</cstring>
@ -386,42 +389,40 @@
</layout> </layout>
</item> </item>
</layout> </layout>
</item> </widget>
<item> <widget class="BooksView" name="library_view">
<widget class="BooksView" name="library_view"> <property name="sizePolicy">
<property name="sizePolicy"> <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding"> <horstretch>100</horstretch>
<horstretch>100</horstretch> <verstretch>10</verstretch>
<verstretch>10</verstretch> </sizepolicy>
</sizepolicy> </property>
</property> <property name="acceptDrops">
<property name="acceptDrops"> <bool>true</bool>
<bool>true</bool> </property>
</property> <property name="dragEnabled">
<property name="dragEnabled"> <bool>true</bool>
<bool>true</bool> </property>
</property> <property name="dragDropOverwriteMode">
<property name="dragDropOverwriteMode"> <bool>false</bool>
<bool>false</bool> </property>
</property> <property name="dragDropMode">
<property name="dragDropMode"> <enum>QAbstractItemView::DragDrop</enum>
<enum>QAbstractItemView::DragDrop</enum> </property>
</property> <property name="alternatingRowColors">
<property name="alternatingRowColors"> <bool>true</bool>
<bool>true</bool> </property>
</property> <property name="selectionBehavior">
<property name="selectionBehavior"> <enum>QAbstractItemView::SelectRows</enum>
<enum>QAbstractItemView::SelectRows</enum> </property>
</property> <property name="showGrid">
<property name="showGrid"> <bool>false</bool>
<bool>false</bool> </property>
</property> <property name="wordWrap">
<property name="wordWrap"> <bool>false</bool>
<bool>false</bool> </property>
</property> </widget>
</widget> </widget>
</item>
</layout>
</item> </item>
</layout> </layout>
</widget> </widget>

View File

@ -205,19 +205,6 @@ class CoverFlowButton(QToolButton):
self.setDisabled(True) self.setDisabled(True)
self.setToolTip(_('<p>Browsing books by their covers is disabled.<br>Import of pictureflow module failed:<br>')+reason) self.setToolTip(_('<p>Browsing books by their covers is disabled.<br>Import of pictureflow module failed:<br>')+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): class StatusBar(QStatusBar):
@ -227,9 +214,7 @@ class StatusBar(QStatusBar):
self.notifier = get_notifier(systray) self.notifier = get_notifier(systray)
self.movie_button = MovieButton(jobs_dialog) self.movie_button = MovieButton(jobs_dialog)
self.cover_flow_button = CoverFlowButton() self.cover_flow_button = CoverFlowButton()
self.tag_view_button = TagViewButton()
self.addPermanentWidget(self.cover_flow_button) self.addPermanentWidget(self.cover_flow_button)
self.addPermanentWidget(self.tag_view_button)
self.addPermanentWidget(self.movie_button) self.addPermanentWidget(self.movie_button)
self.book_info = BookInfoDisplay(self.clearMessage) self.book_info = BookInfoDisplay(self.clearMessage)
self.book_info.setAcceptDrops(True) self.book_info.setAcceptDrops(True)

View File

@ -575,8 +575,6 @@ class Main(MainWindow, Ui_MainWindow, DeviceGUI):
self.connect(self.tags_view, self.connect(self.tags_view,
SIGNAL('tags_marked(PyQt_PyObject, PyQt_PyObject)'), SIGNAL('tags_marked(PyQt_PyObject, PyQt_PyObject)'),
self.saved_search.clear_to_help) 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, self.connect(self.search,
SIGNAL('search(PyQt_PyObject, PyQt_PyObject)'), SIGNAL('search(PyQt_PyObject, PyQt_PyObject)'),
self.tags_view.model().reinit) 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): if self.cover_flow is not None and dynamic.get('cover_flow_visible', False):
self.status_bar.cover_flow_button.toggle() self.status_bar.cover_flow_button.toggle()
if dynamic.get('tag_view_visible', False): tb_state = dynamic.get('tag_browser_state', None)
self.status_bar.tag_view_button.toggle() 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) self._add_filesystem_book = Dispatcher(self.__add_filesystem_book)
v = self.library_view v = self.library_view
@ -2331,7 +2331,6 @@ class Main(MainWindow, Ui_MainWindow, DeviceGUI):
self.view_menu.actions()[1].setEnabled(True) self.view_menu.actions()[1].setEnabled(True)
self.action_open_containing_folder.setEnabled(True) self.action_open_containing_folder.setEnabled(True)
self.action_sync.setEnabled(True) self.action_sync.setEnabled(True)
self.status_bar.tag_view_button.setEnabled(True)
self.status_bar.cover_flow_button.setEnabled(True) self.status_bar.cover_flow_button.setEnabled(True)
for action in list(self.delete_menu.actions())[1:]: for action in list(self.delete_menu.actions())[1:]:
action.setEnabled(True) action.setEnabled(True)
@ -2342,7 +2341,6 @@ class Main(MainWindow, Ui_MainWindow, DeviceGUI):
self.view_menu.actions()[1].setEnabled(False) self.view_menu.actions()[1].setEnabled(False)
self.action_open_containing_folder.setEnabled(False) self.action_open_containing_folder.setEnabled(False)
self.action_sync.setEnabled(False) self.action_sync.setEnabled(False)
self.status_bar.tag_view_button.setEnabled(False)
self.status_bar.cover_flow_button.setEnabled(False) self.status_bar.cover_flow_button.setEnabled(False)
for action in list(self.delete_menu.actions())[1:]: for action in list(self.delete_menu.actions())[1:]:
action.setEnabled(False) action.setEnabled(False)
@ -2459,8 +2457,9 @@ class Main(MainWindow, Ui_MainWindow, DeviceGUI):
def write_settings(self): def write_settings(self):
config.set('main_window_geometry', self.saveGeometry()) config.set('main_window_geometry', self.saveGeometry())
dynamic.set('sort_history', self.library_view.model().sort_history) 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('cover_flow_visible', self.cover_flow.isVisible())
dynamic.set('tag_browser_state',
str(self.horizontal_splitter.saveState()))
self.library_view.write_settings() self.library_view.write_settings()
if self.device_connected: if self.device_connected:
self.save_device_view_settings() self.save_device_view_settings()