Commit Graph

156 Commits

Author SHA1 Message Date
donoban
0ce73df57d
Use 'qube' instead 'Qube' 2018-11-25 18:16:40 +01:00
donoban
a39f3a64d0
Create backup_window on the stack
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.
2018-11-18 20:14:57 +01:00
Marta Marczykowska-Górecka
8098466a07
Fix error in qube manager
In some cases (when a VM quickly appears and disappears)
the events were handled in a wrong order.

fixes QubesOS/qubes-issues#4414
2018-10-29 23:00:59 +01:00
donoban
fd1e5d740a
Fix travis errors 2018-10-24 10:58:36 +02:00
donoban
971ec085ee
Workaround for backup dialog modeless behaviour
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)
2018-10-24 10:05:43 +02:00
donoban
23e9ae8d33
Remove loop since we have vm name 2018-10-24 00:03:17 +02:00
donoban
e124d83edc
Removed processEvents() calls 2018-10-23 00:07:55 +02:00
donoban
0e951dc156
Deleted unused method show_error()
clear_threads() handles messages now
2018-10-22 20:03:20 +02:00
donoban
edb13aec17
Thread.error renamed to Thread.msg
Since it could be used for both error or sucess
messages, I think msg is a better name
2018-10-22 20:00:37 +02:00
donoban
60af90ec5f
Adding # pylint: disable=too-few-public-methods 2018-10-22 10:14:26 +02:00
donoban
f93908f5b7
Fix travis build2 2018-10-20 23:23:06 +02:00
donoban
831769d2dd
Fix travis build 2018-10-20 23:01:35 +02:00
donoban
38051ad243
Fixes in ProgressDialogs and settings window close 2018-10-20 22:09:39 +02:00
donoban
2347f75633
Clear SearchBox with ESC key 2018-10-20 21:54:25 +02:00
donoban
11cc8b7a67
Remove debug print 2018-10-20 19:20:39 +02:00
donoban
29ca4eb3a8
Migration from python threads and to QThread obj
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.
2018-10-20 18:34:15 +02:00
donoban
35cdf5e1e5
Modeless backup window
Let the main window work while doing backups
2018-10-20 16:50:45 +02:00
donoban
759dc5412c
Pylint ident warnings 2018-10-20 16:49:50 +02:00
donoban
76b6de9d00
removed subprocess.check_call()
This way modal works better (in KDE the main window goes gray).
2018-10-20 16:43:15 +02:00
donoban
612cfc15d6
Loading Qube Manager progress using setValue()
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.
2018-10-20 16:33:25 +02:00
donoban
228aaed2f4
Removed progress.setWindowFlags() call
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
2018-10-20 16:28:19 +02:00
Marta Marczykowska-Górecka
77cf9bf1d2
Fixed error in qube manager of change of global settings
Changing global properties fired an event that crashed qube
manager.

fixes QubesOS/qubes-issues#4385
2018-10-19 20:06:30 +02:00
donoban
b45f318a3a
Just moved method to better place 2018-10-18 14:13:06 +02:00
donoban
afcdba3029
Replaced python threading with QThreads 2018-10-18 14:11:25 +02:00
Marta Marczykowska-Górecka
f618716548
Fix error on refresh when a VM has vanished
Fixes error that can occur when VM-removed and VM-changed
events fire too closely together.

fixes QubesOS/qubes-issues#4317
2018-09-21 12:46:49 +02:00
Marta Marczykowska-Górecka
cbf2e2154d
Fixed a small bug with Qube Manager status refresh
On change of template Vm status, qube Manager errored
out. It no logner does that.
2018-09-14 18:01:20 +02:00
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
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
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
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
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
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
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
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
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
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
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
8096a50f7f
Merge remote-tracking branch 'upstream/master'
# Conflicts:
#	qubesmanager/table_widgets.py
2018-07-12 01:42:36 +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
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
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
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
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
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
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
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
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
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
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
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
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
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
Marta Marczykowska-Górecka
20cabb5563
Check if VM needs killing before murdering it
In some cases, when the user waited some time before force-killing a VM,
it could be already dead.

fixes QubesOS/qubes-issues#3730
2018-03-25 12:29:05 +02:00
Marta Marczykowska-Górecka
3ca7520b0e
Less horrible Qube Manager loading
The window should first display itself, and then get gradually filled with VMs
(more user friendly, less annoying than waiting for something, anything
to appear).
Also fixed a dumb bug with double refreshing and a useless variable.

fixes QubesOS/qubes-issues#3719
2018-03-19 22:40:50 +01:00
Marek Marczykowski-Górecki
feeedb5526
Merge remote-tracking branch 'qubesos/pr/76'
* qubesos/pr/76:
  Fixed a bunch of useless asserts
2018-03-14 21:33:57 +01:00
Marta Marczykowska-Górecka
fcaca57fc6
Fixed a bunch of useless asserts
Replaced them with a more flexible behavior or removed if they were
not actually necessary (and handled elsewhere).

fixes QubesOS/qubes-issues#3623
2018-03-10 22:31:41 +01:00
Marta Marczykowska-Górecka
bce5c32c96
Added "Exit" option to Qube Manager
fixes QubesOS/issues#3683
2018-03-10 20:04:57 +01:00
Marek Marczykowski-Górecki
a141e40e9c
Merge remote-tracking branch 'qubesos/pr/70'
* qubesos/pr/70:
  Allow restarting auto_cleanup=False DispVMs
2018-02-22 18:13:32 +01:00
Rusty Bird
07866cbfc4
Allow restarting auto_cleanup=False DispVMs 2018-02-20 08:25:22 +00:00
Marta Marczykowska-Górecka
e95be8a8ed
Is this bug finally dead
Yet another attempt at stomp this zombie monstrosity.

fixes QubesOS/qubes-issues#3570
2018-02-13 20:26:55 +01:00
Marta Marczykowska-Górecka
45959aef71
Changes according to @marmarek's request 2018-02-10 23:41:36 +01:00
Marta Marczykowska-Górecka
5af2709029
Shutting down vm from qube manager bug
Hopefully, finally fixes issue #3501.

fixes QubesOS/qubes-issues#3501
2018-02-09 22:08:07 +01:00
Marta Marczykowska-Górecka
1d995de095
Refreshing vm list in qube manager fixed
If a new VM was created via button in vm settings, the refresh button will now correctly display it.
2018-02-09 21:59:43 +01:00
Marta Marczykowska-Górecka
dac7a6f208
Qube manager updates more sensibly
Many events now cause the Qube Manager to refresh better - just the appropriate row, for example.
2018-02-09 21:36:30 +01:00
Marek Marczykowski-Górecki
b28bd6e797
Merge remote-tracking branch 'qubesos/pr/60'
* qubesos/pr/60:
  Repaired manager icons
  Removed 'Seamless GUI' checkbox from VM settings
  Change default Qube Manager size
  Renamed 'VM' to 'qube' everywhere in manager
2018-01-29 23:55:07 +01:00
Marta Marczykowska-Górecka
71090b9e72
Change default Qube Manager size
So that it will fit all VMs from a default install.
2018-01-28 20:38:40 +01:00
Marta Marczykowska-Górecka
cb1519b56c
Fixed error on VM shutdown in Qube Manager
fixes QubesOS/qubes-issues#3501
2018-01-28 18:23:18 +01:00