mirror of
https://github.com/xpipe-io/xpipe.git
synced 2026-06-21 14:00:57 -04:00
Improve drag and drop styling in file browser
This commit is contained in:
@@ -42,6 +42,8 @@ import static javafx.scene.control.TableColumn.SortType.ASCENDING;
|
||||
final class FileListComp extends AnchorPane {
|
||||
|
||||
private static final PseudoClass HIDDEN = PseudoClass.getPseudoClass("hidden");
|
||||
private static final PseudoClass EMPTY = PseudoClass.getPseudoClass("empty");
|
||||
private static final PseudoClass FILE = PseudoClass.getPseudoClass("file");
|
||||
private static final PseudoClass FOLDER = PseudoClass.getPseudoClass("folder");
|
||||
private static final PseudoClass DRAG = PseudoClass.getPseudoClass("drag");
|
||||
private static final PseudoClass DRAG_OVER = PseudoClass.getPseudoClass("drag-over");
|
||||
@@ -186,6 +188,12 @@ final class FileListComp extends AnchorPane {
|
||||
row.pseudoClassStateChanged(DRAG_OVER, false);
|
||||
});
|
||||
|
||||
row.itemProperty().addListener((observable, oldValue, newValue) -> {
|
||||
row.pseudoClassStateChanged(EMPTY, newValue == null);
|
||||
row.pseudoClassStateChanged(FILE, newValue != null && !newValue.isDirectory());
|
||||
row.pseudoClassStateChanged(FOLDER, newValue != null && newValue.isDirectory());
|
||||
});
|
||||
|
||||
fileList.getDraggedOverDirectory().addListener((observable, oldValue, newValue) -> {
|
||||
row.pseudoClassStateChanged(DRAG_OVER, newValue != null && newValue == row.getItem());
|
||||
});
|
||||
|
||||
@@ -166,11 +166,8 @@ public class FileListCompEntry {
|
||||
}
|
||||
|
||||
private void acceptDrag(DragEvent event) {
|
||||
if (item == null || !item.isDirectory()) {
|
||||
model.getDraggedOverEmpty().setValue(true);
|
||||
} else {
|
||||
model.getDraggedOverDirectory().setValue(item);
|
||||
}
|
||||
model.getDraggedOverEmpty().setValue(item == null || !item.isDirectory());
|
||||
model.getDraggedOverDirectory().setValue(item);
|
||||
event.acceptTransferModes(TransferMode.COPY_OR_MOVE);
|
||||
}
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@ import io.sentry.protocol.SentryId;
|
||||
import io.sentry.protocol.User;
|
||||
import io.xpipe.app.core.AppCache;
|
||||
import io.xpipe.app.core.AppProperties;
|
||||
import io.xpipe.app.prefs.AppPrefs;
|
||||
import io.xpipe.app.util.XPipeDistributionType;
|
||||
import org.apache.commons.io.FileUtils;
|
||||
|
||||
@@ -86,6 +87,7 @@ public class SentryErrorHandler {
|
||||
.toList();
|
||||
atts.forEach(attachment -> s.addAttachment(attachment));
|
||||
|
||||
s.setTag("developerMode", AppPrefs.get() != null ? AppPrefs.get().developerMode().getValue().toString() : "false");
|
||||
s.setTag("terminal", Boolean.toString(ee.isTerminal()));
|
||||
s.setTag("omitted", Boolean.toString(ee.isOmitted()));
|
||||
if (ee.getThrowable() != null) {
|
||||
|
||||
Reference in New Issue
Block a user