From 50c52b761922b96c35ddb0013dbfce759f1d1bc8 Mon Sep 17 00:00:00 2001 From: Phani Pavan K Date: Thu, 26 Feb 2026 20:40:17 +0530 Subject: [PATCH] implemented editor selector --- lib/models/project.dart | 16 ++++++++-------- lib/views/managePrj.dart | 15 ++++++++++++++- lib/widgets/editorSelector.dart | 22 +++++++++++++++++++--- 3 files changed, 41 insertions(+), 12 deletions(-) diff --git a/lib/models/project.dart b/lib/models/project.dart index c8421b5..424448c 100644 --- a/lib/models/project.dart +++ b/lib/models/project.dart @@ -6,10 +6,10 @@ class Project { final String name; final String language; final File path; - final Editor? e0; - final Editor? e1; - final Editor? e2; - final Editor? e3; + final String? e0; + final String? e1; + final String? e2; + final String? e3; final bool isGit; Project( @@ -60,10 +60,10 @@ class Project { } factory Project.fromJson(Map data) { - final Editor? e0 = data["e0"]; - final Editor? e1 = data["e1"]; - final Editor? e2 = data["e2"]; - final Editor? e3 = data["e3"]; + final String? e0 = data["e0"]; + final String? e1 = data["e1"]; + final String? e2 = data["e2"]; + final String? e3 = data["e3"]; return Project( data["name"] as String, data["language"] as String, diff --git a/lib/views/managePrj.dart b/lib/views/managePrj.dart index 99f18d8..3bc124d 100644 --- a/lib/views/managePrj.dart +++ b/lib/views/managePrj.dart @@ -3,6 +3,7 @@ import "dart:io"; import "package:flutter/material.dart"; import "package:prod/models/globalModel.dart"; import "package:prod/models/project.dart"; +import "package:prod/widgets/editorSelector.dart"; import "package:provider/provider.dart"; class ManageProject extends StatelessWidget { @@ -77,7 +78,19 @@ class ManageProject extends StatelessWidget { ), ), ), - SliverList.list(children: [Row(children: [])]), + SliverList.list( + children: [ + Row( + mainAxisAlignment: .spaceEvenly, + children: [ + EditorSelector(0), + EditorSelector(1), + EditorSelector(2), + EditorSelector(3), + ], + ), + ], + ), SliverList.list( children: [ diff --git a/lib/widgets/editorSelector.dart b/lib/widgets/editorSelector.dart index df4f4b9..9554df0 100644 --- a/lib/widgets/editorSelector.dart +++ b/lib/widgets/editorSelector.dart @@ -1,9 +1,11 @@ import "package:flutter/material.dart"; import "package:prod/models/editor.dart"; +import "package:prod/models/globalModel.dart"; +import "package:provider/provider.dart"; import "package:yaru/yaru.dart"; -class Editorselector extends StatelessWidget { - const Editorselector(this.turns, {super.key}); +class EditorSelector extends StatelessWidget { + const EditorSelector(this.turns, {super.key}); final int turns; @override @@ -14,7 +16,21 @@ class Editorselector extends StatelessWidget { child: Icon(Icons.rounded_corner_rounded), quarterTurns: this.turns, ), - // YaruPopupMenuButton(child: ,), + YaruPopupMenuButton( + child: Text("Nullie"), + onSelected: (a) { + Provider.of(context, listen: false); + print("$a"); + }, + itemBuilder: (context) { + return Provider.of( + context, + listen: false, + ).editors.map((a) { + return PopupMenuItem(value: a, child: Text("${a.name}")); + }).toList(); + }, + ), ], ); }