From 8357b07c7b16966b6f5610d13cba4d48d6e710b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Elias=20M=C3=BCller?= Date: Tue, 21 Feb 2023 13:55:46 +0100 Subject: [PATCH] Added Timetable gesturedetection, removed Timetable "next" and "previous" buttons --- .../queries/listFiles/cacheableFile.g.dart | 31 ------- .../listFiles/listFilesResponse.g.dart | 19 ---- lib/screen/pages/timetable/timetable.dart | 86 +++++++++++-------- 3 files changed, 51 insertions(+), 85 deletions(-) delete mode 100644 lib/api/marianumcloud/webdav/queries/listFiles/cacheableFile.g.dart delete mode 100644 lib/api/marianumcloud/webdav/queries/listFiles/listFilesResponse.g.dart diff --git a/lib/api/marianumcloud/webdav/queries/listFiles/cacheableFile.g.dart b/lib/api/marianumcloud/webdav/queries/listFiles/cacheableFile.g.dart deleted file mode 100644 index cf64503..0000000 --- a/lib/api/marianumcloud/webdav/queries/listFiles/cacheableFile.g.dart +++ /dev/null @@ -1,31 +0,0 @@ -// // GENERATED CODE - DO NOT MODIFY BY HAND -// -// part of 'cacheableFile.dart'; -// -// // ************************************************************************** -// // JsonSerializableGenerator -// // ************************************************************************** -// -// CacheableFile _$CacheableFileFromJson(Map json) => -// CacheableFile( -// json['path'] as String?, -// json['isDir'] as bool?, -// json['name'] as String?, -// json['mimeType'] as String?, -// json['size'] as int?, -// json['eTag'] as String?, -// json['cTime'] == null ? null : DateTime.parse(json['cTime'] as String), -// json['mTime'] == null ? null : DateTime.parse(json['mTime'] as String), -// ); -// -// Map _$CacheableFileToJson(CacheableFile instance) => -// { -// 'path': instance.path, -// 'isDir': instance.isDir, -// 'name': instance.name, -// 'mimeType': instance.mimeType, -// 'size': instance.size, -// 'eTag': instance.eTag, -// 'cTime': instance.cTime?.toIso8601String(), -// 'mTime': instance.mTime?.toIso8601String(), -// }; diff --git a/lib/api/marianumcloud/webdav/queries/listFiles/listFilesResponse.g.dart b/lib/api/marianumcloud/webdav/queries/listFiles/listFilesResponse.g.dart deleted file mode 100644 index 092886a..0000000 --- a/lib/api/marianumcloud/webdav/queries/listFiles/listFilesResponse.g.dart +++ /dev/null @@ -1,19 +0,0 @@ -// // GENERATED CODE - DO NOT MODIFY BY HAND -// -// part of 'listFilesResponse.dart'; -// -// // ************************************************************************** -// // JsonSerializableGenerator -// // ************************************************************************** -// -// ListFilesResponse _$ListFilesResponseFromJson(Map json) => -// ListFilesResponse( -// (json['files'] as List) -// .map((e) => CacheableFile.fromJson(e as Map)) -// .toSet(), -// ); -// -// Map _$ListFilesResponseToJson(ListFilesResponse instance) => -// { -// 'files': instance.files.map((e) => e.toJson()).toList(), -// }; diff --git a/lib/screen/pages/timetable/timetable.dart b/lib/screen/pages/timetable/timetable.dart index ca0f874..98b70b9 100644 --- a/lib/screen/pages/timetable/timetable.dart +++ b/lib/screen/pages/timetable/timetable.dart @@ -33,44 +33,60 @@ class _TimetableState extends State { TimetableProps timetable = Provider.of(context, listen: false); return Column( children: [ - Flexible( - child: WeekView(value), + Expanded( + child: GestureDetector( + child: WeekView(value), + onHorizontalDragEnd: (details) { + if(details.primaryVelocity! < 0) { + timetable.switchWeek(); + } else { + timetable.switchWeek(previous: true); + } + }, + ), ), - Container( - padding: const EdgeInsets.only(top: 5, bottom: 5), - decoration: BoxDecoration( - border: Border( - top: BorderSide(width: 2, color: Theme.of(context).disabledColor) - ) - ), - child: Row( - mainAxisAlignment: MainAxisAlignment.center, + // Flexible( + // child: + // ), - children: [ - IconButton( - onPressed: () => timetable.switchWeek(previous: true), - icon: const Icon(Icons.navigate_before_sharp), - color: Theme.of(context).primaryColor, - iconSize: 30, - ), - Row( - children: [ - IconButton( - onPressed: () => timetable.nearest(), - icon: const Icon(Icons.home), - color: Theme.of(context).primaryColor, - iconSize: 30, - ), - ], - ), - IconButton( - onPressed: () => timetable.switchWeek(), - icon: const Icon(Icons.navigate_next_sharp), - color: Theme.of(context).primaryColor, - iconSize: 30, - ) - ], + Visibility( + visible: false, + child: Container( + padding: const EdgeInsets.only(top: 5, bottom: 5), + decoration: BoxDecoration( + border: Border( + top: BorderSide(width: 2, color: Theme.of(context).disabledColor) + ) + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.center, + + children: [ + IconButton( + onPressed: () => timetable.switchWeek(previous: true), + icon: const Icon(Icons.navigate_before_sharp), + color: Theme.of(context).primaryColor, + iconSize: 30, + ), + Row( + children: [ + IconButton( + onPressed: () => timetable.nearest(), + icon: const Icon(Icons.home), + color: Theme.of(context).primaryColor, + iconSize: 30, + ), + ], + ), + IconButton( + onPressed: () => timetable.switchWeek(), + icon: const Icon(Icons.navigate_next_sharp), + color: Theme.of(context).primaryColor, + iconSize: 30, + ) + ], + ), ), ) ],