コード例 #1
0
ファイル: repo_add_dialog.py プロジェクト: borgbase/vorta
    def set_visibility(self, visible):
        visibility = QLineEdit.Normal if visible else QLineEdit.Password
        self.passwordLineEdit.setEchoMode(visibility)

        if visible:
            self.showHideAction.setIcon(get_colored_icon("eye-slash"))
            self.showHideAction.setText(self.tr("Hide my password"))
        else:
            self.showHideAction.setIcon(get_colored_icon("eye"))
            self.showHideAction.setText(self.tr("Show my password"))
コード例 #2
0
 def set_icons(self):
     self.extractButton.setIcon(get_colored_icon('cloud-download'))
     self.mountButton.setIcon(get_colored_icon('folder-open'))
     self.checkButton.setIcon(get_colored_icon('check-circle'))
     self.deleteButton.setIcon(get_colored_icon('trash'))
     self.diffButton.setIcon(get_colored_icon('stream-solid'))
     self.pruneButton.setIcon(get_colored_icon('cut'))
     self.listButton.setIcon(get_colored_icon('refresh'))
     self.toolBox.setItemIcon(0, get_colored_icon('tasks'))
     self.toolBox.setItemIcon(1, get_colored_icon('cut'))
コード例 #3
0
ファイル: archive_tab.py プロジェクト: borgbase/vorta
 def set_icons(self):
     "Used when changing between light- and dark mode"
     self.checkButton.setIcon(get_colored_icon('check-circle'))
     self.compactButton.setIcon(get_colored_icon('broom-solid'))
     self.diffButton.setIcon(get_colored_icon('stream-solid'))
     self.pruneButton.setIcon(get_colored_icon('cut'))
     self.listButton.setIcon(get_colored_icon('refresh'))
     self.toolBox.setItemIcon(0, get_colored_icon('tasks'))
     self.toolBox.setItemIcon(1, get_colored_icon('cut'))
     self.archiveActionButton.setIcon(get_colored_icon('ellipsis-v'))
コード例 #4
0
    def showArchiveActionMenu(self):
        archive_name = self.selected_archive_name()
        menu = self.archiveActionMenu
        menu.clear()

        if not archive_name:
            action = menu.addAction(self.tr("Select an archive first."))
            action.setEnabled(False)
            return menu

        if archive_name in self.mount_points:
            unmountAction = menu.addAction("Unmount", self.umount_action)
            unmountAction.setIcon(get_colored_icon('eject'))
        else:
            mountAction = menu.addAction("Mount", self.mount_action)
            mountAction.setIcon(get_colored_icon('folder-open'))

        extractAction = menu.addAction("Extract", self.list_archive_action)
        refreshAction = menu.addAction("Refresh", self.refresh_archive_action)
        renameAction = menu.addAction("Rename", self.rename_action)
        deleteAction = menu.addAction("Delete", self.delete_action)

        extractAction.setIcon(get_colored_icon('cloud-download'))
        refreshAction.setIcon(get_colored_icon('refresh'))
        renameAction.setIcon(get_colored_icon('edit'))
        deleteAction.setIcon(get_colored_icon('trash'))
        return menu
コード例 #5
0
ファイル: main_window.py プロジェクト: borgbase/vorta
    def __init__(self, parent=None):
        super().__init__()
        self.setupUi(self)
        self.setWindowTitle('Vorta for Borg Backup')
        self.app = parent
        self.setWindowIcon(get_colored_icon("icon"))
        self.setWindowFlags(QtCore.Qt.WindowCloseButtonHint
                            | QtCore.Qt.WindowMinimizeButtonHint)
        self.createStartBtn = LoadingButton(self.tr("Start Backup"))
        self.gridLayout.addWidget(self.createStartBtn, 0, 0, 1, 1)
        self.createStartBtn.setGif(get_asset("icons/loading"))

        # Use previous window state
        previous_window_width = SettingsModel.get(key='previous_window_width')
        previous_window_height = SettingsModel.get(
            key='previous_window_height')
        self.resize(int(previous_window_width.str_value),
                    int(previous_window_height.str_value))

        # Select previously used profile, if available
        prev_profile_id = SettingsModel.get(key='previous_profile_id')
        self.current_profile = BackupProfileModel.get_or_none(
            id=prev_profile_id.str_value)
        if self.current_profile is None:
            self.current_profile = BackupProfileModel.select().order_by(
                'name').first()

        # Load tab models
        self.repoTab = RepoTab(self.repoTabSlot)
        self.sourceTab = SourceTab(self.sourceTabSlot)
        self.archiveTab = ArchiveTab(self.archiveTabSlot, app=self.app)
        self.scheduleTab = ScheduleTab(self.scheduleTabSlot)
        self.miscTab = MiscTab(self.miscTabSlot)
        self.miscTab.set_borg_details(borg_compat.version, borg_compat.path)
        self.tabWidget.setCurrentIndex(0)

        self.repoTab.repo_changed.connect(
            self.archiveTab.populate_from_profile)
        self.repoTab.repo_changed.connect(
            self.scheduleTab.populate_from_profile)
        self.repoTab.repo_added.connect(self.archiveTab.list_action)

        self.createStartBtn.clicked.connect(self.app.create_backup_action)
        self.cancelButton.clicked.connect(self.app.backup_cancelled_event.emit)

        QShortcut(QKeySequence("Ctrl+W"),
                  self).activated.connect(self.on_close_window)
        QShortcut(QKeySequence("Ctrl+Q"),
                  self).activated.connect(self.on_close_window)

        self.app.backup_started_event.connect(self.backup_started_event)
        self.app.backup_finished_event.connect(self.backup_finished_event)
        self.app.backup_log_event.connect(self.set_log)
        self.app.backup_progress_event.connect(self.set_progress)
        self.app.backup_cancelled_event.connect(self.backup_cancelled_event)

        # Init profile list
        self.populate_profile_selector()
        self.profileSelector.currentIndexChanged.connect(
            self.profile_select_action)
        self.profileRenameButton.clicked.connect(self.profile_rename_action)
        self.profileExportButton.clicked.connect(self.profile_export_action)
        self.profileDeleteButton.clicked.connect(self.profile_delete_action)
        profile_add_menu = QMenu()
        profile_add_menu.addAction(self.tr('Import from file...'),
                                   self.profile_import_action)
        self.profileAddButton.setMenu(profile_add_menu)
        self.profileAddButton.clicked.connect(self.profile_add_action)

        # OS-specific startup options:
        if not get_network_status_monitor().is_network_status_available():
            # Hide Wifi-rule section in schedule tab.
            self.scheduleTab.wifiListLabel.hide()
            self.scheduleTab.wifiListWidget.hide()
            self.scheduleTab.page_2.hide()
            self.scheduleTab.toolBox.removeItem(1)

        # Connect to existing thread.
        if self.app.jobs_manager.is_worker_running():
            self.createStartBtn.setEnabled(False)
            self.createStartBtn.start()
            self.cancelButton.setEnabled(True)

        self.set_icons()
コード例 #6
0
ファイル: main_window.py プロジェクト: borgbase/vorta
 def set_icons(self):
     self.profileAddButton.setIcon(get_colored_icon('plus'))
     self.profileRenameButton.setIcon(get_colored_icon('edit'))
     self.profileExportButton.setIcon(get_colored_icon('file-import-solid'))
     self.profileDeleteButton.setIcon(get_colored_icon('trash'))
コード例 #7
0
 def set_icons(self):
     self.toolBox.setItemIcon(0, get_colored_icon('clock-o'))
     self.toolBox.setItemIcon(1, get_colored_icon('wifi'))
     self.toolBox.setItemIcon(2, get_colored_icon('tasks'))
     self.toolBox.setItemIcon(3, get_colored_icon('terminal'))
コード例 #8
0
ファイル: repo_add_dialog.py プロジェクト: borgbase/vorta
 def set_icons(self):
     self.chooseLocalFolderButton.setIcon(get_colored_icon('folder-open'))
     self.useRemoteRepoButton.setIcon(get_colored_icon('globe'))
     self.showHideAction.setIcon(get_colored_icon("eye"))