def showInfo(message, title="Anknotes: Evernote Importer for Anki", textFormat=0, cancelButton=False, richText=False, minHeight=None, minWidth=400, styleSheet=None, convertNewLines=True): global imgEvernoteWebMsgBox, icoEvernoteArtcore, icoEvernoteWeb msgDefaultButton = QPushButton(icoEvernoteArtcore, "Okay!", mw) if not styleSheet: styleSheet = file(FILES.ANCILLARY.CSS_QMESSAGEBOX, 'r').read() if not is_str_type(message): message = str(message) if richText: textFormat = 1 message = '<style>\n%s</style>\n\n%s' % (styleSheet, message) global messageBox messageBox = QMessageBox() messageBox.addButton(msgDefaultButton, QMessageBox.AcceptRole) if cancelButton: msgCancelButton = QPushButton(icoTomato, "No Thanks", mw) messageBox.addButton(msgCancelButton, QMessageBox.RejectRole) messageBox.setDefaultButton(msgDefaultButton) messageBox.setIconPixmap(imgEvernoteWebMsgBox) messageBox.setTextFormat(textFormat) messageBox.setWindowIcon(icoEvernoteWeb) messageBox.setWindowIconText("Anknotes") messageBox.setText(message) messageBox.setWindowTitle(title) hSpacer = QSpacerItem(minWidth, 0, QSizePolicy.Minimum, QSizePolicy.Expanding) layout = messageBox.layout() """:type : QGridLayout """ layout.addItem(hSpacer, layout.rowCount() + 1, 0, 1, layout.columnCount()) ret = messageBox.exec_() if not cancelButton: return True if messageBox.clickedButton( ) == msgCancelButton or messageBox.clickedButton() == 0: return False return True
def showInfo(message, title="Anknotes: Evernote Importer for Anki", textFormat=0, cancelButton=False, richText=False, minHeight=None, minWidth=400, styleSheet=None, convertNewLines=True): global imgEvernoteWebMsgBox, icoEvernoteArtcore, icoEvernoteWeb msgDefaultButton = QPushButton(icoEvernoteArtcore, "Okay!", mw) if not styleSheet: styleSheet = file(FILES.ANCILLARY.CSS_QMESSAGEBOX, 'r').read() if not is_str_type(message): message = str(message) if richText: textFormat = 1 message = '<style>\n%s</style>\n\n%s' % (styleSheet, message) global messageBox messageBox = QMessageBox() messageBox.addButton(msgDefaultButton, QMessageBox.AcceptRole) if cancelButton: msgCancelButton = QPushButton(icoTomato, "No Thanks", mw) messageBox.addButton(msgCancelButton, QMessageBox.RejectRole) messageBox.setDefaultButton(msgDefaultButton) messageBox.setIconPixmap(imgEvernoteWebMsgBox) messageBox.setTextFormat(textFormat) messageBox.setWindowIcon(icoEvernoteWeb) messageBox.setWindowIconText("Anknotes") messageBox.setText(message) messageBox.setWindowTitle(title) hSpacer = QSpacerItem(minWidth, 0, QSizePolicy.Minimum, QSizePolicy.Expanding) layout = messageBox.layout() """:type : QGridLayout """ layout.addItem(hSpacer, layout.rowCount() + 1, 0, 1, layout.columnCount()) ret = messageBox.exec_() if not cancelButton: return True if messageBox.clickedButton() == msgCancelButton or messageBox.clickedButton() == 0: return False return True
def getAudio(parent, encode=True): "Record and return filename" # record first if not Recorder: showWarning("pyaudio not installed") return r = Recorder() mb = QMessageBox(parent) restoreGeom(mb, "audioRecorder") mb.setWindowTitle("Anki") mb.setIconPixmap(QPixmap(":/icons/media-record.png")) but = QPushButton(_("Save")) mb.addButton(but, QMessageBox.AcceptRole) but = QPushButton(_("Cancel")) mb.addButton(but, QMessageBox.RejectRole) mb.setEscapeButton(but) t = time.time() r.start() time.sleep(r.startupDelay) QApplication.instance().processEvents() while not mb.clickedButton(): txt = _("Recording...<br>Time: %0.1f") mb.setText(txt % (time.time() - t)) mb.show() QApplication.instance().processEvents() if mb.clickedButton() == mb.escapeButton(): r.stop() return saveGeom(mb, "audioRecorder") # ensure at least a second captured while time.time() - t < 1: time.sleep(0.1) r.stop() # process r.postprocess(encode) return r.file()
def askAndUpdate(mw, ver): baseStr = ( _('''<h1>Anki Updated</h1>Anki %s has been released.<br><br>''') % ver) msg = QMessageBox(mw) msg.setStandardButtons(QMessageBox.Yes | QMessageBox.No) msg.setIcon(QMessageBox.Information) msg.setText(baseStr + _("Would you like to download it now?")) button = QPushButton(_("Ignore this update")) msg.addButton(button, QMessageBox.RejectRole) msg.setDefaultButton(QMessageBox.Yes) ret = msg.exec_() if msg.clickedButton() == button: # ignore this update mw.pm.meta['suppressUpdate'] = ver elif ret == QMessageBox.Yes: openLink(aqt.appWebsite)