Felix Paul Kühne pushed to branch master at VideoLAN / VLC


Commits:
dbba2f9b by Pierre Lamot at 2026-05-16T16:36:50+02:00
qt: avoid duplicate entry in StandardPathModel

- - - - -


1 changed file:

- modules/gui/qt/network/standardpathmodel.cpp


Changes:

=====================================
modules/gui/qt/network/standardpathmodel.cpp
=====================================
@@ -116,15 +116,38 @@ public:
     bool initializeModel() override
     {
         Q_Q(StandardPathModel);
+
+        using UserPath = std::pair<QString, QString>;
+        std::list<UserPath> paths;
+
         assert(m_qmlInitializing == false);
+        QString homePath = QVLCUserDir(VLC_HOME_DIR);
+        //QVLCUserDir defaults to HomePath, make sure we only add it once
+        bool homeAdded = false;
+        auto addFilterHome = [&](const QString& path, const QString& label) {
+            if (path == homePath ) {
+                if (homeAdded) {
+                    return;
+                } else {
+                    addItem(homePath, qtr("Home"), {});
+                    homeAdded = true;
+                }
+            } else {
+                addItem(path, label, {});
+            }
+
+        };
+
 #ifdef Q_OS_UNIX
-        addItem(QVLCUserDir(VLC_HOME_DIR), qtr("Home"), {});
+        addItem(homePath, qtr("Home"), {});
+        homeAdded = true;
 #endif
-        addItem(QVLCUserDir(VLC_DESKTOP_DIR), qtr("Desktop"), {});
-        addItem(QVLCUserDir(VLC_DOCUMENTS_DIR), qtr("Documents"), {});
-        addItem(QVLCUserDir(VLC_MUSIC_DIR), qtr("Music"), {});
-        addItem(QVLCUserDir(VLC_VIDEOS_DIR), qtr("Videos"), {});
-        addItem(QVLCUserDir(VLC_DOWNLOAD_DIR), qtr("Download"), {});
+        addFilterHome(QVLCUserDir(VLC_DESKTOP_DIR), qtr("Desktop"));
+        addFilterHome(QVLCUserDir(VLC_DOCUMENTS_DIR), qtr("Documents"));
+        addFilterHome(QVLCUserDir(VLC_MUSIC_DIR), qtr("Music"));
+        addFilterHome(QVLCUserDir(VLC_VIDEOS_DIR), qtr("Videos"));
+        addFilterHome(QVLCUserDir(VLC_DOWNLOAD_DIR), qtr("Download"));
+
         //model is never updated, but this is still needed to fit the 
LocalListBaseModelPrivate requirements
         ++m_revision;
         m_loading = false;



View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/dbba2f9b27e039f52c13458fdaaa6bd943e3542b

-- 
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/dbba2f9b27e039f52c13458fdaaa6bd943e3542b
You're receiving this email because of your account on code.videolan.org. 
Manage all notifications: https://code.videolan.org/-/profile/notifications | 
Help: https://code.videolan.org/help


_______________________________________________
vlc-commits mailing list
[email protected]
https://mailman.videolan.org/listinfo/vlc-commits

Reply via email to