diff --git a/data/widgets/file_selector.xml b/data/widgets/file_selector.xml
index f79535b75..5304ef066 100644
--- a/data/widgets/file_selector.xml
+++ b/data/widgets/file_selector.xml
@@ -29,20 +29,4 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/data/widgets/new_folder_window.xml b/data/widgets/new_folder_window.xml
new file mode 100644
index 000000000..b5b145b04
--- /dev/null
+++ b/data/widgets/new_folder_window.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/app/ui/file_selector.cpp b/src/app/ui/file_selector.cpp
index 5fb92cd6d..9a9bec05b 100644
--- a/src/app/ui/file_selector.cpp
+++ b/src/app/ui/file_selector.cpp
@@ -30,6 +30,8 @@
#include "base/unique_ptr.h"
#include "ui/ui.h"
+#include "generated_new_folder_window.h"
+
#include
#include
#include
@@ -713,19 +715,13 @@ void FileSelector::onGoUp()
void FileSelector::onNewFolder()
{
- base::UniquePtr window(load_widget("file_selector.xml", "newfolder_dialog"));
- Button* ok;
- Entry* name;
+ app::gen::NewFolderWindow window;
- app::finder(window)
- >> "ok" >> ok
- >> "name" >> name;
-
- window->openWindowInForeground();
- if (window->getKiller() == ok) {
+ window.openWindowInForeground();
+ if (window.getKiller() == window.ok()) {
IFileItem* currentFolder = m_fileList->getCurrentFolder();
if (currentFolder) {
- std::string dirname = name->getText();
+ std::string dirname = window.name()->getText();
// Create the new directory
try {