Replaced launcher and profile-edit windows with updated version

This commit is contained in:
GPayne
2020-09-11 11:42:50 -06:00
parent 23c3603304
commit bb1e8813c7
11 changed files with 2049 additions and 421 deletions

View File

@@ -23,7 +23,7 @@ target_include_directories(
set(HEADER_FILES
assettreeitem.h
assettreemodel.h
editorwindow.h
profileedit.h
ui_editorwindow.h
filesystemaccess.h
launcherwindow.h
@@ -33,7 +33,7 @@ set(HEADER_FILES
set(SOURCE_FILES
assettreeitem.cpp
assettreemodel.cpp
editorwindow.cpp
profileedit.cpp
filesystemaccess.cpp
launcherwindow.cpp
)

View File

@@ -1,182 +0,0 @@
/*****************************************************************************************
* *
* OpenSpace *
* *
* Copyright (c) 2014-2020 *
* *
* Permission is hereby granted, free of charge, to any person obtaining a copy of this *
* software and associated documentation files (the "Software"), to deal in the Software *
* without restriction, including without limitation the rights to use, copy, modify, *
* merge, publish, distribute, sublicense, and/or sell copies of the Software, and to *
* permit persons to whom the Software is furnished to do so, subject to the following *
* conditions: *
* *
* The above copyright notice and this permission notice shall be included in all copies *
* or substantial portions of the Software. *
* *
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, *
* INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A *
* PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT *
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF *
* CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE *
* OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
****************************************************************************************/
#include "editorwindow.h"
#include "ui_editorwindow.h"
#include <QFileSystemModel>
#include <QScreen>
#include <sstream>
#include "launcherwindow.h"
#include "filesystemaccess.h"
#include <openspace/scene/profile.h>
#include <filesystem>
#include <fstream>
std::string testContents =
"0Dir_1\n"
"0 File 1\n"
"0 File 2\n"
"0 Dir_x1\n"
"0 Dir_x2\n"
"0 Dir_x3\n"
"0 File x1\n"
"1 File x2\n"
"0 Dir_y1\n"
"0 Dir_y2\n"
"0 File y1\n"
"0 File y2\n"
"0 File 3\n"
"0File A\n"
"0Dir 2\n"
"0 Dir B1\n"
"1 File C1\n"
"0 File B2\n"
"0 Dir B1\n"
"0 File C1\n";
editorwindow::editorwindow(const QString assetPath, const std::string& profilePath, QWidget *parent)
: QDialog(parent)
, ui(new Ui::editorwindow)
, _assetTreeModel(tr("Asset"), tr("Enabled"))
, _filesystemAccess(".asset", {"scene", "global", "customization", "examples"},
true, true)
, _assetPath(assetPath)
{
ui->setupUi(this);
ui->lineEditProfile->setPlaceholderText(_helperTextProfileName);
ui->lineEditStartTime->setPlaceholderText(_helperTextStartTime);
ui->textEditFeaturedNodes->setPlaceholderText(_helperTextFeaturedNodes);
ui->lineEditInitialAnchorNode->setPlaceholderText(_helperTextInitialAnchorNode);
//Test section using QFileSystemModel
std::string reportAssets = _filesystemAccess.useQtFileSystemModelToTraverseDir(
_assetPath);
_assetTreeModel.importModelData(reportAssets); //(testContents)
ui->treeView->setModel(&_assetTreeModel);
ui->treeView->setRootIndex(_assetTreeModel.index(-1, 0));
ui->treeView->setColumnWidth(0, ui->treeView->width() * 0.8);
ui->treeView->setAnimated(true);
ui->treeView->setSortingEnabled(false);
int column = 0;
int nRows = _assetTreeModel.rowCount(_assetTreeModel.index(-1, column));
traverseToExpandSelectedItems(nRows, _assetTreeModel.index(-1, 0));
connect(ui->buttonBox, SIGNAL(accepted()), this, SLOT(parseSelections()));
connect(ui->buttonBox, SIGNAL(rejected()), this, SLOT(cancel()));
if (profilePath.length() != 0) {
loadProfile(profilePath);
}
}
void editorwindow::loadProfile(std::string filepath) {
#ifdef WIN32
const std::string search = "/";
const std::string replace = "\\";
if (filepath.find(search) != std::string::npos) {
size_t start_pos = 0;
while ((start_pos = filepath.find(search, start_pos)) != std::string::npos) {
filepath.replace(start_pos, search.length(), replace);
start_pos += replace.length();
}
}
#endif //WIN32
if (!std::filesystem::exists(filepath)) {
throw std::runtime_error("Could not find file)");
}
std::ifstream f(filepath);
std::vector<std::string> lines;
std::string line;
while (std::getline(f, line)) {
lines.push_back(std::move(line));
}
openspace::Profile p(lines);
std::optional t = p.time();
if (t.has_value()) {
ui->lineEditStartTime->setText(QString::fromUtf8(t.value().time.c_str()));
}
}
editorwindow::~editorwindow() {
delete ui;
}
bool editorwindow::traverseToExpandSelectedItems(int nRows, QModelIndex parent) {
bool isChecked = false;
for (int r = 0; r < nRows; r++) {
QModelIndex idx = _assetTreeModel.index(r, 0, parent);
if (!_assetTreeModel.isItemAsset(idx)) {
int nChildRows = _assetTreeModel.childCount(idx);
if (traverseToExpandSelectedItems(nChildRows, idx)) {
ui->treeView->setExpanded(idx, true);
isChecked = true;
}
}
else if (_assetTreeModel.isItemChecked(idx)) {
isChecked = true;
}
}
return isChecked;
}
void editorwindow::setProfileName(QString name) {
_helperTextProfileName = name;
ui->lineEditProfile->setText(_helperTextProfileName);
}
void editorwindow::setStartTime(QString timeString) {
_helperTextStartTime = timeString;
ui->lineEditStartTime->setText(_helperTextStartTime);
}
void editorwindow::setFeaturedNodes(QString featuredNodes) {
_helperTextFeaturedNodes = featuredNodes;
ui->textEditFeaturedNodes->setText(_helperTextFeaturedNodes);
}
void editorwindow::setInitAnchorNode(QString initAnchorNode) {
_helperTextInitialAnchorNode = initAnchorNode;
ui->lineEditInitialAnchorNode->setText(_helperTextInitialAnchorNode);
}
void editorwindow::setCustomizations(QString customizations) {
_helperTextCustomizations = customizations;
ui->textEditCustomizations->setText(_helperTextCustomizations);
}
std::vector<std::string> editorwindow::parseSelections() {
return _assetTreeModel.selectedAssets();
}
void editorwindow::cancel() {
}

View File

@@ -1,73 +0,0 @@
/*****************************************************************************************
* *
* OpenSpace *
* *
* Copyright (c) 2014-2020 *
* *
* Permission is hereby granted, free of charge, to any person obtaining a copy of this *
* software and associated documentation files (the "Software"), to deal in the Software *
* without restriction, including without limitation the rights to use, copy, modify, *
* merge, publish, distribute, sublicense, and/or sell copies of the Software, and to *
* permit persons to whom the Software is furnished to do so, subject to the following *
* conditions: *
* *
* The above copyright notice and this permission notice shall be included in all copies *
* or substantial portions of the Software. *
* *
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, *
* INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A *
* PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT *
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF *
* CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE *
* OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
****************************************************************************************/
#ifndef __OPENSPACE_LAUNCHER___EDITORWINDOW___H__
#define __OPENSPACE_LAUNCHER___EDITORWINDOW___H__
#include <QDir>
#include <QDialog>
#include <QLineEdit>
#include <QFileSystemModel>
#include <QTreeView>
#include "assettreemodel.h"
#include "filesystemaccess.h"
namespace Ui {
class editorwindow;
}
class editorwindow : public QDialog
{
Q_OBJECT
public slots:
void cancel();
public:
explicit editorwindow(QString assetPath, const std::string& profileName,
QWidget* parent = nullptr);
~editorwindow();
std::vector<std::string> parseSelections();
void setProfileName(QString name);
void setStartTime(QString timeString);
void setFeaturedNodes(QString featuredNodes);
void setInitAnchorNode(QString initAnchorNode);
void setCustomizations(QString customizations);
private:
bool traverseToExpandSelectedItems(int nRows, QModelIndex parent);
void loadProfile(std::string profilePath);
Ui::editorwindow *ui;
QString _helperTextProfileName = "Enter profile name";
QString _helperTextStartTime = "YYYY-MM-DDThh:mm:ss (leave blank for default time)";
QString _helperTextFeaturedNodes = "Comma-separated list (i.e. Moon, Earth, Sun)";
QString _helperTextInitialAnchorNode = "i.e. Earth";
QString _helperTextCustomizations;
assetTreeModel _assetTreeModel;
QWidget* _parent;
filesystemAccess _filesystemAccess;
QString _assetPath;
};
#endif // __OPENSPACE_LAUNCHER___EDITORWINDOW___H__

View File

@@ -1,55 +1,43 @@
/*****************************************************************************************
* *
* OpenSpace *
* *
* Copyright (c) 2014-2020 *
* *
* Permission is hereby granted, free of charge, to any person obtaining a copy of this *
* software and associated documentation files (the "Software"), to deal in the Software *
* without restriction, including without limitation the rights to use, copy, modify, *
* merge, publish, distribute, sublicense, and/or sell copies of the Software, and to *
* permit persons to whom the Software is furnished to do so, subject to the following *
* conditions: *
* *
* The above copyright notice and this permission notice shall be included in all copies *
* or substantial portions of the Software. *
* *
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, *
* INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A *
* PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT *
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF *
* CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE *
* OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
****************************************************************************************/
#include "launcherwindow.h"
#include "editorwindow.h"
#include "profileedit.h"
#include "./ui_launcherwindow.h"
#include <QPixmap>
#include "filesystemaccess.h"
#include <sstream>
LauncherWindow::LauncherWindow(std::string basePath, QWidget* parent)
LauncherWindow::LauncherWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::LauncherWindow)
, _fileAccess_profiles(".profile", {"./"}, true, false)
, _fileAccess_winConfigs(".xml", {"./"}, true, false)
, _basePath(QString::fromUtf8(basePath.c_str()))
, _filesystemAccess(".asset", {"scene", "global", "customization", "examples"},
true, true)
, _pData({_metaData,
_moduleData,
_assetData,
_reportAssetsInFilesystem,
_propsData,
_keybindingsData,
_deltaTimesData,
_timeData,
_cameraData,
_markNodesData,
_addedScriptsData})
{
ui->setupUi(this);
QString logoPath = _basePath + "/data/openspace-horiz-logo.png";
QPixmap pix(logoPath);
QPixmap pix("../profileGUI/openspace-horizontal-color-transparent.png");
ui->logolabel->setPixmap(pix.scaled(400, 120, Qt::KeepAspectRatio));
connect(ui->newButton, SIGNAL(released()), this, SLOT(openWindow_new()));
connect(ui->editButton, SIGNAL(released()), this, SLOT(openWindow_edit()));
connect(ui->buttonSim, SIGNAL(released()), this, SLOT(simulateData()));
populateProfilesList();
populateWindowConfigsList();
}
void LauncherWindow::populateProfilesList() {
std::string reportProfiles = _fileAccess_profiles.useQtFileSystemModelToTraverseDir(
_basePath + "/data/profiles");
"/home/gene/Desktop/OpenSpace/data/profiles");
std::stringstream instream(reportProfiles);
std::string iline;
QStringList profilesListLine;
@@ -61,7 +49,7 @@ void LauncherWindow::populateProfilesList() {
void LauncherWindow::populateWindowConfigsList() {
std::string reportConfigs = _fileAccess_winConfigs.useQtFileSystemModelToTraverseDir(
_basePath + "/config");
"/home/gene/Desktop/OpenSpace/config");
std::stringstream instream(reportConfigs);
std::string iline;
QStringList windowConfigsListLine;
@@ -72,37 +60,231 @@ void LauncherWindow::populateWindowConfigsList() {
}
void LauncherWindow::openWindow_new() {
myEditorWindow = new editorwindow(_basePath + "/data/assets", "");
clearData();
myEditorWindow = new ProfileEdit(_pData);
myEditorWindow->exec();
std::vector<std::string> results = myEditorWindow->parseSelections();
receiveAssets(results);
}
void LauncherWindow::openWindow_edit() {
std::string editProfilePath = _basePath.toUtf8().constData();
editProfilePath += "/data/profiles/";
editProfilePath += ui->comboBoxProfiles->currentText().toUtf8().constData();
editProfilePath += ".profile";
myEditorWindow = new editorwindow(_basePath + "/data/assets", editProfilePath);
//simulateData();
myEditorWindow = new ProfileEdit(_pData);
int selectedProfileIdx = ui->comboBoxProfiles->currentIndex();
QString profileToSet = ui->comboBoxProfiles->itemText(selectedProfileIdx);
myEditorWindow->setProfileName(profileToSet);
myEditorWindow->exec();
std::vector<std::string> results = myEditorWindow->parseSelections();
receiveAssets(results);
}
void LauncherWindow::receiveAssets(std::vector<std::string> results) {
//std::string windowText;
//for (std::string line : results) {
// windowText += line + "\n";
//}
//ui->textEdit->setText(QString::fromUtf8(windowText.c_str()));
std::string windowText;
for (std::string line : results) {
windowText += line + "\n";
}
}
LauncherWindow::~LauncherWindow() {
delete ui;
delete myEditorWindow;
}
void LauncherWindow::simulateData() {
initialize_meta();
initialize_modules();
initialize_assets();
initialize_properties();
initialize_keybindings();
initialize_deltaTimes();
initialize_time();
initialize_camera();
initialize_markNodes();
initialize_addedScripts();
}
void LauncherWindow::clearData() {
_metaData = {"", "", "", "", "", ""};
_moduleData.clear();
_assetData.clear();
_propsData.clear();
_keybindingsData.clear();
_deltaTimesData._times.clear();
_timeData.time = "";
_cameraData.type = Camera::Type::Nav;
_cameraData.nav = {"", "", "", {"", "", ""}, {"", "", ""}, "", ""};
_cameraData.geo = {"", "", "", ""};
_markNodesData.clear();
_addedScriptsData = "";
}
void LauncherWindow::initialize_meta() {
_metaData.name = "The meta name";
_metaData.version = "0.15.2";
_metaData.description = "Description here";
_metaData.author = "Author";
_metaData.url = "http://openspaceproject.com";
_metaData.license = "MIT";
}
void LauncherWindow::initialize_modules() {
_moduleData = {
{
"base",
"Do stuff for base if it's loaded",
""
},
{
"globebrowsing",
"",
""
},
{
"gaia",
"",
"Command if gaia not loaded"
},
{
"kameleon",
"script {\n line1\n line2\n}",
"Command if gaia not loaded"
},
};
}
void LauncherWindow::initialize_assets() {
_reportAssetsInFilesystem = _filesystemAccess.useQtFileSystemModelToTraverseDir(
"/home/gene/Desktop/OpenSpace/data/assets");
_assetData = {
{"", "base"},
{"examples", "spheres"},
{"examples", "slidedeck"},
{"scene/milkyway/gaia", "galah"},
{"scene/solarsystem/missions/pioneer", "pioneer10"},
{"scene/solarsystem/missions/spacex", "roadster"},
{"scene/solarsystem/sun", "glare"},
{"scene/solarsystem/sun", "marker"},
{"util", "layer_helper"},
{"customization", "gui"}
};
}
void LauncherWindow::initialize_properties() {
_propsData = {
{
Property::SetType::SetPropertyValueSingle,
"NavigationHandler.OrbitalNavigator.FollowAnchorNodeRotationDistance",
"20.0"
},
{
Property::SetType::SetPropertyValue,
"Scene.Pluto.Renderable.Enabled",
"false"
},
{
Property::SetType::SetPropertyValueSingle,
"Scene.Charon.Renderable.Enabled",
"false"
},
{
Property::SetType::SetPropertyValueSingle,
"Scene.PlutoBarycenterTrail.Renderable.Enabled",
"false"
},
{
Property::SetType::SetPropertyValueSingle,
"NavigationHandler.OrbitalNavigator.FollowAnchorNodeRotationDistance",
"20.0"
},
{
Property::SetType::SetPropertyValue,
"Scene.Pluto.Renderable.Enabled",
"false"
},
{
Property::SetType::SetPropertyValueSingle,
"Scene.Styx.Renderable.Enabled",
"false"
},
{
Property::SetType::SetPropertyValueSingle,
"Scene.PlutoBarycenterTrail.Renderable.Enabled",
"false"
},
{
Property::SetType::SetPropertyValueSingle,
"NavigationHandler.OrbitalNavigator.FollowAnchorNodeRotationDistance",
"20.0"
},
{
Property::SetType::SetPropertyValue,
"Scene.Pluto.Renderable.Enabled",
"false"
},
{
Property::SetType::SetPropertyValueSingle,
"Scene.StyxRenderableTrail.Renderable.Enabled",
"false"
},
{
Property::SetType::SetPropertyValueSingle,
"Scene.PlutoBarycenterTrail.Renderable.Enabled",
"false"
},
};
}
void LauncherWindow::initialize_keybindings() {
_keybindingsData = {
{
{Key::Equal, KeyModifier::Control},
"Documentation for ctrl+=",
"Name for the keybinding",
"/Path/to/keys",
true,
"openspace.keybindings.local.variable.1"
},
{
{Key::KeypadAdd, KeyModifier::Shift},
"Documentation for shift++",
"Name for the keybinding",
"/Path/to/keys",
true,
"openspace.keybindings.local.variable.2"
},
{
{Key::Keypad3, KeyModifier::NoModifier},
"Documentation for '3'",
"Name for the keybinding",
"/Path/to/keys",
false,
"openspace.keybindings.local.variable.3"
},
};
}
void LauncherWindow::initialize_deltaTimes() {
std::vector<int> dt = {1, 2, 5, 10, 30,
60, 120, 300, 600, 1800,
3600, 7200, 10800, 21600, 43200,
86400, 172800, 345600, 604800};
_deltaTimesData.loadValues(dt);
}
void LauncherWindow::initialize_time() {
_timeData.type = OSTime::Type::Absolute;
_timeData.time = "2011-04-17T21:23:59";
}
void LauncherWindow::initialize_camera() {
_cameraData.type = Camera::Type::Nav;
_cameraData.nav = {"Earth", "Moon", "SUNREF", {"1", "2", "3"}, {"4", "5", "6"}, "180.0", "359.9"};
}
void LauncherWindow::initialize_markNodes() {
_markNodesData = {"Earth", "Moon", "Mars", "Jupiter", "Sun"};
}
void LauncherWindow::initialize_addedScripts() {
_addedScriptsData = "line1\nline2\nline3\nline4\nline5";
}

View File

@@ -1,33 +1,8 @@
/*****************************************************************************************
* *
* OpenSpace *
* *
* Copyright (c) 2014-2020 *
* *
* Permission is hereby granted, free of charge, to any person obtaining a copy of this *
* software and associated documentation files (the "Software"), to deal in the Software *
* without restriction, including without limitation the rights to use, copy, modify, *
* merge, publish, distribute, sublicense, and/or sell copies of the Software, and to *
* permit persons to whom the Software is furnished to do so, subject to the following *
* conditions: *
* *
* The above copyright notice and this permission notice shall be included in all copies *
* or substantial portions of the Software. *
* *
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, *
* INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A *
* PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT *
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF *
* CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE *
* OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
****************************************************************************************/
#ifndef LAUNCHERWINDOW_H
#define LAUNCHERWINDOW_H
#ifndef __OPENSPACE_LAUNCHER___LAUNCHERWINDOW___H__
#define __OPENSPACE_LAUNCHER___LAUNCHERWINDOW___H__
#include <QApplication>
#include <QMainWindow>
#include "editorwindow.h"
#include "profileedit.h"
#include "filesystemaccess.h"
QT_BEGIN_NAMESPACE
@@ -41,19 +16,45 @@ class LauncherWindow : public QMainWindow
public slots:
void openWindow_edit();
void openWindow_new();
void simulateData();
public:
LauncherWindow(std::string basePath, QWidget* parent = nullptr);
LauncherWindow(QWidget *parent = nullptr);
~LauncherWindow();
void receiveAssets(std::vector<std::string> results);
private:
void populateProfilesList();
void populateWindowConfigsList();
void clearData();
void initialize_meta();
void initialize_modules();
void initialize_assets();
void initialize_properties();
void initialize_keybindings();
void initialize_deltaTimes();
void initialize_time();
void initialize_camera();
void initialize_markNodes();
void initialize_addedScripts();
Ui::LauncherWindow *ui;
editorwindow* myEditorWindow;
ProfileEdit* myEditorWindow;
filesystemAccess _fileAccess_profiles;
filesystemAccess _fileAccess_winConfigs;
QString _basePath;
Meta _metaData;
std::vector<Module> _moduleData;
std::vector<Asset> _assetData;
filesystemAccess _filesystemAccess;
std::string _reportAssetsInFilesystem;
std::vector<Property> _propsData;
std::vector<Keybinding> _keybindingsData;
DeltaTimes _deltaTimesData;
OSTime _timeData;
Camera _cameraData;
std::vector<std::string> _markNodesData;
std::string _addedScriptsData;
ProfileBlock _pData;
};
#endif // __OPENSPACE_LAUNCHER___LAUNCHERWINDOW___H__
#endif // LAUNCHERWINDOW_H

View File

@@ -0,0 +1,206 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>LauncherWindow</class>
<widget class="QMainWindow" name="LauncherWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>473</width>
<height>576</height>
</rect>
</property>
<property name="windowTitle">
<string>LauncherWindow</string>
</property>
<property name="autoFillBackground">
<bool>false</bool>
</property>
<property name="styleSheet">
<string notr="true">background: rgb(46, 52, 54);
QPushButton {
background: rgb(186, 189, 182);
}</string>
</property>
<widget class="QWidget" name="centralwidget">
<widget class="QPushButton" name="newButton">
<property name="geometry">
<rect>
<x>270</x>
<y>440</y>
<width>100</width>
<height>40</height>
</rect>
</property>
<property name="font">
<font>
<family>Arial</family>
</font>
</property>
<property name="styleSheet">
<string notr="true">background: rgb(186, 189, 182)</string>
</property>
<property name="text">
<string>New Profile</string>
</property>
</widget>
<widget class="QPushButton" name="qBtn_start">
<property name="geometry">
<rect>
<x>130</x>
<y>350</y>
<width>240</width>
<height>60</height>
</rect>
</property>
<property name="font">
<font>
<family>Arial</family>
</font>
</property>
<property name="styleSheet">
<string notr="true">background: rgb(186, 189, 182)</string>
</property>
<property name="text">
<string>Start OpenSpace</string>
</property>
</widget>
<widget class="QPushButton" name="editButton">
<property name="geometry">
<rect>
<x>130</x>
<y>440</y>
<width>100</width>
<height>40</height>
</rect>
</property>
<property name="font">
<font>
<family>Arial</family>
</font>
</property>
<property name="styleSheet">
<string notr="true">background: rgb(186, 189, 182)</string>
</property>
<property name="text">
<string>Edit Profile</string>
</property>
</widget>
<widget class="QLabel" name="logolabel">
<property name="geometry">
<rect>
<x>40</x>
<y>10</y>
<width>400</width>
<height>120</height>
</rect>
</property>
<property name="text">
<string/>
</property>
</widget>
<widget class="QComboBox" name="comboBoxProfiles">
<property name="geometry">
<rect>
<x>130</x>
<y>180</y>
<width>240</width>
<height>50</height>
</rect>
</property>
</widget>
<widget class="QComboBox" name="comboBoxWindowConfigs">
<property name="geometry">
<rect>
<x>130</x>
<y>270</y>
<width>240</width>
<height>50</height>
</rect>
</property>
</widget>
<widget class="QLabel" name="labelChoose">
<property name="geometry">
<rect>
<x>130</x>
<y>160</y>
<width>151</width>
<height>17</height>
</rect>
</property>
<property name="font">
<font>
<family>Arial</family>
</font>
</property>
<property name="text">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:12pt; font-weight:600; color:#ffffff;&quot;&gt;Choose Profile&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="textFormat">
<enum>Qt::RichText</enum>
</property>
</widget>
<widget class="QLabel" name="labelOptions">
<property name="geometry">
<rect>
<x>130</x>
<y>250</y>
<width>151</width>
<height>17</height>
</rect>
</property>
<property name="font">
<font>
<family>Arial</family>
</font>
</property>
<property name="text">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:12pt; font-weight:600; color:#ffffff;&quot;&gt;Window Options&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="textFormat">
<enum>Qt::RichText</enum>
</property>
</widget>
<widget class="QPushButton" name="buttonSim">
<property name="geometry">
<rect>
<x>210</x>
<y>500</y>
<width>89</width>
<height>25</height>
</rect>
</property>
<property name="text">
<string>simData</string>
</property>
</widget>
</widget>
<widget class="QMenuBar" name="menubar">
<property name="enabled">
<bool>false</bool>
</property>
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>473</width>
<height>22</height>
</rect>
</property>
<widget class="QMenu" name="menuOpenSpace_Launcher">
<property name="title">
<string>OpenSpace Launcher</string>
</property>
</widget>
<addaction name="menuOpenSpace_Launcher"/>
</widget>
<widget class="QStatusBar" name="statusbar">
<property name="enabled">
<bool>false</bool>
</property>
</widget>
</widget>
<resources/>
<connections/>
</ui>

View File

@@ -0,0 +1,246 @@
#include "profileedit.h"
#include "./ui_profileedit.h"
#include "filesystemaccess.h"
ProfileEdit::ProfileEdit(ProfileBlock imported, QWidget *parent)
: QDialog(parent)
, ui(new Ui::ProfileEdit)
, _pData(imported)
{
ui->setupUi(this);
ui->text_meta->setText(summarizeText_meta());
ui->text_meta->setReadOnly(true);
ui->text_modules->setText(summarizeText_modules());
ui->text_modules->setReadOnly(true);
ui->text_assets->setText(summarizeText_assets());
ui->text_assets->setReadOnly(true);
ui->text_properties->setText(summarizeText_properties());
ui->text_properties->setReadOnly(true);
ui->text_keybindings->setText(summarizeText_keybindings());
ui->text_keybindings->setReadOnly(true);
ui->text_time->setText(summarizeText_time());
ui->text_time->setReadOnly(true);
ui->text_deltatimes->setText(summarizeText_deltaTimes());
ui->text_deltatimes->setReadOnly(true);
ui->text_camera->setText(summarizeText_camera());
ui->text_camera->setReadOnly(true);
ui->text_marknodes->setText(summarizeText_markNodes());
ui->text_marknodes->setReadOnly(true);
ui->text_additionalscripts->setText(summarizeText_addedScripts());
ui->text_additionalscripts->setReadOnly(true);
connect(ui->edit_meta, SIGNAL(clicked()), this, SLOT(openMeta()));
connect(ui->edit_properties, SIGNAL(clicked()), this, SLOT(openProperties()));
connect(ui->edit_modules, SIGNAL(clicked()), this, SLOT(openModules()));
connect(ui->edit_keybindings, SIGNAL(clicked()), this, SLOT(openKeybindings()));
connect(ui->edit_assets, SIGNAL(clicked()), this, SLOT(openAssets()));
connect(ui->edit_time, SIGNAL(clicked()), this, SLOT(openTime()));
connect(ui->edit_additionalscripts, SIGNAL(clicked()), this, SLOT(openAddedScripts()));
connect(ui->edit_deltatimes, SIGNAL(clicked()), this, SLOT(openDeltaTimes()));
connect(ui->edit_camera, SIGNAL(clicked()), this, SLOT(openCamera()));
connect(ui->edit_marknodes, SIGNAL(clicked()), this, SLOT(openMarkNodes()));
}
void ProfileEdit::setProfileName(QString profileToSet) {
ui->line_profile->setText(profileToSet);
}
void ProfileEdit::openMeta() {
_meta = new meta(_pData._metaData);
_meta->exec();
ui->text_meta->setText(summarizeText_meta());
}
QString ProfileEdit::summarizeText_meta() {
QString s = QString(_pData._metaData.name.c_str());
s += ", " + QString(_pData._metaData.version.c_str());
s += ", " + QString(_pData._metaData.description.c_str());
s += ", " + QString(_pData._metaData.author.c_str());
s += ", " + QString(_pData._metaData.url.c_str());
s += ", " + QString(_pData._metaData.license.c_str());
return s;
}
void ProfileEdit::openModules() {
_modules = new osmodules(_pData._moduleData);
_modules->exec();
ui->text_modules->setText(summarizeText_modules());
}
QString ProfileEdit::summarizeText_modules() {
QString results = QString("<Configured with %1 modules>\n").arg(_pData._moduleData.size());
for (Module m : _pData._moduleData) {
results += " " + QString(m.name.c_str());
if (m.loadedInstruction.size() > 0 && m.notLoadedInstruction.size() > 0) {
results += " (has commands for both loaded & non-loaded conditions)";
}
else if (m.loadedInstruction.size() > 0) {
results += " (has command for loaded condition)";
}
else if (m.notLoadedInstruction.size() > 0) {
results += " (has command for non-loaded condition)";
}
results += "\n";
}
return results;
}
void ProfileEdit::openProperties() {
_properties = new properties(_pData._propsData);
_properties->exec();
ui->text_properties->setText(summarizeText_properties());
}
QString ProfileEdit::summarizeText_properties() {
QString results = QString("<Configured with %1 properties>\n").arg(_pData._propsData.size());
for (Property p : _pData._propsData) {
results += " " + QString(p.name.c_str()) + " = ";
results += QString(p.value.c_str()) + "\n";
}
return results;
}
void ProfileEdit::openKeybindings() {
_keybindings = new keybindings(_pData._keybindingsData);
_keybindings->exec();
ui->text_keybindings->setText(summarizeText_keybindings());
}
QString ProfileEdit::summarizeText_keybindings() {
QString results =
QString("<Configured with %1 keybindings>\n").arg(_pData._keybindingsData.size());
for (Keybinding k : _pData._keybindingsData) {
results += " " + QString(k.name.c_str()) + " (";
int keymod = static_cast<int>(k.key.modifier);
if (keymod != static_cast<int>(KeyModifier::NoModifier)) {
results += QString(keyModifierNames.at(keymod).c_str()) + "+";
}
results += QString(keyNames.at(static_cast<int>(k.key.key)).c_str());
results += ")\n";
}
return results;
}
void ProfileEdit::openAssets() {
_assets = new assets(_pData._assetData, _pData._reportAssetsInFilesystem);
_assets->exec();
ui->text_assets->setText(summarizeText_assets());
}
QString ProfileEdit::summarizeText_assets() {
QString results = QString("<Configured with %1 assets>\n").arg(_pData._assetData.size());
for (Asset a : _pData._assetData) {
results += " " + QString(a.path.c_str()) + "/";
results += QString(a.name.c_str()) + "\n";
}
return results;
}
void ProfileEdit::openTime() {
_time = new ostime(_pData._timeData);
_time->exec();
ui->text_time->setText(summarizeText_time());
}
QString ProfileEdit::summarizeText_time() {
QString results;
if (_pData._timeData.type == OSTime::Type::Absolute) {
results = "Absolute time: ";
}
else if (_pData._timeData.type == OSTime::Type::Relative) {
results = "Relative time: ";
}
results += QString(_pData._timeData.time.c_str());
return results;
}
void ProfileEdit::openDeltaTimes() {
_deltaTimes = new deltaTimes(_pData._deltaTimesData);
_deltaTimes->exec();
ui->text_deltatimes->setText(summarizeText_deltaTimes());
}
QString ProfileEdit::summarizeText_deltaTimes() {
QString results =
QString("<Configured with %1 delta times>\n").arg(_pData._deltaTimesData.size());
for (size_t i = 0; i < _pData._deltaTimesData.size(); ++i) {
results += _deltaTimes->createSummaryForDeltaTime(i,
_pData._deltaTimesData._times.at(i), false);
results += "\t" + QString::number(_pData._deltaTimesData._times.at(i)) + "\n";
}
return results;
}
void ProfileEdit::openAddedScripts() {
_addedScripts = new addedScripts(_pData._addedScriptsData);
_addedScripts->exec();
ui->text_additionalscripts->setText(summarizeText_addedScripts());
}
QString ProfileEdit::summarizeText_addedScripts() {
return QString(_pData._addedScriptsData.c_str());
}
void ProfileEdit::openCamera() {
_camera = new camera(_pData._cameraData);
_camera->exec();
ui->text_camera->setText(summarizeText_camera());
}
QString ProfileEdit::summarizeText_camera() {
QString results;
if (_pData._cameraData.type == Camera::Type::Nav) {
results = "setNavigationState: ";
results += QString(_pData._cameraData.nav.anchor.c_str()) + " ";
results += QString(_pData._cameraData.nav.aim.c_str()) + " ";
results += QString(_pData._cameraData.nav.referenceFrame.c_str()) + " ";
results += "Pos=" + QString(_pData._cameraData.nav.position[0].c_str()) + ",";
results += QString(_pData._cameraData.nav.position[1].c_str()) + ",";
results += QString(_pData._cameraData.nav.position[2].c_str()) + " ";
if (_pData._cameraData.nav.up[0].length() > 0) {
results += "Up=" + QString(_pData._cameraData.nav.up[0].c_str()) + ",";
results += QString(_pData._cameraData.nav.up[1].c_str()) + ",";
results += QString(_pData._cameraData.nav.up[2].c_str()) + " ";
}
results += "Yaw=" + QString(_pData._cameraData.nav.yaw.c_str()) + " ";
results += "Pitch=" + QString(_pData._cameraData.nav.pitch.c_str()) + " ";
}
else if (_pData._cameraData.type == Camera::Type::Geo) {
results = "goToGeo: ";
results += QString(_pData._cameraData.geo.anchor.c_str()) + " ";
results += "Lat=" + QString(_pData._cameraData.geo.latitude.c_str()) + " ";
results += "Lon=" + QString(_pData._cameraData.geo.longitude.c_str()) + " ";
results += "Alt=" + QString(_pData._cameraData.geo.altitude.c_str()) + " ";
}
return results;
}
void ProfileEdit::openMarkNodes() {
_markNodes = new markNodes(_pData._markNodesData);
_markNodes->exec();
ui->text_marknodes->setText(summarizeText_markNodes());
}
QString ProfileEdit::summarizeText_markNodes() {
QString results;
for (auto s : _pData._markNodesData) {
results += QString(s.c_str()) + " ";
}
return results;
}
ProfileEdit::~ProfileEdit() {
delete ui;
}

View File

@@ -0,0 +1,87 @@
#ifndef PROFILEEDIT_H
#define PROFILEEDIT_H
#include <QDialog>
#include <QWidget>
#include "meta.h"
#include "properties.h"
#include "osmodules.h"
#include "keybindings.h"
#include "assets.h"
#include "ostime.h"
#include "addedScripts.h"
#include "deltaTimes.h"
#include "camera.h"
#include "markNodes.h"
#include "ostime.h"
QT_BEGIN_NAMESPACE
namespace Ui {
class ProfileEdit;
}
QT_END_NAMESPACE
struct ProfileBlock {
Meta& _metaData;
std::vector<Module>& _moduleData;
std::vector<Asset>& _assetData;
std::string& _reportAssetsInFilesystem;
std::vector<Property>& _propsData;
std::vector<Keybinding>& _keybindingsData;
DeltaTimes& _deltaTimesData;
OSTime& _timeData;
Camera& _cameraData;
std::vector<std::string>& _markNodesData;
std::string& _addedScriptsData;
};
class ProfileEdit : public QDialog
{
Q_OBJECT
public slots:
void openMeta();
void openProperties();
void openModules();
void openKeybindings();
void openAssets();
void openTime();
void openAddedScripts();
void openDeltaTimes();
void openCamera();
void openMarkNodes();
public:
explicit ProfileEdit(ProfileBlock imported, QWidget *parent = nullptr);
~ProfileEdit();
void setProfileName(QString profileToSet);
private:
QString summarizeText_meta();
QString summarizeText_modules();
QString summarizeText_assets();
QString summarizeText_properties();
QString summarizeText_keybindings();
QString summarizeText_deltaTimes();
QString summarizeText_time();
QString summarizeText_camera();
QString summarizeText_markNodes();
QString summarizeText_addedScripts();
Ui::ProfileEdit *ui;
QWidget* _parent;
meta* _meta;
properties* _properties;
osmodules* _modules;
keybindings* _keybindings;
assets* _assets;
ostime* _time;
addedScripts* _addedScripts;
deltaTimes* _deltaTimes;
camera* _camera;
markNodes* _markNodes;
ProfileBlock _pData;
};
#endif // PROFILEEDIT_H

View File

@@ -0,0 +1,838 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>ProfileEdit</class>
<widget class="QDialog" name="ProfileEdit">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>400</width>
<height>790</height>
</rect>
</property>
<property name="windowTitle">
<string>Profile Editor</string>
</property>
<widget class="QDialogButtonBox" name="buttonBox">
<property name="geometry">
<rect>
<x>50</x>
<y>750</y>
<width>341</width>
<height>32</height>
</rect>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="standardButtons">
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
</property>
</widget>
<widget class="QWidget" name="verticalLayoutWidget">
<property name="geometry">
<rect>
<x>10</x>
<y>60</y>
<width>381</width>
<height>671</height>
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QFrame" name="frame_meta">
<property name="enabled">
<bool>true</bool>
</property>
<property name="maximumSize">
<size>
<width>444</width>
<height>56</height>
</size>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Plain</enum>
</property>
<widget class="QLabel" name="label_meta">
<property name="geometry">
<rect>
<x>4</x>
<y>0</y>
<width>111</width>
<height>17</height>
</rect>
</property>
<property name="font">
<font>
<family>Arial</family>
</font>
</property>
<property name="text">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Meta&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
<widget class="QPushButton" name="edit_meta">
<property name="geometry">
<rect>
<x>328</x>
<y>20</y>
<width>41</width>
<height>25</height>
</rect>
</property>
<property name="text">
<string>Edit</string>
</property>
</widget>
<widget class="QTextEdit" name="text_meta">
<property name="geometry">
<rect>
<x>10</x>
<y>18</y>
<width>311</width>
<height>35</height>
</rect>
</property>
<property name="font">
<font>
<family>Arial</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="horizontalScrollBarPolicy">
<enum>Qt::ScrollBarAlwaysOff</enum>
</property>
<property name="lineWrapMode">
<enum>QTextEdit::NoWrap</enum>
</property>
</widget>
</widget>
</item>
<item>
<widget class="QFrame" name="frame_modules">
<property name="enabled">
<bool>true</bool>
</property>
<property name="maximumSize">
<size>
<width>444</width>
<height>56</height>
</size>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Plain</enum>
</property>
<widget class="QLabel" name="label_modules">
<property name="geometry">
<rect>
<x>4</x>
<y>0</y>
<width>111</width>
<height>17</height>
</rect>
</property>
<property name="font">
<font>
<family>Arial</family>
</font>
</property>
<property name="text">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Modules&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
<widget class="QPushButton" name="edit_modules">
<property name="geometry">
<rect>
<x>328</x>
<y>20</y>
<width>41</width>
<height>25</height>
</rect>
</property>
<property name="text">
<string>Edit</string>
</property>
</widget>
<widget class="QTextEdit" name="text_modules">
<property name="geometry">
<rect>
<x>10</x>
<y>18</y>
<width>311</width>
<height>35</height>
</rect>
</property>
<property name="font">
<font>
<family>Arial</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="horizontalScrollBarPolicy">
<enum>Qt::ScrollBarAlwaysOff</enum>
</property>
<property name="lineWrapMode">
<enum>QTextEdit::NoWrap</enum>
</property>
</widget>
</widget>
</item>
<item>
<widget class="QFrame" name="frame_assets">
<property name="enabled">
<bool>true</bool>
</property>
<property name="maximumSize">
<size>
<width>444</width>
<height>56</height>
</size>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Plain</enum>
</property>
<widget class="QLabel" name="label_assets">
<property name="geometry">
<rect>
<x>4</x>
<y>0</y>
<width>111</width>
<height>17</height>
</rect>
</property>
<property name="font">
<font>
<family>Arial</family>
</font>
</property>
<property name="text">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Assets&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
<widget class="QPushButton" name="edit_assets">
<property name="geometry">
<rect>
<x>328</x>
<y>20</y>
<width>41</width>
<height>25</height>
</rect>
</property>
<property name="text">
<string>Edit</string>
</property>
</widget>
<widget class="QTextEdit" name="text_assets">
<property name="geometry">
<rect>
<x>10</x>
<y>18</y>
<width>311</width>
<height>35</height>
</rect>
</property>
<property name="font">
<font>
<family>Arial</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="horizontalScrollBarPolicy">
<enum>Qt::ScrollBarAlwaysOff</enum>
</property>
<property name="lineWrapMode">
<enum>QTextEdit::NoWrap</enum>
</property>
</widget>
</widget>
</item>
<item>
<widget class="QFrame" name="frame_properties">
<property name="enabled">
<bool>true</bool>
</property>
<property name="maximumSize">
<size>
<width>444</width>
<height>56</height>
</size>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Plain</enum>
</property>
<widget class="QLabel" name="label_properties">
<property name="geometry">
<rect>
<x>4</x>
<y>0</y>
<width>111</width>
<height>17</height>
</rect>
</property>
<property name="font">
<font>
<family>Arial</family>
</font>
</property>
<property name="text">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Properties&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
<widget class="QPushButton" name="edit_properties">
<property name="geometry">
<rect>
<x>328</x>
<y>20</y>
<width>41</width>
<height>25</height>
</rect>
</property>
<property name="text">
<string>Edit</string>
</property>
</widget>
<widget class="QTextEdit" name="text_properties">
<property name="geometry">
<rect>
<x>10</x>
<y>18</y>
<width>311</width>
<height>35</height>
</rect>
</property>
<property name="font">
<font>
<family>Arial</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="horizontalScrollBarPolicy">
<enum>Qt::ScrollBarAlwaysOff</enum>
</property>
<property name="lineWrapMode">
<enum>QTextEdit::NoWrap</enum>
</property>
</widget>
</widget>
</item>
<item>
<widget class="QFrame" name="frame_keybindings">
<property name="enabled">
<bool>true</bool>
</property>
<property name="maximumSize">
<size>
<width>444</width>
<height>56</height>
</size>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Plain</enum>
</property>
<widget class="QLabel" name="label_keybindings">
<property name="geometry">
<rect>
<x>4</x>
<y>0</y>
<width>111</width>
<height>17</height>
</rect>
</property>
<property name="font">
<font>
<family>Arial</family>
</font>
</property>
<property name="text">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Keybindings&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
<widget class="QPushButton" name="edit_keybindings">
<property name="geometry">
<rect>
<x>328</x>
<y>20</y>
<width>41</width>
<height>25</height>
</rect>
</property>
<property name="text">
<string>Edit</string>
</property>
</widget>
<widget class="QTextEdit" name="text_keybindings">
<property name="geometry">
<rect>
<x>10</x>
<y>18</y>
<width>311</width>
<height>35</height>
</rect>
</property>
<property name="font">
<font>
<family>Arial</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="horizontalScrollBarPolicy">
<enum>Qt::ScrollBarAlwaysOff</enum>
</property>
<property name="lineWrapMode">
<enum>QTextEdit::NoWrap</enum>
</property>
</widget>
</widget>
</item>
<item>
<widget class="QFrame" name="frame_time">
<property name="enabled">
<bool>true</bool>
</property>
<property name="maximumSize">
<size>
<width>444</width>
<height>56</height>
</size>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Plain</enum>
</property>
<widget class="QLabel" name="label_time">
<property name="geometry">
<rect>
<x>4</x>
<y>0</y>
<width>111</width>
<height>17</height>
</rect>
</property>
<property name="font">
<font>
<family>Arial</family>
</font>
</property>
<property name="text">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Time&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
<widget class="QPushButton" name="edit_time">
<property name="geometry">
<rect>
<x>328</x>
<y>20</y>
<width>41</width>
<height>25</height>
</rect>
</property>
<property name="text">
<string>Edit</string>
</property>
</widget>
<widget class="QTextEdit" name="text_time">
<property name="geometry">
<rect>
<x>10</x>
<y>18</y>
<width>311</width>
<height>35</height>
</rect>
</property>
<property name="font">
<font>
<family>Arial</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="horizontalScrollBarPolicy">
<enum>Qt::ScrollBarAlwaysOff</enum>
</property>
<property name="lineWrapMode">
<enum>QTextEdit::NoWrap</enum>
</property>
</widget>
</widget>
</item>
<item>
<widget class="QFrame" name="frame_deltatimes">
<property name="enabled">
<bool>true</bool>
</property>
<property name="maximumSize">
<size>
<width>444</width>
<height>56</height>
</size>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Plain</enum>
</property>
<widget class="QLabel" name="label_deltatimes">
<property name="geometry">
<rect>
<x>4</x>
<y>0</y>
<width>111</width>
<height>17</height>
</rect>
</property>
<property name="font">
<font>
<family>Arial</family>
</font>
</property>
<property name="text">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Delta Times&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
<widget class="QPushButton" name="edit_deltatimes">
<property name="geometry">
<rect>
<x>328</x>
<y>20</y>
<width>41</width>
<height>25</height>
</rect>
</property>
<property name="text">
<string>Edit</string>
</property>
</widget>
<widget class="QTextEdit" name="text_deltatimes">
<property name="geometry">
<rect>
<x>10</x>
<y>18</y>
<width>311</width>
<height>35</height>
</rect>
</property>
<property name="font">
<font>
<family>Arial</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="horizontalScrollBarPolicy">
<enum>Qt::ScrollBarAlwaysOff</enum>
</property>
<property name="lineWrapMode">
<enum>QTextEdit::NoWrap</enum>
</property>
</widget>
</widget>
</item>
<item>
<widget class="QFrame" name="frame_camera">
<property name="enabled">
<bool>true</bool>
</property>
<property name="maximumSize">
<size>
<width>444</width>
<height>56</height>
</size>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Plain</enum>
</property>
<widget class="QLabel" name="label_camera">
<property name="geometry">
<rect>
<x>4</x>
<y>0</y>
<width>111</width>
<height>17</height>
</rect>
</property>
<property name="font">
<font>
<family>Arial</family>
</font>
</property>
<property name="text">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Camera&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
<widget class="QPushButton" name="edit_camera">
<property name="geometry">
<rect>
<x>328</x>
<y>20</y>
<width>41</width>
<height>25</height>
</rect>
</property>
<property name="text">
<string>Edit</string>
</property>
</widget>
<widget class="QTextEdit" name="text_camera">
<property name="geometry">
<rect>
<x>10</x>
<y>18</y>
<width>311</width>
<height>35</height>
</rect>
</property>
<property name="font">
<font>
<family>Arial</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="horizontalScrollBarPolicy">
<enum>Qt::ScrollBarAlwaysOff</enum>
</property>
<property name="lineWrapMode">
<enum>QTextEdit::NoWrap</enum>
</property>
</widget>
</widget>
</item>
<item>
<widget class="QFrame" name="frame_marknodes">
<property name="enabled">
<bool>true</bool>
</property>
<property name="maximumSize">
<size>
<width>444</width>
<height>56</height>
</size>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Plain</enum>
</property>
<widget class="QLabel" name="label_marknodes">
<property name="geometry">
<rect>
<x>4</x>
<y>0</y>
<width>181</width>
<height>17</height>
</rect>
</property>
<property name="font">
<font>
<family>Arial</family>
</font>
</property>
<property name="text">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Mark Interesting Nodes&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
<widget class="QPushButton" name="edit_marknodes">
<property name="geometry">
<rect>
<x>328</x>
<y>20</y>
<width>41</width>
<height>25</height>
</rect>
</property>
<property name="text">
<string>Edit</string>
</property>
</widget>
<widget class="QTextEdit" name="text_marknodes">
<property name="geometry">
<rect>
<x>10</x>
<y>18</y>
<width>311</width>
<height>35</height>
</rect>
</property>
<property name="font">
<font>
<family>Arial</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="horizontalScrollBarPolicy">
<enum>Qt::ScrollBarAlwaysOff</enum>
</property>
<property name="lineWrapMode">
<enum>QTextEdit::NoWrap</enum>
</property>
</widget>
</widget>
</item>
<item>
<widget class="QFrame" name="frame_additionalscripts">
<property name="enabled">
<bool>true</bool>
</property>
<property name="maximumSize">
<size>
<width>444</width>
<height>56</height>
</size>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Plain</enum>
</property>
<widget class="QLabel" name="label_additionalscripts">
<property name="geometry">
<rect>
<x>4</x>
<y>0</y>
<width>171</width>
<height>17</height>
</rect>
</property>
<property name="font">
<font>
<family>Arial</family>
</font>
</property>
<property name="text">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Additional Scripts&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
<widget class="QPushButton" name="edit_additionalscripts">
<property name="geometry">
<rect>
<x>328</x>
<y>20</y>
<width>41</width>
<height>25</height>
</rect>
</property>
<property name="text">
<string>Edit</string>
</property>
</widget>
<widget class="QTextEdit" name="text_additionalscripts">
<property name="geometry">
<rect>
<x>10</x>
<y>18</y>
<width>311</width>
<height>35</height>
</rect>
</property>
<property name="font">
<font>
<family>Arial</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="horizontalScrollBarPolicy">
<enum>Qt::ScrollBarAlwaysOff</enum>
</property>
<property name="lineWrapMode">
<enum>QTextEdit::NoWrap</enum>
</property>
</widget>
</widget>
</item>
</layout>
</widget>
<widget class="QLabel" name="label_profile">
<property name="geometry">
<rect>
<x>10</x>
<y>22</y>
<width>111</width>
<height>21</height>
</rect>
</property>
<property name="font">
<font>
<family>Arial</family>
<pointsize>13</pointsize>
</font>
</property>
<property name="text">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Profile Name:&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
<widget class="QLineEdit" name="line_profile">
<property name="geometry">
<rect>
<x>130</x>
<y>20</y>
<width>201</width>
<height>25</height>
</rect>
</property>
<property name="font">
<font>
<family>Arial</family>
<pointsize>12</pointsize>
</font>
</property>
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Name of profile filename&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</widget>
<resources/>
<connections>
<connection>
<sender>buttonBox</sender>
<signal>accepted()</signal>
<receiver>ProfileEdit</receiver>
<slot>accept()</slot>
<hints>
<hint type="sourcelabel">
<x>248</x>
<y>254</y>
</hint>
<hint type="destinationlabel">
<x>157</x>
<y>274</y>
</hint>
</hints>
</connection>
<connection>
<sender>buttonBox</sender>
<signal>rejected()</signal>
<receiver>ProfileEdit</receiver>
<slot>reject()</slot>
<hints>
<hint type="sourcelabel">
<x>316</x>
<y>260</y>
</hint>
<hint type="destinationlabel">
<x>286</x>
<y>274</y>
</hint>
</hints>
</connection>
</connections>
</ui>

View File

@@ -1,37 +1,13 @@
/*****************************************************************************************
* *
* OpenSpace *
* *
* Copyright (c) 2014-2020 *
* *
* Permission is hereby granted, free of charge, to any person obtaining a copy of this *
* software and associated documentation files (the "Software"), to deal in the Software *
* without restriction, including without limitation the rights to use, copy, modify, *
* merge, publish, distribute, sublicense, and/or sell copies of the Software, and to *
* permit persons to whom the Software is furnished to do so, subject to the following *
* conditions: *
* *
* The above copyright notice and this permission notice shall be included in all copies *
* or substantial portions of the Software. *
* *
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, *
* INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A *
* PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT *
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF *
* CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE *
* OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
****************************************************************************************/
/********************************************************************************
** Form generated from reading UI file 'launcherwindow.ui'
**
** Created by: Qt User Interface Compiler version 5.12.2
** Created by: Qt User Interface Compiler version 5.15.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
#ifndef __OPENSPACE_LAUNCHER_UI__LAUNCHERWINDOW___H__
#define __OPENSPACE_LAUNCHER_UI__LAUNCHERWINDOW___H__
#ifndef UI_LAUNCHERWINDOW_H
#define UI_LAUNCHERWINDOW_H
#include <QtCore/QVariant>
#include <QtWidgets/QAction>
@@ -43,7 +19,6 @@
#include <QtWidgets/QMenuBar>
#include <QtWidgets/QPushButton>
#include <QtWidgets/QStatusBar>
#include <QtWidgets/QTextEdit>
#include <QtWidgets/QWidget>
QT_BEGIN_NAMESPACE
@@ -60,6 +35,7 @@ public:
QComboBox *comboBoxWindowConfigs;
QLabel *labelChoose;
QLabel *labelOptions;
QPushButton *buttonSim;
QMenuBar *menubar;
QMenu *menuOpenSpace_Launcher;
QStatusBar *statusbar;
@@ -68,61 +44,61 @@ public:
{
if (LauncherWindow->objectName().isEmpty())
LauncherWindow->setObjectName(QString::fromUtf8("LauncherWindow"));
LauncherWindow->resize(586, 600);
LauncherWindow->resize(473, 576);
LauncherWindow->setAutoFillBackground(false);
LauncherWindow->setStyleSheet(QString::fromUtf8(
"background: rgb(46, 52, 54);\n"
"\n"
"QPushButton {\n"
" background: rgb(186, 189, 182);\n"
"}")
);
LauncherWindow->setStyleSheet(QString::fromUtf8("background: rgb(46, 52, 54);\n"
"\n"
"QPushButton {\n"
" background: rgb(186, 189, 182);\n"
"}"));
centralwidget = new QWidget(LauncherWindow);
centralwidget->setObjectName(QString::fromUtf8("centralwidget"));
newButton = new QPushButton(centralwidget);
newButton->setObjectName(QString::fromUtf8("newButton"));
newButton->setGeometry(QRect(300, 420, 100, 40));
newButton->setGeometry(QRect(270, 440, 100, 40));
QFont font;
font.setFamily(QString::fromUtf8("Arial"));
newButton->setFont(font);
newButton->setStyleSheet(QString::fromUtf8("background: rgb(186, 189, 182)"));
qBtn_start = new QPushButton(centralwidget);
qBtn_start->setObjectName(QString::fromUtf8("qBtn_start"));
qBtn_start->setGeometry(QRect(160, 330, 240, 60));
qBtn_start->setGeometry(QRect(130, 350, 240, 60));
qBtn_start->setFont(font);
qBtn_start->setStyleSheet(QString::fromUtf8("background: rgb(186, 189, 182)"));
editButton = new QPushButton(centralwidget);
editButton->setObjectName(QString::fromUtf8("editButton"));
editButton->setGeometry(QRect(160, 420, 100, 40));
editButton->setGeometry(QRect(130, 440, 100, 40));
editButton->setFont(font);
editButton->setStyleSheet(QString::fromUtf8("background: rgb(186, 189, 182)"));
logolabel = new QLabel(centralwidget);
logolabel->setObjectName(QString::fromUtf8("logolabel"));
logolabel->setGeometry(QRect(80, 0, 400, 120));
logolabel->setGeometry(QRect(40, 10, 400, 120));
comboBoxProfiles = new QComboBox(centralwidget);
comboBoxProfiles->setObjectName(QString::fromUtf8("comboBoxProfiles"));
comboBoxProfiles->setGeometry(QRect(160, 160, 240, 50));
comboBoxProfiles->setGeometry(QRect(130, 180, 240, 50));
comboBoxWindowConfigs = new QComboBox(centralwidget);
comboBoxWindowConfigs->setObjectName(QString::fromUtf8("comboBoxWindowConfigs"));
comboBoxWindowConfigs->setGeometry(QRect(160, 250, 240, 50));
comboBoxWindowConfigs->setGeometry(QRect(130, 270, 240, 50));
labelChoose = new QLabel(centralwidget);
labelChoose->setObjectName(QString::fromUtf8("labelChoose"));
labelChoose->setGeometry(QRect(160, 140, 151, 17));
labelChoose->setGeometry(QRect(130, 160, 151, 17));
labelChoose->setFont(font);
labelChoose->setTextFormat(Qt::RichText);
labelOptions = new QLabel(centralwidget);
labelOptions->setObjectName(QString::fromUtf8("labelOptions"));
labelOptions->setGeometry(QRect(160, 230, 151, 17));
labelOptions->setGeometry(QRect(130, 250, 151, 17));
labelOptions->setFont(font);
labelOptions->setTextFormat(Qt::RichText);
buttonSim = new QPushButton(centralwidget);
buttonSim->setObjectName(QString::fromUtf8("buttonSim"));
buttonSim->setGeometry(QRect(210, 500, 89, 25));
LauncherWindow->setCentralWidget(centralwidget);
menubar = new QMenuBar(LauncherWindow);
menubar->setObjectName(QString::fromUtf8("menubar"));
menubar->setEnabled(false);
menubar->setGeometry(QRect(0, 0, 586, 22));
menubar->setGeometry(QRect(0, 0, 473, 22));
menuOpenSpace_Launcher = new QMenu(menubar);
menuOpenSpace_Launcher->setObjectName(
QString::fromUtf8("menuOpenSpace_Launcher"));
menuOpenSpace_Launcher->setObjectName(QString::fromUtf8("menuOpenSpace_Launcher"));
LauncherWindow->setMenuBar(menubar);
statusbar = new QStatusBar(LauncherWindow);
statusbar->setObjectName(QString::fromUtf8("statusbar"));
@@ -134,48 +110,20 @@ public:
retranslateUi(LauncherWindow);
QMetaObject::connectSlotsByName(LauncherWindow);
}
} // setupUi
void retranslateUi(QMainWindow *LauncherWindow)
{
LauncherWindow->setWindowTitle(QApplication::translate(
"LauncherWindow",
"LauncherWindow",
nullptr));
newButton->setText(QApplication::translate(
"LauncherWindow",
"New Profile",
nullptr)
);
qBtn_start->setText(QApplication::translate(
"LauncherWindow",
"Start OpenSpace",
nullptr)
);
editButton->setText(QApplication::translate(
"LauncherWindow",
"Edit Profile",
nullptr)
);
LauncherWindow->setWindowTitle(QCoreApplication::translate("LauncherWindow", "LauncherWindow", nullptr));
newButton->setText(QCoreApplication::translate("LauncherWindow", "New Profile", nullptr));
qBtn_start->setText(QCoreApplication::translate("LauncherWindow", "Start OpenSpace", nullptr));
editButton->setText(QCoreApplication::translate("LauncherWindow", "Edit Profile", nullptr));
logolabel->setText(QString());
labelChoose->setText(QApplication::translate(
"LauncherWindow",
"<html><head/><body><p><span style=\" font-size:12pt; font-weight:600; "
"color:#ffffff;\">Choose Profile</span></p></body></html>",
nullptr)
);
labelOptions->setText(QApplication::translate(
"LauncherWindow",
"<html><head/><body><p><span style=\" font-size:12pt; font-weight:600; "
"color:#ffffff;\">Window Options</span></p></body></html>",
nullptr)
);
menuOpenSpace_Launcher->setTitle(QApplication::translate(
"LauncherWindow",
"OpenSpace Launcher",
nullptr)
);
}
labelChoose->setText(QCoreApplication::translate("LauncherWindow", "<html><head/><body><p><span style=\" font-size:12pt; font-weight:600; color:#ffffff;\">Choose Profile</span></p></body></html>", nullptr));
labelOptions->setText(QCoreApplication::translate("LauncherWindow", "<html><head/><body><p><span style=\" font-size:12pt; font-weight:600; color:#ffffff;\">Window Options</span></p></body></html>", nullptr));
buttonSim->setText(QCoreApplication::translate("LauncherWindow", "simData", nullptr));
menuOpenSpace_Launcher->setTitle(QCoreApplication::translate("LauncherWindow", "OpenSpace Launcher", nullptr));
} // retranslateUi
};
@@ -185,4 +133,4 @@ namespace Ui {
QT_END_NAMESPACE
#endif // __OPENSPACE_LAUNCHER_UI__LAUNCHERWINDOW___H__
#endif // UI_LAUNCHERWINDOW_H

View File

@@ -0,0 +1,375 @@
/********************************************************************************
** Form generated from reading UI file 'profileedit.ui'
**
** Created by: Qt User Interface Compiler version 5.15.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
#ifndef UI_PROFILEEDIT_H
#define UI_PROFILEEDIT_H
#include <QtCore/QVariant>
#include <QtWidgets/QApplication>
#include <QtWidgets/QDialog>
#include <QtWidgets/QDialogButtonBox>
#include <QtWidgets/QFrame>
#include <QtWidgets/QLabel>
#include <QtWidgets/QLineEdit>
#include <QtWidgets/QPushButton>
#include <QtWidgets/QTextEdit>
#include <QtWidgets/QVBoxLayout>
#include <QtWidgets/QWidget>
QT_BEGIN_NAMESPACE
class Ui_ProfileEdit
{
public:
QDialogButtonBox *buttonBox;
QWidget *verticalLayoutWidget;
QVBoxLayout *verticalLayout;
QFrame *frame_meta;
QLabel *label_meta;
QPushButton *edit_meta;
QTextEdit *text_meta;
QFrame *frame_modules;
QLabel *label_modules;
QPushButton *edit_modules;
QTextEdit *text_modules;
QFrame *frame_assets;
QLabel *label_assets;
QPushButton *edit_assets;
QTextEdit *text_assets;
QFrame *frame_properties;
QLabel *label_properties;
QPushButton *edit_properties;
QTextEdit *text_properties;
QFrame *frame_keybindings;
QLabel *label_keybindings;
QPushButton *edit_keybindings;
QTextEdit *text_keybindings;
QFrame *frame_time;
QLabel *label_time;
QPushButton *edit_time;
QTextEdit *text_time;
QFrame *frame_deltatimes;
QLabel *label_deltatimes;
QPushButton *edit_deltatimes;
QTextEdit *text_deltatimes;
QFrame *frame_camera;
QLabel *label_camera;
QPushButton *edit_camera;
QTextEdit *text_camera;
QFrame *frame_marknodes;
QLabel *label_marknodes;
QPushButton *edit_marknodes;
QTextEdit *text_marknodes;
QFrame *frame_additionalscripts;
QLabel *label_additionalscripts;
QPushButton *edit_additionalscripts;
QTextEdit *text_additionalscripts;
QLabel *label_profile;
QLineEdit *line_profile;
void setupUi(QDialog *ProfileEdit)
{
if (ProfileEdit->objectName().isEmpty())
ProfileEdit->setObjectName(QString::fromUtf8("ProfileEdit"));
ProfileEdit->resize(400, 790);
buttonBox = new QDialogButtonBox(ProfileEdit);
buttonBox->setObjectName(QString::fromUtf8("buttonBox"));
buttonBox->setGeometry(QRect(50, 750, 341, 32));
buttonBox->setOrientation(Qt::Horizontal);
buttonBox->setStandardButtons(QDialogButtonBox::Cancel|QDialogButtonBox::Ok);
verticalLayoutWidget = new QWidget(ProfileEdit);
verticalLayoutWidget->setObjectName(QString::fromUtf8("verticalLayoutWidget"));
verticalLayoutWidget->setGeometry(QRect(10, 60, 381, 671));
verticalLayout = new QVBoxLayout(verticalLayoutWidget);
verticalLayout->setObjectName(QString::fromUtf8("verticalLayout"));
verticalLayout->setContentsMargins(0, 0, 0, 0);
frame_meta = new QFrame(verticalLayoutWidget);
frame_meta->setObjectName(QString::fromUtf8("frame_meta"));
frame_meta->setEnabled(true);
frame_meta->setMaximumSize(QSize(444, 56));
frame_meta->setFrameShape(QFrame::StyledPanel);
frame_meta->setFrameShadow(QFrame::Plain);
label_meta = new QLabel(frame_meta);
label_meta->setObjectName(QString::fromUtf8("label_meta"));
label_meta->setGeometry(QRect(4, 0, 111, 17));
QFont font;
font.setFamily(QString::fromUtf8("Arial"));
label_meta->setFont(font);
edit_meta = new QPushButton(frame_meta);
edit_meta->setObjectName(QString::fromUtf8("edit_meta"));
edit_meta->setGeometry(QRect(328, 20, 41, 25));
text_meta = new QTextEdit(frame_meta);
text_meta->setObjectName(QString::fromUtf8("text_meta"));
text_meta->setGeometry(QRect(10, 18, 311, 35));
QFont font1;
font1.setFamily(QString::fromUtf8("Arial"));
font1.setPointSize(10);
text_meta->setFont(font1);
text_meta->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
text_meta->setLineWrapMode(QTextEdit::NoWrap);
verticalLayout->addWidget(frame_meta);
frame_modules = new QFrame(verticalLayoutWidget);
frame_modules->setObjectName(QString::fromUtf8("frame_modules"));
frame_modules->setEnabled(true);
frame_modules->setMaximumSize(QSize(444, 56));
frame_modules->setFrameShape(QFrame::StyledPanel);
frame_modules->setFrameShadow(QFrame::Plain);
label_modules = new QLabel(frame_modules);
label_modules->setObjectName(QString::fromUtf8("label_modules"));
label_modules->setGeometry(QRect(4, 0, 111, 17));
label_modules->setFont(font);
edit_modules = new QPushButton(frame_modules);
edit_modules->setObjectName(QString::fromUtf8("edit_modules"));
edit_modules->setGeometry(QRect(328, 20, 41, 25));
text_modules = new QTextEdit(frame_modules);
text_modules->setObjectName(QString::fromUtf8("text_modules"));
text_modules->setGeometry(QRect(10, 18, 311, 35));
text_modules->setFont(font1);
text_modules->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
text_modules->setLineWrapMode(QTextEdit::NoWrap);
verticalLayout->addWidget(frame_modules);
frame_assets = new QFrame(verticalLayoutWidget);
frame_assets->setObjectName(QString::fromUtf8("frame_assets"));
frame_assets->setEnabled(true);
frame_assets->setMaximumSize(QSize(444, 56));
frame_assets->setFrameShape(QFrame::StyledPanel);
frame_assets->setFrameShadow(QFrame::Plain);
label_assets = new QLabel(frame_assets);
label_assets->setObjectName(QString::fromUtf8("label_assets"));
label_assets->setGeometry(QRect(4, 0, 111, 17));
label_assets->setFont(font);
edit_assets = new QPushButton(frame_assets);
edit_assets->setObjectName(QString::fromUtf8("edit_assets"));
edit_assets->setGeometry(QRect(328, 20, 41, 25));
text_assets = new QTextEdit(frame_assets);
text_assets->setObjectName(QString::fromUtf8("text_assets"));
text_assets->setGeometry(QRect(10, 18, 311, 35));
text_assets->setFont(font1);
text_assets->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
text_assets->setLineWrapMode(QTextEdit::NoWrap);
verticalLayout->addWidget(frame_assets);
frame_properties = new QFrame(verticalLayoutWidget);
frame_properties->setObjectName(QString::fromUtf8("frame_properties"));
frame_properties->setEnabled(true);
frame_properties->setMaximumSize(QSize(444, 56));
frame_properties->setFrameShape(QFrame::StyledPanel);
frame_properties->setFrameShadow(QFrame::Plain);
label_properties = new QLabel(frame_properties);
label_properties->setObjectName(QString::fromUtf8("label_properties"));
label_properties->setGeometry(QRect(4, 0, 111, 17));
label_properties->setFont(font);
edit_properties = new QPushButton(frame_properties);
edit_properties->setObjectName(QString::fromUtf8("edit_properties"));
edit_properties->setGeometry(QRect(328, 20, 41, 25));
text_properties = new QTextEdit(frame_properties);
text_properties->setObjectName(QString::fromUtf8("text_properties"));
text_properties->setGeometry(QRect(10, 18, 311, 35));
text_properties->setFont(font1);
text_properties->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
text_properties->setLineWrapMode(QTextEdit::NoWrap);
verticalLayout->addWidget(frame_properties);
frame_keybindings = new QFrame(verticalLayoutWidget);
frame_keybindings->setObjectName(QString::fromUtf8("frame_keybindings"));
frame_keybindings->setEnabled(true);
frame_keybindings->setMaximumSize(QSize(444, 56));
frame_keybindings->setFrameShape(QFrame::StyledPanel);
frame_keybindings->setFrameShadow(QFrame::Plain);
label_keybindings = new QLabel(frame_keybindings);
label_keybindings->setObjectName(QString::fromUtf8("label_keybindings"));
label_keybindings->setGeometry(QRect(4, 0, 111, 17));
label_keybindings->setFont(font);
edit_keybindings = new QPushButton(frame_keybindings);
edit_keybindings->setObjectName(QString::fromUtf8("edit_keybindings"));
edit_keybindings->setGeometry(QRect(328, 20, 41, 25));
text_keybindings = new QTextEdit(frame_keybindings);
text_keybindings->setObjectName(QString::fromUtf8("text_keybindings"));
text_keybindings->setGeometry(QRect(10, 18, 311, 35));
text_keybindings->setFont(font1);
text_keybindings->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
text_keybindings->setLineWrapMode(QTextEdit::NoWrap);
verticalLayout->addWidget(frame_keybindings);
frame_time = new QFrame(verticalLayoutWidget);
frame_time->setObjectName(QString::fromUtf8("frame_time"));
frame_time->setEnabled(true);
frame_time->setMaximumSize(QSize(444, 56));
frame_time->setFrameShape(QFrame::StyledPanel);
frame_time->setFrameShadow(QFrame::Plain);
label_time = new QLabel(frame_time);
label_time->setObjectName(QString::fromUtf8("label_time"));
label_time->setGeometry(QRect(4, 0, 111, 17));
label_time->setFont(font);
edit_time = new QPushButton(frame_time);
edit_time->setObjectName(QString::fromUtf8("edit_time"));
edit_time->setGeometry(QRect(328, 20, 41, 25));
text_time = new QTextEdit(frame_time);
text_time->setObjectName(QString::fromUtf8("text_time"));
text_time->setGeometry(QRect(10, 18, 311, 35));
text_time->setFont(font1);
text_time->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
text_time->setLineWrapMode(QTextEdit::NoWrap);
verticalLayout->addWidget(frame_time);
frame_deltatimes = new QFrame(verticalLayoutWidget);
frame_deltatimes->setObjectName(QString::fromUtf8("frame_deltatimes"));
frame_deltatimes->setEnabled(true);
frame_deltatimes->setMaximumSize(QSize(444, 56));
frame_deltatimes->setFrameShape(QFrame::StyledPanel);
frame_deltatimes->setFrameShadow(QFrame::Plain);
label_deltatimes = new QLabel(frame_deltatimes);
label_deltatimes->setObjectName(QString::fromUtf8("label_deltatimes"));
label_deltatimes->setGeometry(QRect(4, 0, 111, 17));
label_deltatimes->setFont(font);
edit_deltatimes = new QPushButton(frame_deltatimes);
edit_deltatimes->setObjectName(QString::fromUtf8("edit_deltatimes"));
edit_deltatimes->setGeometry(QRect(328, 20, 41, 25));
text_deltatimes = new QTextEdit(frame_deltatimes);
text_deltatimes->setObjectName(QString::fromUtf8("text_deltatimes"));
text_deltatimes->setGeometry(QRect(10, 18, 311, 35));
text_deltatimes->setFont(font1);
text_deltatimes->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
text_deltatimes->setLineWrapMode(QTextEdit::NoWrap);
verticalLayout->addWidget(frame_deltatimes);
frame_camera = new QFrame(verticalLayoutWidget);
frame_camera->setObjectName(QString::fromUtf8("frame_camera"));
frame_camera->setEnabled(true);
frame_camera->setMaximumSize(QSize(444, 56));
frame_camera->setFrameShape(QFrame::StyledPanel);
frame_camera->setFrameShadow(QFrame::Plain);
label_camera = new QLabel(frame_camera);
label_camera->setObjectName(QString::fromUtf8("label_camera"));
label_camera->setGeometry(QRect(4, 0, 111, 17));
label_camera->setFont(font);
edit_camera = new QPushButton(frame_camera);
edit_camera->setObjectName(QString::fromUtf8("edit_camera"));
edit_camera->setGeometry(QRect(328, 20, 41, 25));
text_camera = new QTextEdit(frame_camera);
text_camera->setObjectName(QString::fromUtf8("text_camera"));
text_camera->setGeometry(QRect(10, 18, 311, 35));
text_camera->setFont(font1);
text_camera->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
text_camera->setLineWrapMode(QTextEdit::NoWrap);
verticalLayout->addWidget(frame_camera);
frame_marknodes = new QFrame(verticalLayoutWidget);
frame_marknodes->setObjectName(QString::fromUtf8("frame_marknodes"));
frame_marknodes->setEnabled(true);
frame_marknodes->setMaximumSize(QSize(444, 56));
frame_marknodes->setFrameShape(QFrame::StyledPanel);
frame_marknodes->setFrameShadow(QFrame::Plain);
label_marknodes = new QLabel(frame_marknodes);
label_marknodes->setObjectName(QString::fromUtf8("label_marknodes"));
label_marknodes->setGeometry(QRect(4, 0, 181, 17));
label_marknodes->setFont(font);
edit_marknodes = new QPushButton(frame_marknodes);
edit_marknodes->setObjectName(QString::fromUtf8("edit_marknodes"));
edit_marknodes->setGeometry(QRect(328, 20, 41, 25));
text_marknodes = new QTextEdit(frame_marknodes);
text_marknodes->setObjectName(QString::fromUtf8("text_marknodes"));
text_marknodes->setGeometry(QRect(10, 18, 311, 35));
text_marknodes->setFont(font1);
text_marknodes->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
text_marknodes->setLineWrapMode(QTextEdit::NoWrap);
verticalLayout->addWidget(frame_marknodes);
frame_additionalscripts = new QFrame(verticalLayoutWidget);
frame_additionalscripts->setObjectName(QString::fromUtf8("frame_additionalscripts"));
frame_additionalscripts->setEnabled(true);
frame_additionalscripts->setMaximumSize(QSize(444, 56));
frame_additionalscripts->setFrameShape(QFrame::StyledPanel);
frame_additionalscripts->setFrameShadow(QFrame::Plain);
label_additionalscripts = new QLabel(frame_additionalscripts);
label_additionalscripts->setObjectName(QString::fromUtf8("label_additionalscripts"));
label_additionalscripts->setGeometry(QRect(4, 0, 171, 17));
label_additionalscripts->setFont(font);
edit_additionalscripts = new QPushButton(frame_additionalscripts);
edit_additionalscripts->setObjectName(QString::fromUtf8("edit_additionalscripts"));
edit_additionalscripts->setGeometry(QRect(328, 20, 41, 25));
text_additionalscripts = new QTextEdit(frame_additionalscripts);
text_additionalscripts->setObjectName(QString::fromUtf8("text_additionalscripts"));
text_additionalscripts->setGeometry(QRect(10, 18, 311, 35));
text_additionalscripts->setFont(font1);
text_additionalscripts->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
text_additionalscripts->setLineWrapMode(QTextEdit::NoWrap);
verticalLayout->addWidget(frame_additionalscripts);
label_profile = new QLabel(ProfileEdit);
label_profile->setObjectName(QString::fromUtf8("label_profile"));
label_profile->setGeometry(QRect(10, 22, 111, 21));
QFont font2;
font2.setFamily(QString::fromUtf8("Arial"));
font2.setPointSize(13);
label_profile->setFont(font2);
line_profile = new QLineEdit(ProfileEdit);
line_profile->setObjectName(QString::fromUtf8("line_profile"));
line_profile->setGeometry(QRect(130, 20, 201, 25));
QFont font3;
font3.setFamily(QString::fromUtf8("Arial"));
font3.setPointSize(12);
line_profile->setFont(font3);
retranslateUi(ProfileEdit);
QObject::connect(buttonBox, SIGNAL(accepted()), ProfileEdit, SLOT(accept()));
QObject::connect(buttonBox, SIGNAL(rejected()), ProfileEdit, SLOT(reject()));
QMetaObject::connectSlotsByName(ProfileEdit);
} // setupUi
void retranslateUi(QDialog *ProfileEdit)
{
ProfileEdit->setWindowTitle(QCoreApplication::translate("ProfileEdit", "Profile Editor", nullptr));
label_meta->setText(QCoreApplication::translate("ProfileEdit", "<html><head/><body><p><span style=\" font-weight:600;\">Meta</span></p></body></html>", nullptr));
edit_meta->setText(QCoreApplication::translate("ProfileEdit", "Edit", nullptr));
label_modules->setText(QCoreApplication::translate("ProfileEdit", "<html><head/><body><p><span style=\" font-weight:600;\">Modules</span></p></body></html>", nullptr));
edit_modules->setText(QCoreApplication::translate("ProfileEdit", "Edit", nullptr));
label_assets->setText(QCoreApplication::translate("ProfileEdit", "<html><head/><body><p><span style=\" font-weight:600;\">Assets</span></p></body></html>", nullptr));
edit_assets->setText(QCoreApplication::translate("ProfileEdit", "Edit", nullptr));
label_properties->setText(QCoreApplication::translate("ProfileEdit", "<html><head/><body><p><span style=\" font-weight:600;\">Properties</span></p></body></html>", nullptr));
edit_properties->setText(QCoreApplication::translate("ProfileEdit", "Edit", nullptr));
label_keybindings->setText(QCoreApplication::translate("ProfileEdit", "<html><head/><body><p><span style=\" font-weight:600;\">Keybindings</span></p></body></html>", nullptr));
edit_keybindings->setText(QCoreApplication::translate("ProfileEdit", "Edit", nullptr));
label_time->setText(QCoreApplication::translate("ProfileEdit", "<html><head/><body><p><span style=\" font-weight:600;\">Time</span></p></body></html>", nullptr));
edit_time->setText(QCoreApplication::translate("ProfileEdit", "Edit", nullptr));
label_deltatimes->setText(QCoreApplication::translate("ProfileEdit", "<html><head/><body><p><span style=\" font-weight:600;\">Delta Times</span></p></body></html>", nullptr));
edit_deltatimes->setText(QCoreApplication::translate("ProfileEdit", "Edit", nullptr));
label_camera->setText(QCoreApplication::translate("ProfileEdit", "<html><head/><body><p><span style=\" font-weight:600;\">Camera</span></p></body></html>", nullptr));
edit_camera->setText(QCoreApplication::translate("ProfileEdit", "Edit", nullptr));
label_marknodes->setText(QCoreApplication::translate("ProfileEdit", "<html><head/><body><p><span style=\" font-weight:600;\">Mark Interesting Nodes</span></p></body></html>", nullptr));
edit_marknodes->setText(QCoreApplication::translate("ProfileEdit", "Edit", nullptr));
label_additionalscripts->setText(QCoreApplication::translate("ProfileEdit", "<html><head/><body><p><span style=\" font-weight:600;\">Additional Scripts</span></p></body></html>", nullptr));
edit_additionalscripts->setText(QCoreApplication::translate("ProfileEdit", "Edit", nullptr));
label_profile->setText(QCoreApplication::translate("ProfileEdit", "<html><head/><body><p><span style=\" font-weight:600;\">Profile Name:</span></p></body></html>", nullptr));
#if QT_CONFIG(tooltip)
line_profile->setToolTip(QCoreApplication::translate("ProfileEdit", "<html><head/><body><p>Name of profile filename</p></body></html>", nullptr));
#endif // QT_CONFIG(tooltip)
} // retranslateUi
};
namespace Ui {
class ProfileEdit: public Ui_ProfileEdit {};
} // namespace Ui
QT_END_NAMESPACE
#endif // UI_PROFILEEDIT_H