2 * Copyright (C) 2005-2018 Team Kodi
3 * This file is part of Kodi - https://kodi.tv
5 * SPDX-License-Identifier: GPL-2.0-or-later
6 * See LICENSES/README.md for more information.
8 #include "AutorunMediaJob.h"
10 #include "ServiceBroker.h"
11 #include "application/ApplicationComponents.h"
12 #include "application/ApplicationPowerHandling.h"
13 #include "dialogs/GUIDialogSelect.h"
14 #include "guilib/GUIComponent.h"
15 #include "guilib/GUIWindowManager.h"
16 #include "guilib/LocalizeStrings.h"
17 #include "interfaces/builtins/Builtins.h"
18 #include "utils/StringUtils.h"
19 #include "utils/Variant.h"
21 CAutorunMediaJob::CAutorunMediaJob(const std::string
&label
, const std::string
&path
):
27 bool CAutorunMediaJob::DoWork()
29 CGUIDialogSelect
* pDialog
= CServiceBroker::GetGUI()->GetWindowManager().GetWindow
<CGUIDialogSelect
>(WINDOW_DIALOG_SELECT
);
31 // wake up and turn off the screensaver if it's active
32 auto& components
= CServiceBroker::GetAppComponents();
33 const auto appPower
= components
.GetComponent
<CApplicationPowerHandling
>();
34 appPower
->WakeUpScreenSaverAndDPMS();
38 pDialog
->SetHeading(CVariant
{m_label
});
40 pDialog
->SetHeading(CVariant
{g_localizeStrings
.Get(21331)});
42 pDialog
->Add(g_localizeStrings
.Get(21332));
43 pDialog
->Add(g_localizeStrings
.Get(21333));
44 pDialog
->Add(g_localizeStrings
.Get(21334));
45 pDialog
->Add(g_localizeStrings
.Get(21335));
49 int selection
= pDialog
->GetSelectedItem();
52 std::string strAction
=
53 StringUtils::Format("ActivateWindow({}, {})", GetWindowString(selection
), m_path
);
54 CBuiltins::GetInstance().Execute(strAction
);
60 const char *CAutorunMediaJob::GetWindowString(int selection
)