Example #1
0
 def unpack(self, package):
     """Unpack the given lilypond .sh archive."""
     fileName = os.path.basename(package)
     ver = version(fileName) or 'unknown' # should not happen
     self.prefix = os.path.join(self.installDest.url().path(), ver)
     self.lilypond = os.path.join(self.prefix, "bin", "lilypond")
     if not os.path.exists(self.prefix):
         os.makedirs(self.prefix)
     elif os.path.exists(self.lilypond):
         result = KMessageBox.questionYesNoCancel(self, i18n(
             "LilyPond %1 seems already to be installed in %2.\n\n"
             "Do you want to use it or to remove and re-install?",
             ver, self.prefix), None,
             KGuiItem(i18n("Use existing LilyPond")),
             KGuiItem(i18n("Remove and re-install")))
         if result == KMessageBox.Yes:
             self.info.lilypond.setText(self.lilypond)
             self.enableButtonOk(True)
             KDialog.done(self, KDialog.Accepted)
             return
         elif result == KMessageBox.No:
             shutil.rmtree(self.prefix, True)
         else: # Cancel
             self.progress.reset()
             self.enableButtonOk(True)
             return
     self.status.setText(i18n("Unpacking %1...", fileName))
     self.progress.setRange(0, 0)
     unpack = self.unpackJob = QProcess()
     unpack.setProcessChannelMode(QProcess.MergedChannels)
     unpack.setWorkingDirectory(self.prefix)
     unpack.finished.connect(self.unpackFinished)
     unpack.error.connect(self.unpackError)
     unpack.start("sh", [package, "--batch", "--prefix", self.prefix])
Example #2
0
 def done(self, result):
     if result:
         # Save selected extensions to preselect next time.
         exts = list(set(item.ext for item in self.selectedItems()))
         config("general").writeEntry("email_extensions", exts)
         urls = [item.url for item in self.selectedItems()]
         emailFiles(urls)
     KDialog.done(self, result)
Example #3
0
 def done(self, result):
     pdfs = []
     if result:
         for i, pdf in zip(range(self.fileList.count()), self.pdfs):
             if self.fileList.item(i).checkState() == Qt.Checked:
                 pdfs.append(pdf)
     KDialog.done(self, result)
     if pdfs:
         printPDFs(pdfs, self.mainwin)
Example #4
0
 def done(self, result):
     self.saveEditIfNecessary()
     self.manager.expansions.sync()
     if result == KDialog.Accepted:
         items = self.treeWidget.selectedItems() or self.items()
         items = [item for item in items if not item.isHidden()]
         if len(items) == 1:
             expansion = items[0].text(0)
             self.manager.doExpand(expansion)
     self.saveDialogSize(config())
     KDialog.done(self, result)
Example #5
0
 def unpackFinished(self, exitCode, exitStatus):
     self.progress.setRange(0, 100)
     self.progress.reset()
     self.enableButtonOk(True)
     if exitStatus == QProcess.NormalExit and exitCode == 0:
         self.status.setText(i18n("Unpacking finished."))
         self.info.lilypond.setText(self.lilypond)
         KDialog.done(self, KDialog.Accepted)
     else:
         self.status.setText(i18n("Unpacking failed."))
         KMessageBox.error(self, i18n("An error occurred:\n\n%1",
             str(self.unpackJob.readAllStandardOutput())))
Example #6
0
 def done(self, result):
     if result == KDialog.Accepted:
         # Download (OK) clicked
         url = self.packageUrl.url()
         if not url.isEmpty():
             self.enableButtonOk(False)
             # save the install path
             config().writePathEntry('lilypond install path',
                 self.installDest.url().path())
             if url.isLocalFile():
                 self.unpack(url.path())
             else:
                 self.download(url)
     else:
         if self.downloadBusy():
             self.cancelDownload()
         elif not self.unpackBusy():
             KDialog.done(self, result)
Example #7
0
 def done(self, r):
     self.saveSettings()
     KDialog.done(self, r)
     if r:
         self.actors[self.actionChooser.currentIndex()](self)
Example #8
0
 def done(self, result):
     if result:
         self.saveSettings()
     KDialog.done(self, result)