UIManageLicense.cpp 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. // Copyright (c) 2014-2015, THUNDERBEAST GAMES LLC All rights reserved
  2. // Please see LICENSE.md in repository root for license information
  3. // https://github.com/AtomicGameEngine/AtomicEditor
  4. // BEGIN LICENSE MANAGEMENT
  5. #include "AtomicEditor.h"
  6. #include <TurboBadger/tb_window.h>
  7. #include <TurboBadger/tb_select.h>
  8. #include <TurboBadger/tb_editfield.h>
  9. #include <Atomic/Core/Context.h>
  10. #include <Atomic/UI/TBUI.h>
  11. #include "Resources/AEResourceOps.h"
  12. #include "AEPreferences.h"
  13. #include "AEEditor.h"
  14. #include "AEEvents.h"
  15. #include "Project/AEProject.h"
  16. #include "Project/ProjectUtils.h"
  17. #include "AELicenseSystem.h"
  18. #include "UIManageLicense.h"
  19. namespace AtomicEditor
  20. {
  21. // UIBuildSettings------------------------------------------------
  22. UIManageLicense::UIManageLicense(Context* context):
  23. UIModalOpWindow(context)
  24. {
  25. Editor* editor = GetSubsystem<Editor>();
  26. Project* project = editor->GetProject();
  27. TBUI* tbui = GetSubsystem<TBUI>();
  28. window_->SetText("Manage License");
  29. tbui->LoadResourceFile(window_->GetContentRoot(), "AtomicEditor/editor/ui/managelicense.tb.txt");
  30. window_->ResizeToFitContent();
  31. Center();
  32. progressModal_ = new ProgressModal(context_, "Manage License", "");
  33. }
  34. UIManageLicense::~UIManageLicense()
  35. {
  36. }
  37. bool UIManageLicense::OnEvent(const TBWidgetEvent &ev)
  38. {
  39. Editor* editor = GetSubsystem<Editor>();
  40. UIModalOps* modelOps = GetSubsystem<UIModalOps>();
  41. LicenseSystem* licenseSystem = GetSubsystem<LicenseSystem>();
  42. if (ev.type == EVENT_TYPE_CLICK)
  43. {
  44. if (ev.target->GetID() == TBIDC("return_activation"))
  45. {
  46. if (editor->IsProjectLoaded())
  47. {
  48. editor->PostModalError("Close Project", "Please close the current project before deactiving license");
  49. }
  50. else
  51. {
  52. request_ = licenseSystem->Deactivate();
  53. SubscribeToEvent(request_, E_CURLCOMPLETE, HANDLER(UIManageLicense, HandleCurlComplete));
  54. progressModal_->SetMessage("Returning license, please wait...");
  55. progressModal_->Show();
  56. }
  57. return true;
  58. }
  59. }
  60. return false;
  61. }
  62. void UIManageLicense::HandleCurlComplete(StringHash eventType, VariantMap& eventData)
  63. {
  64. progressModal_->Hide();
  65. }
  66. }
  67. // END LICENSE MANAGEMENT