feat: F4.6f3 the file explorer and the image viewer

Oracle FileExplorerWindowRun uses Java's explorer and viewer windows as a
person does (the right-click menu, Java's questions answered, the import
window, the viewer's open). Both windows work on the document's files
through the core's operations: the tree of folders and files, the chosen
folder's entries, Java's menu (also as buttons, no right click needed),
copy that stays and cut that goes once pasted, the import; the viewer's
picture and title. Not taken from Java: a file chosen in the tree taken
for a folder, pictures laid over each other, a text file as an empty
picture. writeFiles numbers the entries in the file system's order again
when a rename made a new key.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-03 18:13:22 +00:00
co-authored by Claude Opus 5.5
parent 2c7733b575
commit 3dc2713f81
21 changed files with 2951 additions and 39 deletions
+121
View File
@@ -905,3 +905,124 @@
.file-dialog-entries button[aria-pressed='true'] {
background: #b8cfe5;
}
/* The file explorer (GUIApplicationFileExplorerWindow): the menu's actions
* as buttons, the tree beside the folder's entries (one above the other on
* a narrow screen). */
.file-explorer {
position: relative;
flex: 1;
min-height: 0;
display: flex;
flex-direction: column;
gap: 5px;
padding: 5px;
background: #eeeeee;
}
.file-explorer-bar {
display: flex;
flex-wrap: wrap;
gap: 5px;
flex: none;
}
.file-explorer-bar button {
min-width: 44px;
min-height: 40px;
padding: 0 10px;
border: 1px solid #a0a0a0;
border-radius: 6px;
background: #f8f8f8;
color: #000000;
font: 13px Dialog, sans-serif;
cursor: pointer;
}
.file-explorer-bar button:disabled {
color: #a0a0a0;
cursor: default;
}
.file-explorer-body {
flex: 1;
min-height: 0;
display: flex;
gap: 5px;
}
.file-explorer-tree,
.file-explorer-entries {
flex: 1;
min-width: 0;
margin: 0;
padding: 0;
overflow: auto;
border: 1px solid #a0a0a0;
background: #ffffff;
list-style: none;
}
.file-explorer-tree button,
.file-explorer-entries button {
display: flex;
align-items: center;
gap: 6px;
width: 100%;
min-height: 32px;
padding: 0 6px;
border: 0;
background: transparent;
color: #000000;
font: 13px Dialog, sans-serif;
text-align: left;
cursor: pointer;
}
.file-explorer-tree button[aria-current='true'],
.file-explorer-tree button[aria-pressed='true'],
.file-explorer-entries button[aria-pressed='true'] {
background: #b8cfe5;
}
@media (max-width: 639px) {
.file-explorer-body {
flex-direction: column;
}
}
.file-import label button {
flex: none;
}
.file-import-output {
min-height: 1.5em;
margin: 0;
font-weight: bold;
white-space: pre-line;
}
/* The image viewer (GUIApplicationImageViewerWindow): "Öffnen" above, the picture below. */
.image-viewer {
position: relative;
flex: 1;
min-height: 0;
display: flex;
flex-direction: column;
gap: 5px;
padding: 5px;
background: #eeeeee;
}
.image-viewer-picture {
flex: 1;
min-height: 0;
overflow: auto;
display: flex;
align-items: center;
justify-content: center;
}
.image-viewer-picture img {
max-width: 100%;
}