Warning: session_start(): open(/var/lib/php/sessions/sess_a7fjv0bftrta21mvttia28ruk3, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
!7
static Class _classMigration_LastImagesInDirectory = ImagesInDirectory; // not implemented yet
sclass ImagesInDirectory extends DynSCP {
File dir;
L allFiles, imageFiles;
transient DynamicHStack buttons;
transient ButtonImageLoader imageLoader;
File dirObject() { ret dir; }
JComponent visualize2() {
if (buttons == null) { buttons = makeNiceButtons(); updateButtons(); }
if (imageLoader == null) imageLoader = new ButtonImageLoader(buttons);
if (mate! == null) ret jcenteredlabel("Need directory");
ret jHigherScrollPane(jfullcenter(buttons));
}
void update {
lock lock;
try {
if (dir == null) ret;
L allFiles = castCall(mate!, 'getFiles);
if (this.allFiles != allFiles) {
setField(+allFiles);
setField(imageFiles := filterOrNull(allFiles, f isImageFileName));
}
} finally {
if (changeCount != oldChangeCount) updateButtons();
}
}
void updateButtons {
if (dir == null || buttons == null) ret with setModuleName("Images in directory");
L l = filesForNiceButtons(sortFilesByDate(
fileNamesInDirToFile(new File(dir), imageFiles)), f showImage);
for (final TextImageAction tia : l)
tia.popupMenuMaker = ImagesInDirectory_popupMenu(this, tia);
replaceNiceButtons(buttons, l);
setModuleName(imageFiles == null
? "Not allowed to look in directory " + fileName(dirObject())
: n2(l, "image") + " in directory " + fileName(dirObject()));
if (imageLoader != null) imageLoader.update();
}
}
static VF1 ImagesInDirectory_popupMenu(ImagesInDirectory m, final TextImageAction tia) {
// Haha, not even used
//final WeakReference me = new(m);
ret voidfunc(JPopupMenu menu) {
addPopupItemsForImageFile(menu, filesForNiceButtons_map.get(tia))
};
}