def genMp4(self): msg = QMessageBox() ffmpegPath = os.path.join(os.path.dirname(__file__), 'ffmpeg.exe') lapse = int(self.dlg.timeLapseEdit.text()) cmd = ( ffmpegPath + ' -r' + ' 1/' + str(lapse) + ' -start_number' + ' 0' + ' -i ' + toUnicode(os.path.join( self.workingFolder, '%03d.png')).encode('big5') + ' -c:v' + ' libx264' + ' -r' + ' 30' + ' -pix_fmt' + ' yuv420p ' + toUnicode( os.path.join(self.workingFolder, self.dlg.outputNameEdit.text())).encode('big5') + '.mp4') subprocess.Popen([ 'cmd', '/c', 'del', toUnicode( os.path.join(self.workingFolder, self.dlg.outputNameEdit.text())).encode('big5') + '.mp4' ]) t = subprocess.call(cmd, shell=True) if t == 0: msg.setIcon(QMessageBox.Information) msg.setText(message['msg05']) msg.setWindowTitle(message['msg06']) msg.setStandardButtons(QMessageBox.Ok) msg.exec_() elif t == 1: msg.setIcon(QMessageBox.Critical) msg.setText(message['msg07']) msg.setWindowTitle(message['msg08']) msg.setStandardButtons(QMessageBox.Ok) msg.exec_()
def add(self): if self.status == self.NOT_IN_SYNC: msgBox = QMessageBox() msgBox.setWindowTitle("Layer was already exported") msgBox.setText( "This layer was exported already at a different commit.\n" "Which one would you like to add to your QGIS project?") msgBox.addButton(QPushButton('Use previously exported commit'), QMessageBox.YesRole) msgBox.addButton(QPushButton('Use latest commit from this branch'), QMessageBox.NoRole) msgBox.addButton(QPushButton('Cancel'), QMessageBox.RejectRole) QApplication.restoreOverrideCursor() ret = msgBox.exec_() if ret == 0: checkoutLayer(self.repo, self.layer, None, self.currentCommitId) elif ret == 1: try: layer = checkoutLayer(self.repo, self.layer, None, self.branchCommitId) repoWatcher.layerUpdated.emit(layer) except HasLocalChangesError: QMessageBox.warning( config.iface.mainWindow(), 'Cannot export this commit', "The layer has local changes that would be overwritten.\n" "Either sync layer with branch or revert local changes " "before changing commit", QMessageBox.Ok) else: checkoutLayer(self.repo, self.layer, None, self.branchCommitId)
def add(): if self.status == self.NOT_IN_SYNC: msgBox = QMessageBox() msgBox.setText( "This layer was exported already at a different version.\nWhich version would you like to add to your QGIS project?" ) msgBox.addButton(QPushButton('Use exported version'), QMessageBox.YesRole) msgBox.addButton(QPushButton('Use version from this branch'), QMessageBox.NoRole) msgBox.addButton(QPushButton('Cancel'), QMessageBox.RejectRole) QApplication.restoreOverrideCursor() ret = msgBox.exec_() if ret == 0: checkoutLayer(self.repo, self.layer, None, self.currentCommitId) elif ret == 1: try: layer = checkoutLayer(self.repo, self.layer, None, branchCommitId) repoWatcher.layerUpdated.emit(layer) except HasLocalChangesError: QMessageBox.warning( config.iface.mainWindow(), 'Cannot change version', "There are local changes that would be overwritten.\n" "Revert them before changing version.", QMessageBox.Ok) else: checkoutLayer(self.repo, self.layer, None, branchCommitId)
def yes_no_q(self, msg, title=''): d = QMessageBox() d.setWindowTitle(title) d.addButton(QMessageBox.Yes) d.addButton(QMessageBox.No) d.setDefaultButton(QMessageBox.No) d.setText(msg) ret = d.exec_() if ret == QMessageBox.Yes: return True else: return False
def genGif(self): msg = QMessageBox() try: reg = _winreg.ConnectRegistry(None, _winreg.HKEY_LOCAL_MACHINE) k = _winreg.OpenKey(reg, r'SOFTWARE\ImageMagick\Current') pathName = os.path.join( _winreg.QueryValueEx(k, 'BinPath')[0], 'magick.exe') except (WindowsError): msg.setIcon(QMessageBox.Critical) msg = message['msg01'] msg.setWindowTitle(message['msg02']) msg.setText(message) msg.setStandardButtons(QMessageBox.Ok) msg.exec_() return None lapse = int(self.dlg.timeLapseEdit.text()) cmd = [ 'cmd', '/c', toUnicode(pathName).encode('big5'), 'convert', '-loop', '0', '-delay', str(lapse) + 'x1' ] for path in self.renderedLayerList: cmd.append(path) outName = self.dlg.outputNameEdit.text() + '.gif' cmd.append( toUnicode(os.path.join(self.workingFolder, outName)).encode('big5')) subprocess.call(cmd, shell=True) msg.setIcon(QMessageBox.Information) msg.setText(message['msg03']) msg.setWindowTitle(message['msg04']) msg.setStandardButtons(QMessageBox.Ok) msg.exec_()
def add(self): if self.status == self.NOT_IN_SYNC: msgBox = QMessageBox() msgBox.setWindowTitle("Layer was already exported") msgBox.setText("This layer was exported already at a different commit.\n" "Which one would you like to add to your QGIS project?") msgBox.addButton(QPushButton('Use previously exported commit'), QMessageBox.YesRole) msgBox.addButton(QPushButton('Use latest commit from this branch'), QMessageBox.NoRole) msgBox.addButton(QPushButton('Cancel'), QMessageBox.RejectRole) QApplication.restoreOverrideCursor() ret = msgBox.exec_() if ret == 0: checkoutLayer(self.repo, self.layer, None, self.currentCommitId) elif ret == 1: try: layer = checkoutLayer(self.repo, self.layer, None, self.branchCommitId) repoWatcher.layerUpdated.emit(layer) except HasLocalChangesError: QMessageBox.warning(config.iface.mainWindow(), 'Cannot export this commit', "The layer has local changes that would be overwritten.\n" "Either sync layer with branch or revert local changes " "before changing commit",QMessageBox.Ok) else: checkoutLayer(self.repo, self.layer, None, self.branchCommitId)