From e4664372602b5fb354dc3d03ae38c02aa34c3681 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Frey=20Bal=C3=A1zs?= <frey.balazs96@gmail.com>
Date: Sun, 14 Apr 2019 19:48:56 +0200
Subject: [PATCH] Browser class added

---
 MiniMatrixRPi/MiniMatrixRPi.pro |  6 ++++--
 MiniMatrixRPi/browser.cpp       | 28 ++++++++++++++++++++++++++++
 MiniMatrixRPi/browser.h         | 18 ++++++++++++++++++
 MiniMatrixRPi/main.cpp          |  6 ++----
 MiniMatrixRPi/mxframe.cpp       |  6 ++++++
 MiniMatrixRPi/mxframe.h         | 11 +++++++++++
 6 files changed, 69 insertions(+), 6 deletions(-)
 create mode 100644 MiniMatrixRPi/browser.cpp
 create mode 100644 MiniMatrixRPi/browser.h
 create mode 100644 MiniMatrixRPi/mxframe.cpp
 create mode 100644 MiniMatrixRPi/mxframe.h

diff --git a/MiniMatrixRPi/MiniMatrixRPi.pro b/MiniMatrixRPi/MiniMatrixRPi.pro
index 97bdbb3..7aee540 100644
--- a/MiniMatrixRPi/MiniMatrixRPi.pro
+++ b/MiniMatrixRPi/MiniMatrixRPi.pro
@@ -14,7 +14,8 @@ DEFINES += QT_DEPRECATED_WARNINGS
 
 SOURCES += \
         main.cpp \
-    animhandler.cpp
+    animhandler.cpp \
+    browser.cpp
 
 RESOURCES += qml.qrc
 
@@ -30,4 +31,5 @@ else: unix:!android: target.path = /opt/$${TARGET}/bin
 !isEmpty(target.path): INSTALLS += target
 
 HEADERS += \
-    animhandler.h
+    animhandler.h \
+    browser.h
diff --git a/MiniMatrixRPi/browser.cpp b/MiniMatrixRPi/browser.cpp
new file mode 100644
index 0000000..ee89509
--- /dev/null
+++ b/MiniMatrixRPi/browser.cpp
@@ -0,0 +1,28 @@
+#include "browser.h"
+
+Browser::Browser(QString path)
+{
+    QDir newDirectory(path);
+    currentDirectory = newDirectory;
+    ListDir();
+}
+
+void Browser::ChDir(QString relPath)
+{
+    QDir newDirectory(currentDirectory.currentPath() + relPath);
+    currentDirectory = newDirectory;
+    ListDir();
+}
+
+void Browser::ListDir()
+{
+    this->currentDirectory.setFilter(QDir::Dirs);
+    this->currentDirectory.setSorting(QDir::Name);
+    subdirs.clear();
+    subdirs += this->currentDirectory.entryList();
+    this->currentDirectory.setFilter(QDir::Files);
+    QStringList filter;
+    filter << ".qt4";
+    this->currentDirectory.setNameFilters(filter);
+    subdirs += this->currentDirectory.entryList();
+}
diff --git a/MiniMatrixRPi/browser.h b/MiniMatrixRPi/browser.h
new file mode 100644
index 0000000..0cdf7d2
--- /dev/null
+++ b/MiniMatrixRPi/browser.h
@@ -0,0 +1,18 @@
+#ifndef BROWSER_H
+#define BROWSER_H
+#include <QDir>
+#include <QString>
+#include <QStringList>
+
+class Browser
+{
+private:
+    QDir currentDirectory;
+    QStringList subdirs;
+public:
+    Browser(QString path);
+    void ChDir(QString relPath);
+    void ListDir();
+};
+
+#endif // BROWSER_H
diff --git a/MiniMatrixRPi/main.cpp b/MiniMatrixRPi/main.cpp
index 68db827..810c091 100644
--- a/MiniMatrixRPi/main.cpp
+++ b/MiniMatrixRPi/main.cpp
@@ -1,7 +1,7 @@
 #include <QGuiApplication>
 #include <QQmlApplicationEngine>
 #include "animhandler.h"
-
+#include "browser.h"
 
 
 int main(int argc, char *argv[])
@@ -15,10 +15,8 @@ int main(int argc, char *argv[])
     if (engine.rootObjects().isEmpty())
         return -1;
 
-
-//    connect(animhandler, &AnimHandler::resultReady, )
     Alma alma;
-
+    Browser browser("/");
     return app.exec();
 }
 
diff --git a/MiniMatrixRPi/mxframe.cpp b/MiniMatrixRPi/mxframe.cpp
new file mode 100644
index 0000000..7abd4a8
--- /dev/null
+++ b/MiniMatrixRPi/mxframe.cpp
@@ -0,0 +1,6 @@
+#include "mxframe.h"
+
+MxFrame::MxFrame()
+{
+
+}
diff --git a/MiniMatrixRPi/mxframe.h b/MiniMatrixRPi/mxframe.h
new file mode 100644
index 0000000..fc0d12f
--- /dev/null
+++ b/MiniMatrixRPi/mxframe.h
@@ -0,0 +1,11 @@
+#ifndef MXFRAME_H
+#define MXFRAME_H
+
+
+class MxFrame
+{
+public:
+    MxFrame();
+};
+
+#endif // MXFRAME_H
\ No newline at end of file
-- 
GitLab