From 8292e04edbdc717f0c6f1b4f21ef7500da37d18b Mon Sep 17 00:00:00 2001 From: ZhuchkaTriplesix Date: Mon, 27 Jul 2026 04:17:28 +0300 Subject: [PATCH 1/2] fix(linux): silence clang deprecated-literal-operator from secure_storage Newer Clang treats whitespace in nlohmann/json.hpp as deprecated; with -Werror that breaks Linux builds on flutter_secure_storage 9.x until v10. Co-authored-by: Cursor --- linux/CMakeLists.txt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/linux/CMakeLists.txt b/linux/CMakeLists.txt index fab71312..fd4cf577 100644 --- a/linux/CMakeLists.txt +++ b/linux/CMakeLists.txt @@ -41,7 +41,11 @@ endif() # of modifying this function. function(APPLY_STANDARD_SETTINGS TARGET) target_compile_features(${TARGET} PUBLIC cxx_std_14) - target_compile_options(${TARGET} PRIVATE -Wall -Werror) + # flutter_secure_storage_linux 9.x ships an old nlohmann/json.hpp that + # trips -Wdeprecated-literal-operator under newer Clang. + # Upstream fix is in flutter_secure_storage 10+; silence until then. + target_compile_options(${TARGET} PRIVATE + -Wall -Werror -Wno-deprecated-literal-operator) target_compile_options(${TARGET} PRIVATE "$<$>:-O3>") target_compile_definitions(${TARGET} PRIVATE "$<$>:NDEBUG>") endfunction() From c9b7b22f414db44f7ba2fda7bbf2cc8d44b41171 Mon Sep 17 00:00:00 2001 From: ZhuchkaTriplesix Date: Mon, 27 Jul 2026 04:17:28 +0300 Subject: [PATCH 2/2] ui: enlarge connection and preferences dialogs Give the DB picker, credential forms, and Preferences more room so layouts feel less cramped on typical desktop viewports. Co-authored-by: Cursor --- lib/core/layout/window_layout.dart | 16 +++++++++++++--- .../connections/extension_connection_form.dart | 4 ++-- .../connections/new_connection_url_dialog.dart | 4 ++-- .../mongodb/mongodb_connection_form.dart | 4 ++-- lib/features/mysql/mysql_connection_form.dart | 4 ++-- .../postgresql/postgresql_connection_form.dart | 4 ++-- lib/features/redis/redis_connection_form.dart | 4 ++-- lib/features/settings/preferences_dialog.dart | 6 +++--- 8 files changed, 28 insertions(+), 18 deletions(-) diff --git a/lib/core/layout/window_layout.dart b/lib/core/layout/window_layout.dart index c464d527..47c07676 100644 --- a/lib/core/layout/window_layout.dart +++ b/lib/core/layout/window_layout.dart @@ -10,6 +10,16 @@ abstract class WindowLayout { static const double narrowWindowWidth = 720; static const double compactWindowWidth = 520; + /// Logical sizes for connection credential forms (Postgres/MySQL/Redis/…). + static const double connectionFormMaxWidth = 700; + static const double connectionFormMaxHeight = 760; + static const double connectionFormMongoMaxHeight = 820; + + /// Preferences / settings dialog. + static const double preferencesDialogMaxWidth = 600; + static const double preferencesDialogMinWidth = 420; + static const double preferencesDialogMaxHeight = 760; + /// Horizontal inset for modal dialogs (clamped by screen). static double dialogHorizontalInset(double screenWidth) { return (screenWidth * 0.05).clamp(12.0, 48.0); @@ -68,7 +78,7 @@ abstract class WindowLayout { context, screenExtent: mq.width, insetTotal: inset, - baseMax: 740, + baseMax: 860, baseMin: 280, viewportFactor: 1.0, ); @@ -81,9 +91,9 @@ abstract class WindowLayout { context, screenExtent: mq.height, insetTotal: inset, - baseMax: 580, + baseMax: 680, baseMin: 320, - viewportFactor: 0.78, + viewportFactor: 0.85, ); } diff --git a/lib/features/connections/extension_connection_form.dart b/lib/features/connections/extension_connection_form.dart index da6d8fd3..3ed40d4a 100644 --- a/lib/features/connections/extension_connection_form.dart +++ b/lib/features/connections/extension_connection_form.dart @@ -174,8 +174,8 @@ class _ExtensionConnectionFormContentState return material.Container( constraints: WindowLayout.dialogConstraints( context, - maxWidth: 520, - minWidth: 400, + maxWidth: WindowLayout.connectionFormMaxWidth, + minWidth: 440, ), decoration: material.BoxDecoration( color: theme.popover, diff --git a/lib/features/connections/new_connection_url_dialog.dart b/lib/features/connections/new_connection_url_dialog.dart index 23e60638..6c73fe42 100644 --- a/lib/features/connections/new_connection_url_dialog.dart +++ b/lib/features/connections/new_connection_url_dialog.dart @@ -52,8 +52,8 @@ class _NewConnectionUrlDialogContentState return material.Container( constraints: WindowLayout.dialogConstraints( context, - maxWidth: 500, - minWidth: 380, + maxWidth: 580, + minWidth: 420, ), decoration: material.BoxDecoration( color: theme.popover, diff --git a/lib/features/mongodb/mongodb_connection_form.dart b/lib/features/mongodb/mongodb_connection_form.dart index dd553dc8..b1586c18 100644 --- a/lib/features/mongodb/mongodb_connection_form.dart +++ b/lib/features/mongodb/mongodb_connection_form.dart @@ -305,8 +305,8 @@ class _MongoConnectionFormContentState return material.Container( constraints: WindowLayout.dialogConstraints( context, - maxWidth: 600, - maxHeight: 700, + maxWidth: WindowLayout.connectionFormMaxWidth, + maxHeight: WindowLayout.connectionFormMongoMaxHeight, ), decoration: material.BoxDecoration( color: theme.popover, diff --git a/lib/features/mysql/mysql_connection_form.dart b/lib/features/mysql/mysql_connection_form.dart index b597ef75..2bd146c1 100644 --- a/lib/features/mysql/mysql_connection_form.dart +++ b/lib/features/mysql/mysql_connection_form.dart @@ -274,8 +274,8 @@ class _MysqlConnectionFormContentState return material.Container( constraints: WindowLayout.dialogConstraints( context, - maxWidth: 600, - maxHeight: 640, + maxWidth: WindowLayout.connectionFormMaxWidth, + maxHeight: WindowLayout.connectionFormMaxHeight, ), decoration: material.BoxDecoration( color: theme.popover, diff --git a/lib/features/postgresql/postgresql_connection_form.dart b/lib/features/postgresql/postgresql_connection_form.dart index cfb17082..a373fb1a 100644 --- a/lib/features/postgresql/postgresql_connection_form.dart +++ b/lib/features/postgresql/postgresql_connection_form.dart @@ -388,8 +388,8 @@ class _PostgresConnectionFormContentState return material.Container( constraints: WindowLayout.dialogConstraints( context, - maxWidth: 600, - maxHeight: 640, + maxWidth: WindowLayout.connectionFormMaxWidth, + maxHeight: WindowLayout.connectionFormMaxHeight, ), decoration: material.BoxDecoration( color: theme.popover, diff --git a/lib/features/redis/redis_connection_form.dart b/lib/features/redis/redis_connection_form.dart index cc92c05e..d864cd8a 100644 --- a/lib/features/redis/redis_connection_form.dart +++ b/lib/features/redis/redis_connection_form.dart @@ -249,8 +249,8 @@ class _RedisConnectionFormContentState return material.Container( constraints: WindowLayout.dialogConstraints( context, - maxWidth: 600, - maxHeight: 640, + maxWidth: WindowLayout.connectionFormMaxWidth, + maxHeight: WindowLayout.connectionFormMaxHeight, ), decoration: material.BoxDecoration( color: theme.popover, diff --git a/lib/features/settings/preferences_dialog.dart b/lib/features/settings/preferences_dialog.dart index 33937595..3a3924ab 100644 --- a/lib/features/settings/preferences_dialog.dart +++ b/lib/features/settings/preferences_dialog.dart @@ -105,9 +105,9 @@ class _PreferencesDialogContentState child: material.Container( constraints: WindowLayout.dialogConstraints( context, - maxWidth: 480, - minWidth: 360, - maxHeight: 640, + maxWidth: WindowLayout.preferencesDialogMaxWidth, + minWidth: WindowLayout.preferencesDialogMinWidth, + maxHeight: WindowLayout.preferencesDialogMaxHeight, ), decoration: material.BoxDecoration( color: theme.popover,