# eric7.PluginManager.PluginRepositoryDialog

Module implementing a dialog showing the available plugins.

### Global Attributes

None

### Classes

PluginRepositoryDialog | Class for the dialog variant.
PluginRepositoryWidget | Class implementing a dialog showing the available plugins.
PluginRepositoryWindow | Main window class for the standalone dialog.

### Functions

PluginRepositoryDownloadCleanup | Module function to clean up the plug-in downloads area.
registerPlugin | Method to register a plug-in's data.

## PluginRepositoryDialog

Class for the dialog variant.

### Derived from

QDialog

### Class Attributes

None

### Class Methods

None

### Methods

PluginRepositoryDialog | Constructor
__closeAndInstall | Private slot to handle the closeAndInstall signal.
getDownloadedPlugins | Public method to get the list of recently downloaded plugin files.

### Static Methods

None

#### PluginRepositoryDialog (Constructor)

PluginRepositoryDialog(pluginManager, parent=None)

Constructor

pluginManager (PluginManager)
  reference to the plugin manager object
parent (QWidget)
  reference to the parent widget

#### PluginRepositoryDialog.__closeAndInstall

__closeAndInstall()

Private slot to handle the closeAndInstall signal.

#### PluginRepositoryDialog.getDownloadedPlugins

getDownloadedPlugins()

Public method to get the list of recently downloaded plugin files.

Return:
  list of plugin filenames (list of strings)

Up

## PluginRepositoryWidget

Class implementing a dialog showing the available plugins.

### Signals

closeAndInstall()
  emitted when the Close & Install button is pressed

### Derived from

QWidget, Ui_PluginRepositoryDialog

### Class Attributes

AuthorRole
DescrRole
FilenameRole
PluginStatusError
PluginStatusLocalUpdate
PluginStatusNew
PluginStatusRemoteUpdate
PluginStatusUpToDate
UrlRole

### Class Methods

None

### Methods

PluginRepositoryWidget | Constructor
__changeScheme | Private method to change the scheme of the given URL.
__cleanupDownloads | Private slot to cleanup the plug-in downloads area.
__closeAndInstall | Private method to close the dialog and invoke the install dialog.
__downloadButtonClicked | Private slot to handle a click of the Download button.
__downloadCancel | Private slot to cancel the current download.
__downloadFile | Private slot to download the given file.
__downloadFileDone | Private method called, after the file has been downloaded from the Internet.
__downloadInstallButtonClicked | Private slot to handle a click of the Download & Install button.
__downloadPlugin | Private method to download the next plugin.
__downloadPluginDone | Private method called, when the download of a plugin is finished.
__downloadPlugins | Private slot to download the selected plugins.
__downloadPluginsDone | Private method called, when the download of the plugins is finished.
__downloadProgress | Private slot to show the download progress.
__downloadRepositoryFileDone | Private method called after the repository file was downloaded.
__formatDescription | Private method to format the description.
__hasHiddenPlugins | Private method to check, if there are any hidden plug-ins.
__hidePlugin | Private slot to hide the current plug-in.
__hideSelectedPlugins | Private slot to hide all selected plug-ins.
__populateList | Private method to populate the list of available plugins.
__reachabilityChanged | Private slot handling reachability state changes.
__resortRepositoryList | Private method to resort the tree.
__selectedItems | Private method to get all selected items without the toplevel ones.
__showAllPlugins | Private slot to show all plug-ins.
__sslErrors | Private slot to handle SSL errors.
__updateHiddenPluginsList | Private method to store the list of hidden plug-ins to the settings.
__updateList | Private slot to download a new list and display the contents.
__updateStatus | Private method to check the given archive update status.
addEntry | Public method to add an entry to the list.
getDownloadedPlugins | Public method to get the list of recently downloaded plugin files.
on_buttonBox_clicked | Private slot to handle the click of a button of the button box.
on_repositoryList_currentItemChanged | Private slot to handle the change of the current item.
on_repositoryList_customContextMenuRequested | Private slot to show the context menu.
on_repositoryList_itemSelectionChanged | Private slot to handle a change of the selection.
on_repositoryUrlEditButton_toggled | Private slot to set the read only status of the repository URL line edit.
reloadList | Public method to reload the list of plugins.

### Static Methods

None

#### PluginRepositoryWidget (Constructor)

PluginRepositoryWidget(pluginManager, integrated=False, parent=None)

Constructor

pluginManager (PluginManager)
  reference to the plugin manager object
integrated (bool)
  flag indicating the integration into the sidebar
parent (QWidget)
  parent of this dialog

#### PluginRepositoryWidget.__changeScheme

__changeScheme(url, newScheme="")

Private method to change the scheme of the given URL.

url (str)
  URL to be modified
newScheme
  scheme to be set for the given URL

Return:
  modified URL

Return Type:
  str

#### PluginRepositoryWidget.__cleanupDownloads

__cleanupDownloads()

Private slot to cleanup the plug-in downloads area.

#### PluginRepositoryWidget.__closeAndInstall

__closeAndInstall()

Private method to close the dialog and invoke the install dialog.

#### PluginRepositoryWidget.__downloadButtonClicked

__downloadButtonClicked()

Private slot to handle a click of the Download button.

#### PluginRepositoryWidget.__downloadCancel

__downloadCancel(reply=None)

Private slot to cancel the current download.

reply (QNetworkReply)
  reference to the network reply

#### PluginRepositoryWidget.__downloadFile

__downloadFile(url, filename, doneMethod=None)

Private slot to download the given file.

url
  URL for the download (string)
filename
  local name of the file (string)
doneMethod
  method to be called when done

#### PluginRepositoryWidget.__downloadFileDone

__downloadFileDone(reply, fileName, doneMethod)

Private method called, after the file has been downloaded from the Internet.

reply (QNetworkReply)
  reference to the reply object of the download
fileName (str)
  local name of the file
doneMethod (func)
  method to be called when done

#### PluginRepositoryWidget.__downloadInstallButtonClicked

__downloadInstallButtonClicked()

Private slot to handle a click of the Download & Install button.

#### PluginRepositoryWidget.__downloadPlugin

__downloadPlugin()

Private method to download the next plugin.

#### PluginRepositoryWidget.__downloadPluginDone

__downloadPluginDone(status, filename)

Private method called, when the download of a plugin is finished.

status
  flag indicating a successful download (boolean)
filename
  full path of the downloaded file (string)

#### PluginRepositoryWidget.__downloadPlugins

__downloadPlugins()

Private slot to download the selected plugins.

#### PluginRepositoryWidget.__downloadPluginsDone

__downloadPluginsDone()

Private method called, when the download of the plugins is finished.

#### PluginRepositoryWidget.__downloadProgress

__downloadProgress(done, total)

Private slot to show the download progress.

done
  number of bytes downloaded so far (integer)
total
  total bytes to be downloaded (integer)

#### PluginRepositoryWidget.__downloadRepositoryFileDone

__downloadRepositoryFileDone(status, filename)

Private method called after the repository file was downloaded.

status
  flaging indicating a successful download (boolean)
filename
  full path of the downloaded file (string)

#### PluginRepositoryWidget.__formatDescription

__formatDescription(lines)

Private method to format the description.

lines
  lines of the description (list of strings)

Return:
  formatted description (string)

#### PluginRepositoryWidget.__hasHiddenPlugins

__hasHiddenPlugins()

Private method to check, if there are any hidden plug-ins.

Return:
  flag indicating the presence of hidden plug-ins (boolean)

#### PluginRepositoryWidget.__hidePlugin

__hidePlugin()

Private slot to hide the current plug-in.

#### PluginRepositoryWidget.__hideSelectedPlugins

__hideSelectedPlugins()

Private slot to hide all selected plug-ins.

#### PluginRepositoryWidget.__populateList

__populateList()

Private method to populate the list of available plugins.

#### PluginRepositoryWidget.__reachabilityChanged

__reachabilityChanged(reachability)

Private slot handling reachability state changes.

reachability (QNetworkInformation.Reachability)
  new reachability state

#### PluginRepositoryWidget.__resortRepositoryList

__resortRepositoryList()

Private method to resort the tree.

#### PluginRepositoryWidget.__selectedItems

__selectedItems()

Private method to get all selected items without the toplevel ones.

Return:
  list of selected items (list)

#### PluginRepositoryWidget.__showAllPlugins

__showAllPlugins()

Private slot to show all plug-ins.

#### PluginRepositoryWidget.__sslErrors

__sslErrors(reply, errors)

Private slot to handle SSL errors.

reply
  reference to the reply object (QNetworkReply)
errors
  list of SSL errors (list of QSslError)

#### PluginRepositoryWidget.__updateHiddenPluginsList

__updateHiddenPluginsList(hideList)

Private method to store the list of hidden plug-ins to the settings.

hideList
  list of plug-ins to add to the list of hidden ones (list of string)

#### PluginRepositoryWidget.__updateList

__updateList()

Private slot to download a new list and display the contents.

#### PluginRepositoryWidget.__updateStatus

__updateStatus(filename, version)

Private method to check the given archive update status.

filename
  data for the filename field (string)
version
  data for the version field (string)

Return:
  plug-in update status (integer, one of PluginStatusNew, PluginStatusUpToDate, PluginStatusLocalUpdate, PluginStatusRemoteUpdate)

#### PluginRepositoryWidget.addEntry

addEntry(name, short, description, url, author, version, filename, status)

Public method to add an entry to the list.

name
  data for the name field (string)
short
  data for the short field (string)
description
  data for the description field (list of strings)
url
  data for the url field (string)
author
  data for the author field (string)
version
  data for the version field (string)
filename
  data for the filename field (string)
status
  status of the plugin (string [stable, unstable, unknown])

#### PluginRepositoryWidget.getDownloadedPlugins

getDownloadedPlugins()

Public method to get the list of recently downloaded plugin files.

Return:
  list of plugin filenames (list of strings)

#### PluginRepositoryWidget.on_buttonBox_clicked

on_buttonBox_clicked(button)

Private slot to handle the click of a button of the button box.

button
  reference to the button pressed (QAbstractButton)

#### PluginRepositoryWidget.on_repositoryList_currentItemChanged

on_repositoryList_currentItemChanged(current, previous)

Private slot to handle the change of the current item.

current
  reference to the new current item (QTreeWidgetItem)
previous
  reference to the old current item (QTreeWidgetItem)

#### PluginRepositoryWidget.on_repositoryList_customContextMenuRequested

on_repositoryList_customContextMenuRequested(pos)

Private slot to show the context menu.

pos
  position to show the menu (QPoint)

#### PluginRepositoryWidget.on_repositoryList_itemSelectionChanged

on_repositoryList_itemSelectionChanged()

Private slot to handle a change of the selection.

#### PluginRepositoryWidget.on_repositoryUrlEditButton_toggled

on_repositoryUrlEditButton_toggled(checked)

Private slot to set the read only status of the repository URL line edit.

checked
  state of the push button (boolean)

#### PluginRepositoryWidget.reloadList

reloadList()

Public method to reload the list of plugins.

Up

## PluginRepositoryWindow

Main window class for the standalone dialog.

### Derived from

EricMainWindow

### Class Attributes

None

### Class Methods

None

### Methods

PluginRepositoryWindow | Constructor
__startPluginInstall | Private slot to start the eric plugin installation dialog.

### Static Methods

None

#### PluginRepositoryWindow (Constructor)

PluginRepositoryWindow(parent=None)

Constructor

parent
  reference to the parent widget (QWidget)

#### PluginRepositoryWindow.__startPluginInstall

__startPluginInstall()

Private slot to start the eric plugin installation dialog.

Up

## PluginRepositoryDownloadCleanup

PluginRepositoryDownloadCleanup(quiet=False)

Module function to clean up the plug-in downloads area.

quiet (bool)
  flag indicating quiet operations

Up

## registerPlugin

registerPlugin(name, short, description, url, author, version, filename, status)

Method to register a plug-in's data.

name
  data for the name field (string)
short
  data for the short field (string)
description
  data for the description field (list of strings)
url
  data for the url field (string)
author
  data for the author field (string)
version
  data for the version field (string)
filename
  data for the filename field (string)
status
  status of the plugin (string [stable, unstable, unknown])

Up