blob: ee0cd42d44b96e407a1d750ffceeead80494f689 [file] [log] [blame]
Alexandre Lisionc1f96662016-03-23 17:24:19 -04001/*
2 * Copyright (C) 2016 Savoir-faire Linux Inc.
3 * Author: Alexandre Lision <alexandre.lision@savoirfairelinux.com>
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 3 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18 */
19
20#import <Cocoa/Cocoa.h>
21
Loïc Siret31d5cc02016-09-08 14:38:24 -040022#import <QtCore/qdir.h>
23
24#import "LoadingWCDelegate.h"
25#import "AbstractLoadingWC.h"
26
Alexandre Lision886cde12016-10-25 17:39:49 -040027@protocol BackupAccountDelegate <LoadingWCDelegate>
Alexandre Lisionc1f96662016-03-23 17:24:19 -040028
29@optional
30
Loïc Siret31d5cc02016-09-08 14:38:24 -040031-(void) didCompleteExportWithPath:(NSURL*) path;
Alexandre Lisionc1f96662016-03-23 17:24:19 -040032
33@end
34
Alexandre Lision886cde12016-10-25 17:39:49 -040035@interface BackupAccountWC : AbstractLoadingWC
Alexandre Lisionc1f96662016-03-23 17:24:19 -040036
Alexandre Lision886cde12016-10-25 17:39:49 -040037- (id)initWithDelegate:(id <LoadingWCDelegate>) del;
Alexandre Lisionc1f96662016-03-23 17:24:19 -040038
Loïc Siret31d5cc02016-09-08 14:38:24 -040039/**
40 * Allow the NSPathControl of this window to select files or not
Alexandre Lisionc1f96662016-03-23 17:24:19 -040041 */
Loïc Siret31d5cc02016-09-08 14:38:24 -040042@property (nonatomic) BOOL allowFileSelection;
Alexandre Lisionc1f96662016-03-23 17:24:19 -040043
44/**
45 * password string contained in passwordField.
46 * This is a KVO method to bind the text with the OK Button
47 * if password.length is > 0, button is enabled, otherwise disabled
48 */
49@property (retain) NSString* password;
50
51/**
Loïc Siret31d5cc02016-09-08 14:38:24 -040052 * Object uses to store account to exports
Alexandre Lisionc1f96662016-03-23 17:24:19 -040053 */
Loïc Siret31d5cc02016-09-08 14:38:24 -040054@property (assign) QStringList accounts;
Alexandre Lisionc1f96662016-03-23 17:24:19 -040055
Alexandre Lision886cde12016-10-25 17:39:49 -040056/**
57 * passwordConfirmation string contained in passwordConfirmationField.
58 */
59@property (retain) NSString* passwordConfirmation;
60
61/**
62 * computed properties calculated by password string contained in
63 * passwordField and passwordCOnfirmation string contained
64 * inpasswordConfirmationField
65 * This is a KVO method to bind the text with the OK Button
66 * if password.length is > 0 AND passwordConfirmation.length > 0
67 * AND password isEqualsToString passwordCOnfirmationbutton is enabled,
68 * otherwise disabled
69 */
70@property (readonly) BOOL validatePasswords;
71
Alexandre Lisionc1f96662016-03-23 17:24:19 -040072@end