def initUI(self): exitAction = QAction(QIcon("exit.svg"), 'Exit', self) exitAction.setShortcut("Ctrl+Q") exitAction.triggered.connect(self.close) self.toolbar = self.addToolBar("Exit") self.toolbar.addAction(exitAction) self.setGeometry(300, 300, 250, 150) self.setWindowTitle("Toolbar") self.show()
def add_menu(self, title, actions): menu = QMenu() menu.setTitle(title) for item in actions: icon, name, key, callback = item action = QAction(QIcon(icon), name, self) if key: action.setShortcut(key) if callback: action.triggered.connect(callback) menu.addAction(action) self.menuBar().addMenu(menu)
def __init__(self): QMainWindow.__init__(self) self.setWindowTitle("Tutorial") # Menu self.menu = self.menuBar() self.file_menu = self.menu.addMenu("File") # Exit QAction exit_action = QAction("Exit", self) exit_action.setShortcut("Ctrl+Q") self.file_menu.addAction(exit_action)
def __init__(self, widget): QMainWindow.__init__(self) self.setWindowTitle("Tutorial") # Menu self.menu = self.menuBar() self.file_menu = self.menu.addMenu("File") # Exit QAction exit_action = QAction("Exit", self) exit_action.setShortcut("Ctrl+Q") exit_action.triggered.connect(self.exit_app) self.file_menu.addAction(exit_action) self.setCentralWidget(widget)
def initUI(self): exitAction = QAction(QIcon("exit.svg"), '&Exit', self) exitAction.setShortcut('Ctrl+Q') exitAction.setStatusTip("Exit application") exitAction.triggered.connect(self.close) self.statusBar() menubar = self.menuBar() fileMenu = menubar.addMenu("&File") fileMenu.addAction(exitAction) self.setGeometry(300, 300, 250, 150) self.setWindowTitle("Menubar") self.show()
def init_ui(self): self.textEdit = QTextEdit() self.setCentralWidget(self.textEdit) self.statusBar() openFile = QAction(QIcon('open.svg'), 'Open', self) openFile.setShortcut("Ctrl+O") openFile.setStatusTip("Open new File") openFile.triggered.connect(self.show_dialog) menubar = self.menuBar() fileMenu = menubar.addMenu('&File') fileMenu.addAction(openFile) self.setGeometry(300, 300, 350, 300) self.setWindowTitle('File dialog')
def initUI(self): textEdit = QTextEdit() self.setCentralWidget(textEdit) exitAction = QAction("Exit", self) exitAction.setShortcut("Ctrl+Q") exitAction.setStatusTip("Exit application") exitAction.triggered.connect(self.close) self.statusBar() menuBar = self.menuBar() fileMenu = menuBar.addMenu("&File") fileMenu.addAction(exitAction) toolbar = self.addToolBar("Exit") toolbar.addAction(exitAction) self.setGeometry(300, 300, 250, 250) self.setWindowTitle("Main Window")
def __init__(self, widget): QMainWindow.__init__(self) self.setWindowTitle("Tutorial") self.widget = widget # Menu self.menu = self.menuBar() self.file_menu = self.menu.addMenu("File") # Load QAction load_action = QAction("Load", self) load_action.setShortcut("Ctrl+L") load_action.triggered.connect(self.load_data) # Save QAction save_action = QAction("Save", self) save_action.setShortcut("Ctrl+S") save_action.triggered.connect(self.save_data) # Exit QAction exit_action = QAction("Exit", self) exit_action.setShortcut("Ctrl+Q") exit_action.triggered.connect(self.exit_app) self.file_menu.addAction(load_action) self.file_menu.addAction(save_action) self.file_menu.addAction(exit_action) self.setCentralWidget(self.widget)
def initUI(self): exitAction = QAction(QIcon('icons/exit.bmp'), 'Exit', self) exitAction.setShortcut('Ctrl+Q') exitAction.setStatusTip('Exit application') exitAction.triggered.connect(self.close) helpAction = QAction(QIcon('icons/help.png'), 'Version', self) helpAction.setShortcut('Ctrl+D') helpAction.setStatusTip('Show application\'s version') helpAction.triggered.connect(self.show_version) qt_version_helpAction = QAction(QIcon('icons/help.png'), "Qt's version", self) qt_version_helpAction.setShortcut('Ctrl+A') qt_version_helpAction.setStatusTip('Show Qt\'s version') qt_version_helpAction.triggered.connect(self.show_qt_version) self.statusBar() menubar = self.menuBar() fileMenu = menubar.addMenu('File') menubar.addMenu('Edit') helpMenu = menubar.addMenu('Help') fileMenu.addAction(exitAction) helpMenu.addAction(helpAction) helpMenu.addSeparator() helpMenu.addAction(qt_version_helpAction) self.setGeometry(300, 300, 300, 200) self.setWindowTitle('Menubar') self.show()
def __init__(self): QMainWindow.__init__(self) self.setWindowTitle("サンプルGUIアプリ") self.resize(QSize(500, 400)) # Menu self.menu = self.menuBar() self.file_menu = self.menu.addMenu("File") # Exit QAction exit_action = QAction("終了", self) exit_action.setShortcut("Ctrl+Q") exit_action.triggered.connect(self.exit_app) self.file_menu.addAction(exit_action) # Status Bar self.status = self.statusBar() self.status.showMessage("Status...") self.__controls() self.__layout()
def init_menu(self): menubar = self.menuBar() menubar.setNativeMenuBar(False) file_menu = menubar.addMenu(t("File")) setting_action = QAction( self.si(QtWidgets.QStyle.SP_FileDialogListView), t("Settings"), self) setting_action.setShortcut("Ctrl+S") setting_action.triggered.connect(self.show_setting) exit_action = QAction(self.si(QtWidgets.QStyle.SP_DialogCancelButton), t("Exit"), self) exit_action.setShortcut(QtGui.QKeySequence("Ctrl+Q")) exit_action.setStatusTip(t("Exit application")) exit_action.triggered.connect(self.close) file_menu.addAction(setting_action) file_menu.addSeparator() file_menu.addAction(exit_action) profile_menu = menubar.addMenu(t("Profiles")) new_profile_action = QAction(t("New Profile"), self) new_profile_action.triggered.connect(self.new_profile) show_profile_action = QAction(t("Current Profile Settings"), self) show_profile_action.triggered.connect(self.show_profile) delete_profile_action = QAction(t("Delete Current Profile"), self) delete_profile_action.triggered.connect(self.delete_profile) profile_menu.addAction(new_profile_action) profile_menu.addAction(show_profile_action) profile_menu.addAction(delete_profile_action) tools_menu = menubar.addMenu(t("Tools")) concat_action = QAction( QtGui.QIcon(get_icon("onyx-queue", self.app.fastflix.config.theme)), t("Concatenation Builder"), self) concat_action.triggered.connect(self.show_concat) tools_menu.addAction(concat_action) wiki_action = QAction(self.si(QtWidgets.QStyle.SP_FileDialogInfoView), t("FastFlix Wiki"), self) wiki_action.triggered.connect(self.show_wiki) about_action = QAction(self.si(QtWidgets.QStyle.SP_FileDialogInfoView), t("About"), self) about_action.triggered.connect(self.show_about) changes_action = QAction( self.si(QtWidgets.QStyle.SP_FileDialogDetailedView), t("View Changes"), self) changes_action.triggered.connect(self.show_changes) log_dir_action = QAction(self.si(QtWidgets.QStyle.SP_DialogOpenButton), t("Open Log Directory"), self) log_dir_action.triggered.connect(self.show_log_dir) log_action = QAction( self.si(QtWidgets.QStyle.SP_FileDialogDetailedView), t("View GUI Debug Logs"), self) log_action.triggered.connect(self.show_logs) report_action = QAction(self.si(QtWidgets.QStyle.SP_DialogHelpButton), t("Report Issue"), self) report_action.triggered.connect(self.open_issues) version_action = QAction(self.si(QtWidgets.QStyle.SP_BrowserReload), t("Check for Newer Version of FastFlix"), self) version_action.triggered.connect( lambda: latest_fastflix(no_new_dialog=True)) ffmpeg_update_action = QAction(self.si(QtWidgets.QStyle.SP_ArrowDown), t("Download Newest FFmpeg"), self) ffmpeg_update_action.triggered.connect(self.download_ffmpeg) clean_logs_action = QAction( self.si(QtWidgets.QStyle.SP_DialogResetButton), t("Clean Old Logs"), self) clean_logs_action.triggered.connect(self.clean_old_logs) help_menu = menubar.addMenu(t("Help")) help_menu.addAction(wiki_action) help_menu.addSeparator() help_menu.addAction(changes_action) help_menu.addAction(report_action) help_menu.addAction(log_dir_action) help_menu.addAction(log_action) help_menu.addAction(clean_logs_action) help_menu.addSeparator() help_menu.addAction(version_action) if reusables.win_based: help_menu.addAction(ffmpeg_update_action) help_menu.addSeparator() help_menu.addAction(about_action)
class Principal(QMainWindow): def __init__(self): QMainWindow.__init__(self) self.inicializar_db() self.setWindowTitle("Tião Automecânica - Clientes") self.widget = QWidget() # Janelas w1, w2 = Buscador(), NovoCliente() w1.status_signal.connect(self.atualizar_status) w2.status_signal.connect(self.atualizar_status) # Leiaute self.line = QFrame() self.line.setFrameShape(QFrame.VLine) self.line.setFrameShadow(QFrame.Sunken) self.line.setLineWidth(0) self.line.setMidLineWidth(1) self.layout = QGridLayout() self.layout.addWidget(w1, 0, 0, 1, 1) self.layout.addWidget(self.line, 0, 1, 1, 1) self.layout.addWidget(w2, 0, 1, 1, 2) self.widget.setLayout(self.layout) self.setCentralWidget(self.widget) # Menu self.menu = QMenuBar() self.setMenuBar(self.menu) self.sobre = QAction("Sobre", self) self.sobre.setShortcut("F1") self.menu.addAction(self.sobre) self.sobre.triggered.connect(self.info) # Status self.status = QStatusBar() self.setStatusBar(self.status) self.status_label = QLabel("Pronto") self.status.addWidget(self.status_label) @Slot() def info(self): self.popup = QMessageBox(QMessageBox.Information, "Sobre", "Informações") self.popup.setInformativeText("""Clientes \nVersão 0.5 \nFeito com S2 por Zero \nMIT License""") self.popup.addButton(QMessageBox.Ok) self.popup.exec() @Slot() def atualizar_status(self, msg: str): self.status_label.setText(msg) @staticmethod def inicializar_db(): try: init_db() except NameError: popup = QMessageBox(QMessageBox.Critical, "Erro", "Erro") popup.setInformativeText( "Arquivo de configuração não foi encontrado") popup.addButton(QMessageBox.Ok) popup.exec() exit(1)
def __init__(self, adapter_argument_map, hook_function_argument_map, media_linker, media_linker_argument_map, *args, **kwargs): super(Main, self).__init__(*args, **kwargs) self.adapter_argument_map = adapter_argument_map or {} self.media_linker = media_linker self.media_linker_argument_map = media_linker_argument_map self.hook_function_argument_map = hook_function_argument_map self._current_file = None # window options self.setWindowTitle('OpenTimelineIO Viewer') self.resize(1900, 1200) # widgets self.tracks_widget = QtWidgets.QListWidget(parent=self) self.timeline_widget = otioViewWidget.timeline_widget.Timeline( parent=self) self.details_widget = otioViewWidget.details_widget.Details( parent=self) root = QtWidgets.QWidget(parent=self) layout = QtWidgets.QVBoxLayout(root) splitter = QtWidgets.QSplitter(parent=root) splitter.addWidget(self.tracks_widget) splitter.addWidget(self.timeline_widget) splitter.addWidget(self.details_widget) splitter.setSizes([100, 700, 300]) layout.addWidget(splitter) self.setCentralWidget(root) # menu menubar = self.menuBar() file_load = QAction('Open...', menubar) file_load.setShortcut(QtGui.QKeySequence.Open) file_load.triggered.connect(self._file_load) exit_action = QAction('Exit', menubar) exit_action.setShortcut(QtGui.QKeySequence.Quit) exit_action.triggered.connect(self.close) file_menu = menubar.addMenu('File') file_menu.addAction(file_load) file_menu.addSeparator() file_menu.addAction(exit_action) # navigation menu navigation_menu = QtWidgets.QMenu() navigation_menu.setTitle("Navigation") menubar.addMenu(navigation_menu) self._create_navigation_menu(navigation_menu) # signals self.tracks_widget.itemSelectionChanged.connect(self._change_track) self.timeline_widget.selection_changed.connect( self.details_widget.set_item) self.setStyleSheet(settings.VIEW_STYLESHEET)
def new_action(self, name: str, tip: str = "", shortcut: str = 'Ctrl+Q'): action = QAction(name, self) action.setShortcut(shortcut) action.setStatusTip(tip) action.triggered.connect(self.show_message_box) return action
class Ui_IscApp(object): def setupUi(self, IscApp): if not IscApp.objectName(): IscApp.setObjectName(u"IscApp") IscApp.resize(1440, 923) IscApp.setCursor(QCursor(Qt.ArrowCursor)) IscApp.setMouseTracking(True) self.actionUndo = QAction(IscApp) self.actionUndo.setObjectName(u"actionUndo") self.actionRedo = QAction(IscApp) self.actionRedo.setObjectName(u"actionRedo") self.actionView_statusbar = QAction(IscApp) self.actionView_statusbar.setObjectName(u"actionView_statusbar") self.actionView_statusbar.setCheckable(True) self.actionView_statusbar.setChecked(True) self.actionView_step_preview = QAction(IscApp) self.actionView_step_preview.setObjectName(u"actionView_step_preview") self.actionView_step_preview.setCheckable(True) self.actionView_step_preview.setChecked(True) self.actionInsert = QAction(IscApp) self.actionInsert.setObjectName(u"actionInsert") self.actionShell_Image = QAction(IscApp) self.actionShell_Image.setObjectName(u"actionShell_Image") self.actionSection_steps = QAction(IscApp) self.actionSection_steps.setObjectName(u"actionSection_steps") self.actionAttach_audio = QAction(IscApp) self.actionAttach_audio.setObjectName(u"actionAttach_audio") self.actionBulk_crop = QAction(IscApp) self.actionBulk_crop.setObjectName(u"actionBulk_crop") self.actionView_demo_in_folder = QAction(IscApp) self.actionView_demo_in_folder.setObjectName(u"actionView_demo_in_folder") self.actionLoad_tool_state = QAction(IscApp) self.actionLoad_tool_state.setObjectName(u"actionLoad_tool_state") self.actionSave_tool_state = QAction(IscApp) self.actionSave_tool_state.setObjectName(u"actionSave_tool_state") self.actionOpen_DemoMate = QAction(IscApp) self.actionOpen_DemoMate.setObjectName(u"actionOpen_DemoMate") self.actionOpen_Cloudguides_Packaging = QAction(IscApp) self.actionOpen_Cloudguides_Packaging.setObjectName(u"actionOpen_Cloudguides_Packaging") self.actionAbout = QAction(IscApp) self.actionAbout.setObjectName(u"actionAbout") self.actionHelp_2 = QAction(IscApp) self.actionHelp_2.setObjectName(u"actionHelp_2") self.actionImage_Insert = QAction(IscApp) self.actionImage_Insert.setObjectName(u"actionImage_Insert") self.actionImage_Shelling = QAction(IscApp) self.actionImage_Shelling.setObjectName(u"actionImage_Shelling") self.actionHelp_3 = QAction(IscApp) self.actionHelp_3.setObjectName(u"actionHelp_3") self.actionBulk_insert_image = QAction(IscApp) self.actionBulk_insert_image.setObjectName(u"actionBulk_insert_image") self.actionBulk_shell_steps = QAction(IscApp) self.actionBulk_shell_steps.setObjectName(u"actionBulk_shell_steps") self.actionBulk_crop_step_assets = QAction(IscApp) self.actionBulk_crop_step_assets.setObjectName(u"actionBulk_crop_step_assets") self.actionAttach_audio_to_demo = QAction(IscApp) self.actionAttach_audio_to_demo.setObjectName(u"actionAttach_audio_to_demo") self.actionClose = QAction(IscApp) self.actionClose.setObjectName(u"actionClose") self.actionClose_2 = QAction(IscApp) self.actionClose_2.setObjectName(u"actionClose_2") self.actionFrom_demo_file = QAction(IscApp) self.actionFrom_demo_file.setObjectName(u"actionFrom_demo_file") self.actionFrom_exe_installer = QAction(IscApp) self.actionFrom_exe_installer.setObjectName(u"actionFrom_exe_installer") self.actionFrom_docx_file = QAction(IscApp) self.actionFrom_docx_file.setObjectName(u"actionFrom_docx_file") self.actionFrom_scripts_folder = QAction(IscApp) self.actionFrom_scripts_folder.setObjectName(u"actionFrom_scripts_folder") self.actionOverwrite = QAction(IscApp) self.actionOverwrite.setObjectName(u"actionOverwrite") self.actionMerge_demos = QAction(IscApp) self.actionMerge_demos.setObjectName(u"actionMerge_demos") self.actionLoad_audio_directory = QAction(IscApp) self.actionLoad_audio_directory.setObjectName(u"actionLoad_audio_directory") self.actionLoad_soundbite = QAction(IscApp) self.actionLoad_soundbite.setObjectName(u"actionLoad_soundbite") self.actionEdit_audio = QAction(IscApp) self.actionEdit_audio.setObjectName(u"actionEdit_audio") self.actionAttach_audio_to_demo_2 = QAction(IscApp) self.actionAttach_audio_to_demo_2.setObjectName(u"actionAttach_audio_to_demo_2") self.actionBulk_edit_demo_audio = QAction(IscApp) self.actionBulk_edit_demo_audio.setObjectName(u"actionBulk_edit_demo_audio") self.actionEdit_step_audio = QAction(IscApp) self.actionEdit_step_audio.setObjectName(u"actionEdit_step_audio") self.actionBulk_paste_image = QAction(IscApp) self.actionBulk_paste_image.setObjectName(u"actionBulk_paste_image") self.actionBulk_image_paste_wizard = QAction(IscApp) self.actionBulk_image_paste_wizard.setObjectName(u"actionBulk_image_paste_wizard") self.actionBulk_shell_demo_assets = QAction(IscApp) self.actionBulk_shell_demo_assets.setObjectName(u"actionBulk_shell_demo_assets") self.actionSection_demo = QAction(IscApp) self.actionSection_demo.setObjectName(u"actionSection_demo") self.actionBulk_resize_demo_assets = QAction(IscApp) self.actionBulk_resize_demo_assets.setObjectName(u"actionBulk_resize_demo_assets") self.actionBulk_crop_demo_assets = QAction(IscApp) self.actionBulk_crop_demo_assets.setObjectName(u"actionBulk_crop_demo_assets") self.actionPacing_wizard = QAction(IscApp) self.actionPacing_wizard.setObjectName(u"actionPacing_wizard") self.actionCompose_demos = QAction(IscApp) self.actionCompose_demos.setObjectName(u"actionCompose_demos") self.actionBulk_edit_demo_metadata = QAction(IscApp) self.actionBulk_edit_demo_metadata.setObjectName(u"actionBulk_edit_demo_metadata") self.actionLoad_script = QAction(IscApp) self.actionLoad_script.setObjectName(u"actionLoad_script") self.actionConvert_script = QAction(IscApp) self.actionConvert_script.setObjectName(u"actionConvert_script") self.actionSpelling_errors = QAction(IscApp) self.actionSpelling_errors.setObjectName(u"actionSpelling_errors") self.actionGrammar_errors = QAction(IscApp) self.actionGrammar_errors.setObjectName(u"actionGrammar_errors") self.actionProduction_notes = QAction(IscApp) self.actionProduction_notes.setObjectName(u"actionProduction_notes") self.actionTalking_points = QAction(IscApp) self.actionTalking_points.setObjectName(u"actionTalking_points") self.actionClick_instructions = QAction(IscApp) self.actionClick_instructions.setObjectName(u"actionClick_instructions") self.actionPackage_demo = QAction(IscApp) self.actionPackage_demo.setObjectName(u"actionPackage_demo") self.actionSingle_image = QAction(IscApp) self.actionSingle_image.setObjectName(u"actionSingle_image") self.actionMultiple_images = QAction(IscApp) self.actionMultiple_images.setObjectName(u"actionMultiple_images") self.actionImage_insert_wizar = QAction(IscApp) self.actionImage_insert_wizar.setObjectName(u"actionImage_insert_wizar") self.actionAdd_background_image = QAction(IscApp) self.actionAdd_background_image.setObjectName(u"actionAdd_background_image") self.actionAdd_background_and_wrapper = QAction(IscApp) self.actionAdd_background_and_wrapper.setObjectName(u"actionAdd_background_and_wrapper") self.actionShell_wizard = QAction(IscApp) self.actionShell_wizard.setObjectName(u"actionShell_wizard") self.actionCrop = QAction(IscApp) self.actionCrop.setObjectName(u"actionCrop") self.actionResize = QAction(IscApp) self.actionResize.setObjectName(u"actionResize") self.actionLoad_operation = QAction(IscApp) self.actionLoad_operation.setObjectName(u"actionLoad_operation") self.actionSave_operation = QAction(IscApp) self.actionSave_operation.setObjectName(u"actionSave_operation") self.actionClose_3 = QAction(IscApp) self.actionClose_3.setObjectName(u"actionClose_3") self.actionZoom_in = QAction(IscApp) self.actionZoom_in.setObjectName(u"actionZoom_in") self.actionAdd_scroll_section = QAction(IscApp) self.actionAdd_scroll_section.setObjectName(u"actionAdd_scroll_section") self.actionOpen_assets_folder = QAction(IscApp) self.actionOpen_assets_folder.setObjectName(u"actionOpen_assets_folder") self.actionUpload_to_CloudGuides = QAction(IscApp) self.actionUpload_to_CloudGuides.setObjectName(u"actionUpload_to_CloudGuides") self.actionSections = QAction(IscApp) self.actionSections.setObjectName(u"actionSections") self.actionsteps = QAction(IscApp) self.actionsteps.setObjectName(u"actionsteps") self.actionSection = QAction(IscApp) self.actionSection.setObjectName(u"actionSection") self.actionSteps_in_section = QAction(IscApp) self.actionSteps_in_section.setObjectName(u"actionSteps_in_section") self.actionFirst_step_in_section = QAction(IscApp) self.actionFirst_step_in_section.setObjectName(u"actionFirst_step_in_section") self.actionSet_section_as_animated = QAction(IscApp) self.actionSet_section_as_animated.setObjectName(u"actionSet_section_as_animated") self.actionSet_section_as_guided = QAction(IscApp) self.actionSet_section_as_guided.setObjectName(u"actionSet_section_as_guided") self.actionDelete = QAction(IscApp) self.actionDelete.setObjectName(u"actionDelete") self.actionDuplicate = QAction(IscApp) self.actionDuplicate.setObjectName(u"actionDuplicate") self.actionDuplicate_as_pacing = QAction(IscApp) self.actionDuplicate_as_pacing.setObjectName(u"actionDuplicate_as_pacing") self.actionMove = QAction(IscApp) self.actionMove.setObjectName(u"actionMove") self.actionMove_2 = QAction(IscApp) self.actionMove_2.setObjectName(u"actionMove_2") self.actionSet_as_animated = QAction(IscApp) self.actionSet_as_animated.setObjectName(u"actionSet_as_animated") self.actionSet_as_guided = QAction(IscApp) self.actionSet_as_guided.setObjectName(u"actionSet_as_guided") self.actionSet_as_scroll = QAction(IscApp) self.actionSet_as_scroll.setObjectName(u"actionSet_as_scroll") self.actionDecrement_step_delay = QAction(IscApp) self.actionDecrement_step_delay.setObjectName(u"actionDecrement_step_delay") self.actionIncrement_step_delay = QAction(IscApp) self.actionIncrement_step_delay.setObjectName(u"actionIncrement_step_delay") self.actionAdd_audio_2 = QAction(IscApp) self.actionAdd_audio_2.setObjectName(u"actionAdd_audio_2") self.actionDelete_audio = QAction(IscApp) self.actionDelete_audio.setObjectName(u"actionDelete_audio") self.actionEdit_audio_2 = QAction(IscApp) self.actionEdit_audio_2.setObjectName(u"actionEdit_audio_2") self.actionReplace_audio = QAction(IscApp) self.actionReplace_audio.setObjectName(u"actionReplace_audio") self.actionView_metadata = QAction(IscApp) self.actionView_metadata.setObjectName(u"actionView_metadata") self.actionAdd_audio_3 = QAction(IscApp) self.actionAdd_audio_3.setObjectName(u"actionAdd_audio_3") self.actionDelete_audio_2 = QAction(IscApp) self.actionDelete_audio_2.setObjectName(u"actionDelete_audio_2") self.actionReplace_audio_2 = QAction(IscApp) self.actionReplace_audio_2.setObjectName(u"actionReplace_audio_2") self.actionEdit_audio_3 = QAction(IscApp) self.actionEdit_audio_3.setObjectName(u"actionEdit_audio_3") self.actionIncrement_step_delay_2 = QAction(IscApp) self.actionIncrement_step_delay_2.setObjectName(u"actionIncrement_step_delay_2") self.actionDecrement_step_delay_2 = QAction(IscApp) self.actionDecrement_step_delay_2.setObjectName(u"actionDecrement_step_delay_2") self.actionPreview = QAction(IscApp) self.actionPreview.setObjectName(u"actionPreview") self.actionView_in_folder = QAction(IscApp) self.actionView_in_folder.setObjectName(u"actionView_in_folder") self.actionEdit = QAction(IscApp) self.actionEdit.setObjectName(u"actionEdit") self.actionReplace_image = QAction(IscApp) self.actionReplace_image.setObjectName(u"actionReplace_image") self.actionView_metadata_2 = QAction(IscApp) self.actionView_metadata_2.setObjectName(u"actionView_metadata_2") self.actionLoad_SoundBite = QAction(IscApp) self.actionLoad_SoundBite.setObjectName(u"actionLoad_SoundBite") self.actionFrom_recording = QAction(IscApp) self.actionFrom_recording.setObjectName(u"actionFrom_recording") self.actionAs_new_version = QAction(IscApp) self.actionAs_new_version.setObjectName(u"actionAs_new_version") self.actionAs_new_round = QAction(IscApp) self.actionAs_new_round.setObjectName(u"actionAs_new_round") self.actionExport_to_installer = QAction(IscApp) self.actionExport_to_installer.setObjectName(u"actionExport_to_installer") self.actionExport_to_Cloudguide = QAction(IscApp) self.actionExport_to_Cloudguide.setObjectName(u"actionExport_to_Cloudguide") self.actionTo_installer = QAction(IscApp) self.actionTo_installer.setObjectName(u"actionTo_installer") self.actionTo_Cloudguide = QAction(IscApp) self.actionTo_Cloudguide.setObjectName(u"actionTo_Cloudguide") self.actionOverwrite_2 = QAction(IscApp) self.actionOverwrite_2.setObjectName(u"actionOverwrite_2") self.actionAs_new_version_2 = QAction(IscApp) self.actionAs_new_version_2.setObjectName(u"actionAs_new_version_2") self.actionAs_new_round_2 = QAction(IscApp) self.actionAs_new_round_2.setObjectName(u"actionAs_new_round_2") self.actionAs_txt = QAction(IscApp) self.actionAs_txt.setObjectName(u"actionAs_txt") self.actionTo_new_directory = QAction(IscApp) self.actionTo_new_directory.setObjectName(u"actionTo_new_directory") self.actionOverwrite_3 = QAction(IscApp) self.actionOverwrite_3.setObjectName(u"actionOverwrite_3") self.actionClose_window = QAction(IscApp) self.actionClose_window.setObjectName(u"actionClose_window") self.actionReset_demo = QAction(IscApp) self.actionReset_demo.setObjectName(u"actionReset_demo") self.actionNew = QAction(IscApp) self.actionNew.setObjectName(u"actionNew") self.actionNew_operation = QAction(IscApp) self.actionNew_operation.setObjectName(u"actionNew_operation") self.actionAdd_step = QAction(IscApp) self.actionAdd_step.setObjectName(u"actionAdd_step") self.actionPreferences = QAction(IscApp) self.actionPreferences.setObjectName(u"actionPreferences") self.actionAdd_text_box = QAction(IscApp) self.actionAdd_text_box.setObjectName(u"actionAdd_text_box") self.actionAdd_highlight = QAction(IscApp) self.actionAdd_highlight.setObjectName(u"actionAdd_highlight") self.actionAdd_jump_box = QAction(IscApp) self.actionAdd_jump_box.setObjectName(u"actionAdd_jump_box") self.actionSet_animated = QAction(IscApp) self.actionSet_animated.setObjectName(u"actionSet_animated") self.actionSet_guided = QAction(IscApp) self.actionSet_guided.setObjectName(u"actionSet_guided") self.actionEdit_XML = QAction(IscApp) self.actionEdit_XML.setObjectName(u"actionEdit_XML") self.actionFrom_capture = QAction(IscApp) self.actionFrom_capture.setObjectName(u"actionFrom_capture") self.actionCapture_image_edt_macro = QAction(IscApp) self.actionCapture_image_edt_macro.setObjectName(u"actionCapture_image_edt_macro") self.actionNew_tab = QAction(IscApp) self.actionNew_tab.setObjectName(u"actionNew_tab") self.actionNew_2 = QAction(IscApp) self.actionNew_2.setObjectName(u"actionNew_2") self.actionTo_new_version = QAction(IscApp) self.actionTo_new_version.setObjectName(u"actionTo_new_version") self.actionTo_new_round = QAction(IscApp) self.actionTo_new_round.setObjectName(u"actionTo_new_round") self.actionSteps = QAction(IscApp) self.actionSteps.setObjectName(u"actionSteps") self.actionOverwrite_existing = QAction(IscApp) self.actionOverwrite_existing.setObjectName(u"actionOverwrite_existing") self.actionSave = QAction(IscApp) self.actionSave.setObjectName(u"actionSave") self.actionDemo = QAction(IscApp) self.actionDemo.setObjectName(u"actionDemo") self.actionAudio = QAction(IscApp) self.actionAudio.setObjectName(u"actionAudio") self.actionScript = QAction(IscApp) self.actionScript.setObjectName(u"actionScript") self.actionView_menubar = QAction(IscApp) self.actionView_menubar.setObjectName(u"actionView_menubar") self.actionView_menubar.setCheckable(True) self.actionView_in_file_explorer = QAction(IscApp) self.actionView_in_file_explorer.setObjectName(u"actionView_in_file_explorer") self.actionView_menubar_2 = QAction(IscApp) self.actionView_menubar_2.setObjectName(u"actionView_menubar_2") self.actionView_menubar_2.setCheckable(True) self.actionZoom_out = QAction(IscApp) self.actionZoom_out.setObjectName(u"actionZoom_out") self.actionReset_zoom = QAction(IscApp) self.actionReset_zoom.setObjectName(u"actionReset_zoom") self.actionNewStep = QAction(IscApp) self.actionNewStep.setObjectName(u"actionNewStep") self.actionOpenDemo = QAction(IscApp) self.actionOpenDemo.setObjectName(u"actionOpenDemo") self.menubar = QMenuBar(IscApp) self.menubar.setObjectName(u"menubar") self.menubar.setGeometry(QRect(0, 0, 1440, 22)) self.menubar.setDefaultUp(False) self.menuFile = QMenu(self.menubar) self.menuFile.setObjectName(u"menuFile") self.menuExport_2 = QMenu(self.menuFile) self.menuExport_2.setObjectName(u"menuExport_2") self.menuNew = QMenu(self.menuFile) self.menuNew.setObjectName(u"menuNew") self.menuOpen = QMenu(self.menuFile) self.menuOpen.setObjectName(u"menuOpen") self.menuEdit = QMenu(self.menubar) self.menuEdit.setObjectName(u"menuEdit") self.menuSelect_all = QMenu(self.menuEdit) self.menuSelect_all.setObjectName(u"menuSelect_all") self.menuSelect_associated = QMenu(self.menuEdit) self.menuSelect_associated.setObjectName(u"menuSelect_associated") self.menuView = QMenu(self.menubar) self.menuView.setObjectName(u"menuView") self.menuView.setTearOffEnabled(False) self.menuView.setToolTipsVisible(True) self.menuZoom = QMenu(self.menuView) self.menuZoom.setObjectName(u"menuZoom") self.menuTools = QMenu(self.menubar) self.menuTools.setObjectName(u"menuTools") self.menuAudio = QMenu(self.menuTools) self.menuAudio.setObjectName(u"menuAudio") self.menuImage = QMenu(self.menuTools) self.menuImage.setObjectName(u"menuImage") self.menuInsert = QMenu(self.menuImage) self.menuInsert.setObjectName(u"menuInsert") self.menuShell = QMenu(self.menuImage) self.menuShell.setObjectName(u"menuShell") self.menuDemo = QMenu(self.menuTools) self.menuDemo.setObjectName(u"menuDemo") self.menuScript = QMenu(self.menuTools) self.menuScript.setObjectName(u"menuScript") self.menuCheck_script_for = QMenu(self.menuScript) self.menuCheck_script_for.setObjectName(u"menuCheck_script_for") self.menuClear = QMenu(self.menuScript) self.menuClear.setObjectName(u"menuClear") self.menuWeb = QMenu(self.menuTools) self.menuWeb.setObjectName(u"menuWeb") self.menuSection = QMenu(self.menuTools) self.menuSection.setObjectName(u"menuSection") self.menuPacing = QMenu(self.menuSection) self.menuPacing.setObjectName(u"menuPacing") self.menuAudio_2 = QMenu(self.menuSection) self.menuAudio_2.setObjectName(u"menuAudio_2") self.menuStep = QMenu(self.menuTools) self.menuStep.setObjectName(u"menuStep") self.menuAudio_3 = QMenu(self.menuStep) self.menuAudio_3.setObjectName(u"menuAudio_3") self.menuPacing_2 = QMenu(self.menuStep) self.menuPacing_2.setObjectName(u"menuPacing_2") self.menuImage_2 = QMenu(self.menuStep) self.menuImage_2.setObjectName(u"menuImage_2") self.menuWindow = QMenu(self.menubar) self.menuWindow.setObjectName(u"menuWindow") self.menuHelp = QMenu(self.menubar) self.menuHelp.setObjectName(u"menuHelp") self.menuHow_do_I = QMenu(self.menuHelp) self.menuHow_do_I.setObjectName(u"menuHow_do_I") IscApp.setMenuBar(self.menubar) self.statusbar = QStatusBar(IscApp) self.statusbar.setObjectName(u"statusbar") self.statusbar.setMinimumSize(QSize(0, 30)) self.statusbar.setSizeGripEnabled(False) IscApp.setStatusBar(self.statusbar) self.menubar.addAction(self.menuFile.menuAction()) self.menubar.addAction(self.menuEdit.menuAction()) self.menubar.addAction(self.menuView.menuAction()) self.menubar.addAction(self.menuTools.menuAction()) self.menubar.addAction(self.menuWindow.menuAction()) self.menubar.addAction(self.menuHelp.menuAction()) self.menuFile.addSeparator() self.menuFile.addSeparator() self.menuFile.addAction(self.menuNew.menuAction()) self.menuFile.addAction(self.menuOpen.menuAction()) self.menuFile.addAction(self.actionSave) self.menuFile.addAction(self.menuExport_2.menuAction()) self.menuExport_2.addAction(self.actionDemo) self.menuExport_2.addAction(self.actionAudio) self.menuExport_2.addAction(self.actionScript) self.menuNew.addAction(self.actionNewStep) self.menuOpen.addAction(self.actionOpenDemo) self.menuEdit.addAction(self.actionUndo) self.menuEdit.addAction(self.actionRedo) self.menuEdit.addSeparator() self.menuEdit.addAction(self.menuSelect_all.menuAction()) self.menuEdit.addSeparator() self.menuEdit.addAction(self.menuSelect_associated.menuAction()) self.menuSelect_all.addAction(self.actionSections) self.menuSelect_all.addAction(self.actionsteps) self.menuSelect_associated.addAction(self.actionSection) self.menuSelect_associated.addAction(self.actionSteps_in_section) self.menuSelect_associated.addAction(self.actionFirst_step_in_section) self.menuView.addAction(self.actionView_statusbar) self.menuView.addAction(self.actionView_step_preview) self.menuView.addAction(self.actionView_demo_in_folder) self.menuView.addSeparator() self.menuView.addAction(self.menuZoom.menuAction()) self.menuView.addAction(self.actionView_menubar) self.menuView.addAction(self.actionView_in_file_explorer) self.menuView.addSeparator() self.menuView.addAction(self.actionView_menubar_2) self.menuZoom.addAction(self.actionZoom_in) self.menuZoom.addAction(self.actionZoom_out) self.menuZoom.addAction(self.actionReset_zoom) self.menuTools.addAction(self.menuAudio.menuAction()) self.menuTools.addAction(self.menuImage.menuAction()) self.menuTools.addAction(self.menuDemo.menuAction()) self.menuTools.addAction(self.menuScript.menuAction()) self.menuTools.addAction(self.menuWeb.menuAction()) self.menuTools.addSeparator() self.menuTools.addAction(self.menuSection.menuAction()) self.menuTools.addAction(self.menuStep.menuAction()) self.menuTools.addSeparator() self.menuTools.addAction(self.actionPreferences) self.menuAudio.addAction(self.actionAttach_audio_to_demo_2) self.menuAudio.addAction(self.actionBulk_edit_demo_audio) self.menuAudio.addAction(self.actionEdit_step_audio) self.menuImage.addAction(self.actionBulk_paste_image) self.menuImage.addAction(self.actionBulk_image_paste_wizard) self.menuImage.addAction(self.actionBulk_shell_demo_assets) self.menuImage.addAction(self.menuInsert.menuAction()) self.menuImage.addAction(self.menuShell.menuAction()) self.menuImage.addAction(self.actionCrop) self.menuImage.addAction(self.actionResize) self.menuImage.addAction(self.actionCapture_image_edt_macro) self.menuInsert.addAction(self.actionSingle_image) self.menuInsert.addAction(self.actionMultiple_images) self.menuInsert.addAction(self.actionImage_insert_wizar) self.menuShell.addAction(self.actionAdd_background_image) self.menuShell.addAction(self.actionAdd_background_and_wrapper) self.menuShell.addAction(self.actionShell_wizard) self.menuDemo.addAction(self.actionSection_demo) self.menuDemo.addAction(self.actionPacing_wizard) self.menuDemo.addAction(self.actionCompose_demos) self.menuDemo.addAction(self.actionBulk_edit_demo_metadata) self.menuDemo.addAction(self.actionPackage_demo) self.menuDemo.addAction(self.actionAdd_scroll_section) self.menuDemo.addAction(self.actionAdd_step) self.menuDemo.addAction(self.actionEdit_XML) self.menuScript.addAction(self.actionLoad_script) self.menuScript.addAction(self.actionConvert_script) self.menuScript.addAction(self.menuCheck_script_for.menuAction()) self.menuScript.addAction(self.menuClear.menuAction()) self.menuCheck_script_for.addAction(self.actionSpelling_errors) self.menuCheck_script_for.addAction(self.actionGrammar_errors) self.menuCheck_script_for.addAction(self.actionProduction_notes) self.menuClear.addAction(self.actionTalking_points) self.menuClear.addAction(self.actionClick_instructions) self.menuWeb.addAction(self.actionUpload_to_CloudGuides) self.menuSection.addAction(self.actionSet_section_as_animated) self.menuSection.addAction(self.actionSet_section_as_guided) self.menuSection.addAction(self.actionMove_2) self.menuSection.addSeparator() self.menuSection.addAction(self.actionSet_as_animated) self.menuSection.addAction(self.actionSet_as_guided) self.menuSection.addAction(self.actionSet_as_scroll) self.menuSection.addSeparator() self.menuSection.addAction(self.menuAudio_2.menuAction()) self.menuSection.addAction(self.menuPacing.menuAction()) self.menuSection.addSeparator() self.menuSection.addAction(self.actionView_metadata) self.menuPacing.addAction(self.actionDecrement_step_delay) self.menuPacing.addAction(self.actionIncrement_step_delay) self.menuAudio_2.addAction(self.actionAdd_audio_2) self.menuAudio_2.addAction(self.actionDelete_audio) self.menuAudio_2.addAction(self.actionEdit_audio_2) self.menuAudio_2.addAction(self.actionReplace_audio) self.menuStep.addAction(self.actionDelete) self.menuStep.addAction(self.actionDuplicate) self.menuStep.addAction(self.actionDuplicate_as_pacing) self.menuStep.addAction(self.actionMove) self.menuStep.addSeparator() self.menuStep.addAction(self.menuAudio_3.menuAction()) self.menuStep.addAction(self.menuPacing_2.menuAction()) self.menuStep.addAction(self.menuImage_2.menuAction()) self.menuStep.addSeparator() self.menuStep.addAction(self.actionAdd_text_box) self.menuStep.addAction(self.actionAdd_highlight) self.menuStep.addAction(self.actionAdd_jump_box) self.menuStep.addSeparator() self.menuStep.addAction(self.actionSet_animated) self.menuStep.addAction(self.actionSet_guided) self.menuStep.addAction(self.actionFrom_capture) self.menuAudio_3.addAction(self.actionAdd_audio_3) self.menuAudio_3.addAction(self.actionDelete_audio_2) self.menuAudio_3.addAction(self.actionReplace_audio_2) self.menuAudio_3.addAction(self.actionEdit_audio_3) self.menuPacing_2.addAction(self.actionIncrement_step_delay_2) self.menuPacing_2.addAction(self.actionDecrement_step_delay_2) self.menuImage_2.addAction(self.actionPreview) self.menuImage_2.addAction(self.actionView_in_folder) self.menuImage_2.addAction(self.actionEdit) self.menuImage_2.addAction(self.actionReplace_image) self.menuWindow.addAction(self.actionOpen_DemoMate) self.menuWindow.addAction(self.actionOpen_Cloudguides_Packaging) self.menuWindow.addAction(self.actionClose) self.menuWindow.addAction(self.actionOpen_assets_folder) self.menuHelp.addAction(self.actionAbout) self.menuHelp.addSeparator() self.menuHelp.addAction(self.menuHow_do_I.menuAction()) self.menuHelp.addSeparator() self.menuHow_do_I.addAction(self.actionBulk_insert_image) self.menuHow_do_I.addAction(self.actionBulk_shell_steps) self.menuHow_do_I.addAction(self.actionBulk_crop_step_assets) self.menuHow_do_I.addAction(self.actionAttach_audio_to_demo) self.retranslateUi(IscApp) QMetaObject.connectSlotsByName(IscApp) # setupUi def retranslateUi(self, IscApp): IscApp.setWindowTitle(QCoreApplication.translate("IscApp", u"IscApp", None)) self.actionUndo.setText(QCoreApplication.translate("IscApp", u"Undo", None)) self.actionRedo.setText(QCoreApplication.translate("IscApp", u"Redo", None)) self.actionView_statusbar.setText(QCoreApplication.translate("IscApp", u"View statusbar", None)) self.actionView_step_preview.setText(QCoreApplication.translate("IscApp", u"View step preview", None)) self.actionInsert.setText(QCoreApplication.translate("IscApp", u"Insert Image", None)) self.actionShell_Image.setText(QCoreApplication.translate("IscApp", u"Shell Image", None)) self.actionSection_steps.setText(QCoreApplication.translate("IscApp", u"Section steps", None)) self.actionAttach_audio.setText(QCoreApplication.translate("IscApp", u"Attach audio", None)) self.actionBulk_crop.setText(QCoreApplication.translate("IscApp", u"Bulk crop", None)) self.actionView_demo_in_folder.setText(QCoreApplication.translate("IscApp", u"View demo in folder", None)) self.actionLoad_tool_state.setText(QCoreApplication.translate("IscApp", u"Load tool state", None)) self.actionSave_tool_state.setText(QCoreApplication.translate("IscApp", u"Save tool state", None)) self.actionOpen_DemoMate.setText(QCoreApplication.translate("IscApp", u"Open Demo in DemoMate", None)) self.actionOpen_Cloudguides_Packaging.setText(QCoreApplication.translate("IscApp", u"Open Cloudguides Packaging tool", None)) self.actionAbout.setText(QCoreApplication.translate("IscApp", u"About", None)) self.actionHelp_2.setText(QCoreApplication.translate("IscApp", u"Help", None)) self.actionImage_Insert.setText(QCoreApplication.translate("IscApp", u"Insert image", None)) self.actionImage_Shelling.setText(QCoreApplication.translate("IscApp", u"Shell image", None)) self.actionHelp_3.setText(QCoreApplication.translate("IscApp", u"Help", None)) self.actionBulk_insert_image.setText(QCoreApplication.translate("IscApp", u"Bulk insert image into step assets", None)) self.actionBulk_shell_steps.setText(QCoreApplication.translate("IscApp", u"Bulk shell step assets", None)) self.actionBulk_crop_step_assets.setText(QCoreApplication.translate("IscApp", u"Bulk crop step assets", None)) self.actionAttach_audio_to_demo.setText(QCoreApplication.translate("IscApp", u"Attach audio to demo", None)) self.actionClose.setText(QCoreApplication.translate("IscApp", u"Open folder containing demo", None)) self.actionClose_2.setText(QCoreApplication.translate("IscApp", u"Close", None)) self.actionFrom_demo_file.setText(QCoreApplication.translate("IscApp", u"From .demo file", None)) self.actionFrom_exe_installer.setText(QCoreApplication.translate("IscApp", u"From .exe installer", None)) self.actionFrom_docx_file.setText(QCoreApplication.translate("IscApp", u"From .docx file", None)) self.actionFrom_scripts_folder.setText(QCoreApplication.translate("IscApp", u"From scripts folder", None)) self.actionOverwrite.setText(QCoreApplication.translate("IscApp", u"Overwrite", None)) self.actionMerge_demos.setText(QCoreApplication.translate("IscApp", u"Merge demos", None)) self.actionLoad_audio_directory.setText(QCoreApplication.translate("IscApp", u"Load Audio", None)) self.actionLoad_soundbite.setText(QCoreApplication.translate("IscApp", u"Load from .zip", None)) self.actionEdit_audio.setText(QCoreApplication.translate("IscApp", u"Edit audio", None)) self.actionAttach_audio_to_demo_2.setText(QCoreApplication.translate("IscApp", u"Attach audio to demo", None)) self.actionBulk_edit_demo_audio.setText(QCoreApplication.translate("IscApp", u"Bulk edit demo audio", None)) self.actionEdit_step_audio.setText(QCoreApplication.translate("IscApp", u"Edit step audio", None)) self.actionBulk_paste_image.setText(QCoreApplication.translate("IscApp", u"Bulk paste image", None)) self.actionBulk_image_paste_wizard.setText(QCoreApplication.translate("IscApp", u"Bulk image paste wizard", None)) self.actionBulk_shell_demo_assets.setText(QCoreApplication.translate("IscApp", u"Bulk shell demo assets", None)) self.actionSection_demo.setText(QCoreApplication.translate("IscApp", u"Section demo", None)) self.actionBulk_resize_demo_assets.setText(QCoreApplication.translate("IscApp", u"Bulk resize demo assets", None)) self.actionBulk_crop_demo_assets.setText(QCoreApplication.translate("IscApp", u"Bulk crop demo assets", None)) self.actionPacing_wizard.setText(QCoreApplication.translate("IscApp", u"Open pacing wizard", None)) self.actionCompose_demos.setText(QCoreApplication.translate("IscApp", u"Compose demos", None)) self.actionBulk_edit_demo_metadata.setText(QCoreApplication.translate("IscApp", u"View/edit metadata", None)) self.actionLoad_script.setText(QCoreApplication.translate("IscApp", u"Load Script", None)) #if QT_CONFIG(shortcut) self.actionLoad_script.setShortcut(QCoreApplication.translate("IscApp", u"Alt+Shift+S", None)) #endif // QT_CONFIG(shortcut) self.actionConvert_script.setText(QCoreApplication.translate("IscApp", u"Convert script", None)) self.actionSpelling_errors.setText(QCoreApplication.translate("IscApp", u"Spelling errors", None)) self.actionGrammar_errors.setText(QCoreApplication.translate("IscApp", u"Grammar errors", None)) self.actionProduction_notes.setText(QCoreApplication.translate("IscApp", u"Production notes", None)) self.actionTalking_points.setText(QCoreApplication.translate("IscApp", u"Talking points", None)) self.actionClick_instructions.setText(QCoreApplication.translate("IscApp", u"Click instructions", None)) self.actionPackage_demo.setText(QCoreApplication.translate("IscApp", u"Package demo", None)) self.actionSingle_image.setText(QCoreApplication.translate("IscApp", u"Single image", None)) self.actionMultiple_images.setText(QCoreApplication.translate("IscApp", u"Multiple images", None)) self.actionImage_insert_wizar.setText(QCoreApplication.translate("IscApp", u"From asset region", None)) self.actionAdd_background_image.setText(QCoreApplication.translate("IscApp", u"Add background image", None)) self.actionAdd_background_and_wrapper.setText(QCoreApplication.translate("IscApp", u"Add background and wrapper", None)) self.actionShell_wizard.setText(QCoreApplication.translate("IscApp", u"Shell wizard", None)) self.actionCrop.setText(QCoreApplication.translate("IscApp", u"Crop", None)) self.actionResize.setText(QCoreApplication.translate("IscApp", u"Resize", None)) self.actionLoad_operation.setText(QCoreApplication.translate("IscApp", u"Add operation...", None)) self.actionSave_operation.setText(QCoreApplication.translate("IscApp", u"Load operation...", None)) self.actionClose_3.setText(QCoreApplication.translate("IscApp", u"Save operation...", None)) self.actionZoom_in.setText(QCoreApplication.translate("IscApp", u"Zoom in", None)) self.actionAdd_scroll_section.setText(QCoreApplication.translate("IscApp", u"Add scroll section", None)) self.actionOpen_assets_folder.setText(QCoreApplication.translate("IscApp", u"Open assets folder", None)) self.actionUpload_to_CloudGuides.setText(QCoreApplication.translate("IscApp", u"Upload to CloudGuides", None)) self.actionSections.setText(QCoreApplication.translate("IscApp", u"Sections", None)) self.actionsteps.setText(QCoreApplication.translate("IscApp", u"Steps", None)) self.actionSection.setText(QCoreApplication.translate("IscApp", u"Section", None)) self.actionSteps_in_section.setText(QCoreApplication.translate("IscApp", u"Steps in section", None)) self.actionFirst_step_in_section.setText(QCoreApplication.translate("IscApp", u"First step in section", None)) self.actionSet_section_as_animated.setText(QCoreApplication.translate("IscApp", u"Delete", None)) self.actionSet_section_as_guided.setText(QCoreApplication.translate("IscApp", u"Duplicate", None)) self.actionDelete.setText(QCoreApplication.translate("IscApp", u"Delete", None)) self.actionDuplicate.setText(QCoreApplication.translate("IscApp", u"Duplicate", None)) self.actionDuplicate_as_pacing.setText(QCoreApplication.translate("IscApp", u"Duplicate as pacing", None)) self.actionMove.setText(QCoreApplication.translate("IscApp", u"Move", None)) self.actionMove_2.setText(QCoreApplication.translate("IscApp", u"Move", None)) self.actionSet_as_animated.setText(QCoreApplication.translate("IscApp", u"Set as animated", None)) self.actionSet_as_guided.setText(QCoreApplication.translate("IscApp", u"Set as guided", None)) self.actionSet_as_scroll.setText(QCoreApplication.translate("IscApp", u"Set as scroll", None)) self.actionDecrement_step_delay.setText(QCoreApplication.translate("IscApp", u"Decrement step delay", None)) self.actionIncrement_step_delay.setText(QCoreApplication.translate("IscApp", u"Increment step delay", None)) self.actionAdd_audio_2.setText(QCoreApplication.translate("IscApp", u"Add audio", None)) self.actionDelete_audio.setText(QCoreApplication.translate("IscApp", u"Delete audio", None)) self.actionEdit_audio_2.setText(QCoreApplication.translate("IscApp", u"Edit audio", None)) self.actionReplace_audio.setText(QCoreApplication.translate("IscApp", u"Replace audio", None)) self.actionView_metadata.setText(QCoreApplication.translate("IscApp", u"View metadata", None)) self.actionAdd_audio_3.setText(QCoreApplication.translate("IscApp", u"Add audio", None)) self.actionDelete_audio_2.setText(QCoreApplication.translate("IscApp", u"Delete audio", None)) self.actionReplace_audio_2.setText(QCoreApplication.translate("IscApp", u"Replace audio", None)) self.actionEdit_audio_3.setText(QCoreApplication.translate("IscApp", u"Edit audio", None)) self.actionIncrement_step_delay_2.setText(QCoreApplication.translate("IscApp", u"Increment step delay", None)) self.actionDecrement_step_delay_2.setText(QCoreApplication.translate("IscApp", u"Decrement step delay", None)) self.actionPreview.setText(QCoreApplication.translate("IscApp", u"Preview image", None)) self.actionView_in_folder.setText(QCoreApplication.translate("IscApp", u"View in folder", None)) self.actionEdit.setText(QCoreApplication.translate("IscApp", u"Edit image", None)) self.actionReplace_image.setText(QCoreApplication.translate("IscApp", u"Replace image", None)) self.actionView_metadata_2.setText(QCoreApplication.translate("IscApp", u"View metadata", None)) self.actionLoad_SoundBite.setText(QCoreApplication.translate("IscApp", u"Load soundbite", None)) self.actionFrom_recording.setText(QCoreApplication.translate("IscApp", u"From recording", None)) self.actionAs_new_version.setText(QCoreApplication.translate("IscApp", u"As new version", None)) self.actionAs_new_round.setText(QCoreApplication.translate("IscApp", u"As new round", None)) self.actionExport_to_installer.setText(QCoreApplication.translate("IscApp", u"Export to installer", None)) self.actionExport_to_Cloudguide.setText(QCoreApplication.translate("IscApp", u"Export to Cloudguide", None)) self.actionTo_installer.setText(QCoreApplication.translate("IscApp", u"To installer", None)) self.actionTo_Cloudguide.setText(QCoreApplication.translate("IscApp", u"To Cloudguide", None)) self.actionOverwrite_2.setText(QCoreApplication.translate("IscApp", u"Overwrite", None)) self.actionAs_new_version_2.setText(QCoreApplication.translate("IscApp", u"As new version", None)) self.actionAs_new_round_2.setText(QCoreApplication.translate("IscApp", u"As new round", None)) self.actionAs_txt.setText(QCoreApplication.translate("IscApp", u"As .txt", None)) self.actionTo_new_directory.setText(QCoreApplication.translate("IscApp", u"To new directory", None)) self.actionOverwrite_3.setText(QCoreApplication.translate("IscApp", u"Overwrite", None)) self.actionClose_window.setText(QCoreApplication.translate("IscApp", u"Close window", None)) self.actionReset_demo.setText(QCoreApplication.translate("IscApp", u"Reset demo", None)) self.actionNew.setText(QCoreApplication.translate("IscApp", u"New...", None)) self.actionNew_operation.setText(QCoreApplication.translate("IscApp", u"New operation...", None)) self.actionAdd_step.setText(QCoreApplication.translate("IscApp", u"Add step", None)) self.actionPreferences.setText(QCoreApplication.translate("IscApp", u"Preferences", None)) self.actionAdd_text_box.setText(QCoreApplication.translate("IscApp", u"Add text box", None)) self.actionAdd_highlight.setText(QCoreApplication.translate("IscApp", u"Add highlight", None)) self.actionAdd_jump_box.setText(QCoreApplication.translate("IscApp", u"Add jump box", None)) self.actionSet_animated.setText(QCoreApplication.translate("IscApp", u"Set animated", None)) self.actionSet_guided.setText(QCoreApplication.translate("IscApp", u"Set guided", None)) self.actionEdit_XML.setText(QCoreApplication.translate("IscApp", u"Edit XML", None)) self.actionFrom_capture.setText(QCoreApplication.translate("IscApp", u"From capture", None)) self.actionCapture_image_edt_macro.setText(QCoreApplication.translate("IscApp", u"Capture image edt macro", None)) self.actionNew_tab.setText(QCoreApplication.translate("IscApp", u"New tab", None)) self.actionNew_2.setText(QCoreApplication.translate("IscApp", u"New...", None)) self.actionTo_new_version.setText(QCoreApplication.translate("IscApp", u"To new version", None)) self.actionTo_new_round.setText(QCoreApplication.translate("IscApp", u"To new round", None)) self.actionSteps.setText(QCoreApplication.translate("IscApp", u"Steps...", None)) self.actionOverwrite_existing.setText(QCoreApplication.translate("IscApp", u"Overwrite existing", None)) self.actionSave.setText(QCoreApplication.translate("IscApp", u"Save...", None)) self.actionDemo.setText(QCoreApplication.translate("IscApp", u"Demo...", None)) self.actionAudio.setText(QCoreApplication.translate("IscApp", u"Audio...", None)) self.actionScript.setText(QCoreApplication.translate("IscApp", u"Script..", None)) self.actionView_menubar.setText(QCoreApplication.translate("IscApp", u"View console", None)) self.actionView_in_file_explorer.setText(QCoreApplication.translate("IscApp", u"View in file explorer", None)) #if QT_CONFIG(shortcut) self.actionView_in_file_explorer.setShortcut(QCoreApplication.translate("IscApp", u"Ctrl+Shift+F", None)) #endif // QT_CONFIG(shortcut) self.actionView_menubar_2.setText(QCoreApplication.translate("IscApp", u"View menubar", None)) #if QT_CONFIG(shortcut) self.actionView_menubar_2.setShortcut(QCoreApplication.translate("IscApp", u"Alt+M", None)) #endif // QT_CONFIG(shortcut) self.actionZoom_out.setText(QCoreApplication.translate("IscApp", u"Zoom out", None)) self.actionReset_zoom.setText(QCoreApplication.translate("IscApp", u"Reset zoom", None)) self.actionNewStep.setText(QCoreApplication.translate("IscApp", u"Step", None)) self.actionOpenDemo.setText(QCoreApplication.translate("IscApp", u"Demo", None)) self.menuFile.setTitle(QCoreApplication.translate("IscApp", u"File", None)) self.menuExport_2.setTitle(QCoreApplication.translate("IscApp", u"Export...", None)) self.menuNew.setTitle(QCoreApplication.translate("IscApp", u"New...", None)) self.menuOpen.setTitle(QCoreApplication.translate("IscApp", u"Open...", None)) self.menuEdit.setTitle(QCoreApplication.translate("IscApp", u"Edit", None)) self.menuSelect_all.setTitle(QCoreApplication.translate("IscApp", u"Select all...", None)) self.menuSelect_associated.setTitle(QCoreApplication.translate("IscApp", u"Select associated...", None)) self.menuView.setTitle(QCoreApplication.translate("IscApp", u"View", None)) self.menuZoom.setTitle(QCoreApplication.translate("IscApp", u"Zoom...", None)) self.menuTools.setTitle(QCoreApplication.translate("IscApp", u"Tools", None)) self.menuAudio.setTitle(QCoreApplication.translate("IscApp", u"Audio", None)) self.menuImage.setTitle(QCoreApplication.translate("IscApp", u"Image", None)) self.menuInsert.setTitle(QCoreApplication.translate("IscApp", u"Paste...", None)) self.menuShell.setTitle(QCoreApplication.translate("IscApp", u"Shell...", None)) self.menuDemo.setTitle(QCoreApplication.translate("IscApp", u"Demo", None)) self.menuScript.setTitle(QCoreApplication.translate("IscApp", u"Script", None)) self.menuCheck_script_for.setTitle(QCoreApplication.translate("IscApp", u"Check script for...", None)) self.menuClear.setTitle(QCoreApplication.translate("IscApp", u"Clear...", None)) self.menuWeb.setTitle(QCoreApplication.translate("IscApp", u"Web", None)) self.menuSection.setTitle(QCoreApplication.translate("IscApp", u"Section...", None)) self.menuPacing.setTitle(QCoreApplication.translate("IscApp", u"Pacing...", None)) self.menuAudio_2.setTitle(QCoreApplication.translate("IscApp", u"Audio...", None)) self.menuStep.setTitle(QCoreApplication.translate("IscApp", u"Step...", None)) self.menuAudio_3.setTitle(QCoreApplication.translate("IscApp", u"Audio...", None)) self.menuPacing_2.setTitle(QCoreApplication.translate("IscApp", u"Pacing...", None)) self.menuImage_2.setTitle(QCoreApplication.translate("IscApp", u"Image...", None)) self.menuWindow.setTitle(QCoreApplication.translate("IscApp", u"Window", None)) self.menuHelp.setTitle(QCoreApplication.translate("IscApp", u"Help", None)) self.menuHow_do_I.setTitle(QCoreApplication.translate("IscApp", u"How do I...", None))
class Ui_tfm(object): def setupUi(self, tfm): if not tfm.objectName(): tfm.setObjectName(u"tfm") tfm.resize(800, 600) tfm.setContextMenuPolicy(Qt.NoContextMenu) tfm.setLocale(QLocale(QLocale.English, QLocale.UnitedStates)) self.action_menu = QAction(tfm) self.action_menu.setObjectName(u"action_menu") self.action_new_dir = QAction(tfm) self.action_new_dir.setObjectName(u"action_new_dir") self.action_new_file = QAction(tfm) self.action_new_file.setObjectName(u"action_new_file") self.action_back = QAction(tfm) self.action_back.setObjectName(u"action_back") self.action_up = QAction(tfm) self.action_up.setObjectName(u"action_up") self.action_home = QAction(tfm) self.action_home.setObjectName(u"action_home") self.action_go = QAction(tfm) self.action_go.setObjectName(u"action_go") self.action_forward = QAction(tfm) self.action_forward.setObjectName(u"action_forward") self.action_copy = QAction(tfm) self.action_copy.setObjectName(u"action_copy") self.action_paste = QAction(tfm) self.action_paste.setObjectName(u"action_paste") self.action_cut = QAction(tfm) self.action_cut.setObjectName(u"action_cut") self.action_show_hidden = QAction(tfm) self.action_show_hidden.setObjectName(u"action_show_hidden") self.action_show_hidden.setCheckable(True) self.action_delete = QAction(tfm) self.action_delete.setObjectName(u"action_delete") self.action_rename = QAction(tfm) self.action_rename.setObjectName(u"action_rename") self.action_add_to_bookmarks = QAction(tfm) self.action_add_to_bookmarks.setObjectName(u"action_add_to_bookmarks") self.action_remove_bookmark = QAction(tfm) self.action_remove_bookmark.setObjectName(u"action_remove_bookmark") self.action_copy_path = QAction(tfm) self.action_copy_path.setObjectName(u"action_copy_path") self.action_extract_here = QAction(tfm) self.action_extract_here.setObjectName(u"action_extract_here") self.action_mount_iso = QAction(tfm) self.action_mount_iso.setObjectName(u"action_mount_iso") self.centralwidget = QWidget(tfm) self.centralwidget.setObjectName(u"centralwidget") self.horizontalLayout = QHBoxLayout(self.centralwidget) self.horizontalLayout.setObjectName(u"horizontalLayout") self.vsplit = QSplitter(self.centralwidget) self.vsplit.setObjectName(u"vsplit") self.vsplit.setOrientation(Qt.Horizontal) self.hsplit = QSplitter(self.vsplit) self.hsplit.setObjectName(u"hsplit") self.hsplit.setOrientation(Qt.Vertical) self.fs_tree = QTreeView(self.hsplit) self.fs_tree.setObjectName(u"fs_tree") sizePolicy = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(1) sizePolicy.setHeightForWidth( self.fs_tree.sizePolicy().hasHeightForWidth()) self.fs_tree.setSizePolicy(sizePolicy) self.fs_tree.setTabKeyNavigation(True) self.fs_tree.setProperty("showDropIndicator", True) self.fs_tree.setDragEnabled(False) self.fs_tree.setDragDropMode(QAbstractItemView.DropOnly) self.fs_tree.setDefaultDropAction(Qt.MoveAction) self.fs_tree.setRootIsDecorated(False) self.hsplit.addWidget(self.fs_tree) self.fs_tree.header().setVisible(False) self.bookmark_view = QListView(self.hsplit) self.bookmark_view.setObjectName(u"bookmark_view") self.bookmark_view.setContextMenuPolicy(Qt.ActionsContextMenu) self.bookmark_view.setEditTriggers(QAbstractItemView.DoubleClicked | QAbstractItemView.EditKeyPressed | QAbstractItemView.SelectedClicked) self.bookmark_view.setTabKeyNavigation(True) self.bookmark_view.setDragDropOverwriteMode(True) self.bookmark_view.setDragDropMode(QAbstractItemView.DropOnly) self.bookmark_view.setDefaultDropAction(Qt.CopyAction) self.bookmark_view.setAlternatingRowColors(True) self.hsplit.addWidget(self.bookmark_view) self.mounts_view = QListView(self.hsplit) self.mounts_view.setObjectName(u"mounts_view") self.mounts_view.setTabKeyNavigation(True) self.mounts_view.setAlternatingRowColors(True) self.hsplit.addWidget(self.mounts_view) self.vsplit.addWidget(self.hsplit) self.table_view = QTableView(self.vsplit) self.table_view.setObjectName(u"table_view") sizePolicy1 = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) sizePolicy1.setHorizontalStretch(1) sizePolicy1.setVerticalStretch(0) sizePolicy1.setHeightForWidth( self.table_view.sizePolicy().hasHeightForWidth()) self.table_view.setSizePolicy(sizePolicy1) self.table_view.viewport().setProperty("cursor", QCursor(Qt.ArrowCursor)) self.table_view.setContextMenuPolicy(Qt.ActionsContextMenu) self.table_view.setAcceptDrops(True) self.table_view.setToolTipDuration(-3) self.table_view.setEditTriggers(QAbstractItemView.AnyKeyPressed | QAbstractItemView.EditKeyPressed | QAbstractItemView.SelectedClicked) self.table_view.setDragEnabled(True) self.table_view.setDragDropMode(QAbstractItemView.DragDrop) self.table_view.setDefaultDropAction(Qt.MoveAction) self.table_view.setAlternatingRowColors(True) self.table_view.setSelectionMode(QAbstractItemView.ExtendedSelection) self.table_view.setSelectionBehavior(QAbstractItemView.SelectRows) self.table_view.setTextElideMode(Qt.ElideMiddle) self.table_view.setShowGrid(False) self.table_view.setSortingEnabled(True) self.table_view.setWordWrap(False) self.vsplit.addWidget(self.table_view) self.table_view.horizontalHeader().setDefaultSectionSize(150) self.table_view.horizontalHeader().setHighlightSections(False) self.table_view.horizontalHeader().setStretchLastSection(True) self.table_view.verticalHeader().setVisible(False) self.horizontalLayout.addWidget(self.vsplit) tfm.setCentralWidget(self.centralwidget) self.statusbar = QStatusBar(tfm) self.statusbar.setObjectName(u"statusbar") self.statusbar.setContextMenuPolicy(Qt.NoContextMenu) self.statusbar.setSizeGripEnabled(False) tfm.setStatusBar(self.statusbar) self.toolbar = QToolBar(tfm) self.toolbar.setObjectName(u"toolbar") self.toolbar.setContextMenuPolicy(Qt.PreventContextMenu) self.toolbar.setMovable(False) tfm.addToolBar(Qt.TopToolBarArea, self.toolbar) self.toolbar.addAction(self.action_back) self.toolbar.addAction(self.action_forward) self.toolbar.addAction(self.action_up) self.toolbar.addAction(self.action_home) self.toolbar.addAction(self.action_go) self.retranslateUi(tfm) QMetaObject.connectSlotsByName(tfm) # setupUi def retranslateUi(self, tfm): tfm.setWindowTitle(QCoreApplication.translate("tfm", u"tfm", None)) self.action_menu.setText( QCoreApplication.translate("tfm", u"Menu", None)) self.action_new_dir.setText( QCoreApplication.translate("tfm", u"New Directory", None)) self.action_new_file.setText( QCoreApplication.translate("tfm", u"New File", None)) self.action_back.setText( QCoreApplication.translate("tfm", u"Back", None)) self.action_up.setText(QCoreApplication.translate("tfm", u"Up", None)) self.action_home.setText( QCoreApplication.translate("tfm", u"Home", None)) self.action_go.setText(QCoreApplication.translate("tfm", u"Go", None)) #if QT_CONFIG(tooltip) self.action_go.setToolTip( QCoreApplication.translate("tfm", u"Go or Reload", None)) #endif // QT_CONFIG(tooltip) self.action_forward.setText( QCoreApplication.translate("tfm", u"Forward", None)) self.action_copy.setText( QCoreApplication.translate("tfm", u"Copy", None)) self.action_paste.setText( QCoreApplication.translate("tfm", u"Paste", None)) self.action_cut.setText(QCoreApplication.translate( "tfm", u"Cut", None)) self.action_show_hidden.setText( QCoreApplication.translate("tfm", u"Show hidden files", None)) #if QT_CONFIG(shortcut) self.action_show_hidden.setShortcut( QCoreApplication.translate("tfm", u"Ctrl+H", None)) #endif // QT_CONFIG(shortcut) self.action_delete.setText( QCoreApplication.translate("tfm", u"Delete", None)) self.action_rename.setText( QCoreApplication.translate("tfm", u"Rename", None)) self.action_add_to_bookmarks.setText( QCoreApplication.translate("tfm", u"Add to bookmarks", None)) self.action_remove_bookmark.setText( QCoreApplication.translate("tfm", u"Remove bookmark", None)) #if QT_CONFIG(tooltip) self.action_remove_bookmark.setToolTip( QCoreApplication.translate("tfm", u"Remove bookmark", None)) #endif // QT_CONFIG(tooltip) self.action_copy_path.setText( QCoreApplication.translate("tfm", u"Copy path", None)) self.action_extract_here.setText( QCoreApplication.translate("tfm", u"Extract here", None)) #if QT_CONFIG(tooltip) self.action_extract_here.setToolTip( QCoreApplication.translate("tfm", u"Extract here", None)) #endif // QT_CONFIG(tooltip) self.action_mount_iso.setText( QCoreApplication.translate("tfm", u"Mount ISO", None)) #if QT_CONFIG(tooltip) self.action_mount_iso.setToolTip( QCoreApplication.translate("tfm", u"Mount ISO", None))
class Window(QMainWindow): def __init__(self): QMainWindow.__init__(self) self.images = [] self.index = -1 self.ratio = 1 # ratio for QLabel image self.mouse_position = None self.settings = None # Extensions self.extensions = [] for format in QImageReader.supportedImageFormats(): self.extensions.append(format.data().decode('utf-8')) # Filters self.filters = [] for extension in self.extensions: self.filters.append('*.{0}'.format(str(extension))) # UI self.set_up_ui() # settings self.load_settings() def on_message_received(self, msg): """ on message received from single application Args: msg (string): file path """ self.create_images(msg) self.display_image() def set_up_ui(self): # Status Bar self.status_bar = self.statusBar() self.label_name = QLabel() self.label_numero = QLabel() self.status_bar.addPermanentWidget(self.label_name, 1) self.status_bar.addPermanentWidget(self.label_numero, 0) # Main Window self.setWindowTitle('BaloViewer') self.setWindowIcon(QIcon('baloviewer.ico')) # Label image self.image = QLabel() self.image.setScaledContents(True) # Scroll area self.scroll_area = QScrollArea() self.scroll_area.setWidget(self.image) self.scroll_area.showMaximized() self.scroll_area.setFocusPolicy(Qt.FocusPolicy.NoFocus) self.scroll_area.setAlignment(Qt.AlignmentFlag.AlignCenter) self.scroll_area.viewport().installEventFilter(self) # image list self.image_gallery = ImageGallery() self.image_gallery.itemClicked.connect(self.image_gallery_clicked) self.image_gallery.viewport().installEventFilter(self) self.dock_widget = QDockWidget('Image Gallery', self) self.dock_widget.setWidget(self.image_gallery) self.dock_widget.setFloating(False) self.addDockWidget(Qt.LeftDockWidgetArea, self.dock_widget) # central widget self.setCentralWidget(self.scroll_area) # Action bar self.create_actions() self.create_menubar() self.create_toolbar() # option parser parser = OptionParser() parser.add_option("-f", "--file", dest="filename", help="open a file") (options, args) = parser.parse_args() parser_file = options.filename if parser_file is not None and os.path.isfile(parser_file): self.create_images(parser_file) self.display_image() def create_actions(self): # Action Open self.action_open = QAction(QIcon.fromTheme('document-open'), 'Open', self) self.action_open.setShortcut('Ctrl+O') self.action_open.setStatusTip('Open file') self.action_open.triggered.connect(self.open) # Action Save self.action_save = QAction(QIcon.fromTheme('document-save'), 'Save', self) self.action_save.setShortcut('Ctrl+S') self.action_save.setStatusTip('Save file') self.action_save.triggered.connect(self.save) # Action Copy self.action_copy = QAction(QIcon.fromTheme('edit-copy'), 'Copy', self) self.action_copy.setStatusTip('Copy') self.action_copy.triggered.connect(self.copy) # Action move self.action_move = QAction(QIcon.fromTheme('edit-cut'), 'Move', self) self.action_move.setStatusTip('Move') self.action_move.triggered.connect(self.move) # Action Delete self.action_delete = QAction(QIcon.fromTheme('edit-delete'), 'Delete', self) self.action_delete.setStatusTip('Delete') self.action_delete.triggered.connect(self.delete) # Action Quit self.action_quit = QAction(QIcon.fromTheme('application-exit'), 'Quit', self) self.action_quit.setShortcut('Ctrl+Q') self.action_quit.setStatusTip('Quit') self.action_quit.triggered.connect(self.close) # Action Rotate left self.action_rotate_left = QAction( QIcon.fromTheme('object-rotate-left'), 'Rotate left', self) self.action_rotate_left.setStatusTip('Rotate left') self.action_rotate_left.triggered.connect(self.rotate_left) # Action Rotate right self.action_rotate_right = QAction( QIcon.fromTheme('object-rotate-right'), 'Rotate right', self) self.action_rotate_right.setStatusTip('Rotate right') self.action_rotate_right.triggered.connect(self.rotate_right) # Action Mirror self.action_flip_horizontal = QAction( QIcon.fromTheme('object-flip-horizontal'), 'Flip horizontally', self) self.action_flip_horizontal.setStatusTip('Flip horizontally') self.action_flip_horizontal.triggered.connect(self.flip_horizontal) # Action Flip vertical self.action_flip_vertical = QAction( QIcon.fromTheme('object-flip-vertical'), 'Flip vertically', self) self.action_flip_vertical.setStatusTip('Flip vertically') self.action_flip_vertical.triggered.connect(self.flip_vertical) # Action Previous image self.action_previous_image = QAction(QIcon.fromTheme('go-previous'), 'Previous image', self) self.action_previous_image.setStatusTip('Previous image') self.action_previous_image.triggered.connect(self.previous_image) # Action Full screen self.action_fullscreen = QAction(QIcon.fromTheme('view-fullscreen'), 'Full screen', self) self.action_fullscreen.setStatusTip('Full screen') self.action_fullscreen.triggered.connect(self.fullscreen) # Action Normal size self.action_normal_size = QAction(QIcon.fromTheme('zoom-original'), 'Normal size', self) self.action_normal_size.setStatusTip('Normal Size') self.action_normal_size.triggered.connect(self.normal_size) # Action Fit Screen self.action_fit_screen = QAction(QIcon.fromTheme('zoom-fit-best'), 'Fit to screen', self) self.action_fit_screen.setStatusTip('Fit to screen') self.action_fit_screen.setCheckable(True) self.action_fit_screen.triggered.connect(self.fit_screen) # Action Zoom in self.action_zoom_in = QAction(QIcon.fromTheme('zoom-in'), 'Zoom in', self) self.action_zoom_in.setStatusTip('Zoom in') self.action_zoom_in.triggered.connect(self.zoom_in) # Action Zoom out self.action_zoom_out = QAction(QIcon.fromTheme('zoom-out'), 'Zoom out', self) self.action_zoom_out.setStatusTip('Zoom out') self.action_zoom_out.triggered.connect(self.zoom_out) # Action Fit height self.action_fit_vertical = QAction('Fit vertically', self) self.action_fit_vertical.setStatusTip('Fit vertically') self.action_fit_vertical.setCheckable(True) self.action_fit_vertical.triggered.connect(self.fit_height) # Action Fit width self.action_fit_horizontal = QAction('Fit horizontally', self) self.action_fit_horizontal.setStatusTip('Fit horizontally') self.action_fit_horizontal.setCheckable(True) self.action_fit_horizontal.triggered.connect(self.fit_width) # Action Fit width self.action_fit_horizontal = QAction('Fit horizontally', self) self.action_fit_horizontal.setStatusTip('Fit horizontally') self.action_fit_horizontal.setCheckable(True) self.action_fit_horizontal.triggered.connect(self.fit_width) # Action Image list self.action_image_gallery = QAction('Image gallery', self) self.action_image_gallery.setStatusTip('Image gallery') self.action_image_gallery.setCheckable(True) self.action_image_gallery.triggered.connect( self.image_gallery_triggered) # Action Next_image self.action_next_image = QAction(QIcon.fromTheme('go-next'), 'Next image', self) self.action_next_image.setStatusTip('Next image') self.action_next_image.triggered.connect(self.next_image) # Action First image self.action_first_image = QAction(QIcon.fromTheme('go-first'), 'First image', self) self.action_first_image.setStatusTip('First image') self.action_first_image.triggered.connect(self.first_image) # Action Last image self.action_last_image = QAction(QIcon.fromTheme('go-last'), 'Last image', self) self.action_last_image.setStatusTip('Last image') self.action_last_image.triggered.connect(self.last_image) # Action About self.action_about = QAction(QIcon.fromTheme('help-about'), 'About', self) self.action_about.setStatusTip('About') self.action_about.triggered.connect(self.about) def create_menubar(self): self.menubar = self.menuBar() # File self.menu_file = self.menubar.addMenu('File') self.menu_file.addAction(self.action_open) self.menu_file.addAction(self.action_save) self.menu_file.addSeparator() self.menu_file.addAction(self.action_copy) self.menu_file.addAction(self.action_move) self.menu_file.addAction(self.action_delete) self.menu_file.addSeparator() self.menu_file.addAction(self.action_quit) # Edit self.menu_edit = self.menubar.addMenu('Edit') self.menu_edit.addAction(self.action_rotate_left) self.menu_edit.addAction(self.action_rotate_right) self.menu_edit.addSeparator() self.menu_edit.addAction(self.action_flip_horizontal) self.menu_edit.addAction(self.action_flip_vertical) # View self.menu_view = self.menubar.addMenu('View') self.menu_view.addAction(self.action_fullscreen) self.menu_view.addAction(self.action_normal_size) self.menu_view.addAction(self.action_fit_screen) self.menu_view.addSeparator() self.menu_view.addAction(self.action_zoom_in) self.menu_view.addAction(self.action_zoom_out) self.menu_view.addSeparator() self.menu_view.addAction(self.action_fit_vertical) self.menu_view.addAction(self.action_fit_horizontal) self.menu_view.addSeparator() self.menu_view.addAction(self.action_image_gallery) # Go self.menu_go = self.menubar.addMenu('Go') self.menu_go.addAction(self.action_previous_image) self.menu_go.addAction(self.action_next_image) self.menu_go.addSeparator() self.menu_go.addAction(self.action_first_image) self.menu_go.addAction(self.action_last_image) # About self.menu_about = self.menubar.addMenu('About') self.menu_about.addAction(self.action_about) def create_toolbar(self): self.toolbar = self.addToolBar('Tool bar') self.toolbar.addAction(self.action_open) self.toolbar.addAction(self.action_save) self.toolbar.addSeparator() self.toolbar.addAction(self.action_fullscreen) self.toolbar.addAction(self.action_normal_size) self.toolbar.addAction(self.action_fit_screen) self.toolbar.addSeparator() self.toolbar.addAction(self.action_zoom_in) self.toolbar.addAction(self.action_zoom_out) self.toolbar.addSeparator() self.toolbar.addAction(self.action_rotate_left) self.toolbar.addAction(self.action_rotate_right) self.toolbar.addSeparator() self.toolbar.addAction(self.action_first_image) self.toolbar.addAction(self.action_previous_image) self.toolbar.addAction(self.action_next_image) self.toolbar.addAction(self.action_last_image) self.toolbar.addSeparator() self.toolbar.addAction(self.action_copy) self.toolbar.addAction(self.action_move) def load_settings(self): self.settings = QSettings() check_state = self.settings.value('view/image_gallery', True, type=bool) self.action_image_gallery.setChecked(check_state) self.image_gallery_triggered() def contextMenuEvent(self, QContextMenuEvent): menu = QMenu() menu.addAction(self.action_fullscreen) menu.addSeparator() menu.addAction(self.action_image_gallery) menu.addSeparator() menu.addAction(self.action_previous_image) menu.addAction(self.action_next_image) menu.addSeparator() menu.addAction(self.action_normal_size) menu.addAction(self.action_fit_screen) menu.addAction(self.action_fit_vertical) menu.addAction(self.action_fit_horizontal) menu.addSeparator() menu.addAction(self.action_zoom_in) menu.addAction(self.action_zoom_out) menu.addSeparator() menu.addAction(self.action_copy) menu.addAction(self.action_move) menu.addSeparator() menu.addAction(self.action_delete) menu.exec_(QContextMenuEvent.globalPos()) def eventFilter(self, obj, event): """ filter events for wheel events Args: obj (QWidget): scroll_area event (QEvent): event """ # try: if event.type() == QEvent.Wheel: if event.angleDelta().y() < 0: self.next_image() else: self.previous_image() return True elif event.type() == QEvent.MouseButtonPress and event.button( ) == Qt.RightButton: index = self.image_gallery.select_row_pos() if index > -1: self.index = index self.display_image() return True # pass the event on to the parent class return super(QMainWindow, self).eventFilter(obj, event) def keyPressEvent(self, event): key = event.key() if key == Qt.Key_Delete: self.delete() elif key == Qt.Key_Left: self.previous_image() elif key == Qt.Key_Right: self.next_image() elif key == Qt.Key_PageUp: self.first_image() elif key == Qt.Key_PageDown: self.last_image() elif key == Qt.Key_Escape and self.isFullScreen(): self.fullscreen() else: QWidget.keyPressEvent(self, event) def mouseDoubleClickEvent(self, QMouseEvent): self.fullscreen() def mousePressEvent(self, QMouseEvent): self.mouse_position = QMouseEvent.pos() def mouseMoveEvent(self, QMouseEvent): diff = QPoint(QMouseEvent.pos() - self.mouse_position) self.mouse_position = QMouseEvent.pos() self.scroll_area.verticalScrollBar().setValue( self.scroll_area.verticalScrollBar().value() - diff.y()) self.scroll_area.horizontalScrollBar().setValue( self.scroll_area.horizontalScrollBar().value() - diff.x()) def resizeEvent(self, event): if not self.index == -1: self.display_image() def create_images(self, filename): """Create image list Args: filename (string): file from which to retrieve the list of images in the folder """ self.images.clear() # get images only with an allowed extension for ext in self.extensions: self.images += glob.glob( os.path.join( glob.escape(os.path.dirname(filename)), '*.' + ''.join('[%s%s]' % (e.lower(), e.upper()) for e in ext))) self.images.sort() if filename in self.images: self.index = self.images.index(filename) else: self.index = -1 # iamge list self.image_gallery.add_images(self.images) def remove_index(self): """ remove file from list images and display next or previous image """ del self.images[self.index] self.image_gallery.remove_row(self.index) if len(self.images) == 0: self.images.clear() self.index = -1 self.image.clear() self.image.resize(self.image.minimumSizeHint()) elif self.index < len(self.images) - 1: self.display_image() else: self.index = len(self.images) - 1 self.display_image() def display_image(self): if not self.index == -1: self.image.clear() self.image.resize(self.image.minimumSizeHint()) file = self.images[self.index] if os.path.isfile(file): self.label_name.setText(file) self.label_numero.setText( str(self.index + 1) + ' / ' + str(len(self.images))) # image list self.image_gallery.select_row(self.index) image_reader = QImageReader(file) if image_reader.imageCount() > 1: # Animated image movie = QMovie(file) movie.setCacheMode(QMovie.CacheAll) movie.jumpToFrame(0) movie_size = movie.currentPixmap().size() self.image.setMovie(movie) self.image.resize(movie_size) movie.start() else: self.image.setPixmap(QPixmap(file)) self.image.resize(self.image.pixmap().size()) # fit image if self.action_fit_screen.isChecked(): self.fit_screen() elif self.action_fit_horizontal.isChecked(): self.fit_width() elif self.action_fit_vertical.isChecked(): self.fit_height() else: self.ratio = 1.0 self.action_zoom_in.setEnabled(True) self.action_zoom_out.setEnabled(True) # scrollbar position self.scroll_area.verticalScrollBar().setSliderPosition(0) self.scroll_area.horizontalScrollBar().setSliderPosition(0) def resize_image(self): if self.action_fit_screen.isChecked(): self.fit_screen() elif self.action_fit_horizontal.isChecked(): self.fit_width() elif self.action_fit_vertical.isChecked(): self.fit_height() elif self.image.pixmap(): self.image.resize(self.ratio * self.image.pixmap().size()) elif movie := self.image.movie(): movie.jumpToFrame(0) movie_size = movie.currentPixmap().size() self.image.resize(self.ratio * movie_size)