Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
Synchronet
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Container registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Main
Synchronet
Commits
54ef826d
Commit
54ef826d
authored
19 years ago
by
rswindell
Browse files
Options
Downloads
Patches
Plain Diff
Updated for menulib.js support.
parent
ba7222f4
No related branches found
No related tags found
No related merge requests found
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
exec/menu.js
+35
-29
35 additions, 29 deletions
exec/menu.js
exec/menuedit.js
+17
-9
17 additions, 9 deletions
exec/menuedit.js
exec/test.menu
+8
-5
8 additions, 5 deletions
exec/test.menu
with
60 additions
and
43 deletions
exec/menu.js
+
35
−
29
View file @
54ef826d
...
@@ -10,7 +10,7 @@ load("menulib.js");
...
@@ -10,7 +10,7 @@ load("menulib.js");
var
menu_stack
=
new
Array
();
var
menu_stack
=
new
Array
();
var
pop_count
=
0
;
var
pop_count
=
0
;
menu
(
argv
[
0
]);
exec_
menu
(
argv
[
0
]);
function
isdigit
(
ch
)
function
isdigit
(
ch
)
{
{
...
@@ -19,7 +19,7 @@ function isdigit(ch)
...
@@ -19,7 +19,7 @@ function isdigit(ch)
return
(
val
>=
ascii
(
'
0
'
)
&&
val
<=
ascii
(
'
9
'
));
return
(
val
>=
ascii
(
'
0
'
)
&&
val
<=
ascii
(
'
9
'
));
}
}
function
menu
(
fname
)
function
exec_
menu
(
fname
)
{
{
if
(
!
fname
)
{
if
(
!
fname
)
{
alert
(
log
(
LOG_WARNING
,
"
!No menu file specified
"
));
alert
(
log
(
LOG_WARNING
,
"
!No menu file specified
"
));
...
@@ -36,6 +36,7 @@ function menu(fname)
...
@@ -36,6 +36,7 @@ function menu(fname)
return
;
return
;
}
}
log
(
"
Reading menu file
"
+
fname
);
var
menu
;
var
menu
;
if
((
menu
=
read_menu
(
fname
))
==
undefined
)
if
((
menu
=
read_menu
(
fname
))
==
undefined
)
return
(
false
);
return
(
false
);
...
@@ -51,48 +52,49 @@ function menu(fname)
...
@@ -51,48 +52,49 @@ function menu(fname)
}
}
var
cmd_keys
=
""
;
var
cmd_keys
=
""
;
var
cmd_list
=
new
Array
();
var
cmd_list
=
new
Array
();
if
(
hotkey_ext
)
if
(
menu
.
hotkey_ext
)
cmd_keys
+=
hotkey_ext
;
cmd_keys
+=
menu
.
hotkey_ext
;
for
(
i
in
command
)
{
for
(
i
in
menu
.
command
)
{
if
(
command
[
i
].
ars
&&
!
user
.
compare_ars
(
command
[
i
].
ars
))
if
(
menu
.
command
[
i
].
ars
&&
!
user
.
compare_ars
(
menu
.
command
[
i
].
ars
))
continue
;
continue
;
cmd_keys
+=
command
[
i
].
key
;
cmd_keys
+=
menu
.
command
[
i
].
key
;
cmd_list
.
push
(
command
[
i
]);
cmd_list
.
push
(
menu
.
command
[
i
]);
}
}
log
(
"
menu.show:
"
+
menu
.
show
);
if
(
show_menu
||
!
expert
||
!
(
user
.
settings
&
USER_EXPERT
))
{
if
(
menu
.
show
||
!
menu
.
expert
||
!
(
user
.
settings
&
USER_EXPERT
))
{
if
(
menu
_
file
)
/* static menu */
if
(
menu
.
file
)
/* static menu */
bbs
.
menu
(
menu
_
file
);
bbs
.
menu
(
menu
.
file
);
else
{
/* dynamic menu */
else
{
/* dynamic menu */
var
column
=
0
;
var
column
=
0
;
for
(
var
i
in
cmd_list
)
{
for
(
var
i
in
cmd_list
)
{
if
(
cmd_list
[
i
].
description
)
{
if
(
cmd_list
[
i
].
description
)
{
if
(
column
+
menu
_
colwidth
>=
console
.
screen_columns
)
if
(
column
+
menu
.
colwidth
>=
console
.
screen_columns
)
console
.
crlf
(),
column
=
0
;
console
.
crlf
(),
column
=
0
;
var
str
=
format
(
menu
_
fmt
var
str
=
format
(
menu
.
fmt
,
menu
_
reverse
?
cmd_list
[
i
].
description
:
cmd_list
[
i
].
key
.
toUpperCase
()
,
menu
.
reverse
?
cmd_list
[
i
].
description
:
cmd_list
[
i
].
key
.
toUpperCase
()
,
menu
_
reverse
?
cmd_list
[
i
].
key
.
toUpperCase
()
:
cmd_list
[
i
].
description
);
,
menu
.
reverse
?
cmd_list
[
i
].
key
.
toUpperCase
()
:
cmd_list
[
i
].
description
);
console
.
putmsg
(
str
);
console
.
putmsg
(
str
);
console
.
right
(
menu
_
colwidth
-
console
.
strlen
(
str
));
console
.
right
(
menu
.
colwidth
-
console
.
strlen
(
str
));
if
(
console
.
strlen
(
str
)
>
menu
_
colwidth
)
if
(
console
.
strlen
(
str
)
>
menu
.
colwidth
)
column
+=
console
.
strlen
(
str
);
column
+=
console
.
strlen
(
str
);
else
else
column
+=
menu
_
colwidth
;
column
+=
menu
.
colwidth
;
}
}
}
}
}
}
show_menu
=
false
;
menu
.
show
=
false
;
}
}
bbs
.
nodesync
();
bbs
.
nodesync
();
console
.
aborted
=
false
;
console
.
aborted
=
false
;
if
(
exec
)
if
(
menu
.
exec
)
eval
(
exec
);
eval
(
menu
.
exec
);
if
(
prompt
)
if
(
menu
.
prompt
)
console
.
putmsg
(
eval
(
prompt
));
console
.
putmsg
(
eval
(
menu
.
prompt
));
var
cmd
;
var
cmd
;
if
(
hotkeys
)
if
(
menu
.
hotkeys
)
console
.
write
(
cmd
=
console
.
getkey
(
K_UPPER
));
console
.
write
(
cmd
=
console
.
getkey
(
K_UPPER
));
else
else
cmd
=
console
.
getstr
(
K_UPPER
);
cmd
=
console
.
getstr
(
K_UPPER
);
...
@@ -100,13 +102,15 @@ function menu(fname)
...
@@ -100,13 +102,15 @@ function menu(fname)
if
(
cmd
==
undefined
)
if
(
cmd
==
undefined
)
continue
;
continue
;
if
(
isdigit
(
cmd
)
&&
num_exec
)
{
log
(
"
menu.num_exec =
"
+
menu
.
num_exec
);
if
(
parseInt
(
cmd
)
*
10
>
maxnum
)
log
(
"
menu.maxnum =
"
+
menu
.
maxnum
);
eval
(
num_exec
);
if
(
isdigit
(
cmd
)
&&
menu
.
num_exec
)
{
if
(
parseInt
(
cmd
)
*
10
<=
menu
.
maxnum
)
eval
(
menu
.
num_exec
);
continue
;
continue
;
}
}
if
(
hotkeys
&&
cmd
.
toUpperCase
()
==
hotkey_ext
)
if
(
menu
.
hotkeys
&&
cmd
.
toUpperCase
()
==
menu
.
hotkey_ext
)
cmd
+=
console
.
getkey
();
cmd
+=
console
.
getkey
();
print
();
print
();
...
@@ -118,3 +122,5 @@ function menu(fname)
...
@@ -118,3 +122,5 @@ function menu(fname)
menu_stack
.
pop
();
menu_stack
.
pop
();
}
}
log
(
"
exiting
"
);
\ No newline at end of file
This diff is collapsed.
Click to expand it.
exec/menuedit.js
+
17
−
9
View file @
54ef826d
...
@@ -3,22 +3,30 @@ load("uifcdefs.js");
...
@@ -3,22 +3,30 @@ load("uifcdefs.js");
main
(
argc
,
argv
);
main
(
argc
,
argv
);
function
edit_menu
(
fname
)
{
var
menu
=
read_menu
(
fname
);
if
(
!
menu
)
return
menu
;
var
options
=
[];
for
(
var
i
in
menu
)
options
.
push
(
format
(
"
%-15s
"
,
i
)
+
menu
[
i
]);
uifc
.
list
(
WIN_MID
,
"
Options
"
,
options
);
}
function
main
(
argc
,
argv
)
function
main
(
argc
,
argv
)
{
{
uifc
.
init
(
"
Synchronet Menu Editor
"
,
"
ansi
"
);
uifc
.
init
(
"
Synchronet Menu Editor
"
);
js
.
on_exit
(
"
uifc.bail()
"
);
js
.
on_exit
(
"
uifc.bail()
"
);
if
(
argc
)
return
edit_menu
(
argv
[
0
]);
while
(
1
)
{
while
(
1
)
{
var
menu_list
=
directory
(
system
.
exec_dir
+
"
*.menu
"
);
var
menu_list
=
directory
(
system
.
exec_dir
+
"
*.menu
"
);
var
selection
=
uifc
.
list
(
WIN_MID
|
WIN_INS
|
WIN_XTR
,
"
Menu Files
"
,
menu_list
);
var
selection
=
uifc
.
list
(
WIN_
ORG
|
WIN_
MID
|
WIN_INS
|
WIN_XTR
,
"
Menu Files
"
,
menu_list
);
if
(
selection
<
0
)
if
(
selection
<
0
)
break
;
break
;
var
menu
=
read_menu
(
file_getname
(
menu_list
[
selection
]));
edit_menu
(
file_getname
(
menu_list
[
selection
]));
if
(
!
menu
)
continue
;
var
options
=
[];
for
(
var
i
in
menu
)
options
.
push
(
format
(
"
%-25s
"
,
i
)
+
menu
[
i
]);
uifc
.
list
(
WIN_MID
,
"
Options
"
,
options
);
}
}
}
}
This diff is collapsed.
Click to expand it.
exec/test.menu
+
8
−
5
View file @
54ef826d
prompt:"-c\r\n bhMain nc h"+(user.security.exemptions&UFLAG_T ? "@TUSED@":"@TLEFT@")+" nc[h@GN@nc] @GRP@ [h@SN@nc] @SUB@: n"
prompt:"-c\r\n bhMain nc h"+(user.security.exemptions&UFLAG_T ? "@TUSED@":"@TLEFT@")+" nc[h@GN@nc] @GRP@ [h@SN@nc] @SUB@: n"
exec: maxnum = msg_area.grp_list[bbs.curgrp].sub_list.length
exec:
menu.
maxnum = msg_area.grp_list[bbs.curgrp].sub_list.length
expert: true
expert: true
num_exec: bbs.cursub = parseInt(cmd)-1;
num_exec: bbs.cursub = parseInt(cmd)-1;
hotkey_ext: /
hotkey_ext: /
menu_
column_width=11
column_width=11
menu_
reverse = true
reverse = true
[A]
[A]
description: Option A
description: Option A
...
@@ -25,9 +25,12 @@ exec: bbs.post_msg()
...
@@ -25,9 +25,12 @@ exec: bbs.post_msg()
description: test
description: test
exec: print("blah")
exec: print("blah")
[s]
exec: exec_menu("sub")
[x]
[x]
description: exit
description: exit
exec: done=true
exec: done=true
[?]
[?]
exec:
show_menu
=true
exec:
menu.show
=true
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment