diff --git a/modules/gui/qt/Makefile.am b/modules/gui/qt/Makefile.am
index 3dd68b106ff1c47c9f6f00750967c564e1b0510c..e02f652bd0a11f424f9460cdec57b9dac1368fc7 100644
--- a/modules/gui/qt/Makefile.am
+++ b/modules/gui/qt/Makefile.am
@@ -14,7 +14,7 @@
 SUFFIXES += .ui .h .hpp .moc.cpp .qml
 
 libqt_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) \
-	-I$(srcdir)/gui/qt -I$(builddir)/gui/qt/ui
+	-I$(srcdir)/gui/qt -I$(builddir)/gui/qt/ -I$(builddir)/gui/qt/ui
 libqt_plugin_la_CXXFLAGS = $(AM_CXXFLAGS) $(QT_CFLAGS) $(CXXFLAGS_qt)
 libqt_plugin_la_LIBADD = $(QT_LIBS) $(LIBS_qt) $(LIBM)
 libqt_plugin_la_LDFLAGS = $(AM_LDFLAGS) -rpath '$(guidir)'
@@ -58,7 +58,6 @@ libqt_plugin_la_SOURCES = \
 	gui/qt/adapters/variables.cpp gui/qt/adapters/variables.hpp \
 	gui/qt/adapters/var_choice_model.cpp  gui/qt/adapters/var_choice_model.hpp \
 	gui/qt/dialogs/bookmarks.cpp gui/qt/dialogs/bookmarks.hpp \
-	gui/qt/dialogs/preferences.cpp gui/qt/dialogs/preferences.hpp \
 	gui/qt/dialogs/mediainfo.cpp gui/qt/dialogs/mediainfo.hpp \
 	gui/qt/dialogs/epg.cpp gui/qt/dialogs/epg.hpp \
 	gui/qt/dialogs/extended.cpp gui/qt/dialogs/extended.hpp \
@@ -93,14 +92,15 @@ libqt_plugin_la_SOURCES = \
 	gui/qt/components/navigation_history.cpp gui/qt/components/navigation_history.hpp \
 	gui/qt/player/player_controller.cpp gui/qt/player/player_controller.hpp gui/qt/player/player_controller_p.hpp \
 	gui/qt/player/playercontrolbarmodel.cpp gui/qt/player/playercontrolbarmodel.hpp \
-	gui/qt/components/preferences_widgets.cpp \
-	gui/qt/components/preferences_widgets.hpp \
 	gui/qt/components/selectable_list_model.hpp \
 	gui/qt/components/selectable_list_model.cpp \
-	gui/qt/components/complete_preferences.cpp \
-	gui/qt/components/complete_preferences.hpp \
-	gui/qt/components/simple_preferences.cpp \
-	gui/qt/components/simple_preferences.hpp \
+	gui/qt/dialogs/preferences/preferences.cpp gui/qt/preferences/preferences.hpp \
+	gui/qt/dialogs/preferences/preferences_widgets.cpp \
+	gui/qt/dialogs/preferences/preferences_widgets.hpp \
+	gui/qt/dialogs/preferences/complete_preferences.cpp \
+	gui/qt/dialogs/preferences/complete_preferences.hpp \
+	gui/qt/dialogs/preferences/simple_preferences.cpp \
+	gui/qt/dialogs/preferences/simple_preferences.hpp \
 	gui/qt/components/open_panels.cpp gui/qt/components/open_panels.hpp \
 	gui/qt/components/interface_widgets.cpp \
 	gui/qt/components/interface_widgets.hpp \
@@ -245,7 +245,6 @@ nodist_libqt_plugin_la_SOURCES = \
 	gui/qt/dialogs/epg.moc.cpp \
 	gui/qt/dialogs/errors.moc.cpp \
 	gui/qt/dialogs/plugins.moc.cpp \
-	gui/qt/dialogs/preferences.moc.cpp \
 	gui/qt/dialogs/sout.moc.cpp \
 	gui/qt/dialogs/convert.moc.cpp \
 	gui/qt/dialogs/help.moc.cpp \
@@ -266,9 +265,10 @@ nodist_libqt_plugin_la_SOURCES = \
 	gui/qt/components/info_widgets.moc.cpp \
 	gui/qt/player/player_controller.moc.cpp \
 	gui/qt/player/playercontrolbarmodel.moc.cpp \
-	gui/qt/components/preferences_widgets.moc.cpp \
-	gui/qt/components/complete_preferences.moc.cpp \
-	gui/qt/components/simple_preferences.moc.cpp \
+	gui/qt/dialogs/preferences/preferences.moc.cpp \
+	gui/qt/dialogs/preferences/preferences_widgets.moc.cpp \
+	gui/qt/dialogs/preferences/complete_preferences.moc.cpp \
+	gui/qt/dialogs/preferences/simple_preferences.moc.cpp \
 	gui/qt/components/open_panels.moc.cpp \
 	gui/qt/components/interface_widgets.moc.cpp \
 	gui/qt/components/navigation_history.moc.cpp \
@@ -341,11 +341,11 @@ nodist_libqt_plugin_la_SOURCES += \
 	gui/qt/ui/ui_vlm.h \
 	gui/qt/ui/ui_podcast_configuration.h \
 	gui/qt/ui/ui_profiles.h \
-	gui/qt/ui/ui_sprefs_audio.h \
-	gui/qt/ui/ui_sprefs_input.h \
-	gui/qt/ui/ui_sprefs_interface.h \
-	gui/qt/ui/ui_sprefs_subtitles.h \
-	gui/qt/ui/ui_sprefs_video.h \
+	gui/qt/dialogs/preferences/ui_sprefs_audio.h \
+	gui/qt/dialogs/preferences/ui_sprefs_input.h \
+	gui/qt/dialogs/preferences/ui_sprefs_interface.h \
+	gui/qt/dialogs/preferences/ui_sprefs_subtitles.h \
+	gui/qt/dialogs/preferences/ui_sprefs_video.h \
 	gui/qt/ui/ui_streampanel.h \
 	gui/qt/ui/ui_messages_panel.h \
 	gui/qt/ui/ui_about.h \
@@ -380,11 +380,11 @@ libqt_plugin_la_UI = \
 	gui/qt/ui/open.ui \
 	gui/qt/ui/podcast_configuration.ui \
 	gui/qt/ui/profiles.ui \
-	gui/qt/ui/sprefs_audio.ui \
-	gui/qt/ui/sprefs_input.ui \
-	gui/qt/ui/sprefs_interface.ui \
-	gui/qt/ui/sprefs_subtitles.ui \
-	gui/qt/ui/sprefs_video.ui \
+	gui/qt/dialogs/preferences/sprefs_audio.ui \
+	gui/qt/dialogs/preferences/sprefs_input.ui \
+	gui/qt/dialogs/preferences/sprefs_interface.ui \
+	gui/qt/dialogs/preferences/sprefs_subtitles.ui \
+	gui/qt/dialogs/preferences/sprefs_video.ui \
 	gui/qt/ui/streampanel.ui \
 	gui/qt/ui/messages_panel.ui \
 	gui/qt/ui/about.ui \
diff --git a/modules/gui/qt/components/extended_panels.cpp b/modules/gui/qt/components/extended_panels.cpp
index 57fc51038b79287426d18c5bb7600c1d6bf08e7d..d16acdd30764bf6c9338d1e2e095912b913c1431 100644
--- a/modules/gui/qt/components/extended_panels.cpp
+++ b/modules/gui/qt/components/extended_panels.cpp
@@ -45,7 +45,7 @@
 #include <QScreen>
 
 #include "components/extended_panels.hpp"
-#include "dialogs/preferences.hpp"
+#include "dialogs/preferences/preferences.hpp"
 #include "qt.hpp"
 #include "player/player_controller.hpp"
 #include "util/qt_dirs.hpp"
diff --git a/modules/gui/qt/components/open_panels.hpp b/modules/gui/qt/components/open_panels.hpp
index 87e73c46d1571f2b3fdb2749ca1db92a15320902..df2babee127ad289a4ebeb2a02e509015b1dd8fd 100644
--- a/modules/gui/qt/components/open_panels.hpp
+++ b/modules/gui/qt/components/open_panels.hpp
@@ -31,7 +31,7 @@
 # include "config.h"
 #endif
 
-#include "components/preferences_widgets.hpp"
+#include "dialogs/preferences/preferences_widgets.hpp"
 
 #include "ui_open_file.h"
 #include "ui_open_disk.h"
diff --git a/modules/gui/qt/components/complete_preferences.cpp b/modules/gui/qt/dialogs/preferences/complete_preferences.cpp
similarity index 99%
rename from modules/gui/qt/components/complete_preferences.cpp
rename to modules/gui/qt/dialogs/preferences/complete_preferences.cpp
index 3b972aac6c85238b41563c9485c43b988b1d6326..42e83b25ba80229a4df96863550906749017178a 100644
--- a/modules/gui/qt/components/complete_preferences.cpp
+++ b/modules/gui/qt/dialogs/preferences/complete_preferences.cpp
@@ -35,8 +35,8 @@
 #include <QVBoxLayout>
 #include <QGridLayout>
 
-#include "components/complete_preferences.hpp"
-#include "components/preferences_widgets.hpp"
+#include "dialogs/preferences/complete_preferences.hpp"
+#include "dialogs/preferences/preferences_widgets.hpp"
 
 #include <vlc_config_cat.h>
 #include <vlc_intf_strings.h>
diff --git a/modules/gui/qt/components/complete_preferences.hpp b/modules/gui/qt/dialogs/preferences/complete_preferences.hpp
similarity index 100%
rename from modules/gui/qt/components/complete_preferences.hpp
rename to modules/gui/qt/dialogs/preferences/complete_preferences.hpp
diff --git a/modules/gui/qt/dialogs/preferences.cpp b/modules/gui/qt/dialogs/preferences/preferences.cpp
similarity index 98%
rename from modules/gui/qt/dialogs/preferences.cpp
rename to modules/gui/qt/dialogs/preferences/preferences.cpp
index e5e3a1d4203b0a771984bfef1377d340089022f5..034913558ea59c191be64593070a9f8d860f90fe 100644
--- a/modules/gui/qt/dialogs/preferences.cpp
+++ b/modules/gui/qt/dialogs/preferences/preferences.cpp
@@ -25,12 +25,12 @@
 # include "config.h"
 #endif
 
-#include "dialogs/preferences.hpp"
+#include "dialogs/preferences/preferences.hpp"
 #include "util/qvlcframe.hpp"
 #include "dialogs/errors.hpp"
 
-#include "components/complete_preferences.hpp"
-#include "components/simple_preferences.hpp"
+#include "dialogs/preferences/complete_preferences.hpp"
+#include "dialogs/preferences/simple_preferences.hpp"
 #include "util/searchlineedit.hpp"
 #include "util/qvlcframe.hpp"
 #include "main_interface.hpp"
diff --git a/modules/gui/qt/dialogs/preferences.hpp b/modules/gui/qt/dialogs/preferences/preferences.hpp
similarity index 97%
rename from modules/gui/qt/dialogs/preferences.hpp
rename to modules/gui/qt/dialogs/preferences/preferences.hpp
index 0512637370316ba9c5875569192605662493aa05..4462113967ecbf81599e614ce9f536c38ae550ec 100644
--- a/modules/gui/qt/dialogs/preferences.hpp
+++ b/modules/gui/qt/dialogs/preferences/preferences.hpp
@@ -24,7 +24,7 @@
 #define QVLC_PREFS_DIALOG_H_ 1
 
 #include "util/qvlcframe.hpp"
-#include "components/simple_preferences.hpp"
+#include "dialogs/preferences/simple_preferences.hpp"
 
 class PrefsTree;
 class SPrefsCatList;
diff --git a/modules/gui/qt/components/preferences_widgets.cpp b/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
similarity index 99%
rename from modules/gui/qt/components/preferences_widgets.cpp
rename to modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
index 0f7325268595b9b3a9230e65ad5c55e49d1f3f28..41df1845bacbdbeb77067fa39d10b34f81dfb001 100644
--- a/modules/gui/qt/components/preferences_widgets.cpp
+++ b/modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
@@ -30,7 +30,7 @@
 # include "config.h"
 #endif
 
-#include "components/preferences_widgets.hpp"
+#include "dialogs/preferences/preferences_widgets.hpp"
 #include "util/customwidgets.hpp"
 #include "util/searchlineedit.hpp"
 #include "util/qt_dirs.hpp"
diff --git a/modules/gui/qt/components/preferences_widgets.hpp b/modules/gui/qt/dialogs/preferences/preferences_widgets.hpp
similarity index 100%
rename from modules/gui/qt/components/preferences_widgets.hpp
rename to modules/gui/qt/dialogs/preferences/preferences_widgets.hpp
diff --git a/modules/gui/qt/components/simple_preferences.cpp b/modules/gui/qt/dialogs/preferences/simple_preferences.cpp
similarity index 99%
rename from modules/gui/qt/components/simple_preferences.cpp
rename to modules/gui/qt/dialogs/preferences/simple_preferences.cpp
index 5a93e68f43b24b4a8371602a63323a9190184cb5..115186cbb1e1ed2653765abc9f5e61970d8d715a 100644
--- a/modules/gui/qt/components/simple_preferences.cpp
+++ b/modules/gui/qt/dialogs/preferences/simple_preferences.cpp
@@ -26,8 +26,8 @@
 # include "config.h"
 #endif
 
-#include "components/simple_preferences.hpp"
-#include "components/preferences_widgets.hpp"
+#include "simple_preferences.hpp"
+#include "preferences_widgets.hpp"
 
 #include <vlc_config_cat.h>
 #include <vlc_configuration.h>
diff --git a/modules/gui/qt/components/simple_preferences.hpp b/modules/gui/qt/dialogs/preferences/simple_preferences.hpp
similarity index 93%
rename from modules/gui/qt/components/simple_preferences.hpp
rename to modules/gui/qt/dialogs/preferences/simple_preferences.hpp
index f33431d06815c5b8b0e62cac9adb9a89bdf35e11..be31f6ecde98ae09e5a4b8102c8a4ff362148ae5 100644
--- a/modules/gui/qt/components/simple_preferences.hpp
+++ b/modules/gui/qt/dialogs/preferences/simple_preferences.hpp
@@ -30,11 +30,11 @@
 #include <vlc_common.h>
 #include <vlc_interface.h>
 
-#include "ui_sprefs_input.h"
-#include "ui_sprefs_audio.h"
-#include "ui_sprefs_video.h"
-#include "ui_sprefs_subtitles.h"
-#include "ui_sprefs_interface.h"
+#include "dialogs/preferences/ui_sprefs_input.h"
+#include "dialogs/preferences/ui_sprefs_audio.h"
+#include "dialogs/preferences/ui_sprefs_video.h"
+#include "dialogs/preferences/ui_sprefs_subtitles.h"
+#include "dialogs/preferences/ui_sprefs_interface.h"
 
 #include <vlc_media_library.h>
 #include <QDialogButtonBox>
diff --git a/modules/gui/qt/ui/sprefs_audio.ui b/modules/gui/qt/dialogs/preferences/sprefs_audio.ui
similarity index 100%
rename from modules/gui/qt/ui/sprefs_audio.ui
rename to modules/gui/qt/dialogs/preferences/sprefs_audio.ui
diff --git a/modules/gui/qt/ui/sprefs_input.ui b/modules/gui/qt/dialogs/preferences/sprefs_input.ui
similarity index 100%
rename from modules/gui/qt/ui/sprefs_input.ui
rename to modules/gui/qt/dialogs/preferences/sprefs_input.ui
diff --git a/modules/gui/qt/ui/sprefs_interface.ui b/modules/gui/qt/dialogs/preferences/sprefs_interface.ui
similarity index 99%
rename from modules/gui/qt/ui/sprefs_interface.ui
rename to modules/gui/qt/dialogs/preferences/sprefs_interface.ui
index 9e187f767e55a10cc63e5b1c66d9bf808fd504f2..cb43c06b495eba079e2e9aedc4ce105e1424b5cb 100644
--- a/modules/gui/qt/ui/sprefs_interface.ui
+++ b/modules/gui/qt/dialogs/preferences/sprefs_interface.ui
@@ -710,7 +710,7 @@
   <customwidget>
    <class>InterfacePreviewWidget</class>
    <extends>QLabel</extends>
-   <header>components/preferences_widgets.hpp</header>
+   <header>dialogs/preferences/preferences_widgets.hpp</header>
   </customwidget>
  </customwidgets>
  <tabstops>
diff --git a/modules/gui/qt/ui/sprefs_subtitles.ui b/modules/gui/qt/dialogs/preferences/sprefs_subtitles.ui
similarity index 100%
rename from modules/gui/qt/ui/sprefs_subtitles.ui
rename to modules/gui/qt/dialogs/preferences/sprefs_subtitles.ui
diff --git a/modules/gui/qt/ui/sprefs_video.ui b/modules/gui/qt/dialogs/preferences/sprefs_video.ui
similarity index 100%
rename from modules/gui/qt/ui/sprefs_video.ui
rename to modules/gui/qt/dialogs/preferences/sprefs_video.ui
diff --git a/modules/gui/qt/dialogs_provider.cpp b/modules/gui/qt/dialogs_provider.cpp
index f92f4567189bbf979cfa315d672769e778231ec4..6be4665a24370e479fb04741472d78888e4657b5 100644
--- a/modules/gui/qt/dialogs_provider.cpp
+++ b/modules/gui/qt/dialogs_provider.cpp
@@ -39,7 +39,7 @@
 
 /* The dialogs */
 #include "dialogs/bookmarks.hpp"
-#include "dialogs/preferences.hpp"
+#include "dialogs/preferences/preferences.hpp"
 #include "dialogs/mediainfo.hpp"
 #include "dialogs/messages.hpp"
 #include "dialogs/extended.hpp"
diff --git a/po/POTFILES.in b/po/POTFILES.in
index d2771b57ec99fbdfff9547a15f26da17a7761d07..f5e56c38425b32a863c2a7ba71f86dd3aa12d2b1 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -672,8 +672,8 @@ modules/gui/minimal_macosx/macosx.c
 modules/gui/ncurses.c
 modules/gui/qt/adapters/chromaprint.cpp
 modules/gui/qt/adapters/chromaprint.hpp
-modules/gui/qt/components/complete_preferences.cpp
-modules/gui/qt/components/complete_preferences.hpp
+modules/gui/qt/dialogs/preferences/complete_preferences.cpp
+modules/gui/qt/dialogs/preferences/complete_preferences.hpp
 modules/gui/qt/components/controller.cpp
 modules/gui/qt/components/controller.hpp
 modules/gui/qt/components/controller_widget.cpp
@@ -702,10 +702,10 @@ modules/gui/qt/components/interface_widgets.cpp
 modules/gui/qt/components/interface_widgets.hpp
 modules/gui/qt/components/open_panels.cpp
 modules/gui/qt/components/open_panels.hpp
-modules/gui/qt/components/preferences_widgets.cpp
-modules/gui/qt/components/preferences_widgets.hpp
-modules/gui/qt/components/simple_preferences.cpp
-modules/gui/qt/components/simple_preferences.hpp
+modules/gui/qt/dialogs/preferences/preferences_widgets.cpp
+modules/gui/qt/dialogs/preferences/preferences_widgets.hpp
+modules/gui/qt/dialogs/preferences/simple_preferences.cpp
+modules/gui/qt/dialogs/preferences/simple_preferences.hpp
 modules/gui/qt/components/sout/profile_selector.cpp
 modules/gui/qt/components/sout/profile_selector.hpp
 modules/gui/qt/components/sout/profiles.hpp
@@ -743,8 +743,8 @@ modules/gui/qt/dialogs/plugins.cpp
 modules/gui/qt/dialogs/plugins.hpp
 modules/gui/qt/dialogs/podcast_configuration.cpp
 modules/gui/qt/dialogs/podcast_configuration.hpp
-modules/gui/qt/dialogs/preferences.cpp
-modules/gui/qt/dialogs/preferences.hpp
+modules/gui/qt/dialogs/preferences/preferences.cpp
+modules/gui/qt/dialogs/preferences/preferences.hpp
 modules/gui/qt/dialogs/sout.cpp
 modules/gui/qt/dialogs/sout.hpp
 modules/gui/qt/dialogs/toolbar.cpp
@@ -1286,11 +1286,11 @@ share/lua/http/mobile_view.html
 #modules/gui/qt/ui/ui_podcast_configuration.h
 #modules/gui/qt/ui/ui_profiles.h
 #modules/gui/qt/ui/ui_sout.h
-#modules/gui/qt/ui/ui_sprefs_audio.h
-#modules/gui/qt/ui/ui_sprefs_input.h
-#modules/gui/qt/ui/ui_sprefs_interface.h
-#modules/gui/qt/ui/ui_sprefs_subtitles.h
-#modules/gui/qt/ui/ui_sprefs_video.h
+#modules/gui/qt/dialogs/preferences/ui_sprefs_audio.h
+#modules/gui/qt/dialogs/preferences/ui_sprefs_input.h
+#modules/gui/qt/dialogs/preferences/ui_sprefs_interface.h
+#modules/gui/qt/dialogs/preferences/ui_sprefs_subtitles.h
+#modules/gui/qt/dialogs/preferences/ui_sprefs_video.h
 #modules/gui/qt/ui/ui_streampanel.h
 #modules/gui/qt/ui/ui_update.h
 #modules/gui/qt/ui/ui_video_effects.h