Fixed progress bars
Partial fix - the progress bars now move, although they do not really indicate progress (just dance back and forth). Future fix would include making a tray icon to signal backup progress instead.
This commit is contained in:
parent
78b4747e81
commit
a4a58cc527
@ -47,8 +47,6 @@ import time
|
|||||||
|
|
||||||
class BackupVMsWindow(ui_backupdlg.Ui_Backup, multiselectwidget.QtGui.QWizard):
|
class BackupVMsWindow(ui_backupdlg.Ui_Backup, multiselectwidget.QtGui.QWizard):
|
||||||
|
|
||||||
__pyqtSignals__ = ("backup_progress(int)",)
|
|
||||||
|
|
||||||
def __init__(self, app, qvm_collection, parent=None):
|
def __init__(self, app, qvm_collection, parent=None):
|
||||||
super(BackupVMsWindow, self).__init__(parent)
|
super(BackupVMsWindow, self).__init__(parent)
|
||||||
|
|
||||||
@ -77,8 +75,6 @@ class BackupVMsWindow(ui_backupdlg.Ui_Backup, multiselectwidget.QtGui.QWizard):
|
|||||||
self.connect(self.select_vms_widget,
|
self.connect(self.select_vms_widget,
|
||||||
QtCore.SIGNAL("items_added(PyQt_PyObject)"),
|
QtCore.SIGNAL("items_added(PyQt_PyObject)"),
|
||||||
self.vms_added)
|
self.vms_added)
|
||||||
self.connect(self, QtCore.SIGNAL("backup_progress(int)"),
|
|
||||||
self.progress_bar.setValue)
|
|
||||||
self.dir_line_edit.connect(self.dir_line_edit,
|
self.dir_line_edit.connect(self.dir_line_edit,
|
||||||
QtCore.SIGNAL("textChanged(QString)"),
|
QtCore.SIGNAL("textChanged(QString)"),
|
||||||
self.backup_location_changed)
|
self.backup_location_changed)
|
||||||
@ -247,17 +243,10 @@ class BackupVMsWindow(ui_backupdlg.Ui_Backup, multiselectwidget.QtGui.QWizard):
|
|||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def update_progress_bar(self, value):
|
|
||||||
self.emit(QtCore.SIGNAL("backup_progress(int)"), value)
|
|
||||||
|
|
||||||
def __do_backup__(self, t_monitor):
|
def __do_backup__(self, t_monitor):
|
||||||
msg = []
|
msg = []
|
||||||
|
|
||||||
try:
|
try:
|
||||||
# TODO: this does nothing, events are not handled
|
|
||||||
events_dispatcher = events.EventsDispatcher(self.app)
|
|
||||||
events_dispatcher.add_handler('backup-progress',
|
|
||||||
self.update_progress_bar)
|
|
||||||
vm = self.qvm_collection.domains[
|
vm = self.qvm_collection.domains[
|
||||||
self.appvm_combobox.currentText()]
|
self.appvm_combobox.currentText()]
|
||||||
if not vm.is_running():
|
if not vm.is_running():
|
||||||
@ -328,6 +317,7 @@ class BackupVMsWindow(ui_backupdlg.Ui_Backup, multiselectwidget.QtGui.QWizard):
|
|||||||
self.tr("ERROR: {}").format(
|
self.tr("ERROR: {}").format(
|
||||||
self.thread_monitor.error_msg))
|
self.thread_monitor.error_msg))
|
||||||
else:
|
else:
|
||||||
|
self.progress_bar.setMaximum(100)
|
||||||
self.progress_bar.setValue(100)
|
self.progress_bar.setValue(100)
|
||||||
self.progress_status.setText(self.tr("Backup finished."))
|
self.progress_status.setText(self.tr("Backup finished."))
|
||||||
if self.showFileDialog.isChecked():
|
if self.showFileDialog.isChecked():
|
||||||
|
@ -47,8 +47,6 @@ from qubesadmin.backup import restore
|
|||||||
|
|
||||||
class RestoreVMsWindow(ui_restoredlg.Ui_Restore, QtGui.QWizard):
|
class RestoreVMsWindow(ui_restoredlg.Ui_Restore, QtGui.QWizard):
|
||||||
|
|
||||||
__pyqtSignals__ = ("restore_progress(int)", "backup_progress(int)")
|
|
||||||
|
|
||||||
def __init__(self, app, qvm_collection, parent=None):
|
def __init__(self, app, qvm_collection, parent=None):
|
||||||
super(RestoreVMsWindow, self).__init__(parent)
|
super(RestoreVMsWindow, self).__init__(parent)
|
||||||
|
|
||||||
@ -76,14 +74,9 @@ class RestoreVMsWindow(ui_restoredlg.Ui_Restore, QtGui.QWizard):
|
|||||||
self.connect(self,
|
self.connect(self,
|
||||||
QtCore.SIGNAL("restore_progress(QString)"),
|
QtCore.SIGNAL("restore_progress(QString)"),
|
||||||
self.commit_text_edit.append)
|
self.commit_text_edit.append)
|
||||||
self.connect(self,
|
|
||||||
QtCore.SIGNAL("backup_progress(int)"),
|
|
||||||
self.progress_bar.setValue)
|
|
||||||
self.dir_line_edit.connect(self.dir_line_edit,
|
self.dir_line_edit.connect(self.dir_line_edit,
|
||||||
QtCore.SIGNAL("textChanged(QString)"),
|
QtCore.SIGNAL("textChanged(QString)"),
|
||||||
self.backup_location_changed)
|
self.backup_location_changed)
|
||||||
self.connect(self.verify_only, QtCore.SIGNAL("stateChanged(int)"),
|
|
||||||
self.on_verify_only_toogled)
|
|
||||||
|
|
||||||
self.select_dir_page.isComplete = self.has_selected_dir
|
self.select_dir_page.isComplete = self.has_selected_dir
|
||||||
self.select_vms_page.isComplete = self.has_selected_vms
|
self.select_vms_page.isComplete = self.has_selected_vms
|
||||||
@ -157,13 +150,9 @@ class RestoreVMsWindow(ui_restoredlg.Ui_Restore, QtGui.QWizard):
|
|||||||
QtCore.SIGNAL("restore_progress(QString)"),
|
QtCore.SIGNAL("restore_progress(QString)"),
|
||||||
u'<font color="black">{0}</font>'.format(text)))
|
u'<font color="black">{0}</font>'.format(text)))
|
||||||
|
|
||||||
def update_progress_bar(self, value):
|
|
||||||
self.feedback_queue.put((QtCore.SIGNAL("backup_progress(int)"), value))
|
|
||||||
|
|
||||||
def __do_restore__(self, t_monitor):
|
def __do_restore__(self, t_monitor):
|
||||||
err_msg = []
|
err_msg = []
|
||||||
try:
|
try:
|
||||||
self.backup_restore.progress_callback = self.update_progress_bar
|
|
||||||
self.backup_restore.restore_do(self.vms_to_restore)
|
self.backup_restore.restore_do(self.vms_to_restore)
|
||||||
|
|
||||||
except backup.BackupCanceledError as ex:
|
except backup.BackupCanceledError as ex:
|
||||||
@ -276,6 +265,7 @@ class RestoreVMsWindow(ui_restoredlg.Ui_Restore, QtGui.QWizard):
|
|||||||
file_dialog.getExistingDirectory(
|
file_dialog.getExistingDirectory(
|
||||||
self, self.tr("Detach backup device"),
|
self, self.tr("Detach backup device"),
|
||||||
os.path.dirname(self.dir_line_edit.text()))
|
os.path.dirname(self.dir_line_edit.text()))
|
||||||
|
self.progress_bar.setMaximum(100)
|
||||||
self.progress_bar.setValue(100)
|
self.progress_bar.setValue(100)
|
||||||
self.button(self.FinishButton).setEnabled(True)
|
self.button(self.FinishButton).setEnabled(True)
|
||||||
self.button(self.CancelButton).setEnabled(False)
|
self.button(self.CancelButton).setEnabled(False)
|
||||||
|
@ -214,23 +214,12 @@
|
|||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string> </string>
|
<string/>
|
||||||
</property>
|
</property>
|
||||||
<property name="checked">
|
<property name="checked">
|
||||||
<bool>true</bool>
|
<bool>true</bool>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
<zorder>checkBox</zorder>
|
|
||||||
<zorder>groupBox_2</zorder>
|
|
||||||
<zorder>groupBox_2</zorder>
|
|
||||||
<zorder>label_8</zorder>
|
|
||||||
<zorder>save_profile_checkbox</zorder>
|
|
||||||
<zorder>groupBox_2</zorder>
|
|
||||||
<zorder>label_8</zorder>
|
|
||||||
<zorder>label_8</zorder>
|
|
||||||
<zorder>save_profile_checkbox</zorder>
|
|
||||||
<zorder>label_8</zorder>
|
|
||||||
<zorder>save_profile_checkbox</zorder>
|
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="2" column="0">
|
<item row="2" column="0">
|
||||||
@ -360,6 +349,9 @@ p, li { white-space: pre-wrap; }
|
|||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QProgressBar" name="progress_bar">
|
<widget class="QProgressBar" name="progress_bar">
|
||||||
|
<property name="maximum">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
<property name="value">
|
<property name="value">
|
||||||
<number>0</number>
|
<number>0</number>
|
||||||
</property>
|
</property>
|
||||||
|
@ -244,6 +244,9 @@ p, li { white-space: pre-wrap; }
|
|||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QProgressBar" name="progress_bar">
|
<widget class="QProgressBar" name="progress_bar">
|
||||||
|
<property name="maximum">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
<property name="value">
|
<property name="value">
|
||||||
<number>0</number>
|
<number>0</number>
|
||||||
</property>
|
</property>
|
||||||
|
Loading…
Reference in New Issue
Block a user