Files
o3de/Code/Editor/CheckOutDialog.h
T
Artur K 6bf6ae9485 Editor code: tidy up BOOLs,NULLs and overrides pt5. (#2876)
A few 'typedefs' replaced by 'using's
This shouldn't have any functional changes at all, just c++17 modernization
It's a part 5 of a split #2847

Signed-off-by: Nemerle <nemerle5+git@gmail.com>

Co-authored-by: Nemerle <nemerle5+git@gmail.com>
2021-08-09 13:06:29 -05:00

84 lines
1.8 KiB
C++

/*
* Copyright (c) Contributors to the Open 3D Engine Project.
* For complete copyright and license terms please see the LICENSE at the root of this distribution.
*
* SPDX-License-Identifier: Apache-2.0 OR MIT
*
*/
#pragma once
//////////////////////////////////////////////////////////////////////////
// CCheckOutDialog dialog
#if !defined(Q_MOC_RUN)
#include <QDialog>
#endif
namespace Ui
{
class CheckOutDialog;
}
class CCheckOutDialog
: public QDialog
{
Q_OBJECT
public:
// Checkout dialog result.
enum EResult
{
CHECKOUT = QDialog::Accepted,
OVERWRITE,
CANCEL = QDialog::Rejected
};
CCheckOutDialog(const QString& file, QWidget* pParent = nullptr); // standard constructor
virtual ~CCheckOutDialog();
// Dialog Data
void OnInitDialog();
// Enable functionality For All. In the end call with false to return it in init state.
// Returns previous enable state
static bool EnableForAll(bool isEnable);
static bool IsForAll() { return InstanceIsForAll(); }
static int LastResult() { return m_lastResult; }
protected:
void OnBnClickedCancel();
void OnBnClickedCheckout();
void OnBnClickedOverwrite();
private:
static bool& InstanceEnableForAll();
static bool& InstanceIsForAll();
void HandleResult(int result);
QString m_file;
QScopedPointer<Ui::CheckOutDialog> m_ui;
static int m_lastResult;
};
//////////////////////////////////////////////////////////////////////////
class CAutoCheckOutDialogEnableForAll
{
public:
CAutoCheckOutDialogEnableForAll()
{
m_bPrevState = CCheckOutDialog::EnableForAll(true);
}
~CAutoCheckOutDialogEnableForAll()
{
CCheckOutDialog::EnableForAll(m_bPrevState);
}
private:
bool m_bPrevState;
};