FreeCAD

Форк
0
/
DlgEditFileIncludePropertyExternal.cpp 
76 строк · 3.1 Кб
1
/***************************************************************************
2
 *   Copyright (c) 2002 Jürgen Riegel <juergen.riegel@web.de>              *
3
 *                                                                         *
4
 *   This file is part of the FreeCAD CAx development system.              *
5
 *                                                                         *
6
 *   This library is free software; you can redistribute it and/or         *
7
 *   modify it under the terms of the GNU Library General Public           *
8
 *   License as published by the Free Software Foundation; either          *
9
 *   version 2 of the License, or (at your option) any later version.      *
10
 *                                                                         *
11
 *   This library  is distributed in the hope that it will be useful,      *
12
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
13
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
14
 *   GNU Library General Public License for more details.                  *
15
 *                                                                         *
16
 *   You should have received a copy of the GNU Library General Public     *
17
 *   License along with this library; see the file COPYING.LIB. If not,    *
18
 *   write to the Free Software Foundation, Inc., 59 Temple Place,         *
19
 *   Suite 330, Boston, MA  02111-1307, USA                                *
20
 *                                                                         *
21
 ***************************************************************************/
22

23
#include "PreCompiled.h"
24

25
#include "DlgEditFileIncludePropertyExternal.h"
26
#include "Application.h"
27
#include "FileDialog.h"
28

29

30
using namespace Gui::Dialog;
31

32
/* TRANSLATOR Gui::Dialog::DlgEditFileIncludePropertyExternal */
33

34
/**
35
 *  Constructs a DlgEditFileIncludePropertyExternal which is a child of 'parent', with the
36
 *  name 'name' and widget flags set to 'f'
37
 *
38
 *  The dialog will by default be modeless, unless you set 'modal' to
39
 *  true to construct a modal dialog.
40
 */
41
DlgEditFileIncludePropertyExternal::
42
DlgEditFileIncludePropertyExternal(App::PropertyFileIncluded& Prop,
43
                                   QWidget* parent, Qt::WindowFlags fl)
44
    : DlgRunExternal(parent, fl), Prop(Prop)
45
{
46

47
}
48

49
/**
50
 *  Destroys the object and frees any allocated resources
51
 */
52
DlgEditFileIncludePropertyExternal::~DlgEditFileIncludePropertyExternal() = default;
53

54
int DlgEditFileIncludePropertyExternal::processFile()
55
{
56
    QFileInfo file(QString::fromUtf8(Prop.getValue()));
57
    assert(file.exists());
58

59
    QDir tmp = QString::fromUtf8(App::Application::getUserCachePath().c_str());
60
    QString TempFile = tmp.absoluteFilePath(file.fileName());
61
    QFile::remove(TempFile);
62

63
    QFile::copy(file.absoluteFilePath(), TempFile);
64

65
    addArgument(TempFile);
66

67
    int ret = DlgRunExternal::runProcess();
68

69
    if (ret == QDialog::Accepted)
70
        Prop.setValue(TempFile.toUtf8());
71

72
    QFile::remove(TempFile);
73
    return ret;
74
}
75

76
#include "moc_DlgEditFileIncludePropertyExternal.cpp"
77

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.