bzr branch
http://gegoxaren.bato24.eu/bzr/b-gtk/fix-viz
734.1.1
by Curtis Hovey
Mechanical changes made by pygi.convert.sh. |
1 |
from gi.repository import Gtk |
452.5.2
by Daniel Schierbeck
Added generalized locking functionality in lock.py. |
2 |
|
3 |
||
4 |
RESPONSE_BREAK = 0 |
|
734.1.1
by Curtis Hovey
Mechanical changes made by pygi.convert.sh. |
5 |
RESPONSE_CANCEL = Gtk.ResponseType.CANCEL |
452.5.2
by Daniel Schierbeck
Added generalized locking functionality in lock.py. |
6 |
|
712
by Jelmer Vernooij
Add lock dialog. (Daniel Schierbeck) |
7 |
READ = "read" |
8 |
WRITE = "write" |
|
452.5.2
by Daniel Schierbeck
Added generalized locking functionality in lock.py. |
9 |
|
10 |
||
11 |
def acquire(branch, lock_type): |
|
12 |
if branch.get_physical_lock_status(): |
|
13 |
dialog = LockDialog(branch) |
|
14 |
response = dialog.run() |
|
15 |
dialog.destroy() |
|
16 |
||
17 |
if response == RESPONSE_BREAK: |
|
18 |
branch.break_lock() |
|
19 |
else: |
|
20 |
return False |
|
21 |
||
22 |
if lock_type == READ: |
|
23 |
branch.lock_read() |
|
24 |
elif lock_type == WRITE: |
|
25 |
branch.lock_write() |
|
26 |
||
27 |
return True |
|
28 |
||
29 |
||
30 |
def release(branch): |
|
31 |
if branch.get_physical_lock_status(): |
|
32 |
dialog = LockDialog(branch) |
|
33 |
response = dialog.run() |
|
34 |
dialog.destroy() |
|
35 |
||
36 |
if response == RESPONSE_BREAK: |
|
37 |
branch.break_lock() |
|
38 |
elif response == RESPONSE_CANCEL: |
|
39 |
return False |
|
40 |
||
41 |
branch.unlock() |
|
42 |
||
43 |
return True |
|
44 |
||
45 |
||
734.1.1
by Curtis Hovey
Mechanical changes made by pygi.convert.sh. |
46 |
class LockDialog(Gtk.Dialog): |
452.5.2
by Daniel Schierbeck
Added generalized locking functionality in lock.py. |
47 |
|
48 |
def __init__(self, branch): |
|
734.1.51
by Curtis Hovey
Fix the initializer for many classes. |
49 |
super(LockDialog, self).__init__() |
452.5.2
by Daniel Schierbeck
Added generalized locking functionality in lock.py. |
50 |
|
51 |
self.branch = branch |
|
52 |
||
53 |
self.set_title('Lock Not Held') |
|
54 |
||
734.1.51
by Curtis Hovey
Fix the initializer for many classes. |
55 |
self.get_content_area().add( |
56 |
Gtk.Label(label=( |
|
57 |
'This operation cannot be completed as '
|
|
58 |
'another application has locked the branch.'))) |
|
452.5.2
by Daniel Schierbeck
Added generalized locking functionality in lock.py. |
59 |
|
60 |
self.add_button('Break Lock', RESPONSE_BREAK) |
|
734.1.1
by Curtis Hovey
Mechanical changes made by pygi.convert.sh. |
61 |
self.add_button(Gtk.STOCK_CANCEL, RESPONSE_CANCEL) |
452.5.2
by Daniel Schierbeck
Added generalized locking functionality in lock.py. |
62 |
|
734.1.51
by Curtis Hovey
Fix the initializer for many classes. |
63 |
self.get_content_area().show_all() |