mirror of
https://github.com/lollipopkit/flutter_server_box.git
synced 2025-12-17 07:14:28 +01:00
show Menu when clicking on ListTile, correct german typo, use multiline for snippets
This commit is contained in:
@@ -315,7 +315,7 @@ class SDe extends S {
|
||||
String get noSavedPrivateKey => 'Keine gespeicherten Private Keys';
|
||||
|
||||
@override
|
||||
String get noSavedSnippet => 'Keine gespeicherten snippets.';
|
||||
String get noSavedSnippet => 'Keine gespeicherten Snippets.';
|
||||
|
||||
@override
|
||||
String get noServerAvailable => 'Kein Server verfügbar.';
|
||||
|
||||
@@ -95,7 +95,7 @@
|
||||
"noInterface": "Kein Interface",
|
||||
"noResult": "Kein Ergebnis",
|
||||
"noSavedPrivateKey": "Keine gespeicherten Private Keys",
|
||||
"noSavedSnippet": "Keine gespeicherten snippets.",
|
||||
"noSavedSnippet": "Keine gespeicherten Snippets.",
|
||||
"noServerAvailable": "Kein Server verfügbar.",
|
||||
"noUpdateAvailable": "Kein Update verfügbar",
|
||||
"notSelected": "Nicht ausgewählt",
|
||||
|
||||
@@ -32,6 +32,12 @@ class SettingPage extends StatefulWidget {
|
||||
}
|
||||
|
||||
class _SettingPageState extends State<SettingPage> {
|
||||
final themeKey = GlobalKey<PopupMenuButtonState<int>>();
|
||||
final startPageKey = GlobalKey<PopupMenuButtonState<int>>();
|
||||
final updateIntervalKey = GlobalKey<PopupMenuButtonState<int>>();
|
||||
final termThemeKey = GlobalKey<PopupMenuButtonState<int>>();
|
||||
final maxRetryKey = GlobalKey<PopupMenuButtonState<int>>();
|
||||
|
||||
late final SettingStore _setting;
|
||||
late final ServerProvider _serverProvider;
|
||||
late MediaQueryData _media;
|
||||
@@ -186,6 +192,7 @@ class _SettingPageState extends State<SettingPage> {
|
||||
),
|
||||
growable: false,
|
||||
).toList();
|
||||
|
||||
return ListTile(
|
||||
title: Text(
|
||||
_s.updateServerStatusInterval,
|
||||
@@ -194,10 +201,14 @@ class _SettingPageState extends State<SettingPage> {
|
||||
_s.willTakEeffectImmediately,
|
||||
style: grey,
|
||||
),
|
||||
trailing: PopupMenu<int>(
|
||||
items: items,
|
||||
onTap: () {
|
||||
updateIntervalKey.currentState?.showButtonMenu();
|
||||
},
|
||||
trailing: PopupMenuButton(
|
||||
key: updateIntervalKey,
|
||||
itemBuilder: (BuildContext context) => items,
|
||||
initialValue: _updateInterval,
|
||||
onSelected: (val) {
|
||||
onSelected: (int val) {
|
||||
setState(() {
|
||||
_updateInterval = val;
|
||||
});
|
||||
@@ -261,14 +272,19 @@ class _SettingPageState extends State<SettingPage> {
|
||||
),
|
||||
)
|
||||
.toList();
|
||||
|
||||
return ListTile(
|
||||
title: Text(
|
||||
_s.launchPage,
|
||||
),
|
||||
trailing: PopupMenu<int>(
|
||||
items: items,
|
||||
onTap: () {
|
||||
startPageKey.currentState?.showButtonMenu();
|
||||
},
|
||||
trailing: PopupMenuButton(
|
||||
key: startPageKey,
|
||||
itemBuilder: (BuildContext context) => items,
|
||||
initialValue: _launchPageIdx,
|
||||
onSelected: (idx) {
|
||||
onSelected: (int idx) {
|
||||
setState(() {
|
||||
_launchPageIdx = idx;
|
||||
});
|
||||
@@ -298,10 +314,14 @@ class _SettingPageState extends State<SettingPage> {
|
||||
title: Text(
|
||||
_s.termTheme,
|
||||
),
|
||||
trailing: PopupMenu<int>(
|
||||
items: items,
|
||||
onTap: () {
|
||||
termThemeKey.currentState?.showButtonMenu();
|
||||
},
|
||||
trailing: PopupMenuButton(
|
||||
key: termThemeKey,
|
||||
itemBuilder: (BuildContext context) => items,
|
||||
initialValue: _termThemeIdx,
|
||||
onSelected: (idx) {
|
||||
onSelected: (int idx) {
|
||||
setState(() {
|
||||
_termThemeIdx = idx;
|
||||
});
|
||||
@@ -325,15 +345,21 @@ class _SettingPageState extends State<SettingPage> {
|
||||
).toList();
|
||||
final help =
|
||||
_maxRetryCount == 0 ? _s.maxRetryCountEqual0 : _s.canPullRefresh;
|
||||
|
||||
return ListTile(
|
||||
title: Text(
|
||||
_s.maxRetryCount,
|
||||
textAlign: TextAlign.start,
|
||||
),
|
||||
trailing: PopupMenu<int>(
|
||||
items: items,
|
||||
subtitle: Text(help, style: grey),
|
||||
onTap: () {
|
||||
maxRetryKey.currentState?.showButtonMenu();
|
||||
},
|
||||
trailing: PopupMenuButton(
|
||||
key: maxRetryKey,
|
||||
itemBuilder: (BuildContext context) => items,
|
||||
initialValue: _maxRetryCount,
|
||||
onSelected: (val) {
|
||||
onSelected: (int val) {
|
||||
setState(() {
|
||||
_maxRetryCount = val;
|
||||
});
|
||||
@@ -343,7 +369,6 @@ class _SettingPageState extends State<SettingPage> {
|
||||
'${_maxRetryCount.toInt()} ${_s.times}',
|
||||
),
|
||||
),
|
||||
subtitle: Text(help, style: grey),
|
||||
);
|
||||
}
|
||||
|
||||
@@ -357,15 +382,22 @@ class _SettingPageState extends State<SettingPage> {
|
||||
);
|
||||
},
|
||||
).toList();
|
||||
|
||||
return ListTile(
|
||||
title: Text(
|
||||
_s.themeMode,
|
||||
),
|
||||
trailing: PopupMenu<int>(
|
||||
items: items,
|
||||
onTap: () {
|
||||
themeKey.currentState?.showButtonMenu();
|
||||
},
|
||||
trailing: PopupMenuButton(
|
||||
key: themeKey,
|
||||
itemBuilder: (BuildContext context) => items,
|
||||
initialValue: _nightMode,
|
||||
onSelected: (idx) {
|
||||
_nightMode = idx;
|
||||
onSelected: (int idx) {
|
||||
setState(() {
|
||||
_nightMode = idx;
|
||||
});
|
||||
_setting.themeMode.put(_nightMode);
|
||||
},
|
||||
child: Text(_buildThemeModeStr(_nightMode)),
|
||||
|
||||
@@ -99,7 +99,7 @@ class _SnippetEditPageState extends State<SnippetEditPage>
|
||||
node: _scriptNode,
|
||||
minLines: 3,
|
||||
maxLines: 10,
|
||||
type: TextInputType.text,
|
||||
type: TextInputType.multiline,
|
||||
label: _s.snippet,
|
||||
icon: Icons.code,
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user