mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-07-11 22:03:01 -06:00
New files now have got icons
git-svn-id: svn://ultimatepp.org/upp/trunk@9894 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
parent
5b3ca9cd47
commit
b873719dd4
2 changed files with 37 additions and 21 deletions
|
|
@ -283,20 +283,21 @@ struct WorkspaceWork {
|
|||
|
||||
class FileType : public Moveable<FileType> {
|
||||
public:
|
||||
FileType(const String& name, const String& extension, Image* img)
|
||||
FileType(const String& name, const String& extension)
|
||||
: name(name)
|
||||
, extension(extension)
|
||||
, img(img)
|
||||
{}
|
||||
|
||||
String GetName() const { return name; }
|
||||
String GetExtension() const { return extension; }
|
||||
Image* GetImage() const { return img; }
|
||||
String GetName() const { return name; }
|
||||
String GetExtension() const { return extension; }
|
||||
const Image& GetImage() const { return img; }
|
||||
|
||||
void SetImage(const Image& image) { img = image; }
|
||||
|
||||
private:
|
||||
String name;
|
||||
String extension;
|
||||
Image* img;
|
||||
Image img;
|
||||
};
|
||||
|
||||
VectorMap<String, Vector<FileType>> categories;
|
||||
|
|
@ -363,6 +364,7 @@ struct WorkspaceWork {
|
|||
void Drag();
|
||||
|
||||
void LoadCategories();
|
||||
void LoadCategoriesImages();
|
||||
void NewPackageFile(const String& title, const String& extension);
|
||||
|
||||
enum ADDFILE { PACKAGE_FILE, OUTPUT_FILE, HOME_FILE, LOCAL_FILE, CONFIG_FILE, ANY_FILE };
|
||||
|
|
|
|||
|
|
@ -930,8 +930,12 @@ void WorkspaceWork::NewMenu(Bar& bar)
|
|||
for (int i = 0; i < categories.GetCount(); i++) {
|
||||
Callback1<Bar&> barCallback;
|
||||
barCallback << [&, i](Bar& subBar) {
|
||||
for (FileType& fileType : categories[i])
|
||||
subBar.Add(fileType.GetName(), THISBACK2(NewPackageFile, "New " + fileType.GetName(), fileType.GetExtension()));
|
||||
for (FileType& fileType : categories[i]) {
|
||||
String name = fileType.GetName();
|
||||
String extension = fileType.GetExtension();
|
||||
|
||||
subBar.Add(name, fileType.GetImage(), THISBACK2(NewPackageFile, "New " + name, extension));
|
||||
}
|
||||
};
|
||||
|
||||
bar.Add(categories.GetKey(i), barCallback);
|
||||
|
|
@ -1142,34 +1146,43 @@ void WorkspaceWork::Drag()
|
|||
void WorkspaceWork::LoadCategories()
|
||||
{
|
||||
Vector<FileType> cppFiles;
|
||||
cppFiles.Add(FileType("C++ source file", "cpp", NULL));
|
||||
cppFiles.Add(FileType("C++ header file", "h", NULL));
|
||||
cppFiles.Add(FileType("C++ source file", "cpp"));
|
||||
cppFiles.Add(FileType("C++ header file", "h"));
|
||||
categories.Add("C/C++", cppFiles);
|
||||
|
||||
Vector<FileType> uppFiles;
|
||||
uppFiles.Add(FileType("Layout file", "lay", NULL));
|
||||
uppFiles.Add(FileType("Image file", "iml", NULL));
|
||||
uppFiles.Add(FileType("Escape script file", "usc", NULL));
|
||||
uppFiles.Add(FileType("Skylark template file", "witz", NULL));
|
||||
uppFiles.Add(FileType("Layout file", "lay"));
|
||||
uppFiles.Add(FileType("Image file", "iml"));
|
||||
uppFiles.Add(FileType("Escape script file", "usc"));
|
||||
uppFiles.Add(FileType("Skylark template file", "witz"));
|
||||
categories.Add("U++", uppFiles);
|
||||
|
||||
Vector<FileType> javaFiles;
|
||||
javaFiles.Add(FileType("Java source file", "java", NULL));
|
||||
javaFiles.Add(FileType("Java source file", "java"));
|
||||
categories.Add("Java", javaFiles);
|
||||
|
||||
Vector<FileType> webFiles;
|
||||
webFiles.Add(FileType("HTML source file", "html", NULL));
|
||||
webFiles.Add(FileType("CSS source file", "css", NULL));
|
||||
webFiles.Add(FileType("JavaScript source file", "js", NULL));
|
||||
webFiles.Add(FileType("JSON file", "json", NULL));
|
||||
webFiles.Add(FileType("XML file", "xml", NULL));
|
||||
webFiles.Add(FileType("HTML source file", "html"));
|
||||
webFiles.Add(FileType("CSS source file", "css"));
|
||||
webFiles.Add(FileType("JavaScript source file", "js"));
|
||||
webFiles.Add(FileType("JSON file", "json"));
|
||||
webFiles.Add(FileType("XML file", "xml"));
|
||||
categories.Add("Web", webFiles);
|
||||
|
||||
Vector<FileType> otherFiles;
|
||||
otherFiles.Add(FileType("Text file", "txt", NULL));
|
||||
otherFiles.Add(FileType("Text file", "txt"));
|
||||
categories.Add("Other", otherFiles);
|
||||
}
|
||||
|
||||
void WorkspaceWork::LoadCategoriesImages()
|
||||
{
|
||||
for (int i = 0; i < categories.GetCount(); i++) {
|
||||
for (FileType& type : categories[i]) {
|
||||
type.SetImage(IdeFileImage("." + type.GetExtension(), false, false));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
WorkspaceWork::WorkspaceWork()
|
||||
{
|
||||
package <<= THISBACK(PackageCursor);
|
||||
|
|
@ -1192,6 +1205,7 @@ WorkspaceWork::WorkspaceWork()
|
|||
svn_dirs = false;
|
||||
|
||||
LoadCategories();
|
||||
LoadCategoriesImages();
|
||||
}
|
||||
|
||||
void WorkspaceWork::SerializeClosed(Stream& s)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue