mirror of
https://github.com/Rockbox/rockbox.git
synced 2025-10-28 00:06:20 -04:00
Theme Editor: Added New Project feature
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27439 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
e700e195d8
commit
c272144867
7 changed files with 581 additions and 43 deletions
|
|
@ -24,12 +24,16 @@
|
|||
#include "ui_editorwindow.h"
|
||||
#include "rbfontcache.h"
|
||||
#include "rbtextcache.h"
|
||||
#include "newprojectdialog.h"
|
||||
|
||||
#include <QDesktopWidget>
|
||||
#include <QFileSystemModel>
|
||||
#include <QSettings>
|
||||
#include <QFileDialog>
|
||||
#include <QMessageBox>
|
||||
#include <QGraphicsScene>
|
||||
#include <QDir>
|
||||
#include <QFile>
|
||||
|
||||
EditorWindow::EditorWindow(QWidget *parent) :
|
||||
QMainWindow(parent), ui(new Ui::EditorWindow), parseTreeSelection(0)
|
||||
|
|
@ -200,6 +204,8 @@ void EditorWindow::setupMenus()
|
|||
/* Connecting the document management actions */
|
||||
QObject::connect(ui->actionNew_Document, SIGNAL(triggered()),
|
||||
this, SLOT(newTab()));
|
||||
QObject::connect(ui->actionNew_Project, SIGNAL(triggered()),
|
||||
this, SLOT(newProject()));
|
||||
QObject::connect(ui->actionToolbarNew, SIGNAL(triggered()),
|
||||
this, SLOT(newTab()));
|
||||
|
||||
|
|
@ -261,6 +267,93 @@ void EditorWindow::newTab()
|
|||
ui->editorTabs->setCurrentWidget(doc);
|
||||
}
|
||||
|
||||
void EditorWindow::newProject()
|
||||
{
|
||||
NewProjectDialog dialog(this);
|
||||
if(dialog.exec() == QDialog::Rejected)
|
||||
return;
|
||||
|
||||
/* Assembling the new project if the dialog was accepted */
|
||||
NewProjectDialog::NewProjectInfo info = dialog.results();
|
||||
|
||||
QDir path(info.path);
|
||||
if(!path.exists())
|
||||
{
|
||||
QMessageBox::warning(this, tr("Error Creating Project"), tr("Error:"
|
||||
" Project directory does not exist"));
|
||||
return;
|
||||
}
|
||||
|
||||
if(path.exists(info.name))
|
||||
{
|
||||
QMessageBox::warning(this, tr("Error Creating Project"), tr("Error:"
|
||||
" Project directory already exists"));
|
||||
return;
|
||||
}
|
||||
|
||||
if(!path.mkdir(info.name))
|
||||
{
|
||||
QMessageBox::warning(this, tr("Error Creating Project"), tr("Error:"
|
||||
" Project directory not writeable"));
|
||||
return;
|
||||
}
|
||||
|
||||
path.cd(info.name);
|
||||
|
||||
/* Making standard directories */
|
||||
path.mkdir("fonts");
|
||||
path.mkdir("icons");
|
||||
path.mkdir("backdrops");
|
||||
|
||||
/* Adding the desired wps documents */
|
||||
path.mkdir("wps");
|
||||
path.cd("wps");
|
||||
|
||||
if(info.sbs)
|
||||
createFile(path.filePath(info.name + ".sbs"), tr("# SBS Document\n"));
|
||||
if(info.wps)
|
||||
createFile(path.filePath(info.name + ".wps"), tr("# WPS Document\n"));
|
||||
if(info.fms)
|
||||
createFile(path.filePath(info.name + ".fms"), tr("# FMS Document\n"));
|
||||
if(info.rsbs)
|
||||
createFile(path.filePath(info.name + ".rsbs"), tr("# RSBS Document\n"));
|
||||
if(info.rwps)
|
||||
createFile(path.filePath(info.name + ".rwps"), tr("# RWPS Document\n"));
|
||||
if(info.rfms)
|
||||
createFile(path.filePath(info.name + ".rfms"), tr("# RFMS Document\n"));
|
||||
|
||||
path.mkdir(info.name);
|
||||
|
||||
path.cdUp();
|
||||
|
||||
/* Adding the config file */
|
||||
path.mkdir("themes");
|
||||
path.cd("themes");
|
||||
|
||||
/* Generating the config file */
|
||||
QString config = tr("# Config file for ") + info.name + "\n";
|
||||
QString wpsBase = "/.rockbox/wps/";
|
||||
if(info.sbs)
|
||||
config.append("sbs: " + wpsBase + info.name + ".sbs\n");
|
||||
if(info.wps)
|
||||
config.append("wps: " + wpsBase + info.name + ".wps\n");
|
||||
if(info.fms)
|
||||
config.append("fms: " + wpsBase + info.name + ".fms\n");
|
||||
if(info.rsbs)
|
||||
config.append("rsbs: " + wpsBase + info.name + ".rsbs\n");
|
||||
if(info.rwps)
|
||||
config.append("rwps: " + wpsBase + info.name + ".rwps\n");
|
||||
if(info.rfms)
|
||||
config.append("rfms: " + wpsBase + info.name + ".rfms\n");
|
||||
|
||||
|
||||
createFile(path.filePath(info.name + ".cfg"),
|
||||
config);
|
||||
|
||||
/* Opening the new project */
|
||||
loadProjectFile(path.filePath(info.name + ".cfg"));
|
||||
}
|
||||
|
||||
void EditorWindow::shiftTab(int index)
|
||||
{
|
||||
TabContent* widget = dynamic_cast<TabContent*>
|
||||
|
|
@ -424,47 +517,8 @@ void EditorWindow::openProject()
|
|||
fileName = QFileDialog::getOpenFileName(this, tr("Open Project"), directory,
|
||||
ProjectModel::fileFilter());
|
||||
|
||||
if(QFile::exists(fileName))
|
||||
{
|
||||
|
||||
if(project)
|
||||
project->deleteLater();
|
||||
|
||||
ui->actionClose_Project->setEnabled(true);
|
||||
|
||||
project = new ProjectModel(fileName, this);
|
||||
ui->projectTree->setModel(project);
|
||||
|
||||
if(project->getSetting("#screenwidth") != "")
|
||||
deviceConfig->setData("screenwidth",
|
||||
project->getSetting("#screenwidth"));
|
||||
if(project->getSetting("#screenheight") != "")
|
||||
deviceConfig->setData("screenheight",
|
||||
project->getSetting("#screenheight"));
|
||||
|
||||
QObject::connect(ui->projectTree, SIGNAL(activated(QModelIndex)),
|
||||
project, SLOT(activated(QModelIndex)));
|
||||
|
||||
fileName.chop(fileName.length() - fileName.lastIndexOf('/') - 1);
|
||||
settings.setValue("defaultDirectory", fileName);
|
||||
|
||||
for(int i = 0; i < ui->editorTabs->count(); i++)
|
||||
{
|
||||
TabContent* doc = dynamic_cast<TabContent*>
|
||||
(ui->editorTabs->widget(i));
|
||||
if(doc->type() == TabContent::Skin)
|
||||
{
|
||||
dynamic_cast<SkinDocument*>(doc)->setProject(project);
|
||||
if(i == ui->editorTabs->currentIndex())
|
||||
{
|
||||
viewer->setScene(dynamic_cast<SkinDocument*>(doc)->scene());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
settings.endGroup();
|
||||
loadProjectFile(fileName);
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -657,3 +711,61 @@ void EditorWindow::sizeColumns()
|
|||
ui->parseTree->resizeColumnToContents(ParseTreeModel::typeColumn);
|
||||
ui->parseTree->resizeColumnToContents(ParseTreeModel::valueColumn);
|
||||
}
|
||||
|
||||
void EditorWindow::loadProjectFile(QString fileName)
|
||||
{
|
||||
QSettings settings;
|
||||
settings.beginGroup("ProjectModel");
|
||||
|
||||
if(QFile::exists(fileName))
|
||||
{
|
||||
if(project)
|
||||
project->deleteLater();
|
||||
|
||||
ui->actionClose_Project->setEnabled(true);
|
||||
|
||||
project = new ProjectModel(fileName, this);
|
||||
ui->projectTree->setModel(project);
|
||||
|
||||
if(project->getSetting("#screenwidth") != "")
|
||||
deviceConfig->setData("screenwidth",
|
||||
project->getSetting("#screenwidth"));
|
||||
if(project->getSetting("#screenheight") != "")
|
||||
deviceConfig->setData("screenheight",
|
||||
project->getSetting("#screenheight"));
|
||||
|
||||
QObject::connect(ui->projectTree, SIGNAL(activated(QModelIndex)),
|
||||
project, SLOT(activated(QModelIndex)));
|
||||
|
||||
fileName.chop(fileName.length() - fileName.lastIndexOf('/') - 1);
|
||||
settings.setValue("defaultDirectory", fileName);
|
||||
|
||||
for(int i = 0; i < ui->editorTabs->count(); i++)
|
||||
{
|
||||
TabContent* doc = dynamic_cast<TabContent*>
|
||||
(ui->editorTabs->widget(i));
|
||||
if(doc->type() == TabContent::Skin)
|
||||
{
|
||||
dynamic_cast<SkinDocument*>(doc)->setProject(project);
|
||||
if(i == ui->editorTabs->currentIndex())
|
||||
{
|
||||
viewer->setScene(dynamic_cast<SkinDocument*>(doc)->scene());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
settings.endGroup();
|
||||
|
||||
}
|
||||
|
||||
void EditorWindow::createFile(QString filename, QString contents)
|
||||
{
|
||||
QFile fout(filename);
|
||||
fout.open(QFile::WriteOnly);
|
||||
|
||||
fout.write(contents.toAscii());
|
||||
|
||||
fout.close();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -64,6 +64,7 @@ public slots:
|
|||
private slots:
|
||||
void showPanel();
|
||||
void newTab();
|
||||
void newProject();
|
||||
void shiftTab(int index);
|
||||
bool closeTab(int index);
|
||||
void closeCurrent();
|
||||
|
|
@ -88,11 +89,15 @@ private:
|
|||
void saveSettings();
|
||||
void setupUI();
|
||||
void setupMenus();
|
||||
|
||||
void addTab(TabContent* doc);
|
||||
void expandLine(ParseTreeModel* model, QModelIndex parent, int line,
|
||||
bool highlight);
|
||||
void sizeColumns();
|
||||
|
||||
void loadProjectFile(QString fileName);
|
||||
static void createFile(QString filename, QString contents);
|
||||
|
||||
Ui::EditorWindow *ui;
|
||||
PreferencesDialog* prefs;
|
||||
QLabel* parseStatus;
|
||||
|
|
|
|||
|
|
@ -48,6 +48,7 @@
|
|||
<string>&File</string>
|
||||
</property>
|
||||
<addaction name="actionNew_Document"/>
|
||||
<addaction name="actionNew_Project"/>
|
||||
<addaction name="actionOpen_Document"/>
|
||||
<addaction name="actionOpen_Project"/>
|
||||
<addaction name="separator"/>
|
||||
|
|
@ -386,6 +387,14 @@
|
|||
<string>Ctrl+Shift+W</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionNew_Project">
|
||||
<property name="text">
|
||||
<string>N&ew Project</string>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string>Ctrl+Shift+N</string>
|
||||
</property>
|
||||
</action>
|
||||
</widget>
|
||||
<tabstops>
|
||||
<tabstop>projectTree</tabstop>
|
||||
|
|
|
|||
105
utils/themeeditor/gui/newprojectdialog.cpp
Normal file
105
utils/themeeditor/gui/newprojectdialog.cpp
Normal file
|
|
@ -0,0 +1,105 @@
|
|||
/***************************************************************************
|
||||
* __________ __ ___.
|
||||
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
|
||||
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
|
||||
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
|
||||
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
|
||||
* \/ \/ \/ \/ \/
|
||||
* $Id$
|
||||
*
|
||||
* Copyright (C) 2010 Robert Bieber
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||
* KIND, either express or implied.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
#include "newprojectdialog.h"
|
||||
#include "ui_newprojectdialog.h"
|
||||
|
||||
#include <QSettings>
|
||||
#include <QFileDialog>
|
||||
#include <QDir>
|
||||
|
||||
NewProjectDialog::NewProjectDialog(QWidget *parent) :
|
||||
QDialog(parent),
|
||||
ui(new Ui::NewProjectDialog)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
|
||||
/* Getting the default directory from the application settings */
|
||||
QSettings settings;
|
||||
settings.beginGroup("NewProjectDialog");
|
||||
|
||||
ui->locationBox->setText(settings.value("defaultDir",
|
||||
QDir::home().absolutePath())
|
||||
.toString());
|
||||
|
||||
settings.endGroup();
|
||||
|
||||
/* Connecting the browse button */
|
||||
QObject::connect(ui->browseButton, SIGNAL(clicked()),
|
||||
this, SLOT(browse()));
|
||||
}
|
||||
|
||||
NewProjectDialog::~NewProjectDialog()
|
||||
{
|
||||
delete ui;
|
||||
}
|
||||
|
||||
void NewProjectDialog::accept()
|
||||
{
|
||||
status.name = ui->nameBox->text();
|
||||
status.path = ui->locationBox->text();
|
||||
status.sbs = ui->sbsBox->isChecked();
|
||||
status.wps = ui->wpsBox->isChecked();
|
||||
status.fms = ui->fmsBox->isChecked();
|
||||
status.rsbs = ui->rsbsBox->isChecked();
|
||||
status.rwps = ui->rwpsBox->isChecked();
|
||||
status.rfms = ui->rfmsBox->isChecked();
|
||||
|
||||
QSettings settings;
|
||||
settings.beginGroup("NewProjectDialog");
|
||||
|
||||
settings.setValue("defaultDir", ui->locationBox->text());
|
||||
|
||||
settings.endGroup();
|
||||
|
||||
QDialog::accept();
|
||||
}
|
||||
|
||||
void NewProjectDialog::reject()
|
||||
{
|
||||
ui->nameBox->setText(status.name);
|
||||
ui->locationBox->setText(status.path);
|
||||
ui->sbsBox->setChecked(status.sbs);
|
||||
ui->wpsBox->setChecked(status.wps);
|
||||
ui->fmsBox->setChecked(status.fms);
|
||||
ui->rsbsBox->setChecked(status.rsbs);
|
||||
ui->rwpsBox->setChecked(status.rwps);
|
||||
ui->rfmsBox->setChecked(status.rfms);
|
||||
|
||||
QSettings settings;
|
||||
settings.beginGroup("NewProjectDialog");
|
||||
|
||||
ui->locationBox->setText(settings.value("defaultDir",
|
||||
QDir::home().absolutePath())
|
||||
.toString());
|
||||
|
||||
settings.endGroup();
|
||||
|
||||
QDialog::reject();
|
||||
}
|
||||
|
||||
void NewProjectDialog::browse()
|
||||
{
|
||||
QString path;
|
||||
path = QFileDialog::getExistingDirectory(this, "New Project Location",
|
||||
ui->locationBox->text());
|
||||
ui->locationBox->setText(path);
|
||||
}
|
||||
95
utils/themeeditor/gui/newprojectdialog.h
Normal file
95
utils/themeeditor/gui/newprojectdialog.h
Normal file
|
|
@ -0,0 +1,95 @@
|
|||
/***************************************************************************
|
||||
* __________ __ ___.
|
||||
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
|
||||
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
|
||||
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
|
||||
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
|
||||
* \/ \/ \/ \/ \/
|
||||
* $Id$
|
||||
*
|
||||
* Copyright (C) 2010 Robert Bieber
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||
* KIND, either express or implied.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
#ifndef NEWPROJECTDIALOG_H
|
||||
#define NEWPROJECTDIALOG_H
|
||||
|
||||
#include <QDialog>
|
||||
|
||||
namespace Ui {
|
||||
class NewProjectDialog;
|
||||
}
|
||||
|
||||
class NewProjectDialog : public QDialog {
|
||||
Q_OBJECT
|
||||
public:
|
||||
struct NewProjectInfo
|
||||
{
|
||||
QString name;
|
||||
QString path;
|
||||
bool sbs;
|
||||
bool wps;
|
||||
bool fms;
|
||||
bool rsbs;
|
||||
bool rwps;
|
||||
bool rfms;
|
||||
|
||||
NewProjectInfo()
|
||||
{
|
||||
name = "";
|
||||
path = "";
|
||||
sbs = true;
|
||||
wps = true;
|
||||
fms = false;
|
||||
rsbs = false;
|
||||
rwps = false;
|
||||
rfms = false;
|
||||
}
|
||||
|
||||
NewProjectInfo(const NewProjectInfo& other)
|
||||
{
|
||||
operator=(other);
|
||||
}
|
||||
|
||||
const NewProjectInfo& operator=(const NewProjectInfo& other)
|
||||
{
|
||||
name = other.name;
|
||||
path = other.path;
|
||||
sbs = other.sbs;
|
||||
wps = other.wps;
|
||||
fms = other.fms;
|
||||
rsbs = other.rsbs;
|
||||
rwps = other.rwps;
|
||||
rfms = other.rfms;
|
||||
|
||||
return *this;
|
||||
}
|
||||
};
|
||||
|
||||
NewProjectDialog(QWidget *parent = 0);
|
||||
virtual ~NewProjectDialog();
|
||||
|
||||
NewProjectInfo results(){ return status; }
|
||||
|
||||
public slots:
|
||||
void accept();
|
||||
void reject();
|
||||
|
||||
private slots:
|
||||
void browse();
|
||||
|
||||
private:
|
||||
Ui::NewProjectDialog *ui;
|
||||
|
||||
NewProjectInfo status;
|
||||
};
|
||||
|
||||
#endif // NEWPROJECTDIALOG_H
|
||||
209
utils/themeeditor/gui/newprojectdialog.ui
Normal file
209
utils/themeeditor/gui/newprojectdialog.ui
Normal file
|
|
@ -0,0 +1,209 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>NewProjectDialog</class>
|
||||
<widget class="QDialog" name="NewProjectDialog">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>400</width>
|
||||
<height>275</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>New Project</string>
|
||||
</property>
|
||||
<property name="windowIcon">
|
||||
<iconset resource="../resources.qrc">
|
||||
<normaloff>:/resources/windowicon.png</normaloff>:/resources/windowicon.png</iconset>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<layout class="QFormLayout" name="formLayout_2">
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="text">
|
||||
<string>Name:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>nameBox</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QLineEdit" name="nameBox"/>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
<string>Create In:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>locationBox</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<item>
|
||||
<widget class="QLineEdit" name="locationBox"/>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="browseButton">
|
||||
<property name="text">
|
||||
<string>Browse...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="label_3">
|
||||
<property name="text">
|
||||
<string>Target:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>comboBox</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QComboBox" name="comboBox">
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Not Yet Available</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0" colspan="2">
|
||||
<widget class="QGroupBox" name="groupBox">
|
||||
<property name="title">
|
||||
<string>Add Documents</string>
|
||||
</property>
|
||||
<property name="flat">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="checkable">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<layout class="QFormLayout" name="formLayout">
|
||||
<property name="fieldGrowthPolicy">
|
||||
<enum>QFormLayout::AllNonFixedFieldsGrow</enum>
|
||||
</property>
|
||||
<item row="0" column="0">
|
||||
<widget class="QCheckBox" name="sbsBox">
|
||||
<property name="text">
|
||||
<string>SBS</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QCheckBox" name="rsbsBox">
|
||||
<property name="text">
|
||||
<string>RSBS</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QCheckBox" name="wpsBox">
|
||||
<property name="text">
|
||||
<string>WPS</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QCheckBox" name="rwpsBox">
|
||||
<property name="text">
|
||||
<string>RWPS</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QCheckBox" name="fmsBox">
|
||||
<property name="text">
|
||||
<string>FMS</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QCheckBox" name="rfmsBox">
|
||||
<property name="text">
|
||||
<string>RFMS</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QDialogButtonBox" name="buttonBox">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="standardButtons">
|
||||
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources>
|
||||
<include location="../resources.qrc"/>
|
||||
</resources>
|
||||
<connections>
|
||||
<connection>
|
||||
<sender>buttonBox</sender>
|
||||
<signal>accepted()</signal>
|
||||
<receiver>NewProjectDialog</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>NewProjectDialog</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>
|
||||
|
|
@ -54,7 +54,8 @@ HEADERS += models/parsetreemodel.h \
|
|||
graphics/rbfontcache.h \
|
||||
graphics/rbtextcache.h \
|
||||
gui/skintimer.h \
|
||||
graphics/rbtoucharea.h
|
||||
graphics/rbtoucharea.h \
|
||||
gui/newprojectdialog.h
|
||||
SOURCES += main.cpp \
|
||||
models/parsetreemodel.cpp \
|
||||
models/parsetreenode.cpp \
|
||||
|
|
@ -79,7 +80,8 @@ SOURCES += main.cpp \
|
|||
graphics/rbfontcache.cpp \
|
||||
graphics/rbtextcache.cpp \
|
||||
gui/skintimer.cpp \
|
||||
graphics/rbtoucharea.cpp
|
||||
graphics/rbtoucharea.cpp \
|
||||
gui/newprojectdialog.cpp
|
||||
OTHER_FILES += README \
|
||||
resources/windowicon.png \
|
||||
resources/appicon.xcf \
|
||||
|
|
@ -106,7 +108,8 @@ FORMS += gui/editorwindow.ui \
|
|||
gui/configdocument.ui \
|
||||
gui/skinviewer.ui \
|
||||
gui/findreplacedialog.ui \
|
||||
gui/skintimer.ui
|
||||
gui/skintimer.ui \
|
||||
gui/newprojectdialog.ui
|
||||
RESOURCES += resources.qrc
|
||||
win32:RC_FILE = themeeditor.rc
|
||||
macx {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue