1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- using System;
- using System.IO;
- using System.Linq;
- using UnityEngine;
- #if UNITY_2019_1_OR_NEWER
- using UnityEngine.UIElements;
- #else
- using UnityEngine.Experimental.UIElements;
- #endif
- namespace UnityEditor.Collaboration
- {
- internal class CollabHistoryDropDownItem : VisualElement
- {
- public CollabHistoryDropDownItem(string path, string action)
- {
- var fileName = Path.GetFileName(path);
- var isFolder = Path.GetFileNameWithoutExtension(path).Equals(fileName);
- var fileIcon = GetIconElement(action, fileName, isFolder);
- var metaContainer = new VisualElement();
- var fileNameLabel = new Label
- {
- name = "FileName",
- text = fileName
- };
- var filePathLabel = new Label
- {
- name = "FilePath",
- text = path
- };
- metaContainer.Add(fileNameLabel);
- metaContainer.Add(filePathLabel);
- Add(fileIcon);
- Add(metaContainer);
- }
- private Image GetIconElement(string action, string fileName, bool isFolder)
- {
- var prefix = isFolder ? "Folder" : "File";
- var actionName = action.First().ToString().ToUpper() + action.Substring(1);
- // Use the same icon for renamed and moved files
- actionName = actionName.Equals("Renamed") ? "Moved" : actionName;
- var iconElement = new Image
- {
- name = "FileIcon",
- image = EditorGUIUtility.LoadIcon("Icons/Collab." + prefix + actionName + ".png")
- };
- return iconElement;
- }
- }
- }
|