feat: add upload button.

This commit is contained in:
2021-12-30 21:13:48 +08:00
parent 853132f1a8
commit 317aa006e3
5 changed files with 76 additions and 6 deletions
+29
View File
@@ -1,6 +1,7 @@
import 'package:adaptive_scrollbar/adaptive_scrollbar.dart';
import 'package:dde_gesture_manager/constants/constants.dart';
import 'package:dde_gesture_manager/extensions.dart';
import 'package:dde_gesture_manager/models/configs.provider.dart';
import 'package:dde_gesture_manager/models/content_layout.provider.dart';
import 'package:dde_gesture_manager/models/local_schemes_provider.dart';
import 'package:dde_gesture_manager/models/scheme.dart';
@@ -18,6 +19,7 @@ import 'package:dde_gesture_manager/widgets/table_cell_shortcut_listener.dart';
import 'package:dde_gesture_manager/widgets/table_cell_text_field.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_platform_alert/flutter_platform_alert.dart';
import 'package:uuid/uuid.dart';
const double _headingRowHeight = 56;
@@ -292,6 +294,33 @@ class GestureEditor extends StatelessWidget {
},
),
),
Padding(
padding: const EdgeInsets.only(left: 10),
child: DButton.upload(
enabled: schemeProvider.uploaded == false,
onTap: () async {
if (context.read<ConfigsProvider>().accessToken.isNull) {
return Notificator.showAlert(
title: LocaleKeys.info_login_for_upload_title.tr(),
description: LocaleKeys.info_login_for_upload_description.tr(),
).then((value) {
value.sout();
if (value == CustomButton.positiveButton) {
context
.read<ContentLayoutProvider>()
.setProps(marketOrMeOpened: true, currentIsMarket: false);
}
});
}
Notificator.showConfirm(
title: LocaleKeys.info_upload_and_share_title.tr(),
description: LocaleKeys.info_upload_and_share_description.tr(),
positiveButtonTitle: LocaleKeys.str_share.tr(),
negativeButtonTitle: LocaleKeys.str_cancel.tr(),
);
},
),
),
],
),
Divider(),
+1 -1
View File
@@ -15,7 +15,7 @@ class Notificator {
return AlertImpl().showAlert(
windowTitle: title,
text: description,
positiveButtonTitle: positiveButtonTitle,
positiveButtonTitle: positiveButtonTitle ?? LocaleKeys.str_ok.tr(),
);
}
+17
View File
@@ -124,6 +124,23 @@ class DButton extends StatefulWidget {
message: LocaleKeys.operation_logout.tr(),
));
factory DButton.upload({
Key? key,
required enabled,
GestureTapCallback? onTap,
height = defaultButtonHeight,
width = defaultButtonHeight,
}) =>
DButton(
key: key,
width: width,
height: height,
onTap: enabled ? onTap : null,
child: Tooltip(
child: Opacity(opacity: enabled ? 1 : 0.4, child: const Icon(Icons.cloud_upload, size: 20)),
message: LocaleKeys.operation_upload.tr(),
));
factory DButton.dropdown({
Key? key,
width = 60.0,