1/*
2 * Copyright (C) 2020-2022 Roy Qu (royqh1979@gmail.com)
3 *
4 * This program is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation, either version 3 of the License, or
7 * (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program. If not, see <https://www.gnu.org/licenses/>.
16 */
17#include "projectdirectorieswidget.h"
18#include "ui_projectdirectorieswidget.h"
19#include "compilersetdirectorieswidget.h"
20#include "../project.h"
21#include "../mainwindow.h"
22
23ProjectDirectoriesWidget::ProjectDirectoriesWidget(const QString &name, const QString &group, QWidget *parent) :
24 SettingsWidget(name,group,parent),
25 ui(new Ui::ProjectDirectoriesWidget)
26{
27 ui->setupUi(this);
28
29 mBinDirWidget = new CompilerSetDirectoriesWidget();
30 ui->tabDirs->addTab(mBinDirWidget,tr("Binaries"));
31 mLibDirWidget = new CompilerSetDirectoriesWidget();
32 ui->tabDirs->addTab(mLibDirWidget,tr("Libraries"));
33 mIncludeDirWidget = new CompilerSetDirectoriesWidget();
34 ui->tabDirs->addTab(mIncludeDirWidget,tr("Includes"));
35 mResourceDirWidget = new CompilerSetDirectoriesWidget();
36 ui->tabDirs->addTab(mResourceDirWidget,tr("Resources"));
37}
38
39
40ProjectDirectoriesWidget::~ProjectDirectoriesWidget()
41{
42 delete ui;
43}
44
45void ProjectDirectoriesWidget::doLoad()
46{
47 mBinDirWidget->setDirList(pMainWindow->project()->options().binDirs);
48 mLibDirWidget->setDirList(pMainWindow->project()->options().libDirs);
49 mIncludeDirWidget->setDirList(pMainWindow->project()->options().includeDirs);
50 mResourceDirWidget->setDirList(pMainWindow->project()->options().resourceIncludes);
51
52}
53
54void ProjectDirectoriesWidget::doSave()
55{
56 pMainWindow->project()->options().binDirs = mBinDirWidget->dirList();
57 pMainWindow->project()->options().libDirs = mLibDirWidget->dirList();
58 pMainWindow->project()->options().includeDirs = mIncludeDirWidget->dirList();
59 pMainWindow->project()->options().resourceIncludes = mResourceDirWidget->dirList();
60 pMainWindow->project()->saveOptions();
61}
62