Rename/add button to Preferences->Plugins to allow check for new plugins as well as for updates

This commit is contained in:
kiwidude 2011-06-14 17:35:42 +01:00
parent 067964a5a2
commit 3dc7f119fd
2 changed files with 20 additions and 5 deletions

View File

@ -7,6 +7,7 @@ __docformat__ = 'restructuredtext en'
import textwrap, os import textwrap, os
from collections import OrderedDict from collections import OrderedDict
from functools import partial
from PyQt4.Qt import Qt, QModelIndex, QAbstractItemModel, QVariant, QIcon, \ from PyQt4.Qt import Qt, QModelIndex, QAbstractItemModel, QVariant, QIcon, \
QBrush QBrush
@ -217,7 +218,8 @@ class ConfigWidget(ConfigWidgetBase, Ui_Form):
self.customize_plugin_button.clicked.connect(self.customize_plugin) self.customize_plugin_button.clicked.connect(self.customize_plugin)
self.remove_plugin_button.clicked.connect(self.remove_plugin) self.remove_plugin_button.clicked.connect(self.remove_plugin)
self.button_plugin_add.clicked.connect(self.add_plugin) self.button_plugin_add.clicked.connect(self.add_plugin)
self.button_plugin_updates.clicked.connect(self.update_plugins) self.button_plugin_updates.clicked.connect(partial(self.update_plugins, not_installed=False))
self.button_plugin_new.clicked.connect(partial(self.update_plugins, not_installed=True))
self.search.initialize('plugin_search_history', self.search.initialize('plugin_search_history',
help_text=_('Search for plugin')) help_text=_('Search for plugin'))
self.search.search.connect(self.find) self.search.search.connect(self.find)
@ -354,9 +356,11 @@ class ConfigWidget(ConfigWidgetBase, Ui_Form):
plugin.name + _(' cannot be removed. It is a ' plugin.name + _(' cannot be removed. It is a '
'builtin plugin. Try disabling it instead.')).exec_() 'builtin plugin. Try disabling it instead.')).exec_()
def update_plugins(self): def update_plugins(self, not_installed=False):
from calibre.gui2.dialogs.plugin_updater import PluginUpdaterDialog from calibre.gui2.dialogs.plugin_updater import (PluginUpdaterDialog,
d = PluginUpdaterDialog(self.gui) FILTER_UPDATE_AVAILABLE, FILTER_NOT_INSTALLED)
mode = FILTER_NOT_INSTALLED if not_installed else FILTER_UPDATE_AVAILABLE
d = PluginUpdaterDialog(self.gui, initial_filter=mode)
d.exec_() d.exec_()
self._plugin_model.populate() self._plugin_model.populate()
self._plugin_model.reset() self._plugin_model.reset()

View File

@ -128,7 +128,7 @@
<item> <item>
<widget class="QPushButton" name="button_plugin_updates"> <widget class="QPushButton" name="button_plugin_updates">
<property name="text"> <property name="text">
<string>&amp;Plugin updates</string> <string>&amp;Check for plugin updates</string>
</property> </property>
<property name="icon"> <property name="icon">
<iconset resource="../../../../resources/images.qrc"> <iconset resource="../../../../resources/images.qrc">
@ -136,6 +136,17 @@
</property> </property>
</widget> </widget>
</item> </item>
<item>
<widget class="QPushButton" name="button_plugin_new">
<property name="text">
<string>&amp;Get new plugins</string>
</property>
<property name="icon">
<iconset resource="../../../../resources/images.qrc">
<normaloff>:/images/plugins/plugin_new.png</normaloff>:/images/plugins/plugin_new.png</iconset>
</property>
</widget>
</item>
</layout> </layout>
</item> </item>
</layout> </layout>