src/eric7/Plugins/VcsPlugins/vcsGit/GitCherryPickDialog.py

Wed, 04 Oct 2023 17:50:59 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Wed, 04 Oct 2023 17:50:59 +0200
branch
eric7
changeset 10217
7888177e7463
parent 9653
e67609152c5e
child 10438
4cd7e5a8b3cf
permissions
-rw-r--r--

Fixed in issue with several editable combo box selectors, that the value could not be changed if the edited text differed by case only. This was caused by the standard QComboBox completer.

# -*- coding: utf-8 -*-

# Copyright (c) 2014 - 2023 Detlev Offenbach <detlev@die-offenbachs.de>
#

"""
Module implementing a dialog to enter cherry-pick data.
"""

from PyQt6.QtCore import pyqtSlot
from PyQt6.QtWidgets import QDialog, QDialogButtonBox

from .Ui_GitCherryPickDialog import Ui_GitCherryPickDialog


class GitCherryPickDialog(QDialog, Ui_GitCherryPickDialog):
    """
    Class implementing a dialog to enter cherry-pick data.
    """

    def __init__(self, commits=None, parent=None):
        """
        Constructor

        @param commits list of commits to show in the commits pane (list of
            strings)
        @param parent reference to the parent widget (QWidget)
        """
        super().__init__(parent)
        self.setupUi(self)

        if commits:
            self.commitsEdit.setPlainText("\n".join(commits))

        self.on_commitsEdit_textChanged()

    @pyqtSlot()
    def on_commitsEdit_textChanged(self):
        """
        Private slot to react upon changes of commits.
        """
        self.buttonBox.button(QDialogButtonBox.StandardButton.Ok).setEnabled(
            self.commitsEdit.toPlainText() != ""
        )

    def getData(self):
        """
        Public method to retrieve the entered data.

        @return tuple with list of commits, a flag indicating to append
            cherry-pick info to the commit message, a flag indicating to append
            a signed-off-by line to the commit message and a flag indicating to
            not commit the action (list of strings, boolean, boolean, boolean)
        """
        return (
            self.commitsEdit.toPlainText().strip().splitlines(),
            self.appendCheckBox.isChecked(),
            self.signoffCheckBox.isChecked(),
            self.nocommitCheckBox.isChecked(),
        )

eric ide

mercurial