Skip to content

Commit da14640

Browse files
committed
db: Support setting browser preference
Signed-off-by: Zixuan James Li <[email protected]>
1 parent 3ba352f commit da14640

21 files changed

+878
-32
lines changed

Diff for: assets/l10n/app_en.arb

+4
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,10 @@
2323
"@settingsPageTitle": {
2424
"description": "Title for the settings page."
2525
},
26+
"settingsUseExternal": "Use external browser",
27+
"@settingsUseExternal": {
28+
"description": "Whether to open links with external browser or not"
29+
},
2630
"switchAccountButton": "Switch account",
2731
"@switchAccountButton": {
2832
"description": "Label for main-menu button leading to the choose-account page."

Diff for: lib/generated/l10n/zulip_localizations.dart

+6
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,12 @@ abstract class ZulipLocalizations {
141141
/// **'Settings'**
142142
String get settingsPageTitle;
143143

144+
/// Whether to open links with external browser or not
145+
///
146+
/// In en, this message translates to:
147+
/// **'Use external browser'**
148+
String get settingsUseExternal;
149+
144150
/// Label for main-menu button leading to the choose-account page.
145151
///
146152
/// In en, this message translates to:

Diff for: lib/generated/l10n/zulip_localizations_ar.dart

+3
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@ class ZulipLocalizationsAr extends ZulipLocalizations {
2626
@override
2727
String get settingsPageTitle => 'Settings';
2828

29+
@override
30+
String get settingsUseExternal => 'Use external browser';
31+
2932
@override
3033
String get switchAccountButton => 'Switch account';
3134

Diff for: lib/generated/l10n/zulip_localizations_en.dart

+3
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@ class ZulipLocalizationsEn extends ZulipLocalizations {
2626
@override
2727
String get settingsPageTitle => 'Settings';
2828

29+
@override
30+
String get settingsUseExternal => 'Use external browser';
31+
2932
@override
3033
String get switchAccountButton => 'Switch account';
3134

Diff for: lib/generated/l10n/zulip_localizations_ja.dart

+3
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@ class ZulipLocalizationsJa extends ZulipLocalizations {
2626
@override
2727
String get settingsPageTitle => 'Settings';
2828

29+
@override
30+
String get settingsUseExternal => 'Use external browser';
31+
2932
@override
3033
String get switchAccountButton => 'Switch account';
3134

Diff for: lib/generated/l10n/zulip_localizations_nb.dart

+3
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@ class ZulipLocalizationsNb extends ZulipLocalizations {
2626
@override
2727
String get settingsPageTitle => 'Settings';
2828

29+
@override
30+
String get settingsUseExternal => 'Use external browser';
31+
2932
@override
3033
String get switchAccountButton => 'Switch account';
3134

Diff for: lib/generated/l10n/zulip_localizations_pl.dart

+3
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@ class ZulipLocalizationsPl extends ZulipLocalizations {
2626
@override
2727
String get settingsPageTitle => 'Settings';
2828

29+
@override
30+
String get settingsUseExternal => 'Use external browser';
31+
2932
@override
3033
String get switchAccountButton => 'Przełącz konto';
3134

Diff for: lib/generated/l10n/zulip_localizations_ru.dart

+3
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@ class ZulipLocalizationsRu extends ZulipLocalizations {
2626
@override
2727
String get settingsPageTitle => 'Settings';
2828

29+
@override
30+
String get settingsUseExternal => 'Use external browser';
31+
2932
@override
3033
String get switchAccountButton => 'Сменить учетную запись';
3134

Diff for: lib/generated/l10n/zulip_localizations_sk.dart

+3
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@ class ZulipLocalizationsSk extends ZulipLocalizations {
2626
@override
2727
String get settingsPageTitle => 'Settings';
2828

29+
@override
30+
String get settingsUseExternal => 'Use external browser';
31+
2932
@override
3033
String get switchAccountButton => 'Zmeniť účet';
3134

Diff for: lib/model/database.dart

+8-1
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,9 @@ class Accounts extends Table {
5353
class GlobalSettings extends Table {
5454
Column<String> get themeSetting => textEnum<ThemeSetting>()
5555
.withDefault(const Variable('unset'))();
56+
57+
Column<String> get browserPreference => textEnum<BrowserPreference>()
58+
.nullable()();
5659
}
5760

5861
class UriConverter extends TypeConverter<Uri, String> {
@@ -73,7 +76,7 @@ class AppDatabase extends _$AppDatabase {
7376
// * Write a migration in `onUpgrade` below.
7477
// * Write tests.
7578
@override
76-
int get schemaVersion => 3; // See note.
79+
int get schemaVersion => 4; // See note.
7780

7881
Future<void> _resetDatabase(Migrator m) async {
7982
// This should only ever happen in dev. As a dev convenience,
@@ -117,6 +120,10 @@ class AppDatabase extends _$AppDatabase {
117120
from2To3: (m, schema) async {
118121
await m.createTable(schema.globalSettings);
119122
},
123+
from3To4: (m, schema) async {
124+
await m.addColumn(
125+
schema.globalSettings, schema.globalSettings.browserPreference);
126+
},
120127
));
121128
});
122129
}

Diff for: lib/model/database.g.dart

+85-7
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)