Skip to content

Commit

Permalink
Use updated yaru_widgets (#267)
Browse files Browse the repository at this point in the history
- this needs an update to how the search works
- took the opportunity and move the app into its own file
  • Loading branch information
Feichtmeier authored Feb 16, 2022
1 parent 185c8e0 commit 230b706
Show file tree
Hide file tree
Showing 4 changed files with 86 additions and 57 deletions.
67 changes: 67 additions & 0 deletions lib/app.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:settings/l10n/l10n.dart';
import 'package:settings/view/app_theme.dart';
import 'package:settings/view/pages/page_items.dart';
import 'package:yaru_icons/yaru_icons.dart';
import 'package:yaru_widgets/yaru_widgets.dart';

class UbuntuSettingsApp extends StatefulWidget {
const UbuntuSettingsApp({
Key? key,
}) : super(key: key);

@override
State<UbuntuSettingsApp> createState() => _UbuntuSettingsAppState();
}

class _UbuntuSettingsAppState extends State<UbuntuSettingsApp> {
final _filteredItems = <YaruPageItem>[];
final _searchController = TextEditingController();

void _onEscape() => setState(() {
_filteredItems.clear();
_searchController.clear();
});

void _onSearchChanged(String value) {
setState(() {
_filteredItems.clear();
_filteredItems.addAll(pageItems.where((element) =>
element.title.toLowerCase().contains(value.toLowerCase())));
});
}

@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
onGenerateTitle: (context) => context.l10n.appTitle,
routes: {
Navigator.defaultRouteName: (context) {
return YaruMasterDetailPage(
leftPaneWidth: 280,
pageItems: _filteredItems.isNotEmpty ? _filteredItems : pageItems,
previousIconData: YaruIcons.go_previous,
searchHint: context.l10n.searchHint,
searchIconData: YaruIcons.search,
appBar: YaruSearchAppBar(
searchHint: 'Search...',
clearSearchIconData: YaruIcons.window_close,
searchController: _searchController,
onChanged: _onSearchChanged,
onEscape: _onEscape,
appBarHeight: 48,
searchIconData: YaruIcons.search,
),
);
},
},
theme: context.watch<LightTheme>().value,
darkTheme: context.watch<DarkTheme>().value,
themeMode: context.watch<AppTheme>().value,
supportedLocales: AppLocalizations.supportedLocales,
localizationsDelegates: AppLocalizations.localizationsDelegates,
);
}
}
36 changes: 1 addition & 35 deletions lib/main.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import 'package:bluez/bluez.dart';
import 'package:flutter/material.dart';
import 'package:nm/nm.dart';
import 'package:provider/provider.dart';
import 'package:settings/l10n/l10n.dart';
import 'package:settings/app.dart';
import 'package:settings/schemas/schemas.dart';
import 'package:settings/services/bluetooth_service.dart';
import 'package:settings/services/hostname_service.dart';
Expand All @@ -11,12 +11,9 @@ import 'package:settings/services/power_profile_service.dart';
import 'package:settings/services/power_settings_service.dart';
import 'package:settings/services/settings_service.dart';
import 'package:settings/view/app_theme.dart';
import 'package:settings/view/pages/page_items.dart';
import 'package:udisks/udisks.dart';
import 'package:upower/upower.dart';
import 'package:yaru/yaru.dart';
import 'package:yaru_icons/yaru_icons.dart';
import 'package:yaru_widgets/yaru_widgets.dart';

void main() async {
final themeSettings = Settings(schemaInterface);
Expand Down Expand Up @@ -73,34 +70,3 @@ void main() async {
),
);
}

class UbuntuSettingsApp extends StatelessWidget {
const UbuntuSettingsApp({
Key? key,
}) : super(key: key);

@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
onGenerateTitle: (context) => context.l10n.appTitle,
routes: {
Navigator.defaultRouteName: (context) {
return YaruMasterDetailPage(
appBarHeight: 48,
leftPaneWidth: 280,
pageItems: pageItems,
previousIconData: YaruIcons.go_previous,
searchHint: context.l10n.searchHint,
searchIconData: YaruIcons.search,
);
},
},
theme: context.watch<LightTheme>().value,
darkTheme: context.watch<DarkTheme>().value,
themeMode: context.watch<AppTheme>().value,
supportedLocales: AppLocalizations.supportedLocales,
localizationsDelegates: AppLocalizations.localizationsDelegates,
);
}
}
36 changes: 17 additions & 19 deletions pubspec.lock
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ packages:
name: archive
url: "https://pub.dartlang.org"
source: hosted
version: "3.1.11"
version: "3.2.0"
args:
dependency: transitive
description:
Expand Down Expand Up @@ -49,7 +49,7 @@ packages:
name: bluez
url: "https://pub.dartlang.org"
source: hosted
version: "0.7.4"
version: "0.7.5"
boolean_selector:
dependency: transitive
description:
Expand Down Expand Up @@ -325,7 +325,7 @@ packages:
name: gsettings
url: "https://pub.dartlang.org"
source: hosted
version: "0.2.3"
version: "0.2.4"
http:
dependency: "direct main"
description:
Expand All @@ -339,7 +339,7 @@ packages:
name: http_multi_server
url: "https://pub.dartlang.org"
source: hosted
version: "3.0.1"
version: "3.2.0"
http_parser:
dependency: transitive
description:
Expand Down Expand Up @@ -444,7 +444,7 @@ packages:
name: mockito
url: "https://pub.dartlang.org"
source: hosted
version: "5.0.17"
version: "5.1.0"
mocktail:
dependency: transitive
description:
Expand All @@ -465,7 +465,7 @@ packages:
name: nm
url: "https://pub.dartlang.org"
source: hosted
version: "0.4.3"
version: "0.4.4"
node_preamble:
dependency: transitive
description:
Expand Down Expand Up @@ -514,7 +514,7 @@ packages:
name: path_provider
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.8"
version: "2.0.9"
path_provider_android:
dependency: transitive
description:
Expand Down Expand Up @@ -799,16 +799,14 @@ packages:
name: udisks
url: "https://pub.dartlang.org"
source: hosted
version: "0.3.0"
version: "0.3.1"
upower:
dependency: "direct main"
description:
path: "."
ref: HEAD
resolved-ref: d2da6cfa08e19ff0575a22ed37fc5403f93ff8e5
url: "https://github.com/canonical/upower.dart"
source: git
version: "0.6.1"
name: upower
url: "https://pub.dartlang.org"
source: hosted
version: "0.6.2"
vector_math:
dependency: transitive
description:
Expand Down Expand Up @@ -850,14 +848,14 @@ packages:
name: win32
url: "https://pub.dartlang.org"
source: hosted
version: "2.3.10"
version: "2.4.0"
xdg_directories:
dependency: transitive
description:
name: xdg_directories
url: "https://pub.dartlang.org"
source: hosted
version: "0.2.0"
version: "0.2.0+1"
xml:
dependency: "direct main"
description:
Expand All @@ -877,7 +875,7 @@ packages:
description:
path: "."
ref: HEAD
resolved-ref: "4ee36a0a83152268b41072d1d874e1d755e040ac"
resolved-ref: "1450444e67a10774f3d9c3e1c3fe4801b60a7563"
url: "https://github.com/ubuntu/yaru.dart"
source: git
version: "0.2.1"
Expand All @@ -893,10 +891,10 @@ packages:
description:
path: "."
ref: HEAD
resolved-ref: "945abf240f9a67f7a8af987b34146443d3984295"
resolved-ref: "9a76fcc83756e5eba3ac5240b7278e4a1a70384c"
url: "https://github.com/ubuntu/yaru_widgets.dart"
source: git
version: "1.0.1"
version: "1.0.3"
sdks:
dart: ">=2.16.0-100.0.dev <3.0.0"
flutter: ">=2.5.0"
4 changes: 1 addition & 3 deletions pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -35,9 +35,7 @@ dependencies:
safe_change_notifier: ^0.1.0
scrollable_positioned_list: ^0.2.0-nullsafety.0
udisks: ^0.3.0
upower:
git:
url: https://github.com/canonical/upower.dart
upower: ^0.6.2
yaru:
git:
url: https://github.com/ubuntu/yaru.dart
Expand Down

0 comments on commit 230b706

Please sign in to comment.