def parse_cla(self): """Parse command line arguments.""" for i in QCoreApplication.argv()[1:]: i = os.path.abspath(i) if os.path.isfile(i): self.fnames.append(i) else: print("ffmulticonverter: {0}: Not a file".format(i))
def __init__(self, parent=None): super(MainWindow, self).__init__(parent) self.home = os.getenv('HOME') self.fnames = list() # list of file names to be converted self.docconv = False # True when a documents conversion is running # parse command line arguments for i in QCoreApplication.argv()[1:]: i = codecs.utf_8_decode(os.path.abspath(i))[0] if os.path.isfile(i): self.fnames.append(i) else: print("ffmulticonverter: {0}: Not a file".format(i)) addButton = QPushButton(self.tr('Add')) delButton = QPushButton(self.tr('Delete')) clearButton = QPushButton(self.tr('Clear')) vlayout1 = pyqttools.add_to_layout(QVBoxLayout(), addButton, delButton, clearButton, None) self.filesList = FilesList() self.filesList.setSelectionMode(QAbstractItemView.ExtendedSelection) hlayout1 = pyqttools.add_to_layout(QHBoxLayout(), self.filesList, vlayout1) output_label = QLabel(self.tr('Output folder:')) self.toLineEdit = QLineEdit() self.toLineEdit.setReadOnly(True) self.toToolButton = QToolButton() self.toToolButton.setText('...') hlayout2 = pyqttools.add_to_layout(QHBoxLayout(), output_label, self.toLineEdit, self.toToolButton) self.audiovideo_tab = AudioVideoTab(self) self.image_tab = ImageTab(self) self.document_tab = DocumentTab(self) self.tabs = [self.audiovideo_tab, self.image_tab, self.document_tab] tab_names = [ self.tr('Audio/Video'), self.tr('Images'), self.tr('Documents') ] self.TabWidget = QTabWidget() for num, tab in enumerate(tab_names): self.TabWidget.addTab(self.tabs[num], tab) self.TabWidget.setCurrentIndex(0) self.origCheckBox = QCheckBox( self.tr('Save each file in the same\nfolder as input file')) self.deleteCheckBox = QCheckBox(self.tr('Delete original')) self.convertPushButton = QPushButton(self.tr('&Convert')) hlayout3 = pyqttools.add_to_layout(QHBoxLayout(), self.origCheckBox, self.deleteCheckBox, None) hlayout4 = pyqttools.add_to_layout(QHBoxLayout(), None, self.convertPushButton) final_layout = pyqttools.add_to_layout(QVBoxLayout(), hlayout1, self.TabWidget, hlayout2, hlayout3, hlayout4) self.statusBar = self.statusBar() self.dependenciesLabel = QLabel() self.statusBar.addPermanentWidget(self.dependenciesLabel, stretch=1) Widget = QWidget() Widget.setLayout(final_layout) self.setCentralWidget(Widget) c_act = pyqttools.create_action openAction = c_act(self, self.tr('Open'), QKeySequence.Open, None, self.tr('Open a file'), self.add_files) convertAction = c_act(self, self.tr('Convert'), 'Ctrl+C', None, self.tr('Convert files'), self.start_conversion) quitAction = c_act(self, self.tr('Quit'), 'Ctrl+Q', None, self.tr('Quit'), self.close) edit_presetsAction = c_act(self, self.tr('Edit Presets'), 'Ctrl+P', None, self.tr('Edit Presets'), self.presets) importAction = c_act(self, self.tr('Import'), None, None, self.tr('Import presets'), self.import_presets) exportAction = c_act(self, self.tr('Export'), None, None, self.tr('Export presets'), self.export_presets) resetAction = c_act(self, self.tr('Reset'), None, None, self.tr('Reset presets'), self.reset_presets) syncAction = c_act(self, self.tr('Synchronize'), None, None, self.tr('Synchronize presets'), self.sync_presets) removeoldAction = c_act(self, self.tr('Remove old'), None, None, self.tr('Remove old presets'), self.removeold_presets) clearallAction = c_act(self, self.tr('Clear All'), None, None, self.tr('Clear form'), self.clear_all) preferencesAction = c_act(self, self.tr('Preferences'), 'Alt+Ctrl+P', None, self.tr('Preferences'), self.preferences) aboutAction = c_act(self, self.tr('About'), 'Ctrl+?', None, self.tr('About'), self.about) fileMenu = self.menuBar().addMenu(self.tr('File')) editMenu = self.menuBar().addMenu(self.tr('Edit')) presetsMenu = self.menuBar().addMenu(self.tr('Presets')) helpMenu = self.menuBar().addMenu(self.tr('Help')) pyqttools.add_actions(fileMenu, [openAction, convertAction, None, quitAction]) pyqttools.add_actions(presetsMenu, [ edit_presetsAction, importAction, exportAction, resetAction, None, syncAction, removeoldAction ]) pyqttools.add_actions(editMenu, [clearallAction, None, preferencesAction]) pyqttools.add_actions(helpMenu, [aboutAction]) self.filesList.dropped.connect(self.url_dropped) addButton.clicked.connect(self.add_files) delButton.clicked.connect(self.delete_files) clearButton.clicked.connect(self.clear_fileslist) self.TabWidget.currentChanged.connect( lambda: self.tabs[0].moreButton.setChecked(False)) self.origCheckBox.clicked.connect(lambda: self.toLineEdit.setEnabled( not self.origCheckBox.isChecked())) self.toToolButton.clicked.connect(self.open_dir) self.convertPushButton.clicked.connect(convertAction.triggered) del_shortcut = QShortcut(self) del_shortcut.setKey(Qt.Key_Delete) del_shortcut.activated.connect(self.delete_files) self.resize(MAIN_WIDTH, MAIN_HEIGHT) self.setWindowTitle('FF Multi Converter') QTimer.singleShot(0, self.check_for_dependencies) QTimer.singleShot(0, self.load_settings) QTimer.singleShot(0, self.audiovideo_tab.set_default_command) QTimer.singleShot(0, self.update_filesList)
def __init__(self, parent=None): super(MainWindow, self).__init__(parent) self.home = os.getenv('HOME') self.fnames = list() # list of file names to be converted self.docconv = False # True when a documents conversion is running # parse command line arguments for i in QCoreApplication.argv()[1:]: i = codecs.utf_8_decode(os.path.abspath(i))[0] if os.path.isfile(i): self.fnames.append(i) else: print("ffmulticonverter: {0}: Not a file".format(i)) addButton = QPushButton(self.tr('Add')) delButton = QPushButton(self.tr('Delete')) clearButton = QPushButton(self.tr('Clear')) vlayout1 = pyqttools.add_to_layout(QVBoxLayout(), addButton, delButton, clearButton, None) self.filesList = FilesList() self.filesList.setSelectionMode(QAbstractItemView.ExtendedSelection) hlayout1 = pyqttools.add_to_layout(QHBoxLayout(), self.filesList, vlayout1) output_label = QLabel(self.tr('Output folder:')) self.toLineEdit = QLineEdit() self.toLineEdit.setReadOnly(True) self.toToolButton = QToolButton() self.toToolButton.setText('...') hlayout2 = pyqttools.add_to_layout(QHBoxLayout(), output_label, self.toLineEdit, self.toToolButton) self.audiovideo_tab = AudioVideoTab(self) self.image_tab = ImageTab(self) self.document_tab = DocumentTab(self) self.tabs = [self.audiovideo_tab, self.image_tab, self.document_tab] tab_names = [self.tr('Audio/Video'), self.tr('Images'), self.tr('Documents')] self.TabWidget = QTabWidget() for num, tab in enumerate(tab_names): self.TabWidget.addTab(self.tabs[num], tab) self.TabWidget.setCurrentIndex(0) self.origCheckBox = QCheckBox( self.tr('Save each file in the same\nfolder as input file')) self.deleteCheckBox = QCheckBox(self.tr('Delete original')) self.convertPushButton = QPushButton(self.tr('&Convert')) hlayout3 = pyqttools.add_to_layout(QHBoxLayout(), self.origCheckBox, self.deleteCheckBox, None) hlayout4 = pyqttools.add_to_layout(QHBoxLayout(), None, self.convertPushButton) final_layout = pyqttools.add_to_layout(QVBoxLayout(), hlayout1, self.TabWidget, hlayout2, hlayout3, hlayout4) self.statusBar = self.statusBar() self.dependenciesLabel = QLabel() self.statusBar.addPermanentWidget(self.dependenciesLabel, stretch=1) Widget = QWidget() Widget.setLayout(final_layout) self.setCentralWidget(Widget) c_act = pyqttools.create_action openAction = c_act(self, self.tr('Open'), QKeySequence.Open, None, self.tr('Open a file'), self.add_files) convertAction = c_act(self, self.tr('Convert'), 'Ctrl+C', None, self.tr('Convert files'), self.start_conversion) quitAction = c_act(self, self.tr('Quit'), 'Ctrl+Q', None, self.tr('Quit'), self.close) edit_presetsAction = c_act(self, self.tr('Edit Presets'), 'Ctrl+P', None, self.tr('Edit Presets'), self.presets) importAction = c_act(self, self.tr('Import'), None, None, self.tr('Import presets'), self.import_presets) exportAction = c_act(self, self.tr('Export'), None, None, self.tr('Export presets'), self.export_presets) resetAction = c_act(self, self.tr('Reset'), None, None, self.tr('Reset presets'), self.reset_presets) syncAction = c_act(self, self.tr('Synchronize'), None, None, self.tr('Synchronize presets'), self.sync_presets) removeoldAction = c_act(self, self.tr('Remove old'), None, None, self.tr('Remove old presets'), self.removeold_presets) clearallAction = c_act(self, self.tr('Clear All'), None, None, self.tr('Clear form'), self.clear_all) preferencesAction = c_act(self, self.tr('Preferences'), 'Alt+Ctrl+P', None, self.tr('Preferences'), self.preferences) aboutAction = c_act(self, self.tr('About'), 'Ctrl+?', None, self.tr('About'), self.about) fileMenu = self.menuBar().addMenu(self.tr('File')) editMenu = self.menuBar().addMenu(self.tr('Edit')) presetsMenu = self.menuBar().addMenu(self.tr('Presets')) helpMenu = self.menuBar().addMenu(self.tr('Help')) pyqttools.add_actions(fileMenu, [openAction, convertAction, None, quitAction]) pyqttools.add_actions(presetsMenu, [edit_presetsAction, importAction, exportAction, resetAction, None, syncAction, removeoldAction]) pyqttools.add_actions(editMenu, [clearallAction, None, preferencesAction]) pyqttools.add_actions(helpMenu, [aboutAction]) self.filesList.dropped.connect(self.url_dropped) addButton.clicked.connect(self.add_files) delButton.clicked.connect(self.delete_files) clearButton.clicked.connect(self.clear_fileslist) self.TabWidget.currentChanged.connect(lambda: self.tabs[0].moreButton.setChecked(False)) self.origCheckBox.clicked.connect(lambda: self.toLineEdit.setEnabled(not self.origCheckBox.isChecked())) self.toToolButton.clicked.connect(self.open_dir) self.convertPushButton.clicked.connect(convertAction.triggered) del_shortcut = QShortcut(self) del_shortcut.setKey(Qt.Key_Delete) del_shortcut.activated.connect(self.delete_files) self.resize(MAIN_WIDTH, MAIN_HEIGHT) self.setWindowTitle('FF Multi Converter') QTimer.singleShot(0, self.check_for_dependencies) QTimer.singleShot(0, self.load_settings) QTimer.singleShot(0, self.audiovideo_tab.set_default_command) QTimer.singleShot(0, self.update_filesList)