На кнопке простой переключатель (два состояния) :
Код:
man++;
if (man > 1)
man = 0;
if (man == 0) {
if (Man_set_off= utils.ReadINI( set_path + 'settings.ini', 'close_man', 'man_off')==2){
utils.WriteINI( set_path + 'settings.ini', 'close_man', 'man_off', 1);
}
}
if (man == 1) {
if (Man_set_off= utils.ReadINI( set_path + 'settings.ini', 'start_man', 'man_off')==0){
utils.WriteINI( set_path + 'settings.ini', 'start_man', 'man_off', 1);
TAB_Timer = window.CreateTimerInterval(TAB_prop);
}
}
window.SetProperty("SYS.Man Switch", man);
первое положение покоя - все флаги обнулены :[
Код:
[start_man]
man_off=0
[close_man]
man_off=0
[time_man]
man_off=0
Далее в основном срипте разбил одну функцию на две :
Код:
function togglePlaylistManager_1(){
.......} и
function togglePlaylistManager_2(){
............}
Соответственно закрыть-открыть .
При вызове пишу единицу, а самой функции (
JS) её обнуляю, что-б не грузить проц :
utils.WriteINI( set_path + 'settings.ini', 'start_man', 'man_off', 0);
Далее - это для кнопки "закрыть" (ты её рисовал - знешь где

) :
utils.WriteINI( set_path + 'settings.ini', 'close_man', 'man_off', 2); - внутри function togglePlaylistManager_2() - показываю открытую панель,
при закрытии - обнуляю .
в
WSHplaylistmanager.js пишу тройку при закрытии (крестиком) :
utils.WriteINI( set_path + 'settings.ini', 'close_man', 'man_off', 3);
В
МПС принимаю и обнуляю эту тройку здесь (это чтоб переключатель window.SetProperty("SYS.Man Switch",
man); стал в правильное положение) :
if (TAB_set_off = utils.ReadINI( set_path + 'settings.ini', 'close_man', 'man_off')==3){
tab_switch_check()
}
Здесь смотрим за значениями в главном скрипте
JS :
Код:
function on_paint(gr) {
if (utils.ReadINI( set_path + 'settings.ini', 'close_man', 'man_off')==1){
togglePlaylistManager_1();
}
if (utils.ReadINI( set_path + 'settings.ini', 'start_man', 'man_off')==1){
togglePlaylistManager_2();
}
........
Это в
JS что-б сбросить таймер при одиночном клике :
Код:
p.playlistManager.check("down", x, y);
var set_path = fb.ProfilePath + "\\settings\\";
if(cPlaylistManager.visible) {
utils.WriteINI( set_path + 'settings.ini', 'time_man', 'man_off', 3);
}
В
МПС принимаю и обнуляю таймер и тройку здесь :
Код:
function on_timer(id) {
if ( utils.ReadINI( set_path + 'settings.ini', 'time_man', 'man_off')==3){
tab_switch_check2()
}
Возможно что-то забыл))