@@ -501,7 +501,7 @@ frmXray.listview.onnotify = function(id,code,ptr){
501
501
return 0/*_CDRF_DODEFAULT*/
502
502
}
503
503
}
504
- case 0xFFFFFFFD/*_NM_DBLCLK*/ {
504
+ case 0xFFFFFFFD/*_NM_DBLCLK*/ {
505
505
var nm = frmXray.listview.getNotifyMessage(code,ptr);
506
506
if( nm ){
507
507
xray.core.lastDownloadingCoreFailed = false;
@@ -787,6 +787,43 @@ frmXray.listview.onnotify = function(id,code,ptr){
787
787
}
788
788
});
789
789
}
790
+ if(#selectedItems>1){
791
+ popmenu.add();
792
+ popmenu.add('批量生成二维码',function(id){
793
+ if(currentIdx){
794
+ var outbounds = ..table.array();
795
+ for(i=1;#selectedItems;1){
796
+ ..table.push(outbounds,config.proxy.outbounds[selectedItems[i]]);
797
+ }
798
+
799
+ var str = xray.outbounds.exportSharedLinks(outbounds);
800
+ if(str){
801
+ var frmChild = frmXray.loadForm("\forms\main\tools\qr.aardio");
802
+ frmChild.createQrCode(str);
803
+ frmChild.show();
804
+ }
805
+ }
806
+ });
807
+
808
+ popmenu.add('批量复制服务器分享链接',function(id){
809
+ if(currentIdx){
810
+ var outbounds = ..table.array();
811
+ for(i=1;#selectedItems;1){
812
+ ..table.push(outbounds,config.proxy.outbounds[selectedItems[i]]);
813
+ }
814
+
815
+ var str = xray.outbounds.exportSharedLinks(outbounds);
816
+ if(str){
817
+ import win.clip;
818
+ win.clip.write(str);
819
+ frmXray.msgOk("已将选中链接的分享链接写入剪贴板",1200);
820
+ }
821
+ }
822
+ });
823
+
824
+ popmenu.add();
825
+ }
826
+
790
827
popmenu.popup(x,y,true);
791
828
}
792
829
case 0xFFFFFF94/*_LVN_COLUMNCLICK*/{
@@ -945,6 +982,77 @@ frmXray.removeRepeat=function(){
945
982
946
983
return removecount;
947
984
}
985
+ //按键
986
+ import win.ui.accelerator;
987
+ var accelerator = win.ui.accelerator({
988
+ {//按下Enter键
989
+ vkey = '13';
990
+ oncommand=function(){
991
+ frmXray.btnTcping.oncommand();
992
+ }
993
+ };
994
+ { //按下DELETE键
995
+ vkey = '46';
996
+ oncommand = function(){
997
+ var selectedItems = frmXray.listview.selected;
998
+ removeOutbounds(selectedItems);
999
+ }
1000
+ };
1001
+ { //按下ctrl+C
1002
+ ctrl = true; vkey = 'C'#;
1003
+ oncommand = function(){
1004
+ var selectedItems = frmXray.listview.selected;
1005
+ if( !#selectedItems ){
1006
+ frmXray.msgFrown("没有选中节点!");
1007
+ return ;
1008
+ }
1009
+
1010
+ var outbounds = ..table.array();
1011
+ for(i=1;#selectedItems;1){..table.push(outbounds,config.proxy.outbounds[selectedItems[i]])}
1012
+ var str = xray.outbounds.exportSharedLinks(outbounds);
1013
+ if(str){
1014
+ import win.clip;
1015
+ win.clip.write(str);
1016
+ frmXray.msgOk("已将选中节点的分享链接写入剪贴板",1200);
1017
+ }
1018
+ }
1019
+ };
1020
+ {//ctrl+V
1021
+ ctrl = true; vkey = 'V'#;
1022
+ oncommand=function(){
1023
+ frmXray.btnImportServerFromClipBd.oncommand();
1024
+ }
1025
+ };
1026
+ {//ctrl+A
1027
+ ctrl = true; vkey = 'A'#;
1028
+ oncommand=function(){
1029
+ var outbounds=config.proxy.outbounds;
1030
+ for(i=#outbounds;1;-1){
1031
+ frmXray.listview.setSelected(i);
1032
+ }
1033
+ }
1034
+ };
1035
+ },frmXray);
1036
+ //文件拖放
1037
+ frmXray.onDropFiles = function(files){
1038
+ for(i=1;#files;1){
1039
+ var str=string.load(files[i]);
1040
+ if(str){
1041
+ str = ..string.trim(str,'"\'\t\r\n ');
1042
+
1043
+ var impoutbounds = xray.outbounds.importFromString(str);
1044
+ if(#impoutbounds){
1045
+ ..table.append(config.proxy.outbounds,impoutbounds);
1046
+ publish("uiCommand.OutboundsChange","obadd",#impoutbounds);
1047
+ publish("uiCommand.restartCore","change");
1048
+ publish("outbounds.updateConfigJson");
1049
+ frmXray.msgOk("已成功导入" + #impoutbounds + "个节点",1200);
1050
+ return;
1051
+ }
1052
+ }
1053
+ }
1054
+ frmXray.msgFrown('未能在文件中导入节点!');
1055
+ }
948
1056
949
1057
import win.imageList;
950
1058
var iml = win.imageList(16, 15);
0 commit comments