fix: ok tuşları + buton hover/siyah border + çift tıklama cover
Build Windows / build-windows (push) Has been cancelled

This commit is contained in:
Alhan committed 2026-07-22 05:20:07 +03:00
1 parent 86a63e0bb6
commit 35ac949f4e
6 files changed
+109 -65

No files matched your search

+27 -4
View File
@@ -41,22 +41,45 @@ class CustomTitleBar extends StatelessWidget {
}
}
class _BarButton extends StatelessWidget {
class _BarButton extends StatefulWidget {
final IconData icon;
final VoidCallback onTap;
const _BarButton({required this.icon, required this.onTap});
@override
State<_BarButton> createState() => _BarButtonState();
}
class _BarButtonState extends State<_BarButton> {
bool _hovered = false;
@override
Widget build(BuildContext context) {
return GestureDetector(
onTap: onTap,
onTap: widget.onTap,
child: MouseRegion(
cursor: SystemMouseCursors.click,
child: SizedBox(
onEnter: (_) => setState(() => _hovered = true),
onExit: (_) => setState(() => _hovered = false),
child: Container(
width: 36,
height: 28,
child: Icon(icon, color: Colors.white54, size: 16),
decoration: BoxDecoration(
border: Border.all(
color: Colors.black54,
width: 1,
),
color: _hovered ? Colors.red.withValues(alpha: 0.7) : Colors.transparent,
borderRadius: const BorderRadius.only(
topRight: Radius.circular(4),
),
),
child: Icon(
widget.icon,
color: Colors.white,
size: 14,
),
),
),
);
+40 -21
View File
@@ -112,28 +112,47 @@ class _ImageCanvasState extends State<ImageCanvas> {
maxScale: 10.0,
panEnabled: true,
scaleEnabled: false,
child: Center(
child: Image.file(
File(widget.filePath),
fit: _isFilled ? BoxFit.cover : BoxFit.contain,
filterQuality: FilterQuality.high,
errorBuilder: (context, error, stackTrace) {
return const Center(
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
Icon(Icons.broken_image, size: 48, color: Colors.white38),
SizedBox(height: 8),
Text(
'Resim yüklenemedi',
style: TextStyle(color: Colors.white38),
),
],
child: _isFilled
? SizedBox.expand(
child: Image.file(
File(widget.filePath),
fit: BoxFit.cover,
filterQuality: FilterQuality.high,
errorBuilder: (context, error, stackTrace) {
return const Center(
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
Icon(Icons.broken_image, size: 48, color: Colors.white38),
SizedBox(height: 8),
Text('Resim yüklenemedi',
style: TextStyle(color: Colors.white38)),
],
),
);
},
),
);
},
),
),
)
: Center(
child: Image.file(
File(widget.filePath),
fit: BoxFit.contain,
filterQuality: FilterQuality.high,
errorBuilder: (context, error, stackTrace) {
return const Center(
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
Icon(Icons.broken_image, size: 48, color: Colors.white38),
SizedBox(height: 8),
Text('Resim yüklenemedi',
style: TextStyle(color: Colors.white38)),
],
),
);
},
),
),
),
),
);