Snippets

John Martini issue reporter for bitbucket

Created by John Martini
import sys
import os
from PySide import QtGui, QtCore


class BitBucketIssueWidget(QtGui.QWidget):
    def __init__(self, parent=None):
        super(BitBucketIssueWidget, self).__init__(parent)

        self.TITLE = "BB Issue Reporter"
        self.VERSION = "1.0.0" # MAJOR.MINOR.PATCH
        self.resize(250, 400)
        self.setWindowTitle(self.TITLE + " | " + self.VERSION)
        self.initUI()

    def initUI(self):

        lb_title = QtGui.QLabel('Title')
        self.ui_title = QtGui.QLineEdit()
        self.ui_title.setPlaceholderText("Required...")

        lb_description = QtGui.QLabel('Description')
        self.ui_description = QtGui.QTextEdit()

        lb_kind = QtGui.QLabel('Kind')
        self.ui_kind = QtGui.QComboBox()
        self.ui_kind.addItem("bug")
        self.ui_kind.addItem("enhancement")
        self.ui_kind.addItem("proposal")
        self.ui_kind.addItem("task")

        lb_priority = QtGui.QLabel('Priority')
        self.ui_priority = QtGui.QComboBox()
        self.ui_priority.addItem("trivial")
        self.ui_priority.addItem("minor")
        self.ui_priority.addItem("major")
        self.ui_priority.addItem("critical")
        self.ui_priority.addItem("blocker")

        # Form layout
        form = QtGui.QFormLayout()
        form.addRow(lb_title, self.ui_title)
        form.addRow(lb_description, self.ui_description)
        form.addRow(lb_kind, self.ui_kind)
        form.addRow(lb_priority, self.ui_priority)

        self.ui_submit = QtGui.QPushButton("Submit")
        self.buttonBox = QtGui.QDialogButtonBox(QtGui.QDialogButtonBox.Cancel);
        self.buttonBox.addButton(self.ui_submit, QtGui.QDialogButtonBox.ActionRole);

        # Main Layout
        grid = QtGui.QVBoxLayout()
        grid.setContentsMargins(10, 10, 10, 10)
        grid.addLayout(form)
        grid.addWidget(self.buttonBox)
        self.setLayout(grid)

def main():
    app = QtGui.QApplication(sys.argv)
    ex = BitBucketIssueWidget()
    ex.show()
    sys.exit(app.exec_())

if __name__ == '__main__':
    main()

Comments (0)

HTTPS SSH

You can clone a snippet to your computer for local editing. Learn more.