def __init__(self, parent=None): KVBox.__init__(self, parent) self.help = QLabel(i18n(helpText), self) self.layout().setAlignment(self.help, Qt.AlignHCenter | Qt.AlignTop) self.setSpacing(40) hBox = KHBox(self) vBox1 = KVBox(hBox) vBox2 = KVBox(hBox) hBox.layout().setAlignment(vBox1, Qt.AlignHCenter) hBox.layout().setAlignment(vBox2, Qt.AlignHCenter) vBox1.setMargin(20) vBox2.setSpacing(20) self.datePickerLabel = QLabel("KDatePicker", vBox1) self.datePicker = KDatePicker(vBox2) self.datePicker.setFixedSize(400, 200) self.other = QLabel('KDateWidget', vBox1) vBox1.layout().setAlignment(self.other, Qt.AlignBottom) self.dateDisplay = KDateWidget(vBox2) self.connect(self.datePicker, SIGNAL('dateChanged(QDate)'), self.dateDisplay.setDate)
def promptText(parent, message, title = None, text="", rx=None, help=None): """ Prompts for a text. Returns None on cancel, otherwise the input string. rx = if given, regexp string that the input must validate against help = if given, the docbook id in the help menu handbook. """ d = KDialog(parent) buttons = KDialog.Ok | KDialog.Cancel if help: buttons |= KDialog.Help d.setHelp(help) d.setButtons(KDialog.ButtonCode(buttons)) if title: d.setCaption(title) v = KVBox() v.setSpacing(4) d.setMainWidget(v) QLabel(message, v) edit = KLineEdit(v) if rx: edit.setValidator(QRegExpValidator(QRegExp(rx), edit)) edit.setText(text) d.show() edit.setFocus() if d.exec_(): return edit.text()
def __init__(self, mainwin, pdfs): KDialog.__init__(self, mainwin) self.mainwin = mainwin self.setAttribute(Qt.WA_DeleteOnClose) self.setButtons(KDialog.ButtonCode( KDialog.User1 | KDialog.Ok | KDialog.Cancel)) self.setButtonGuiItem(KDialog.Ok, KStandardGuiItem.print_()) self.setButtonIcon(KDialog.User1, KIcon("edit-select-all")) self.setButtonText(KDialog.User1, i18n("Select all")) self.setCaption(i18n("Print documents")) b = KVBox(self) b.setSpacing(4) QLabel(i18n("Please select the files you want to print:"), b) fileList = QListWidget(b) fileList.setIconSize(QSize(22, 22)) fileList.setWhatsThis(i18n( "These are the PDF documents that are up-to-date (i.e. newer than " "the LilyPond source document). " "Check the documents you want to send to the printer.")) for pdf in pdfs: i = QListWidgetItem(KIcon("application-pdf"), os.path.basename(pdf), fileList) i.setFlags(Qt.ItemIsEnabled | Qt.ItemIsSelectable | Qt.ItemIsUserCheckable) i.setCheckState(Qt.Unchecked) fileList.item(0).setCheckState(Qt.Checked) self.fileList = fileList self.setMainWidget(b) self.resize(350, 200) self.pdfs = pdfs self.user1Clicked.connect(self.selectAll)
def __init__(self, parent=None): KVBox.__init__(self, parent) self.help = QLabel(i18n(helpText), self) self.layout().setAlignment(self.help, Qt.AlignHCenter | Qt.AlignTop) self.setSpacing(40) hBox = KHBox(self) vBox1 = KVBox(hBox) vBox2 = KVBox(hBox) hBox.layout().setAlignment(vBox1, Qt.AlignHCenter) hBox.layout().setAlignment(vBox2, Qt.AlignHCenter) vBox1.setMargin(20) vBox2.setSpacing(20) self.datePickerLabel = QLabel("KDatePicker", vBox1) self.datePicker = KDatePicker(vBox2) self.datePicker.setFixedSize(400, 200) self.other = QLabel("KDateWidget", vBox1) vBox1.layout().setAlignment(self.other, Qt.AlignBottom) self.dateDisplay = KDateWidget(vBox2) self.connect(self.datePicker, SIGNAL("dateChanged(QDate)"), self.dateDisplay.setDate)
def __init__(self, parent, updatedFiles, warnpreview): KDialog.__init__(self, parent) self.setAttribute(Qt.WA_DeleteOnClose) self.setButtons(KDialog.ButtonCode(KDialog.Ok | KDialog.Cancel)) self.setCaption(i18n("Email documents")) self.showButtonSeparator(True) b = KVBox(self) b.setSpacing(4) QLabel(i18n("Please select the files you want to send:"), b) fileList = QListWidget(b) fileList.setIconSize(QSize(22, 22)) fileList.setWhatsThis(i18n( "These are the files that are up-to-date (i.e. newer than " "the LilyPond source document). Also LilyPond files included " "by the source document are shown.")) lyFiles = ly.parse.findIncludeFiles(updatedFiles.lyfile, config("preferences").readPathEntry("lilypond include path", [])) pdfFiles = updatedFiles("pdf") midiFiles = updatedFiles("mid*") if warnpreview and pdfFiles: QLabel(i18np( "Note: this PDF file has been created with " "embedded point-and-click URLs (preview mode), which " "increases the file size dramatically. " "Please consider to rebuild the file in publish mode, " "because then the PDF file is much smaller.", "Note: these PDF files have been created with " "embedded point-and-click URLs (preview mode), which " "increases the file size dramatically. " "Please consider to rebuild the files in publish mode, " "because then the PDF files are much smaller.", len(pdfFiles)), b).setWordWrap(True) if not pdfFiles and not midiFiles: QLabel(i18n( "Note: If there are no PDF and no MIDI files, you " "probably need to run LilyPond to update those files, " "before sending the e-mail."), b).setWordWrap(True) self.fileList = fileList self.setMainWidget(b) self.resize(450, 300) basedir = os.path.dirname(updatedFiles.lyfile) exts = config("general").readEntry("email_extensions", [".pdf"]) def item(icon, fileName): """ Add item to the fileList list widget. """ directory, name = os.path.split(fileName) if directory != basedir: name += " ({0})".format(os.path.normpath(directory)) i = QListWidgetItem(KIcon(icon), name, fileList) i.setFlags(Qt.ItemIsEnabled | Qt.ItemIsSelectable | Qt.ItemIsUserCheckable) i.ext = os.path.splitext(fileName)[1] i.url = KUrl.fromPath(fileName).url() i.setCheckState(Qt.Checked if i.ext in exts else Qt.Unchecked) # insert the files for lyfile in lyFiles: item("text-x-lilypond", lyfile) for pdf in pdfFiles: item("application-pdf", pdf) for midi in midiFiles: item("audio-midi", midi)