Add select all/none buttons to the metadata download prefs

This commit is contained in:
Kovid Goyal 2011-05-04 15:18:37 -06:00
parent fe90a1b04f
commit c84c5f297b
2 changed files with 28 additions and 3 deletions

View File

@ -190,7 +190,15 @@ class FieldsModel(QAbstractListModel): # {{{
return ans | Qt.ItemIsUserCheckable
def restore_defaults(self):
self.overrides = dict([(f, self.state(f, True)) for f in self.fields])
self.overrides = dict([(f, self.state(f, Qt.Checked)) for f in self.fields])
self.reset()
def select_all(self):
self.overrides = dict([(f, Qt.Checked) for f in self.fields])
self.reset()
def clear_all(self):
self.overrides = dict([(f, Qt.Unchecked) for f in self.fields])
self.reset()
def setData(self, index, val, role):
@ -273,6 +281,9 @@ class ConfigWidget(ConfigWidgetBase, Ui_Form):
self.fields_view.setModel(self.fields_model)
self.fields_model.dataChanged.connect(self.changed_signal)
self.select_all_button.clicked.connect(self.fields_model.select_all)
self.clear_all_button.clicked.connect(self.fields_model.clear_all)
def configure_plugin(self):
for index in self.sources_view.selectionModel().selectedRows():
plugin = self.sources_model.data(index, Qt.UserRole)

View File

@ -77,8 +77,8 @@
<property name="title">
<string>Downloaded metadata fields</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<layout class="QGridLayout" name="gridLayout_2">
<item row="0" column="0" colspan="2">
<widget class="QListView" name="fields_view">
<property name="toolTip">
<string>If you uncheck any fields, metadata for those fields will not be downloaded</string>
@ -88,6 +88,20 @@
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QPushButton" name="select_all_button">
<property name="text">
<string>&amp;Select all</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QPushButton" name="clear_all_button">
<property name="text">
<string>&amp;Clear all</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>