Fix cover browser positioning and only open viewer when doubleclicking on row numbers

This commit is contained in:
Kovid Goyal 2010-06-08 15:35:10 -06:00
parent fb9d327cbf
commit 3d551ff1ab
2 changed files with 40 additions and 34 deletions

View File

@ -329,7 +329,7 @@
<number>0</number> <number>0</number>
</property> </property>
<widget class="QWidget" name="library"> <widget class="QWidget" name="library">
<layout class="QHBoxLayout" name="horizontalLayout_2"> <layout class="QVBoxLayout" name="verticalLayout_4">
<item> <item>
<widget class="Splitter" name="horizontal_splitter"> <widget class="Splitter" name="horizontal_splitter">
<property name="orientation"> <property name="orientation">
@ -389,37 +389,43 @@
</item> </item>
</layout> </layout>
</widget> </widget>
<widget class="BooksView" name="library_view"> <widget class="QWidget" name="">
<property name="sizePolicy"> <layout class="QVBoxLayout" name="cb_layout">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding"> <item>
<horstretch>100</horstretch> <widget class="BooksView" name="library_view">
<verstretch>10</verstretch> <property name="sizePolicy">
</sizepolicy> <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
</property> <horstretch>100</horstretch>
<property name="acceptDrops"> <verstretch>10</verstretch>
<bool>true</bool> </sizepolicy>
</property> </property>
<property name="dragEnabled"> <property name="acceptDrops">
<bool>true</bool> <bool>true</bool>
</property> </property>
<property name="dragDropOverwriteMode"> <property name="dragEnabled">
<bool>false</bool> <bool>true</bool>
</property> </property>
<property name="dragDropMode"> <property name="dragDropOverwriteMode">
<enum>QAbstractItemView::DragDrop</enum> <bool>false</bool>
</property> </property>
<property name="alternatingRowColors"> <property name="dragDropMode">
<bool>true</bool> <enum>QAbstractItemView::DragDrop</enum>
</property> </property>
<property name="selectionBehavior"> <property name="alternatingRowColors">
<enum>QAbstractItemView::SelectRows</enum> <bool>true</bool>
</property> </property>
<property name="showGrid"> <property name="selectionBehavior">
<bool>false</bool> <enum>QAbstractItemView::SelectRows</enum>
</property> </property>
<property name="wordWrap"> <property name="showGrid">
<bool>false</bool> <bool>false</bool>
</property> </property>
<property name="wordWrap">
<bool>false</bool>
</property>
</widget>
</item>
</layout>
</widget> </widget>
</widget> </widget>
</item> </item>

View File

@ -597,7 +597,7 @@ class Main(MainWindow, Ui_MainWindow, DeviceGUI):
self.cover_flow = CoverFlow(height=cfh, text_height=text_height) self.cover_flow = CoverFlow(height=cfh, text_height=text_height)
self.cover_flow.setVisible(False) self.cover_flow.setVisible(False)
if not config['separate_cover_flow']: if not config['separate_cover_flow']:
self.library.layout().addWidget(self.cover_flow) self.cb_layout.addWidget(self.cover_flow)
self.cover_flow.currentChanged.connect(self.sync_listview_to_cf) self.cover_flow.currentChanged.connect(self.sync_listview_to_cf)
self.library_view.selectionModel().currentRowChanged.connect( self.library_view.selectionModel().currentRowChanged.connect(
self.sync_cf_to_listview) self.sync_cf_to_listview)
@ -638,7 +638,6 @@ class Main(MainWindow, Ui_MainWindow, DeviceGUI):
self.connect(self.scheduler, self.connect(self.scheduler,
SIGNAL('start_recipe_fetch(PyQt_PyObject)'), SIGNAL('start_recipe_fetch(PyQt_PyObject)'),
self.download_scheduled_recipe, Qt.QueuedConnection) self.download_scheduled_recipe, Qt.QueuedConnection)
self.library_view.verticalHeader().sectionClicked.connect(self.view_specific_book)
for view in ('library', 'memory', 'card_a', 'card_b'): for view in ('library', 'memory', 'card_a', 'card_b'):
view = getattr(self, view+'_view') view = getattr(self, view+'_view')
@ -923,6 +922,7 @@ class Main(MainWindow, Ui_MainWindow, DeviceGUI):
index = m.index(row, 0) index = m.index(row, 0)
if self.library_view.currentIndex().row() != row and index.isValid(): if self.library_view.currentIndex().row() != row and index.isValid():
self.cover_flow_sync_flag = False self.cover_flow_sync_flag = False
self.library_view.scrollTo(index)
sm = self.library_view.selectionModel() sm = self.library_view.selectionModel()
sm.select(index, sm.ClearAndSelect|sm.Rows) sm.select(index, sm.ClearAndSelect|sm.Rows)
self.library_view.setCurrentIndex(index) self.library_view.setCurrentIndex(index)