Exemplo n.º 1
1
 def getErrorDialog(self,text,infoText,detailedText):
     dlg = QMessageBox(self)
     dlg.setIcon(QMessageBox.Warning)
     dlg.setWindowModality(QtCore.Qt.WindowModal)
     dlg.setWindowTitle("Error")
     dlg.setText(text)
     dlg.setInformativeText(infoText)
     dlg.setDetailedText(detailedText)
     dlg.setStandardButtons(QMessageBox.Ok)
     
     return dlg
Exemplo n.º 2
0
def displayDialog(message, detailedMessage=None,
                      title=None,
                      level=logging.CRITICAL,
                      dialogWidth=150):
        '''
        A generic function to display the dialog in a QMessageBox
        
        message: Primary message to be displayed
        detailedMessage: detail message that is shown after user clicks on the button
        level: Message level
        dialogWidth: width of the messageBox
        '''
        
        width = dialogWidth
        mainWin = WorkbenchHelper.window
        msgBox = QMessageBox (parent=mainWin)
        
        if detailedMessage:        
            detailedMessage = 'Application ' + " encountered following problem :" + detailedMessage
          
        
        if len(message) < width:
            message += ' ' * (width - len(message))
            
        msgBox.setWindowTitle(__getTitleFromLevel(level))
        msgBox.setIcon(__getIconFromLevel(level))
        
        msgBox.setText(message)
        if detailedMessage:
            msgBox.setDetailedText(detailedMessage)
        
        ret = msgBox.exec_()
Exemplo n.º 3
0
 def install(self):
     pref = self.app.preferences.ui
     ct = pref.configTable
     curi = int(pref.filtersComboBox_new.currentIndex())
     filter = self._filters[self._keys[curi]]
     config, hash = {}, gen_hash()
     settings = self.filter_settings(filter.id, hash)
     for i in range(ct.rowCount()):
         config[unicode(ct.item(i,0).text())] = unicode(ct.item(i,1).text())
     try:
         filter.install(settings, config)
     except Exception as e:
         msg = QMessageBox(pref)
         msg.setIcon(QMessageBox.Critical)
         msg.setWindowTitle("Installation Error ...")
         msg.setText("An Error occured during installation.")
         msg.setInformativeText("Could install filter '%s'." % filter.name)
         msg.setStandardButtons(QMessageBox.Ok)
         msg.setDetailedText(format_exc())
         msg.exec_()
         return
     # success
     self.add_filter_instance(filter, hash)
     pref.filtersComboBox_new.currentIndexChanged.emit(curi)
     pref.filtertabWidget.setCurrentIndex(0)
Exemplo n.º 4
0
 def show_popup(set_text, detailed, window_title, message_type):
     mess = QMessageBox()
     mess.setText(set_text)
     if len(detailed) > 0:
         mess.setInformativeText("For more information click \"Show Details\"")
     mess.setDetailedText(detailed)
     mess.setIcon(message_type)
     mess.setWindowTitle(window_title)
     mess.setMinimumWidth(500)
     mess.exec_()
    def handleInfo(self):
            msg = QMessageBox()
            #msg.setFixedSize(500, 300)
            #msg.setGeometry(100,100, 400, 200)
            msg.setIcon(QMessageBox.Information)
            msg.setText("Axel Schneider")
            msg.setInformativeText(unicode(u"©2016"))
            msg.setWindowTitle("Cut Video")
            msg.setDetailedText("Python Qt4")
            msg.setStandardButtons(QMessageBox.Ok)
	
            retval = msg.exec_()
            print "value of pressed message box button:", retval
Exemplo n.º 6
0
class MessageWindow:
    def __init__(self, title, text, type="ok", default=None, customButtons =None, customIcon=None, run=True, destroyAfterRun=True, detailed=False, longText=""):
        self.rc = None
        self.dialog = None
        self.msgBox = QMessageBox()
        self.doCustom = False
        self.customButtons = customButtons

        icon  = None
        buttons = None

        if type == 'ok':
            buttons = QMessageBox.Ok
            icon = "question"
        elif type == 'error':
            icon = "error"
            buttons =  QMessageBox.Ok
        elif type == 'warning':
            icon = "warning"
            buttons =  QMessageBox.Ok
        elif type == 'okcancel':
            icon = "question"
            buttons = QMessageBox.Ok | QMessageBox.Cancel
        elif type == 'question':
            icon = "question"
            buttons = QMessageBox.Ok | QMessageBox.Cancel
        elif type == 'yesno':
            icon = "question"
            buttons = QMessageBox.Yes | QMessageBox.No
        elif type == 'custom':
            self.doCustom = True
            if customIcon:
                icon = customIcon
            else:
                icon = "question"

        text = "<qt>%s</qt>" % text.replace("\n", " ")
        self.msgBox.setText(text)
        if detailed:
            self.msgBox.setDetailedText(unicode(longText))

        if self.doCustom:
            button = None
            for index, text in enumerate(self.customButtons):
                button = self.msgBox.addButton(text, QMessageBox.ActionRole)
                if default is not None and default == index:
                    self.msgBox.setDefaultButton(button)
        else:
            self.msgBox.setStandardButtons(buttons)

            if default == "no":
                default = QMessageBox.No
            elif default == "yes":
                default = QMessageBox.Yes
            elif default == "ok":
                default = QMessageBox.Ok
            else:
                default = None

        self.msgBox.setDefaultButton(default)

        self.dialog = Dialog(_(title), self.msgBox, closeButton=False, isDialog=True, icon=icon)
        self.dialog.resize(QSize(0,0))
        if run:
            self.run(destroyAfterRun)

    def run(self, destroyAfterRun=True):
        self.rc = self.dialog.exec_()
        if self.msgBox.clickedButton():
            if not self.doCustom:
                if self.msgBox.clickedButton().text() in [_("Ok"), _("Yes")]:
                    self.rc = 1
                elif self.msgBox.clickedButton().text() in [_("Cancel"), _("No")]:
                    self.rc = 0
            else:
                if self.msgBox.clickedButton().text() in self.customButtons:
                    self.rc = self.customButtons.index(self.msgBox.clickedButton().text())

        if destroyAfterRun:
            self.dialog = None

        return self.rc
Exemplo n.º 7
0
class MessageWindow:
    def __init__(self,
                 title,
                 text,
                 type="ok",
                 default=None,
                 customButtons=None,
                 customIcon=None,
                 run=True,
                 destroyAfterRun=True,
                 detailed=False,
                 longText=""):
        self.rc = None
        self.dialog = None
        self.msgBox = QMessageBox()
        self.doCustom = False
        self.customButtons = customButtons

        icon = None
        buttons = None

        if type == 'ok':
            buttons = QMessageBox.Ok
            icon = "question"
        elif type == 'error':
            icon = "error"
            buttons = QMessageBox.Ok
        elif type == 'warning':
            icon = "warning"
            buttons = QMessageBox.Ok
        elif type == 'okcancel':
            icon = "question"
            buttons = QMessageBox.Ok | QMessageBox.Cancel
        elif type == 'question':
            icon = "question"
            buttons = QMessageBox.Ok | QMessageBox.Cancel
        elif type == 'yesno':
            icon = "question"
            buttons = QMessageBox.Yes | QMessageBox.No
        elif type == 'custom':
            self.doCustom = True
            if customIcon:
                icon = customIcon
            else:
                icon = "question"

        text = "<qt>%s</qt>" % text.replace("\n", " ")
        self.msgBox.setText(text)
        if detailed:
            self.msgBox.setDetailedText(unicode(longText))

        if self.doCustom:
            button = None
            for index, text in enumerate(self.customButtons):
                button = self.msgBox.addButton(text, QMessageBox.ActionRole)
                if default is not None and default == index:
                    self.msgBox.setDefaultButton(button)
        else:
            self.msgBox.setStandardButtons(buttons)

            if default == "no":
                default = QMessageBox.No
            elif default == "yes":
                default = QMessageBox.Yes
            elif default == "ok":
                default = QMessageBox.Ok
            else:
                default = None

        self.msgBox.setDefaultButton(default)

        self.dialog = Dialog(_(title),
                             self.msgBox,
                             closeButton=False,
                             isDialog=True,
                             icon=icon)
        self.dialog.resize(QSize(0, 0))
        if run:
            self.run(destroyAfterRun)

    def run(self, destroyAfterRun=True):
        self.rc = self.dialog.exec_()
        if self.msgBox.clickedButton():
            if not self.doCustom:
                if self.msgBox.clickedButton().text() in [_("Ok"), _("Yes")]:
                    self.rc = 1
                elif self.msgBox.clickedButton().text() in [
                        _("Cancel"), _("No")
                ]:
                    self.rc = 0
            else:
                if self.msgBox.clickedButton().text() in self.customButtons:
                    self.rc = self.customButtons.index(
                        self.msgBox.clickedButton().text())

        if destroyAfterRun:
            self.dialog = None

        return self.rc