blob: 61ecb6e2cda0e83b10fb217b44619374c7109fe4 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
|
# @(#)gnats.tcl 8.2 (Berkeley) 11/18/95
#
proc init {catFile} {
global viScreenId
global categories
set categories {}
set categoriesFile [open $catFile r]
while {[gets $categoriesFile line] >= 0} {
lappend categories $line
}
close $categoriesFile
viMsg $viScreenId $categories
viMapKey $viScreenId next
}
proc next {} {
global viScreenId
set cursor [viGetCursor $viScreenId]
set lineNum [lindex $cursor 0]
set line [viGetLine $viScreenId $lineNum]
viMsg $viScreenId [lindex $line 0]
if {[lindex $line 0] == ">Confidential:"} {
confNext $lineNum $line
} elseif {[lindex $line 0] == ">Severity:"} {
sevNext $lineNum $line
} elseif {[lindex $line 0] == ">Priority:"} {
priNext $lineNum $line
} elseif {[lindex $line 0] == ">Class:"} {
classNext $lineNum $line
} elseif {[lindex $line 0] == ">Category:"} {
catNext $lineNum $line
}
}
proc confNext {lineNum line} {
global viScreenId
viMsg $viScreenId [lindex $line 1]
if {[lindex $line 1] == "yes"} {
viSetLine $viScreenId $lineNum ">Confidential: no"
} else {
viSetLine $viScreenId $lineNum ">Confidential: yes"
}
}
proc sevNext {lineNum line} {
global viScreenId
viMsg $viScreenId [lindex $line 1]
if {[lindex $line 1] == "non-critical"} {
viSetLine $viScreenId $lineNum ">Severity: serious"
} elseif {[lindex $line 1] == "serious"} {
viSetLine $viScreenId $lineNum ">Severity: critical"
} elseif {[lindex $line 1] == "critical"} {
viSetLine $viScreenId $lineNum ">Severity: non-critical"
}
}
proc priNext {lineNum line} {
global viScreenId
viMsg $viScreenId [lindex $line 1]
if {[lindex $line 1] == "low"} {
viSetLine $viScreenId $lineNum ">Priority: medium"
} elseif {[lindex $line 1] == "medium"} {
viSetLine $viScreenId $lineNum ">Priority: high"
} elseif {[lindex $line 1] == "high"} {
viSetLine $viScreenId $lineNum ">Priority: low"
}
}
proc classNext {lineNum line} {
global viScreenId
viMsg $viScreenId [lindex $line 1]
if {[lindex $line 1] == "sw-bug"} {
viSetLine $viScreenId $lineNum ">Class: doc-bug"
} elseif {[lindex $line 1] == "doc-bug"} {
viSetLine $viScreenId $lineNum ">Class: change-request"
} elseif {[lindex $line 1] == "change-request"} {
viSetLine $viScreenId $lineNum ">Class: support"
} elseif {[lindex $line 1] == "support"} {
viSetLine $viScreenId $lineNum ">Class: sw-bug"
}
}
proc catNext {lineNum line} {
global viScreenId
global categories
viMsg $viScreenId [lindex $line 1]
set curr [lsearch -exact $categories [lindex $line 1]]
if {$curr == -1} {
set curr 0
}
viMsg $viScreenId $curr
viSetLine $viScreenId $lineNum ">Class: [lindex $categories $curr]"
}
init abekas
|