12
12
use OCP \AppFramework \Services \IInitialState ;
13
13
use OCP \EventDispatcher \Event ;
14
14
use OCP \EventDispatcher \IEventListener ;
15
+ use OCP \IAppConfig ;
15
16
use OCP \TaskProcessing \IManager as ITaskProcessingManager ;
16
17
use OCP \TaskProcessing \TaskTypes \AudioToText ;
18
+ use OCP \TaskProcessing \TaskTypes \TextToImage ;
17
19
use OCP \TaskProcessing \TaskTypes \TextToTextSummary ;
18
20
use OCP \Util ;
19
21
23
25
class LoadAdditionalScriptsListener implements IEventListener {
24
26
25
27
public function __construct (
28
+ private IAppConfig $ appConfig ,
26
29
private IInitialState $ initialStateService ,
27
30
private ITaskProcessingManager $ taskProcessingManager ,
28
31
) {
@@ -34,15 +37,25 @@ public function handle(Event $event): void {
34
37
}
35
38
36
39
$ availableTaskTypes = $ this ->taskProcessingManager ->getAvailableTaskTypes ();
40
+
41
+ // file actions
37
42
$ summarizeAvailable = array_key_exists (TextToTextSummary::ID , $ availableTaskTypes );
38
43
$ sttAvailable = array_key_exists (AudioToText::ID , $ availableTaskTypes );
39
44
$ ttsAvailable = class_exists ('OCP \\TaskProcessing \\TaskTypes \\TextToSpeech ' )
40
45
&& array_key_exists (\OCP \TaskProcessing \TaskTypes \TextToSpeech::ID , $ availableTaskTypes );
41
-
42
46
$ this ->initialStateService ->provideInitialState ('stt-available ' , $ sttAvailable );
43
47
$ this ->initialStateService ->provideInitialState ('tts-available ' , $ ttsAvailable );
44
48
$ this ->initialStateService ->provideInitialState ('summarize-available ' , $ summarizeAvailable );
45
-
46
49
Util::addInitScript (Application::APP_ID , Application::APP_ID . '-fileActions ' );
50
+
51
+ // New file menu to generate images
52
+ $ isNewFileMenuEnabled = $ this ->appConfig ->getValueInt (Application::APP_ID , 'newFileMenuPlugin ' , 1 ) === 1 ;
53
+ if ($ isNewFileMenuEnabled ) {
54
+ $ hasText2Image = array_key_exists (TextToImage::ID , $ availableTaskTypes );
55
+ $ this ->initialStateService ->provideInitialState ('new-file-generate-image ' , [
56
+ 'hasText2Image ' => $ hasText2Image ,
57
+ ]);
58
+ Util::addScript (Application::APP_ID , Application::APP_ID . '-filesNewMenu ' );
59
+ }
47
60
}
48
61
}
0 commit comments