Merge pull request #6961 from markmckinnon/Add-Modification-Data-To-Registry-Viewer-Keys

Add Registry Key Modification Time To Registry Content Viewer
This commit is contained in:
Richard Cordovano 2021-05-11 09:21:30 -04:00 committed by GitHub
commit 511e2f9d3c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 16 additions and 3 deletions

View File

@ -15,6 +15,7 @@ RejTreeKeyView.columns.type=Type
RejTreeKeyView.columns.value=Value RejTreeKeyView.columns.value=Value
RejTreeKeyView.failedToParse.keyName=FAILED TO PARSE KEY NAME RejTreeKeyView.failedToParse.keyName=FAILED TO PARSE KEY NAME
RejTreeKeyView.metadataBorder.title=Metadata RejTreeKeyView.metadataBorder.title=Metadata
RejTreeKeyView.template.dateTime=Modification Time:
RejTreeKeyView.template.name=Name: RejTreeKeyView.template.name=Name:
RejTreeKeyView.template.numberOfSubkeys=Number of subkeys: RejTreeKeyView.template.numberOfSubkeys=Number of subkeys:
RejTreeKeyView.template.numberOfValues=Number of values: RejTreeKeyView.template.numberOfValues=Number of values:

View File

@ -28,6 +28,8 @@ import java.awt.Dimension;
import javax.swing.table.TableColumn; import javax.swing.table.TableColumn;
import javax.swing.table.TableColumnModel; import javax.swing.table.TableColumnModel;
import java.io.UnsupportedEncodingException; import java.io.UnsupportedEncodingException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Iterator; import java.util.Iterator;
import java.util.logging.Level; import java.util.logging.Level;
import javax.swing.BorderFactory; import javax.swing.BorderFactory;
@ -54,7 +56,8 @@ public final class RejTreeKeyView extends RejTreeNodeView {
"RejTreeKeyView.valuesBorder.title=Values", "RejTreeKeyView.valuesBorder.title=Values",
"RejTreeKeyView.template.name=Name:", "RejTreeKeyView.template.name=Name:",
"RejTreeKeyView.template.numberOfSubkeys=Number of subkeys:", "RejTreeKeyView.template.numberOfSubkeys=Number of subkeys:",
"RejTreeKeyView.template.numberOfValues=Number of values:"}) "RejTreeKeyView.template.numberOfValues=Number of values:",
"RejTreeKeyView.template.dateTime=Modification Time:"})
public RejTreeKeyView(RejTreeKeyNode node) { public RejTreeKeyView(RejTreeKeyNode node) {
super(new BorderLayout()); super(new BorderLayout());
@ -62,6 +65,7 @@ public final class RejTreeKeyView extends RejTreeNodeView {
* param 1 Name * param 1 Name
* param 2 Number of subkeys * param 2 Number of subkeys
* param 3 Number of values * param 3 Number of values
* param 4 Date/time
*/ */
String metadataTemplate = "<html><i>" String metadataTemplate = "<html><i>"
+ Bundle.RejTreeKeyView_template_name() + Bundle.RejTreeKeyView_template_name()
@ -69,10 +73,13 @@ public final class RejTreeKeyView extends RejTreeNodeView {
+ Bundle.RejTreeKeyView_template_numberOfSubkeys() + Bundle.RejTreeKeyView_template_numberOfSubkeys()
+ "</i> %2$d<br/><i>" + "</i> %2$d<br/><i>"
+ Bundle.RejTreeKeyView_template_numberOfValues() + Bundle.RejTreeKeyView_template_numberOfValues()
+ "</i> %3$d<br/></html>"; + "</i> %3$d<br/><i>"
+ Bundle.RejTreeKeyView_template_dateTime()
+ "</i> %4$s</br></html>";
String keyName; String keyName;
int numSubkeys; int numSubkeys;
int numValues; int numValues;
String dateTime;
try { try {
keyName = node.getKey().getName(); keyName = node.getKey().getName();
@ -95,7 +102,12 @@ public final class RejTreeKeyView extends RejTreeNodeView {
numValues = -1; numValues = -1;
} }
JLabel metadataLabel = new JLabel(String.format(metadataTemplate, keyName, numSubkeys, numValues), JLabel.LEFT); Date date = new java.util.Date(node.getKey().getTimestamp().getTimeInMillis());
SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss z");
sdf.setTimeZone(java.util.TimeZone.getTimeZone("GMT+0"));
dateTime = sdf.format(date);
JLabel metadataLabel = new JLabel(String.format(metadataTemplate, keyName, numSubkeys, numValues, dateTime), JLabel.LEFT);
metadataLabel.setBorder(BorderFactory.createTitledBorder(Bundle.RejTreeKeyView_metadataBorder_title())); metadataLabel.setBorder(BorderFactory.createTitledBorder(Bundle.RejTreeKeyView_metadataBorder_title()));
metadataLabel.setVerticalAlignment(SwingConstants.TOP); metadataLabel.setVerticalAlignment(SwingConstants.TOP);