27 #include <QFileDialog>
28 #include <QInputDialog>
29 #include <QMessageBox>
32 #include "MosaicSceneItem.h"
33 #include "MosaicSceneWidget.h"
37 RenameProjectWorkOrder::RenameProjectWorkOrder(QString newName, Project *project) :
39 QAction::setText(tr(
"&Rename Project..."));
40 QUndoCommand::setText(tr(
"Rename Project"));
43 internalData.append(project->name());
44 internalData.append(newName);
49 RenameProjectWorkOrder::RenameProjectWorkOrder(Project *project) :
51 QAction::setText(tr(
"&Rename Project..."));
52 QUndoCommand::setText(tr(
"Rename Project"));
56 RenameProjectWorkOrder::RenameProjectWorkOrder(
const RenameProjectWorkOrder &other) :
61 RenameProjectWorkOrder::~RenameProjectWorkOrder() {
65 RenameProjectWorkOrder *RenameProjectWorkOrder::clone()
const {
66 return new RenameProjectWorkOrder(*
this);
71 return (context == ProjectContext);
82 newName = QInputDialog::getText(NULL, tr(
"Enter Project Name"),
83 tr(
"Please enter the new project name"), QLineEdit::Normal,
87 QMessageBox::critical(NULL, tr(
"Invalid Project Name"),
88 tr(
"Project name [%1] is not valid").arg(newName));
94 internalData.append(
project()->name());
95 internalData.append(newName);
99 QUndoCommand::setText(tr(
"Rename Project To [%1]").arg(
internalData()[1]));
110 return !nameToCheck.isEmpty();
QString name() const
Get the project's GUI name.
void syncUndo()
This method is designed to be implemented by children work orders.
Project * project() const
Returns the Project this WorkOrder is attached to.
static bool isNameValid(QString nameToCheck)
Check the validity of the given (proposed) project name.
QStringList internalData() const
Gets the internal data for this WorkOrder.
Parent class for anything that performs an action in Project.
Change the project's GUI name.
bool isExecutable(Context context)
Re-implement this method if your work order utilizes controls for data in order to operate...
bool execute()
The (child) implementation of this method should prompt the user/gather state by any means necessary...
void syncRedo()
This method is designed to be implemented by children work orders.
void setName(QString newName)
Change the project's name (GUI only, doesn't affect location on disk).
Context
This enumeration is for recording the context of the current Workorder (whether it is part of a proje...
bool dependsOn(WorkOrder *other) const
This is a virtual function whose role in child classes is to determine if this WorkOrder deppends on ...
virtual bool execute()
The (child) implementation of this method should prompt the user/gather state by any means necessary...
void setInternalData(QStringList data)
Sets the internal data for this WorkOrder.