summaryrefslogtreecommitdiff
path: root/components/filedialog/FolderContents.qml
diff options
context:
space:
mode:
author2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>2025-09-02 18:56:35 +1000
committer2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>2025-09-02 18:56:35 +1000
commit84cb2f694b4cd96fc758c81e2bdff1dbe8d14ff1 (patch)
treef8fa728fd9b646434e1a147b4cec7666bbe588aa /components/filedialog/FolderContents.qml
parentinternal: use FileSystemModel for FileDialog (diff)
downloadcaelestia-shell-84cb2f694b4cd96fc758c81e2bdff1dbe8d14ff1.tar.gz
caelestia-shell-84cb2f694b4cd96fc758c81e2bdff1dbe8d14ff1.tar.bz2
caelestia-shell-84cb2f694b4cd96fc758c81e2bdff1dbe8d14ff1.zip
internal: fix undef/null errors
Diffstat (limited to 'components/filedialog/FolderContents.qml')
-rw-r--r--components/filedialog/FolderContents.qml19
1 files changed, 11 insertions, 8 deletions
diff --git a/components/filedialog/FolderContents.qml b/components/filedialog/FolderContents.qml
index 1a20647..126703e 100644
--- a/components/filedialog/FolderContents.qml
+++ b/components/filedialog/FolderContents.qml
@@ -142,15 +142,18 @@ Item {
implicitSize: Sizes.itemWidth - Appearance.padding.normal * 2
source: {
- if (item.modelData.isImage)
- return Qt.resolvedUrl(item.modelData.path);
+ const file = item.modelData;
+ if (!file)
+ return Quickshell.iconPath("application-x-zerosize");
- if (!item.modelData.isDir)
- return Quickshell.iconPath(item.modelData.mimeType.replace("/", "-"), "application-x-zerosize");
+ if (file.isImage)
+ return Qt.resolvedUrl(file.path);
- const name = item.modelData.name;
- if (root.dialog.cwd.length === 1 && ["Desktop", "Documents", "Downloads", "Music", "Pictures", "Public", "Templates", "Videos"].includes(name))
- return Quickshell.iconPath(`folder-${name.toLowerCase()}`);
+ if (!file.isDir)
+ return Quickshell.iconPath(file.mimeType.replace("/", "-"), "application-x-zerosize");
+
+ if (root.dialog.cwd.length === 1 && ["Desktop", "Documents", "Downloads", "Music", "Pictures", "Public", "Templates", "Videos"].includes(file.name))
+ return Quickshell.iconPath(`folder-${file.name.toLowerCase()}`);
return Quickshell.iconPath("inode-directory");
}
@@ -166,7 +169,7 @@ Item {
anchors.margins: Appearance.padding.normal
horizontalAlignment: Text.AlignHCenter
- text: item.modelData.name
+ text: item.modelData?.name ?? ""
elide: item.GridView.isCurrentItem ? Text.ElideNone : Text.ElideRight
wrapMode: item.GridView.isCurrentItem ? Text.WrapAtWordBoundaryOrAnywhere : Text.NoWrap
}