Otherwise it can casue an error:
RuntimeError: wrapped C/C++ object of type QProgressBar has been deleted
at line 1277
of file /usr/lib/python3.5/site-packages/qubesmanager/qube_manager.py.
I don't know how to avoid it.
Since now it's modeless, user could have already it opened
but we have to destroy it and recreate when closed for vm list
being refreshed (at least for now)
Simple design and better performance, just start() thread and finished
call back will show any error or msg, stop progress dialog and do cleanup.
Full remove of QT process_events() calls.
This is the recommended QT way for updating the progress bar.
setMininumDuration() sets the time when the progress dialog will appear,
if it finishes before it won't be shown. Qt default is 4 seconds, maybe
pretty high for this case.
I am not sure what this wants, but it seems that doesn't affect
xfce but on kde does the progress bar appear randomly in the screen
without it on both cases it appears at center of screen
* origin/pr/89:
Changes as requested by @marmarek
Added instructions for tests
Initials tests for qube manager
Backup tests
Tests for Backup
Numbered tests for Global Settings
Removed unused import from global settings test
Tests for global settings
Added the following reactions ot VM dependencies in GUI tools:
- Qube Manager will inform the user why they cannot delete a VM (which
properties of which VMS [or global] are using the VM)
- Settings window will try to intelligently rename VMs (change
properties to the new name, if possible, and inform the user what went
wrong if not)
- Settings window will inform the user why they cannot delete a VM
Also, renaming VM from Settings launched from Qube Manager will
refresh the VM list through a horrible hack, to be replaced by a neater
Admin API solution in some near future.
depends on ca848ca7bdfixesQubesOS/qubes-issues#3992fixesQubesOS/qubes-issues#3993fixesQubesOS/qubes-issues#3892fixesQubesOS/qubes-issues#3499
Qube Manager will now remember its size from last time it was run, and
also it will no longer force itself to appear at top left corner of
the screen.
fixesQubesOS/qubes-issues#4049
Added a list of suggested services to the Services tab in VM Settings.
The list is drawn from man qvm-services (manually, not automatically).
fixesQubesOS/qubes-issues#3891
* qubesos/pr/103:
Fixed identation and other problems on merge
Fix minor performance bug
Removed unneeded manual sort
Avoid lag on loading dialog
Removed unneeded try/except
Protect update() from accesing deleted domains
Sort performance boost
A simple checkbox to turn off the computer after backup finishes
successfully. It is off by default and must be switched on every time
(unexpected system shutdowns are a huge pain, much more problematic
than forgetting to shut down can be).
fixesQubesOS/qubes-issues#2039
Small fix to Qubes Manager to open the context menu slightly to the
right of the mouse to avoid accidental clicks. Originally created by
@unman , ported to 4.0 and including changes to context menu from
pull request#100.
fixesQubesOS/qubes-issues#1911
The ability to close window suggested to the user (falsely) that
they can close the window and thus abort the operation (like deleting
a VM). To avoid confusion, the button has been exorcised.
fixesQubesOS/qubes-issues#1479
* qubesos/pr/95:
Revert last and removed pylint disables
Added BaseException
Show updates pending while running domain
Fix search coherence when adding a domain
Last no-member
Try with disable=no-member
Another try for travis
Disable no-name-in-module
Fix pylint warnings
Fix very unlikely case when user right clicks the VM in the exact moment he deletes it.
Don't close the settings window if something failed when renaming e.g. the VM name already exists
Revert "Since __lt__ methods are safe, is not needed to stop and reenable sorting."
Added standalone VM's to check_updates() Also added an initial call when creating the timer, most users will look for updates inmediately after start the manager
Since __lt__ methods are safe, is not needed to stop and reenable sorting. It causes a short freeze of the main window when reenabling, so better removing it.
Added try/except for all __lt__() methods since some VM could be deleted before the signal is received and handled.
Maybe it is not useful for templates but I think it is better for StandaloneVMs since you will not notice pending updates until shutdown them with the other version.
* qubesos/pr/91: (27 commits)
Fix long line warning
Pretty confusion with regex trying to make travis happy
Added exceptions for domain add and remove
Fix pylint and travis errors
Fix misspelling on Updates Timer() and better timeout
Added missing updates() method for some widget
Fix missing template updates-available
Added startup progress dialog
More elegant fix for settings size
Removed debug print
Outdated state cleanup
Revert "Removed progress wait when updating template"
This tries to fix some rare case when it stops receieving dbus events
Added Timer for template updates
Refresh table selection when pause/resume
Added calls to table_selection_changed()
VmRowInTable dbus events moved to VmManagerWindow
Set settings dialog to minimun size, it gets adjusted properly to good view
- Removed unnedeed calls to vms_in_table[vm.qid].update()
- Removed update_single_row() and add direct calls to update() (Some of them could be deleted since dbus events will handle them)
...
Whenever Enter was pressed, the Settings window
closed and applied changes, which was very unintuitive
especially in case of Services tab.
references QubesOS/qubes-issues#3891
When all firewall rules are removed, qubes-vm-settings crashed
trying to check if the last rule accepts or drops all packages.
It is now verifies that there is a last rule.
Also, it is now properly verified that the last rule accept
or drops all packages.
Associated stack trace:
----
line: last_rule = reversed_rules.pop(0)
func: get_firewall_conf
line no.: 227
file: /usr/lib/python3.5/site-packages/qubesmanager/firewall.py
----
line: conf = self.get_firewall_conf(vm)
func: set_vm
line no.: 308
file: /usr/lib/python3.5/site-packages/qubesmanager/firewall.py
----
line: model.set_vm(vm)
func: __init__
line no.: 111
file: /usr/lib/python3.5/site-packages/qubesmanager/settings.py
----
line: settings_window = VMSettingsWindow(vm, qapp, args.tab)
func: main
line no.: 1133
file: /usr/lib/python3.5/site-packages/qubesmanager/settings.py
----
line: load_entry_point('qubesmanager==4.0.17', 'console_scripts', 'qubes-vm-settings')()
func: <module>
line no.: 9
file: /usr/bin/qubes-vm-settings
Fixes problems showing 'outdated' instead 'to-be-outdated' when template is running
Fixes the removal of the icon calling setVisible(False) before removeWidget()
- Removed table.setEnabled/Disabled tweak since I dont see any improvement, maybe because
fill_table() is only called without the window shown
- Removed unneeded update_table() calls, dbus events will handle them