forked from qt-creator/qt-creator
Wizards: allow forcing of first letter to be a capital letter
This adds a flags that enforces capitalization of filenames. Change-Id: Ie6660f1985a2e96fd68549c5ced1b37c33f064cc Reviewed-by: Alessandro Portale <alessandro.portale@nokia.com>
This commit is contained in:
@@ -464,10 +464,17 @@ void BaseFileWizard::runWizard(const QString &path, QWidget *parent, const QStri
|
||||
// Create dialog and run it. Ensure that the dialog is deleted when
|
||||
// leaving the func, but not before the IFileWizardExtension::process
|
||||
// has been called
|
||||
|
||||
WizardDialogParameters::DialogParameterFlags dialogParameterFlags;
|
||||
|
||||
if (flags().testFlag(ForceCapitalLetterForFileName))
|
||||
dialogParameterFlags |= WizardDialogParameters::ForceCapitalLetterForFileName;
|
||||
|
||||
const QScopedPointer<QWizard> wizard(createWizardDialog(parent, WizardDialogParameters(path,
|
||||
allExtensionPages,
|
||||
platform,
|
||||
requiredFeatures())));
|
||||
requiredFeatures(),
|
||||
dialogParameterFlags)));
|
||||
QTC_ASSERT(!wizard.isNull(), return);
|
||||
|
||||
GeneratedFiles files;
|
||||
@@ -811,6 +818,8 @@ QWizard *StandardFileWizard::createWizardDialog(QWidget *parent,
|
||||
const WizardDialogParameters &wizardDialogParameters) const
|
||||
{
|
||||
Utils::FileWizardDialog *standardWizardDialog = new Utils::FileWizardDialog(parent);
|
||||
if (wizardDialogParameters.flags().testFlag(WizardDialogParameters::ForceCapitalLetterForFileName))
|
||||
standardWizardDialog->setForceFirstCapitalLetterForFileName(true);
|
||||
standardWizardDialog->setWindowTitle(tr("New %1").arg(displayName()));
|
||||
setupWizard(standardWizardDialog);
|
||||
standardWizardDialog->setPath(wizardDialogParameters.defaultPath());
|
||||
|
||||
@@ -113,12 +113,19 @@ class CORE_EXPORT WizardDialogParameters
|
||||
public:
|
||||
typedef QList<QWizardPage *> WizardPageList;
|
||||
|
||||
enum DialogParameterEnum {
|
||||
ForceCapitalLetterForFileName = 0x01
|
||||
};
|
||||
Q_DECLARE_FLAGS(DialogParameterFlags, DialogParameterEnum)
|
||||
|
||||
explicit WizardDialogParameters(const QString &defaultPath, const WizardPageList &extensionPages,
|
||||
const QString &platform, const Core::FeatureSet &requiredFeatures)
|
||||
const QString &platform, const Core::FeatureSet &requiredFeatures,
|
||||
DialogParameterFlags flags)
|
||||
: m_defaultPath(defaultPath),
|
||||
m_extensionPages(extensionPages),
|
||||
m_selectedPlatform(platform),
|
||||
m_requiredFeatures(requiredFeatures) {}
|
||||
m_requiredFeatures(requiredFeatures),
|
||||
m_parameterFlags(flags) {}
|
||||
|
||||
QString defaultPath() const
|
||||
{ return m_defaultPath; }
|
||||
@@ -132,11 +139,15 @@ public:
|
||||
Core::FeatureSet requiredFeatures() const
|
||||
{ return m_requiredFeatures; }
|
||||
|
||||
DialogParameterFlags flags() const
|
||||
{ return m_parameterFlags; }
|
||||
|
||||
private:
|
||||
QString m_defaultPath;
|
||||
WizardPageList m_extensionPages;
|
||||
QString m_selectedPlatform;
|
||||
Core::FeatureSet m_requiredFeatures;
|
||||
DialogParameterFlags m_parameterFlags;
|
||||
};
|
||||
|
||||
class CORE_EXPORT BaseFileWizard : public IWizard
|
||||
@@ -221,5 +232,6 @@ QList<WizardClass*> createMultipleBaseFileWizardInstances(const QList<BaseFileWi
|
||||
} // namespace Core
|
||||
|
||||
Q_DECLARE_OPERATORS_FOR_FLAGS(Core::GeneratedFile::Attributes)
|
||||
Q_DECLARE_OPERATORS_FOR_FLAGS(Core::WizardDialogParameters::DialogParameterFlags)
|
||||
|
||||
#endif // BASEFILEWIZARD_H
|
||||
|
||||
@@ -56,7 +56,8 @@ public:
|
||||
};
|
||||
Q_DECLARE_FLAGS(WizardKinds, WizardKind)
|
||||
enum WizardFlag {
|
||||
PlatformIndependent = 0x01
|
||||
PlatformIndependent = 0x01,
|
||||
ForceCapitalLetterForFileName = 0x02
|
||||
};
|
||||
Q_DECLARE_FLAGS(WizardFlags, WizardFlag)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user