Skip to content

Commit 7f4878d

Browse files
Merge pull request #58 from Anna-/scriptsDir
#<Режим просмотра только загруженных программ>
2 parents 9cb8950 + 1d8ff82 commit 7f4878d

File tree

4 files changed

+20
-2
lines changed

4 files changed

+20
-2
lines changed

trikGui/controller.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ Controller::Controller(QString const &configPath, QString const &startDirPath)
3131
, mScriptRunner(mBrick, startDirPath)
3232
, mCommunicator(mScriptRunner)
3333
, mRunningWidget(NULL)
34+
, mStartDirPath(startDirPath)
3435
{
3536
connect(&mScriptRunner, SIGNAL(completed(QString)), this, SLOT(scriptExecutionCompleted(QString)));
3637

@@ -77,6 +78,11 @@ trikControl::Brick &Controller::brick()
7778
return mBrick;
7879
}
7980

81+
QString Controller::startDirPath()
82+
{
83+
return mStartDirPath;
84+
}
85+
8086
void Controller::scriptExecutionCompleted(QString const &error)
8187
{
8288
if (mRunningWidget && error.isEmpty()) {

trikGui/controller.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,8 @@ class Controller : public QObject
4545
/// Returns reference to Brick object, which provides access to low-level robot functionality.
4646
trikControl::Brick &brick();
4747

48+
QString startDirPath();
49+
4850
private slots:
4951
void scriptExecutionCompleted(QString const &error);
5052

@@ -57,6 +59,7 @@ private slots:
5759
trikCommunicator::TrikCommunicator mCommunicator;
5860

5961
RunningWidget *mRunningWidget; // Has ownership.
62+
QString const &mStartDirPath;
6063
};
6164

6265
}

trikGui/fileManagerWidget.cpp

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,20 @@
2222
#include <QtGui/QKeyEvent>
2323

2424
using namespace trikGui;
25+
QString const scriptsDirName = "scripts";
2526

2627
FileManagerWidget::FileManagerWidget(Controller &controller, QWidget *parent)
2728
: TrikGuiDialog(parent)
2829
, mController(controller)
2930
{
30-
mFileSystemModel.setRootPath(QDir::rootPath());
31+
mRootDirPath = mController.startDirPath() + scriptsDirName;
32+
33+
QDir::setCurrent(mController.startDirPath());
34+
QDir dir;
35+
dir.mkdir(scriptsDirName);
36+
QDir::setCurrent(mRootDirPath);
37+
38+
mFileSystemModel.setRootPath(mRootDirPath);
3139
mFileSystemModel.setFilter(QDir::AllEntries | QDir::Hidden | QDir::System | QDir::NoDot);
3240

3341
connect(&mFileSystemModel
@@ -93,7 +101,7 @@ void FileManagerWidget::showCurrentDir()
93101
mCurrentPathLabel.setText(QDir::currentPath());
94102

95103
QDir::Filters filters = mFileSystemModel.filter();
96-
if (QDir::currentPath() == QDir::rootPath()) {
104+
if (QDir::currentPath() == mRootDirPath) {
97105
filters |= QDir::NoDotDot;
98106
} else {
99107
filters &= ~QDir::NoDotDot;

trikGui/fileManagerWidget.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ private slots:
6868
QListView mFileSystemView;
6969
QFileSystemModel mFileSystemModel;
7070
Controller &mController;
71+
QString mRootDirPath;
7172
};
7273

7374
}

0 commit comments

Comments
 (0)