aboutsummaryrefslogtreecommitdiff
path: root/main.cc
diff options
context:
space:
mode:
Diffstat (limited to 'main.cc')
-rw-r--r--main.cc30
1 files changed, 28 insertions, 2 deletions
diff --git a/main.cc b/main.cc
index 617b43a..a27ab6c 100644
--- a/main.cc
+++ b/main.cc
@@ -1,12 +1,36 @@
+#include <QDir>
+#include <QQmlContext>
#include <QApplication>
#include <QQmlApplicationEngine>
+class WorkingDirectory : public QObject {
+ Q_OBJECT
+
+ public:
+ Q_INVOKABLE bool cd(const QString& path) const {
+ QDir current(QDir::current());
+
+ const bool result = current.cd(path);
+
+ QDir::setCurrent(current.absolutePath());
+
+ return result;
+ }
+
+ Q_INVOKABLE QString current() const {
+ return QDir::current().absolutePath();
+ }
+};
+
int main(int argc, char *argv[]) {
- QApplication application(argc, argv);
+ WorkingDirectory directory;
+ QApplication application(argc, argv);
+ QQmlApplicationEngine engine(QUrl(QStringLiteral("qrc:/main.qml")));
+
application.setOrganizationName("akr");
application.setApplicationName("MetaTerm");
- QQmlApplicationEngine engine(QUrl(QStringLiteral("qrc:/main.qml")));
+ engine.rootContext()->setContextProperty("workingDirectory", &directory);
QObject::connect(
static_cast<QObject*>(&engine),
@@ -17,3 +41,5 @@ int main(int argc, char *argv[]) {
return application.exec();
}
+
+#include "main.moc"