Skip to content

Commit 0e2c862

Browse files
authored
v0.0.3.2
v0.0.3.2
2 parents b2f041f + ba36987 commit 0e2c862

File tree

4 files changed

+37
-9
lines changed

4 files changed

+37
-9
lines changed

lib/main.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,6 @@ class CoreCoderAppState extends State<CoreCoderApp> {
101101
routes: {
102102
"/": (context) => HomePage(),
103103
EditorPage.routeName: (context) => const EditorPage(),
104-
PluginsBrowser.routeName: (context) => const PluginsBrowser()
105104
},
106105
builder: (BuildContext context, Widget? widget) {
107106
borderColor = Theme.of(context).primaryColor;

lib/screens/homepage/homepage.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -425,7 +425,7 @@ class _HomePageState extends State<HomePage> {
425425
onRefresh: refreshRecentProjects,
426426
children: projectsWidgetList,
427427
),
428-
const PluginsBrowser(),
428+
PluginsBrowser(modulesManager: mm),
429429
SettingsPage(mm),
430430
])
431431
:

lib/screens/settings/plugins_browser.dart

Lines changed: 31 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import 'dart:io';
44
import 'package:corecoder_develop/modules/module_jsplugins.dart';
55
import 'package:corecoder_develop/util/modules_manager.dart';
66
import 'package:corecoder_develop/util/plugins_manager.dart';
7+
import 'package:flutter/cupertino.dart';
78
import 'package:flutter/material.dart';
89
import 'package:http/http.dart' as http;
910
import 'package:http/http.dart';
@@ -12,8 +13,9 @@ import 'package:archive/archive.dart';
1213

1314
class PluginsBrowser extends StatefulWidget {
1415
static const routeName = "/Settings/PluginsManager/";
16+
final ModulesManager modulesManager;
1517

16-
const PluginsBrowser({Key? key}) : super(key: key);
18+
const PluginsBrowser({Key? key, required this.modulesManager}) : super(key: key);
1719

1820
@override
1921
State<StatefulWidget> createState() => PluginsBrowserState();
@@ -56,13 +58,26 @@ class PluginsBrowserState extends State<PluginsBrowser> {
5658
var path = module.moduleFolder;
5759
await Directory(path).delete(recursive: true);
5860
ModulesManager.externalModules.remove(module);
59-
item.isInstalled = false;
61+
// Refresh the modules manager
62+
widget.modulesManager.onInitialized(context);
63+
setState(() {
64+
item.isProcessing = false;
65+
item.isInstalled = false;
66+
});
6067
} else {
68+
setState(() {
69+
item.isInstalled = false;
70+
item.isProcessing = false;
71+
});
6172
return false;
6273
}
6374
setState(() {
75+
item.isInstalled = false;
6476
item.isProcessing = false;
6577
});
78+
// Refresh the modules manager
79+
PluginsManager.reloadPlugins(widget.modulesManager, context);
80+
widget.modulesManager.onInitialized(context);
6681
return true;
6782
}
6883

@@ -119,6 +134,10 @@ class PluginsBrowserState extends State<PluginsBrowser> {
119134
Directory(path + filename).create(recursive: true);
120135
}
121136
debugPrint(filename);
137+
setState(() {
138+
item.isInstalled = true;
139+
item.isProcessing = false;
140+
});
122141
}
123142
} else {
124143
debugPrint("[Plugins Manager] This repository has no zip url");
@@ -137,16 +156,21 @@ class PluginsBrowserState extends State<PluginsBrowser> {
137156
debugPrint("[PluginsManager] The plugins is already installed");
138157
setState(() {
139158
item.isInstalled = true;
159+
item.isProcessing = false;
140160
});
141161
return false;
142162
}
143163

144164
setState(() {
145165
item.isProcessing = false;
146166
});
167+
// Refresh the modules manager
168+
PluginsManager.reloadPlugins(widget.modulesManager, context);
169+
widget.modulesManager.onInitialized(context);
170+
147171

148172
/* Do Something with repo */
149-
if (item.isInstalled) {
173+
if (!item.isInstalled) {
150174
return false;
151175
}
152176

@@ -208,8 +232,10 @@ class PluginsBrowserState extends State<PluginsBrowser> {
208232
subtitle: Text(item.desc),
209233
trailing: (item.isProcessing)
210234
? Container(
211-
constraints: BoxConstraints(maxWidth: 256),
212-
child: Row(children: [
235+
constraints: const BoxConstraints(maxWidth: 256),
236+
child: Row(
237+
mainAxisAlignment: MainAxisAlignment.end,
238+
children: [
213239
Text(item.processingMessage),
214240
const CircularProgressIndicator(
215241
value: null,

lib/screens/settings/settings.dart

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -214,8 +214,11 @@ class SettingsPageState extends State<SettingsPage> {
214214
title: const Text("Download Plugins"),
215215
subtitle: const Text("Get plugins from the internet"),
216216
onTap: () {
217-
Navigator.pushNamed(
218-
context, PluginsBrowser.routeName);
217+
218+
Navigator.push(
219+
context,
220+
MaterialPageRoute<void>(
221+
builder: (BuildContext context) => PluginsBrowser(modulesManager: widget.modulesManager,)));
219222
},
220223
),
221224
ListTile(

0 commit comments

Comments
 (0)