Fix #1247529 [right-clicking on a link and copying produces link to http://www.foo.com](https://bugs.launchpad.net/calibre/+bug/1247529)

This commit is contained in:
Kovid Goyal 2013-11-03 10:40:49 +05:30
parent 0a6e52b034
commit be20dde56e

View File

@ -406,6 +406,7 @@ class DisplayPluginModel(QAbstractTableModel):
class PluginUpdaterDialog(SizePersistedDialog): class PluginUpdaterDialog(SizePersistedDialog):
initial_extra_size = QSize(350, 100) initial_extra_size = QSize(350, 100)
forum_label_text = _('Plugin homepage')
def __init__(self, gui, initial_filter=FILTER_UPDATE_AVAILABLE): def __init__(self, gui, initial_filter=FILTER_UPDATE_AVAILABLE):
SizePersistedDialog.__init__(self, gui, 'Plugin Updater plugin:plugin updater dialog') SizePersistedDialog.__init__(self, gui, 'Plugin Updater plugin:plugin updater dialog')
@ -466,7 +467,7 @@ class PluginUpdaterDialog(SizePersistedDialog):
details_layout = QHBoxLayout() details_layout = QHBoxLayout()
layout.addLayout(details_layout) layout.addLayout(details_layout)
forum_label = QLabel('<a href="http://www.foo.com/">Plugin Forum Thread</a>', self) forum_label = self.forum_label = QLabel('')
forum_label.setTextInteractionFlags(Qt.LinksAccessibleByMouse | Qt.LinksAccessibleByKeyboard) forum_label.setTextInteractionFlags(Qt.LinksAccessibleByMouse | Qt.LinksAccessibleByKeyboard)
forum_label.linkActivated.connect(self._forum_label_activated) forum_label.linkActivated.connect(self._forum_label_activated)
details_layout.addWidget(QLabel(_('Description')+':', self), 0, Qt.AlignLeft) details_layout.addWidget(QLabel(_('Description')+':', self), 0, Qt.AlignLeft)
@ -492,6 +493,12 @@ class PluginUpdaterDialog(SizePersistedDialog):
self.configure_button.setEnabled(False) self.configure_button.setEnabled(False)
layout.addWidget(self.button_box) layout.addWidget(self.button_box)
def update_forum_label(self):
txt = ''
if self.forum_link:
txt = '<a href="%s">%s</a>' % (self.forum_link, self.forum_label_text)
self.forum_label.setText(txt)
def _create_context_menu(self): def _create_context_menu(self):
self.plugin_view.setContextMenuPolicy(Qt.ActionsContextMenu) self.plugin_view.setContextMenuPolicy(Qt.ActionsContextMenu)
self.install_action = QAction(QIcon(I('plugins/plugin_upgrade_ok.png')), _('&Install'), self) self.install_action = QAction(QIcon(I('plugins/plugin_upgrade_ok.png')), _('&Install'), self)
@ -578,6 +585,7 @@ class PluginUpdaterDialog(SizePersistedDialog):
self.configure_action.setEnabled(False) self.configure_action.setEnabled(False)
self.toggle_enabled_action.setEnabled(False) self.toggle_enabled_action.setEnabled(False)
self.donate_enabled_action.setEnabled(False) self.donate_enabled_action.setEnabled(False)
self.update_forum_label()
def _donate_clicked(self): def _donate_clicked(self):
plugin = self._selected_display_plugin() plugin = self._selected_display_plugin()