1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- /*
- * 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;
- };
|