From d27b8947630913c296e4540f6766d80fa55698dd Mon Sep 17 00:00:00 2001 From: Anna- Date: Wed, 24 Sep 2014 14:06:11 +0400 Subject: [PATCH 1/3] open 'scripts' dir (when 'files') --- trikGui/controller.cpp | 6 ++++++ trikGui/controller.h | 3 +++ trikGui/fileManagerWidget.cpp | 7 ++++++- 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/trikGui/controller.cpp b/trikGui/controller.cpp index e63f64708..fd2480bd8 100644 --- a/trikGui/controller.cpp +++ b/trikGui/controller.cpp @@ -31,6 +31,7 @@ Controller::Controller(QString const &configPath, QString const &startDirPath) , mScriptRunner(mBrick, startDirPath) , mCommunicator(mScriptRunner) , mRunningWidget(NULL) + , mStartDirPath(startDirPath) { connect(&mScriptRunner, SIGNAL(completed(QString)), this, SLOT(scriptExecutionCompleted(QString))); @@ -77,6 +78,11 @@ trikControl::Brick &Controller::brick() return mBrick; } +QString Controller::startDirPath() +{ + return mStartDirPath; +} + void Controller::scriptExecutionCompleted(QString const &error) { if (mRunningWidget && error.isEmpty()) { diff --git a/trikGui/controller.h b/trikGui/controller.h index d958e3547..2c685bbea 100644 --- a/trikGui/controller.h +++ b/trikGui/controller.h @@ -45,6 +45,8 @@ class Controller : public QObject /// Returns reference to Brick object, which provides access to low-level robot functionality. trikControl::Brick &brick(); + QString startDirPath(); + private slots: void scriptExecutionCompleted(QString const &error); @@ -57,6 +59,7 @@ private slots: trikCommunicator::TrikCommunicator mCommunicator; RunningWidget *mRunningWidget; // Has ownership. + QString const &mStartDirPath; }; } diff --git a/trikGui/fileManagerWidget.cpp b/trikGui/fileManagerWidget.cpp index 878e2388c..c942bbd2e 100644 --- a/trikGui/fileManagerWidget.cpp +++ b/trikGui/fileManagerWidget.cpp @@ -27,7 +27,12 @@ FileManagerWidget::FileManagerWidget(Controller &controller, QWidget *parent) : TrikGuiDialog(parent) , mController(controller) { - mFileSystemModel.setRootPath(QDir::rootPath()); + QDir::setCurrent(mController.startDirPath()); + QDir dir; + dir.mkdir("scripts"); + QDir::setCurrent("scripts"); + + mFileSystemModel.setRootPath(QDir::rootPath()); mFileSystemModel.setFilter(QDir::AllEntries | QDir::Hidden | QDir::System | QDir::NoDot); connect(&mFileSystemModel From 751ac60ab734092b776aea56e7424f72ad78d858 Mon Sep 17 00:00:00 2001 From: Anna- Date: Wed, 24 Sep 2014 16:44:19 +0400 Subject: [PATCH 2/3] you can't go higher than 'scripts' dir --- trikGui/controller.cpp | 4 ++-- trikGui/controller.h | 4 ++-- trikGui/fileManagerWidget.cpp | 15 +++++++++------ trikGui/fileManagerWidget.h | 1 + 4 files changed, 14 insertions(+), 10 deletions(-) diff --git a/trikGui/controller.cpp b/trikGui/controller.cpp index fd2480bd8..2ea1d36b2 100644 --- a/trikGui/controller.cpp +++ b/trikGui/controller.cpp @@ -31,7 +31,7 @@ Controller::Controller(QString const &configPath, QString const &startDirPath) , mScriptRunner(mBrick, startDirPath) , mCommunicator(mScriptRunner) , mRunningWidget(NULL) - , mStartDirPath(startDirPath) + , mStartDirPath(startDirPath) { connect(&mScriptRunner, SIGNAL(completed(QString)), this, SLOT(scriptExecutionCompleted(QString))); @@ -80,7 +80,7 @@ trikControl::Brick &Controller::brick() QString Controller::startDirPath() { - return mStartDirPath; + return mStartDirPath; } void Controller::scriptExecutionCompleted(QString const &error) diff --git a/trikGui/controller.h b/trikGui/controller.h index 2c685bbea..3e3d8095e 100644 --- a/trikGui/controller.h +++ b/trikGui/controller.h @@ -45,7 +45,7 @@ class Controller : public QObject /// Returns reference to Brick object, which provides access to low-level robot functionality. trikControl::Brick &brick(); - QString startDirPath(); + QString startDirPath(); private slots: void scriptExecutionCompleted(QString const &error); @@ -59,7 +59,7 @@ private slots: trikCommunicator::TrikCommunicator mCommunicator; RunningWidget *mRunningWidget; // Has ownership. - QString const &mStartDirPath; + QString const &mStartDirPath; }; } diff --git a/trikGui/fileManagerWidget.cpp b/trikGui/fileManagerWidget.cpp index c942bbd2e..a1c5fdbdb 100644 --- a/trikGui/fileManagerWidget.cpp +++ b/trikGui/fileManagerWidget.cpp @@ -22,17 +22,20 @@ #include using namespace trikGui; +const QString scriptsDirName = "scripts"; FileManagerWidget::FileManagerWidget(Controller &controller, QWidget *parent) : TrikGuiDialog(parent) , mController(controller) { - QDir::setCurrent(mController.startDirPath()); - QDir dir; - dir.mkdir("scripts"); - QDir::setCurrent("scripts"); + mRootDirPath = mController.startDirPath() + scriptsDirName; - mFileSystemModel.setRootPath(QDir::rootPath()); + QDir::setCurrent(mController.startDirPath()); + QDir dir; + dir.mkdir(scriptsDirName); + QDir::setCurrent(mRootDirPath); + + mFileSystemModel.setRootPath(mRootDirPath); mFileSystemModel.setFilter(QDir::AllEntries | QDir::Hidden | QDir::System | QDir::NoDot); connect(&mFileSystemModel @@ -98,7 +101,7 @@ void FileManagerWidget::showCurrentDir() mCurrentPathLabel.setText(QDir::currentPath()); QDir::Filters filters = mFileSystemModel.filter(); - if (QDir::currentPath() == QDir::rootPath()) { + if (QDir::currentPath() == mRootDirPath) { filters |= QDir::NoDotDot; } else { filters &= ~QDir::NoDotDot; diff --git a/trikGui/fileManagerWidget.h b/trikGui/fileManagerWidget.h index 6686a914e..53e1efa8b 100644 --- a/trikGui/fileManagerWidget.h +++ b/trikGui/fileManagerWidget.h @@ -68,6 +68,7 @@ private slots: QListView mFileSystemView; QFileSystemModel mFileSystemModel; Controller &mController; + QString mRootDirPath; }; } From 1d8ff82823b56fc8aaefda3e465cb37843f51d51 Mon Sep 17 00:00:00 2001 From: Anna- Date: Wed, 24 Sep 2014 20:46:01 +0400 Subject: [PATCH 3/3] 'const QString' -> 'QString const' --- trikGui/fileManagerWidget.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/trikGui/fileManagerWidget.cpp b/trikGui/fileManagerWidget.cpp index a1c5fdbdb..9e52b4a89 100644 --- a/trikGui/fileManagerWidget.cpp +++ b/trikGui/fileManagerWidget.cpp @@ -22,7 +22,7 @@ #include using namespace trikGui; -const QString scriptsDirName = "scripts"; +QString const scriptsDirName = "scripts"; FileManagerWidget::FileManagerWidget(Controller &controller, QWidget *parent) : TrikGuiDialog(parent)