Commit Graph

845 Commits

Author SHA1 Message Date
Marek Marczykowski-Górecki
8d99fdd11b
Remove all dbus references
Including package dependencies
2018-09-12 16:32:37 +02:00
Marta Marczykowska-Górecka
3ad70484e6
Corrections as requested by @marmarek 2018-09-12 16:23:14 +02:00
Marta Marczykowska-Górecka
a761875b60
Pylint fixes 2018-09-10 18:04:45 +02:00
Marta Marczykowska-Górecka
4fc295e6a7
Added AdminAPI events to Qube Manager
rewritten parts of Qube Manager to use AdminAPI events (with quamash
to combine PyQt with asyncio).

hopefully fixes QubesOS/qubes-issues#4116
hopefully fixes QubesOS/qubes-issues#4258
hopefully fixes QubesOS/qubes-issues#4244
obsoletes/fixes QubesOS/qubes-issues#4190
hopefully fixes QubesOS/qubes-issues#3675
2018-09-10 17:48:14 +02:00
Marta Marczykowska-Górecka
20ee51f3d1
Fixed error with asynchronous handling of VM remove and VM halting
It will hopefully fix QubesOS/qubes-issues#4163 .

references QubesOS/qubes-issues#4163
2018-08-06 21:53:09 +02:00
Marek Marczykowski-Górecki
146ce683f7
Merge remote-tracking branch 'qubesos/pr/122'
* qubesos/pr/122:
  And also fixed problem with setting default template to None
  Fixed problem with setting default_dispvm to None in Global Settings
2018-07-24 01:39:33 +02:00
Marta Marczykowska-Górecka
a4c63cc939
And also fixed problem with setting default template to None
The bug was the same.
2018-07-22 23:57:50 +02:00
Marta Marczykowska-Górecka
6377983f9a
Fixed problem with setting default_dispvm to None in Global Settings
fixes QubesOS/qubes-issues#4114
2018-07-22 23:55:09 +02:00
Marta Marczykowska-Górecka
7b29a044d6
Fixed column widths in Qube Manager
Columns were resizing incorrectly (with too large minimums).

fixes QubesOS/qubes-issues#4002
2018-07-20 23:14:06 +02:00
Marta Marczykowska-Górecka
5e52b16fd3
Minor changes as requested
Minor changes as requested by @marmarek
2018-07-20 17:48:39 +02:00
Marta Marczykowska-Górecka
027abd8ac3
Pylint corrections
Pylint 2.0 was complaining. Cosmetic fixes to make it stop.
2018-07-20 00:25:27 +02:00
Christopher Laprise
b2fdbb950a
Handling VM dependencies in GUI tools
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 ca848ca7bd

fixes QubesOS/qubes-issues#3992
fixes QubesOS/qubes-issues#3993
fixes QubesOS/qubes-issues#3892
fixes QubesOS/qubes-issues#3499
2018-07-20 00:03:37 +02:00
Marta Marczykowska-Górecka
d46bf2aa8e
Improved communication on Remove VM in Qube Manager
When a user tries to remove a VM that's used by other VMs
or Global Settings from Qube Manager, they get information
about where the VM is used.

Depends on https://github.com/QubesOS/qubes-core-admin-client/pull/73
2018-07-18 23:51:37 +02:00
Marek Marczykowski-Górecki
b8c1ec8dac
Merge remote-tracking branch 'qubesos/pr/119'
* qubesos/pr/119:
  Make Qube Manager remember its size from last time
2018-07-17 15:57:59 +02:00
Marek Marczykowski-Górecki
9bb6a8cc94
Merge remote-tracking branch 'qubesos/pr/118'
* qubesos/pr/118:
  Fixed incorrect kernel display in VM settings
2018-07-17 15:56:09 +02:00
Marta Marczykowska-Górecka
e5dee2d70c
Make Qube Manager remember its size from last time
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.

fixes QubesOS/qubes-issues#4049
2018-07-16 18:47:07 +02:00
Marta Marczykowska-Górecka
af5aa233bb
Fixed incorrect kernel display in VM settings
Kernel set to 'None' was incorrectly displayed as 'default'.

fixes QubesOS/qubes-issues#4043
2018-07-16 17:35:35 +02:00
Marek Marczykowski-Górecki
18d45e53c6
Merge remote-tracking branch 'qubesos/pr/115'
* qubesos/pr/115:
  Make 'NetVm' column in Qube Manager clearer with regars to defaults
2018-07-16 14:15:12 +02:00
Marta Marczykowska-Górecka
7fb41f5cd6
Make 'NetVm' column in Qube Manager clearer with regars to defaults
When a VM has netvm set to 'default', now Qube Manager will display
'(default)' in front of the netvm's name.

references QubesOS/qubes-issues#3567
2018-07-16 14:07:27 +02:00
Marek Marczykowski-Górecki
f62aeb51d6
Merge remote-tracking branch 'qubesos/pr/116'
* qubesos/pr/116:
  Add a list of Suggested Services to VM settings
2018-07-16 13:52:47 +02:00
Marta Marczykowska-Górecka
6f4870bc8d
Changes to for pylint 2.0
Fixes to make pylint 2.0 stop complaining.
2018-07-16 02:17:48 +02:00
Marta Marczykowska-Górecka
63a202f3bd
Add a list of Suggested Services to VM settings
Added a list of suggested services to the Services tab in VM Settings.
The list is drawn from man qvm-services (manually, not automatically).

fixes QubesOS/qubes-issues#3891
2018-07-16 01:33:20 +02:00
Marta Marczykowska-Górecka
3f0af4498c
Fixed VM name validation in GUI tools (Create VM, Settings, Manager)
VM name validation in various places in Manager did not allow a
perfectly legal '_' character.

references QubesOS/qubes-issues#2422
2018-07-13 21:05:00 +02:00
Marek Marczykowski-Górecki
0a44c931da
Merge remote-tracking branch 'qubesos/pr/109'
* qubesos/pr/109:
  Pylint whitespace fix
  Fixed Backup GUI size
  Add option to turn off computer after backup to Backup GUI
2018-07-12 23:47:35 +02:00
Marek Marczykowski-Górecki
0c103e08b7
Merge remote-tracking branch 'qubesos/pr/106'
* qubesos/pr/106:
  Offset context menu in Manager to avoid accidental clicks
2018-07-12 23:42:55 +02:00
Marek Marczykowski-Górecki
5e4ac80ed2
Merge remote-tracking branch 'qubesos/pr/105'
* qubesos/pr/105:
  Remove templates from listing in UpdateVM and ClockVm in Global Settings
2018-07-12 23:41:47 +02:00
Marek Marczykowski-Górecki
bd7d3e576a
Merge remote-tracking branch 'qubesos/pr/103'
* 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
2018-07-12 23:40:15 +02:00
Marta Marczykowska-Górecka
9d16bec870
Pylint whitespace fix
Removed superfluous whitespace.
2018-07-12 23:31:30 +02:00
Marek Marczykowski-Górecki
635171c4f4
Merge remote-tracking branch 'qubesos/pr/100'
* qubesos/pr/100:
  Modified Qube Manager menu for dom0
2018-07-12 23:27:53 +02:00
Marta Marczykowska-Górecka
80b3a82963
Add option to turn off computer after backup to Backup GUI
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).

fixes QubesOS/qubes-issues#2039
2018-07-12 22:47:02 +02:00
Marta Marczykowska-Górecka
5bdca303b1
Offset context menu in Manager to avoid accidental clicks
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.

fixes QubesOS/qubes-issues#1911
2018-07-12 21:47:01 +02:00
Marta Marczykowska-Górecka
efa2b2d858
Remove templates from listing in UpdateVM and ClockVm in Global Settings
A user should not be able to set a TemplateVM as an UpdateVM or ClockVM
in Global Settings.

fixes QubesOS/qubes-issues#1831
2018-07-12 21:22:15 +02:00
Marta Marczykowska-Górecka
2f2217060e
Modified Qube Manager menu for dom0
Instead of generic menu with almost everything grayed-out, now
context menu for dom0 has only Global Settings, Logs and update.

references QubesOS/qubes-issues#1382
fixes QubesOS/qubes-issues#1165
2018-07-12 15:38:27 +02:00
donoban
d886983c02
Fixed identation and other problems on merge 2018-07-12 02:00:17 +02:00
donoban
8096a50f7f
Merge remote-tracking branch 'upstream/master'
# Conflicts:
#	qubesmanager/table_widgets.py
2018-07-12 01:42:36 +02:00
donoban
5ddd029d34
Fix minor performance bug 2018-07-12 01:26:34 +02:00
Marek Marczykowski-Górecki
b0e275bb3e
Merge remote-tracking branch 'qubesos/pr/101'
* qubesos/pr/101:
  Removed 'close window' button in progress dialogs in Qube Manager
2018-07-12 01:23:45 +02:00
donoban
1d80837cd0
Removed unneeded manual sort
Same its called later during init process
2018-07-12 01:22:28 +02:00
donoban
14f58fe8c1
Avoid lag on loading dialog 2018-07-12 01:21:04 +02:00
donoban
632f23c298
Removed unneeded try/except 2018-07-12 01:19:20 +02:00
donoban
bd919e44c1
Protect update() from accesing deleted domains 2018-07-12 01:17:48 +02:00
donoban
06f7262140
Sort performance boost
Cached all variables used by sort functions
2018-07-12 01:10:00 +02:00
Marta Marczykowska-Górecka
ce80245626
Removed 'close window' button in progress dialogs in Qube Manager
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.

fixes QubesOS/qubes-issues#1479
2018-07-11 17:58:56 +02:00
Marta Marczykowska-Górecka
d4ecd23d0a
Correct sorting of VMs in Qube Manager
Fixed two situations in which there was no sub-sorting alphabetically.

fixes QubesOS/qubes-issues#1022
2018-07-11 16:13:26 +02:00
Marek Marczykowski-Górecki
16ced0466a
Merge remote-tracking branch 'qubesos/pr/97'
* qubesos/pr/97:
  Fixed error with large logs
  Log dialog viewer as a separate tool
2018-06-27 03:28:32 +02:00
Marek Marczykowski-Górecki
7a5c304c1e
Merge remote-tracking branch 'qubesos/pr/95'
* 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.
2018-06-27 03:07:46 +02:00
Marta Marczykowska-Górecka
4933c6b580
Fixed error with large logs
Due to change in file.seek() behavior, the log
viewer errorer when faced with a very large file.
2018-06-20 23:08:22 +02:00
Marta Marczykowska-Górecka
6b206d2050
Log dialog viewer as a separate tool
Added entry point and main() to enable
using log viewer as a separate tool.
2018-06-20 21:01:49 +02:00
donoban
3b1057c2e9
Revert last and removed pylint disables 2018-06-14 01:28:07 +02:00
donoban
877eeaac2a
Added BaseException 2018-06-13 21:38:39 +02:00
Marta Marczykowska-Górecka
8de26419c1
Fixed a bug with warnings not modal in VM Settings
Warnings and error messages in VM settings were not
modal and thus could be erroneously hidden.

fixes QubesOS/qubes-issues#3959
2018-06-12 22:50:03 +02:00
donoban
34bcabd79a
Show updates pending while running domain
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.
2018-06-12 11:42:07 +02:00
donoban
52c38b67c6
Fix search coherence when adding a domain
A new domain was not properly filtered with the current
search string
2018-06-11 21:20:18 +02:00
donoban
9101f35245
Last no-member 2018-06-11 03:18:11 +02:00
donoban
b8d1cc4205
Try with disable=no-member 2018-06-11 03:06:35 +02:00
donoban
643147f525
Another try for travis 2018-06-11 02:46:31 +02:00
donoban
0c4047ffde
Disable no-name-in-module
Maybe travis works this way
2018-06-11 02:26:02 +02:00
donoban
2a437bcfc4
Fix pylint warnings 2018-06-11 01:56:10 +02:00
donoban
b8cb0f625b
Fix very unlikely case when user right clicks the VM in the exact moment he
deletes it.
2018-05-31 00:47:38 +02:00
donoban
cb5bc16948
Don't close the settings window if something failed when renaming
e.g. the VM name already exists
2018-05-31 00:39:34 +02:00
donoban
4d103562bd
Revert "Since __lt__ methods are safe, is not needed to stop and reenable sorting."
This reverts commit ac92bb5fdf.
2018-05-31 00:27:37 +02:00
donoban
47e83f2039
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
2018-05-31 00:11:30 +02:00
donoban
ac92bb5fdf
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.
2018-05-31 00:09:34 +02:00
donoban
ae23443608
Added try/except for all __lt__() methods since some VM could be deleted
before the signal is received and handled.

It fixes renaming a VM and deleting two domains at same time.
2018-05-31 00:04:46 +02:00
Marek Marczykowski-Górecki
85dc0f9083
Merge remote-tracking branch 'qubesos/pr/94'
* qubesos/pr/94:
  Fix for bug in VM Settings
2018-05-22 03:51:31 +02:00
Marek Marczykowski-Górecki
24a5850507
Merge remote-tracking branch 'qubesos/pr/93'
* qubesos/pr/93:
  Tiny fix to make pylint stop complaining
  Fixes unwanted behavior in VM settings
2018-05-22 03:50:16 +02:00
Marek Marczykowski-Górecki
5b752fc55b
Merge remote-tracking branch 'qubesos/pr/91'
* 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)
  ...
2018-05-22 03:30:21 +02:00
donoban
045c3bf98e
Fix long line warning 2018-05-20 22:14:31 +02:00
donoban
fe6a477074
Pretty confusion with regex trying to make travis happy 2018-05-20 22:00:34 +02:00
donoban
b5808296bf
Added exceptions for domain add and remove 2018-05-20 21:50:40 +02:00
donoban
8327e32e1f
Fix pylint and travis errors 2018-05-20 21:30:50 +02:00
Marta Marczykowska-Górecka
d3bd164e2f
Tiny fix to make pylint stop complaining 2018-05-17 19:58:44 +02:00
Marta Marczykowska-Górecka
455fea7d37
Fix for bug in VM Settings
Adding a nonexisting service will no longer add "any" service.
2018-05-17 19:56:28 +02:00
Marta Marczykowska-Górecka
744ddfcc80
Fixes unwanted behavior in VM settings
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
2018-05-17 19:41:20 +02:00
donoban
edbc4c4469
Fix misspelling on Updates Timer() and better timeout
This func is pretty cheap, less than 0.1ms adding two calls to print(time)
so I think 30s is a reasonable timeout and better for user experience
2018-05-11 10:27:19 +02:00
Peter Gerber
031ad02ff6
Settings window: do not crash when there is no firewall rule
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
2018-05-11 01:24:22 +00:00
donoban
c43a47019e
Added missing updates() method for some widget
internal, ip, include_in_backups and last_backup
2018-05-10 17:59:07 +02:00
donoban
a77cc5172d
Fix missing template updates-available 2018-05-10 10:04:17 +02:00
donoban
78ba3057eb
Added startup progress dialog 2018-05-10 09:49:22 +02:00
donoban
1dcfc6e634
Removed debug print 2018-05-09 19:42:45 +02:00
donoban
224c8708fc
Outdated state cleanup
Fixes problems showing 'outdated' instead 'to-be-outdated' when template is running

Fixes the removal of the icon calling setVisible(False) before removeWidget()
2018-05-09 19:39:41 +02:00
donoban
e2fccf592a
Revert "Removed progress wait when updating template"
This reverts commit 9633f6e9c6.
2018-05-09 15:50:39 +02:00
donoban
ce07b9dcb1
This tries to fix some rare case when it stops receieving dbus events 2018-05-09 14:37:46 +02:00
donoban
806915f834
Added Timer for template updates
Since there is no template updates dbus events, we need to check it periodically
2018-05-09 14:36:39 +02:00
donoban
bc07e37266
Refresh table selection when pause/resume
Since them dont have dbus events we need to manually update the selection
2018-05-09 12:05:07 +02:00
donoban
e2e66cbccb
Added calls to table_selection_changed()
If row updated is the selected row we need to update start/pause/stop buttons
2018-05-09 11:48:19 +02:00
donoban
027d106507
VmRowInTable dbus events moved to VmManagerWindow
Since we need to do some updates affecting all vms or the Window itself, this is a better place for handling this.
2018-05-09 11:31:44 +02:00
donoban
bfc54b779f
- Removed unnedeed calls to vms_in_table[vm.qid].update()
- Fixed unpause case where it was not properly updated
2018-05-07 22:50:13 +02:00
donoban
5e6c0539c2
- Removed update_single_row() and add direct calls to update()
(Some of them could be deleted since dbus events will handle them)

- Removed update_table() and TODO refering dbus events
2018-05-07 22:26:39 +02:00
donoban
5b846a73cc
Removed unneeded calls to table.update() 2018-05-07 22:21:17 +02:00
donoban
8753119327
Initial version with dbus
- Added connections for PropertiesChanged for each VM in VmRowInTable
- DomainAdded/Removed handled in VmManager
2018-05-07 21:10:15 +02:00
donoban
ddf2e73f20
- Remove some stuff on fill_table since its only called once on startup
- 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
2018-05-07 20:50:20 +02:00
donoban
be055d8b41
Revert order of fill_table() and show() and removed the timer
This does not seem to have any problem and the manager window appears already filled which seems more user friendly
2018-05-07 13:30:03 +02:00
donoban
07d36a9149
Added update() methods on some widgets for update them without recreating
Fixed some problems with update/status notifications, probably need some additional tunning
2018-05-07 13:17:43 +02:00
donoban
9633f6e9c6
Removed progress wait when updating template 2018-05-03 11:34:11 +02:00
Marta Marczykowska-Górecka
5cfa0bb9c0
Fix bug in Qube Manager
Accidentaly, the fix significantly improves start time (at least on two
of my machines).

fixes QubesOS/qubes-issues#3760
2018-03-30 01:15:23 +02:00
Marek Marczykowski-Górecki
f74783af7e
Merge remote-tracking branch 'qubesos/pr/84'
* qubesos/pr/84:
  Tiny fix for Qube Manager params
2018-03-28 18:02:16 +02:00
Marta Marczykowska-Górecka
674b80613d
Tiny fix for Qube Manager params
Made Qube Manager params consistent with other manager
tools (first Qt, then Qubes).
2018-03-28 17:43:57 +02:00
Marek Marczykowski-Górecki
d4324d4873
Merge remote-tracking branch 'qubesos/pr/83'
* qubesos/pr/83:
  Fix for updates-available in qube-manager
2018-03-28 17:36:20 +02:00
Marek Marczykowski-Górecki
91fbc43b5e
Merge remote-tracking branch 'qubesos/pr/82'
* qubesos/pr/82:
  Check if VM needs killing before murdering it
2018-03-28 16:42:55 +02:00