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