# eric7.VCS.StatusWidget

Module implementing a VCS Status widget for the sidebar/toolbar.

### Global Attributes

None

### Classes

StatusWidget | Class implementing a VCS Status widget for the sidebar/toolbox.

### Functions

None

## StatusWidget

Class implementing a VCS Status widget for the sidebar/toolbox.

### Derived from

QWidget

### Class Attributes

StatusDataRole

### Class Methods

None

### Methods

StatusWidget | Constructor
__addAllUntracked | Private slot to handle the Add All action menu entry.
__addUntracked | Private slot to add the selected untracked entries.
__clearCommitMessages | Private slot to clear the list of saved commit messages.
__commit | Private slot to handle the commit button.
__commitDeselectAll | Private slot to deselect all entries from commit.
__commitSelectAll | Private slot to select all entries for commit.
__committed | Private slot called after the commit has been completed.
__conflictResolved | Private slot to handle the Conflict Resolved action menu entry.
__diff | Private slot to handle the Differences action menu entry.
__diffAll | Private slot to handle the All Differences action menu entry.
__editConflict | Private slot to handle the Edit Conflict action menu entry.
__forgetMissing | Private slot to handle the Forget action menu entry.
__getCommitableItems | Private method to retrieve all entries the user wants to commit.
__getCommitableUnselectedItems | Private method to retrieve all entries the user may commit but hasn't selected.
__getMissingItems | Private method to retrieve all entries, that have a missing status.
__getModifiedItems | Private method to retrieve all entries, that have a modified status.
__getSelectedConflictingItems | Private method to retrieve all selected entries, that have a conflict status.
__getSelectedModifiedItems | Private method to retrieve all selected entries, that have a modified status.
__getSelectedUnversionedItems | Private method to retrieve all selected entries, that have an unversioned status.
__getUnversionedItems | Private method to retrieve all entries, that have an unversioned status.
__initActionsMenu | Private method to initialize the actions menu.
__itemDoubleClicked | Private slot to handle double clicking an item.
__processStatusData | Private slot to process the status data emitted by the project.
__projectClosed | Private slot to handle the closing of a project.
__projectOpened | Private slot to handle the opening of a project.
__quickCommit | Private slot to commit all marked entries with the entered commit message.
__quickCommitEditTextChanged | Private slot to react upon changes of the quick commit text.
__reload | Private slot to reload the status list.
__reset | Private method to reset the widget to default.
__restoreMissing | Private slot to handle the Restore Missing context menu entry.
__revert | Private slot to handle the Revert action menu entry.
__sbsDiff | Private slot to handle the Side-By-Side Differences action menu entry.
__selectQuickCommitMessage | Private slot to select a commit message from the list of saved messages.
__setCheckMark | Private method to set or unset all check marks.
__setInfoText | Private slot to set the info label text.
__setProjectSpellCheckData | Private slot to set the spell check properties of the quick commit area.
__showActionsMenu | Private slot to prepare the actions button menu before it is shown.
__toggleCheckMark | Private slot to toggle the check marks.
__updateEnabledStates | Private method to set the enabled states depending on the list state.
eventFilter | Public method to process some events for the Commit edit.

### Static Methods

None

#### StatusWidget (Constructor)

StatusWidget(project, viewmanager, parent=None)

Constructor

project (Project)
  reference to the project object
viewmanager (ViewManager)
  reference to the viewmanager object
parent (QWidget (optional))
  reference to the parent widget (defaults to None)

#### StatusWidget.__addAllUntracked

__addAllUntracked()

Private slot to handle the Add All action menu entry.

#### StatusWidget.__addUntracked

__addUntracked(allItems=False)

Private slot to add the selected untracked entries.

allItems (bool (optional))
  flag indicating to show the differences of all files (defaults to False)

#### StatusWidget.__clearCommitMessages

__clearCommitMessages()

Private slot to clear the list of saved commit messages.

#### StatusWidget.__commit

__commit()

Private slot to handle the commit button.

#### StatusWidget.__commitDeselectAll

__commitDeselectAll()

Private slot to deselect all entries from commit.

#### StatusWidget.__commitSelectAll

__commitSelectAll()

Private slot to select all entries for commit.

#### StatusWidget.__committed

__committed()

Private slot called after the commit has been completed.

#### StatusWidget.__conflictResolved

__conflictResolved()

Private slot to handle the Conflict Resolved action menu entry.

#### StatusWidget.__diff

__diff(allItems=False)

Private slot to handle the Differences action menu entry.

allItems (bool (optional))
  flag indicating to show the differences of all files (defaults to False)

#### StatusWidget.__diffAll

__diffAll()

Private slot to handle the All Differences action menu entry.

#### StatusWidget.__editConflict

__editConflict()

Private slot to handle the Edit Conflict action menu entry.

#### StatusWidget.__forgetMissing

__forgetMissing()

Private slot to handle the Forget action menu entry.

#### StatusWidget.__getCommitableItems

__getCommitableItems()

Private method to retrieve all entries the user wants to commit.

Return:
  list of all items, the user has checked

Return Type:
  list of QListWidgetItem

#### StatusWidget.__getCommitableUnselectedItems

__getCommitableUnselectedItems()

Private method to retrieve all entries the user may commit but hasn't selected.

Return:
  list of all items, the user has checked

Return Type:
  list of QListWidgetItem

#### StatusWidget.__getMissingItems

__getMissingItems()

Private method to retrieve all entries, that have a missing status.

Return:
  list of all items with a missing status

Return Type:
  list of QListWidgetItem

#### StatusWidget.__getModifiedItems

__getModifiedItems()

Private method to retrieve all entries, that have a modified status.

Return:
  list of all items with a modified status

Return Type:
  list of QListWidgetItem

#### StatusWidget.__getSelectedConflictingItems

__getSelectedConflictingItems()

Private method to retrieve all selected entries, that have a conflict status.

Return:
  list of all selected entries with a conflict status

Return Type:
  list of QListWidgetItem

#### StatusWidget.__getSelectedModifiedItems

__getSelectedModifiedItems()

Private method to retrieve all selected entries, that have a modified status.

Return:
  list of all selected entries with a modified status

Return Type:
  list of QListWidgetItem

#### StatusWidget.__getSelectedUnversionedItems

__getSelectedUnversionedItems()

Private method to retrieve all selected entries, that have an unversioned status.

Return:
  list of all items with an unversioned status

Return Type:
  list of QListWidgetItem

#### StatusWidget.__getUnversionedItems

__getUnversionedItems()

Private method to retrieve all entries, that have an unversioned status.

Return:
  list of all items with an unversioned status

Return Type:
  list of QListWidgetItem

#### StatusWidget.__initActionsMenu

__initActionsMenu()

Private method to initialize the actions menu.

#### StatusWidget.__itemDoubleClicked

__itemDoubleClicked(itm)

Private slot to handle double clicking an item.

itm (QListWidgetItem)
  reference to the double clicked item

#### StatusWidget.__processStatusData

__processStatusData(data)

Private slot to process the status data emitted by the project.

Each entry of the status data consists of a status flag and and the path relative to the project directory starting with the third column. The known status flags are:

- "A" path was added but not yet committed
- "M" path has local changes
- "O" path was removed
- "R" path was deleted and then re-added
- "U" path needs an update
- "Z" path contains a conflict
- "?" path is not tracked
- "!" path is missing
- " " path is back at normal

data (dict)
  dictionary containing the status data

#### StatusWidget.__projectClosed

__projectClosed()

Private slot to handle the closing of a project.

#### StatusWidget.__projectOpened

__projectOpened()

Private slot to handle the opening of a project.

#### StatusWidget.__quickCommit

__quickCommit()

Private slot to commit all marked entries with the entered commit message.

#### StatusWidget.__quickCommitEditTextChanged

__quickCommitEditTextChanged()

Private slot to react upon changes of the quick commit text.

#### StatusWidget.__reload

__reload()

Private slot to reload the status list.

#### StatusWidget.__reset

__reset()

Private method to reset the widget to default.

#### StatusWidget.__restoreMissing

__restoreMissing()

Private slot to handle the Restore Missing context menu entry.

#### StatusWidget.__revert

__revert()

Private slot to handle the Revert action menu entry.

#### StatusWidget.__sbsDiff

__sbsDiff()

Private slot to handle the Side-By-Side Differences action menu entry.

#### StatusWidget.__selectQuickCommitMessage

__selectQuickCommitMessage()

Private slot to select a commit message from the list of saved messages.

#### StatusWidget.__setCheckMark

__setCheckMark(checked)

Private method to set or unset all check marks.

checked (bool)
  check mark state to be set

#### StatusWidget.__setInfoText

__setInfoText(info)

Private slot to set the info label text.

info (str)
  text to be shown

#### StatusWidget.__setProjectSpellCheckData

__setProjectSpellCheckData()

Private slot to set the spell check properties of the quick commit area.

#### StatusWidget.__showActionsMenu

__showActionsMenu()

Private slot to prepare the actions button menu before it is shown.

#### StatusWidget.__toggleCheckMark

__toggleCheckMark()

Private slot to toggle the check marks.

#### StatusWidget.__updateEnabledStates

__updateEnabledStates()

Private method to set the enabled states depending on the list state.

#### StatusWidget.eventFilter

eventFilter(obj, evt)

Public method to process some events for the Commit edit.

obj (QObject)
  reference to the object the event was meant for
evt (QEvent)
  reference to the event object

Return:
  flag to indicate that the event was handled

Return Type:
  bool

Up