diff --git a/toonz/sources/toonz/filebrowsermodel.cpp b/toonz/sources/toonz/filebrowsermodel.cpp index 6e1eb6cb..438f699d 100644 --- a/toonz/sources/toonz/filebrowsermodel.cpp +++ b/toonz/sources/toonz/filebrowsermodel.cpp @@ -20,6 +20,7 @@ #include #include #include +#include #ifdef _WIN32 #include @@ -77,6 +78,14 @@ TFilePath getDesktopPath() { return TFilePath(dir.absolutePath().toStdString()); #endif } + +// Downloads Path +TFilePath getDownloadsPath() { + QStringList stdLocs = + QStandardPaths::standardLocations(QStandardPaths::DownloadLocation); + if (stdLocs.isEmpty()) return TFilePath(); + return TFilePath(stdLocs[0]); +} } // namespace //============================================================================= @@ -1121,6 +1130,13 @@ void DvDirModelRootNode::refreshChildren() { m_specialNodes.push_back(child); addChild(child); + child = new DvDirModelSpecialFileFolderNode(this, L"Downloads", + getDownloadsPath()); + child->setPixmap(recolorPixmap( + svgToPixmap(getIconThemePath("actions/16/downloads.svg")))); + m_specialNodes.push_back(child); + addChild(child); + DvDirModelStuffFolderNode *childstuff = new DvDirModelStuffFolderNode(this); for (int i = 0; i < childstuff->getChildCount(); i++) { DvDirModelSpecialFileFolderNode *node = diff --git a/toonz/sources/toonz/icons/dark/actions/16/downloads.svg b/toonz/sources/toonz/icons/dark/actions/16/downloads.svg new file mode 100644 index 00000000..2025dfc6 --- /dev/null +++ b/toonz/sources/toonz/icons/dark/actions/16/downloads.svg @@ -0,0 +1,48 @@ + +image/svg+xml + + + \ No newline at end of file diff --git a/toonz/sources/toonz/toonz.qrc b/toonz/sources/toonz/toonz.qrc index d5fff1a9..c039d162 100644 --- a/toonz/sources/toonz/toonz.qrc +++ b/toonz/sources/toonz/toonz.qrc @@ -55,6 +55,7 @@ icons/dark/actions/16/tahoma2d.svg icons/dark/actions/16/plugins.svg + icons/dark/actions/16/downloads.svg icons/dark/actions/16/menu.svg