Merge pull request #1 from wphiphi/step-by-step

Step by step
This commit is contained in:
wphiphi 2022-01-06 02:27:20 +01:00 committed by GitHub
commit e924a9c27a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 32 additions and 32 deletions

View file

@ -512,40 +512,40 @@
</div> </div>
<!-- END DATA MASKING OVERLAY --> <!-- END DATA MASKING OVERLAY -->
<!-- START PADDING BITS RECOVERY OVERLAY --> <!-- START PATCHING BITS RECOVERY OVERLAY -->
<div class="overlay hide" id="div-padding-recovery"> <div class="overlay hide" id="div-patching-recovery">
<center> <center>
<div class="box large"> <div class="box large">
<h3>Padding Bits Recovery</h3> <h3 id="div-patching-recovery-title"></h3>
<div class="space"></div> <div class="space"></div>
<div class="preview-box left"> <div class="preview-box left">
<table id="qr-dummy" class="qr-tab"></table> <table id="qr-dummy" class="qr-tab"></table>
</div> </div>
<div class="left"> <div class="left">
<div id="div-pad-rec-error" class="hide"> <div id="div-patch-rec-error" class="hide">
<h5 class="left">Error : </h5> <h5 class="left">Error : </h5>
<textarea spellcheck="false" readonly style="width:100%;"></textarea> <textarea spellcheck="false" readonly style="width:100%;"></textarea>
</div> </div>
<div id="div-pad-rec-data"> <div id="div-patch-rec-data">
<h5>Bits before recovery : </h5> <h5>Bits before recovery : </h5>
<textarea spellcheck="false" id="pad-rec-before" readonly style="width:100%;"></textarea> <textarea spellcheck="false" id="patch-rec-before" readonly style="width:100%;"></textarea>
<h5>Bits after recovery : </h5> <h5>Bits after recovery : </h5>
<textarea spellcheck="false" id="pad-rec-after" readonly style="width:100%;"></textarea> <textarea spellcheck="false" id="patch-rec-after" readonly style="width:100%;"></textarea>
</div> </div>
<div id="div-pad-rec-warning" class="hide"> <div id="div-patch-rec-warning" class="hide">
<h5 class="left">Warning : </h5> <h5 class="left">Warning : </h5>
<textarea spellcheck="false" readonly style="width:100%;"></textarea> <textarea spellcheck="false" readonly style="width:100%;"></textarea>
</div> </div>
<h6><i>Note : Recovered modules are marked with green color</i></h6> <h6><i>Note : Recovered modules are marked with green color</i></h6>
<div class="space"></div> <div class="space"></div>
<button id="btn-pad-rec-apply">Apply</button> <button id="btn-patch-rec-apply">Apply</button>
<button id="btn-pad-rec-cancel">Cancel</button> <button id="btn-patch-rec-cancel">Cancel</button>
</div> </div>
<div class="clear"></div> <div class="clear"></div>
</div> </div>
</center> </center>
</div> </div>
<!-- END PADDING BITS RECOVERY OVERLAY --> <!-- END PATCHING BITS RECOVERY OVERLAY -->
<!-- START WARNING OVERLAY --> <!-- START WARNING OVERLAY -->
<div class="warning hide"> <div class="warning hide">

View file

@ -985,19 +985,17 @@ function showMaskPatternArea(){
resize(qr_pixel_size); resize(qr_pixel_size);
} }
function recoverPadding(){ function patchingRecovery(result){
var data_array = JSON.stringify(qr_array); var warning = 0;
var result = recoverPaddingBits(JSON.parse(data_array));
var warning = false;
$("#qr-dummy").html(""); $("#qr-dummy").html("");
$("#div-pad-rec-warning, #div-pad-rec-error").hide(); $("#div-patch-rec-warning, #div-patch-rec-error").hide();
$("#div-pad-rec-data, #btn-pad-rec-apply").show() $("#div-patch-rec-data, #btn-patch-rec-apply").show()
if(typeof result == "string"){ if(typeof result == "string"){
$("#div-pad-rec-error").show(); $("#div-patch-rec-error").show();
$("#div-pad-rec-error textarea").val(result); $("#div-patch-rec-error textarea").val(result);
$("#div-pad-rec-warning, #div-pad-rec-data, #btn-pad-rec-apply").hide(); $("#div-patch-rec-warning, #div-patch-rec-data, #btn-patch-rec-apply").hide();
return; return;
} }
@ -1029,23 +1027,23 @@ function recoverPadding(){
for(var i=0; i < result.after.length; i++){ for(var i=0; i < result.after.length; i++){
if(result.before.charAt(i) != "?"){ if(result.before.charAt(i) != "?"){
if(result.after.charAt(i) != result.before.charAt(i)){ if(result.after.charAt(i) != result.before.charAt(i)){
warning = true; warning++;
break;
} }
} }
} }
if(warning){ if(warning){
$("#div-pad-rec-warning").show(); $("#div-patch-rec-warning").show();
$("#div-pad-rec-warning textarea").val("There's one or more modules conflict with the already known module of original QR code. Correction may fail.") $("#div-patch-rec-warning textarea").val("There's are " + warning +" modules conflict with the already known module of original QR code. Correction may fail.")
} }
$("#pad-rec-before").val(result.before); $("#patch-rec-before").val(result.before);
$("#pad-rec-after").val(result.after); $("#patch-rec-after").val(result.after);
qr_temp_array = Array.prototype.slice.call(result.result_array); qr_temp_array = Array.prototype.slice.call(result.result_array);
} }
/*** /***
* *
* Perform Reed-Solomon decode * Perform Reed-Solomon decode
@ -1900,21 +1898,23 @@ $(document).ready(function(){
****************************/ ****************************/
$("#tools-pad-recovery").click(function(){ $("#tools-pad-recovery").click(function(){
recoverPadding(); patchingRecovery(recoverPaddingBits(JSON.parse(JSON.stringify(qr_array))));
$("#div-padding-recovery").show(); $("#div-patching-recovery-title").val("Padding Bits Recovery");
$("#div-patching-recovery").show();
$("#div-tools").hide(); $("#div-tools").hide();
}) })
$("#btn-pad-rec-apply").click(function(){ $("#btn-patching-rec-apply").click(function(){
qr_array = JSON.parse(JSON.stringify(qr_temp_array)); qr_array = JSON.parse(JSON.stringify(qr_temp_array));
refreshTable(); refreshTable();
updateHistory("Padding bits recovery"); updateHistory("Padding bits recovery");
$("#div-padding-recovery").hide(); $("#div-patching-recovery").hide();
changed_state = true; changed_state = true;
}) })
$("#btn-pad-rec-cancel").click(function(){ $("#btn-patching-rec-cancel").click(function(){
$("#div-padding-recovery").hide(); $("#div-patching-recovery").hide();
}) })
/**************************** /****************************