WIP 256 폰 가로 MKV 화면: 인코딩 줄은 한 줄 (설명 · 경고 앞), 작업 기록은 작게 - 목록이 한 줄만 보이던 것 (검토 대기)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>묶음6
parent
cab577ec8a
commit
a5017965cb
|
|
@ -106,8 +106,9 @@ class HomePage extends StatelessWidget {
|
|||
Padding(padding: const EdgeInsets.symmetric(horizontal: 12), child: DnsFailureLine(c: c)),
|
||||
if (c.settings.showLog)
|
||||
SizedBox(
|
||||
// 화면이 낮은 기기 (휴대폰 가로) 에서 목록 · 자세히 보기를 가리지 않도록 화면 높이에 맞춘다
|
||||
height: (MediaQuery.sizeOf(context).height * 0.22).clamp(80.0, 140.0),
|
||||
// 화면이 낮은 기기 (휴대폰 가로) 에서 목록 · 자세히 보기를 가리지 않도록 화면 높이에 맞춘다.
|
||||
// 256: 폰 가로 (높이 500 미만) 는 더 작게 - 목록이 한 줄만 보였다
|
||||
height: MediaQuery.sizeOf(context).height < 500 ? 52 : (MediaQuery.sizeOf(context).height * 0.22).clamp(80.0, 140.0),
|
||||
child: _LogPanel(
|
||||
logs: c.logs,
|
||||
onClose: () => c.updateSettings((s) => s.showLog = false),
|
||||
|
|
@ -643,6 +644,24 @@ class _EncodeBar extends StatelessWidget {
|
|||
),
|
||||
]);
|
||||
// 241 시험에서 찾음: 폭 720 ~ 840 (노트 10+ 가로 등) 에서 한 줄이 넘쳤다 - 960 보다 좁으면 폰처럼 줄을 바꿔 보인다 (내 판단)
|
||||
// 256: 낮은 화면 (폰 가로) 은 여러 줄로 감기면 목록이 한 줄만 보였다 - 한 줄로 옆으로 밀게.
|
||||
// 31: 설명 · "⚠ 원본보다 커서" 경고는 맨 앞에 (밀지 않아도 보이게)
|
||||
if (!compact && MediaQuery.sizeOf(context).height < 500) {
|
||||
final text = [for (final w in row.children) if (w is Expanded) w.child];
|
||||
return Container(
|
||||
width: double.infinity,
|
||||
height: 44,
|
||||
color: JjColors.panel,
|
||||
padding: const EdgeInsets.symmetric(horizontal: 8),
|
||||
child: SingleChildScrollView(
|
||||
scrollDirection: Axis.horizontal,
|
||||
child: Row(children: [
|
||||
for (final t in text) ...[ConstrainedBox(constraints: const BoxConstraints(maxWidth: 360), child: t), const SizedBox(width: 16)],
|
||||
for (final w in row.children) if (w is! Expanded) w,
|
||||
]),
|
||||
),
|
||||
);
|
||||
}
|
||||
if (compact || MediaQuery.sizeOf(context).width < 960) {
|
||||
return Container(
|
||||
width: double.infinity,
|
||||
|
|
|
|||
|
|
@ -0,0 +1,31 @@
|
|||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:jj_mkvmaker/app/app_controller.dart';
|
||||
import 'package:jj_mkvmaker/core/models.dart';
|
||||
import 'package:jj_mkvmaker/platform/windows/desktop_storage_service.dart';
|
||||
import 'package:jj_mkvmaker/platform/windows/process_media_tool.dart';
|
||||
import 'package:jj_mkvmaker/services/platform_services.dart';
|
||||
import 'package:jj_mkvmaker/ui/home_page.dart';
|
||||
|
||||
/// 256: 폰 가로 (노트 10+ 869×411) 의 MKV 화면 - 작업 기록 · 인코딩 줄이 높이를 다 차지해 목록이 한 줄만 보였다
|
||||
void main() {
|
||||
testWidgets('256: 폰 가로에서 작업 기록을 켜도 목록이 3줄 넘게 보인다', (tester) async {
|
||||
tester.view.physicalSize = const Size(869, 411);
|
||||
tester.view.devicePixelRatio = 1;
|
||||
addTearDown(tester.view.reset);
|
||||
final c = AppController(PlatformServices(mediaTool: ProcessMediaTool('x', 'y'), storage: DesktopStorageService()));
|
||||
c.settings.showLog = true;
|
||||
for (var i = 1; i <= 6; i++) {
|
||||
c.videos.add(VideoItem('D:\\v\\영상$i.mp4'));
|
||||
}
|
||||
c.selected = c.videos.first;
|
||||
await tester.pumpWidget(MaterialApp(home: HomePage(c: c)));
|
||||
await tester.pump();
|
||||
expect(tester.takeException(), isNull);
|
||||
final visible = [
|
||||
for (var i = 1; i <= 6; i++)
|
||||
if (find.text('영상$i.mp4').evaluate().isNotEmpty && tester.getRect(find.text('영상$i.mp4').first).bottom <= 411) i,
|
||||
];
|
||||
expect(visible.length, greaterThanOrEqualTo(3), reason: '보이는 목록 줄: $visible');
|
||||
});
|
||||
}
|
||||
Loading…
Reference in New Issue