blob: 210bb5e71a63ed957da94b3fcc3cddf4c55dfc53 [file] [log] [blame]
Kateryna Kostiuk58276bc2017-06-07 08:50:48 -04001/*
Sébastien Blin029ffa82019-01-02 17:43:48 -05002 * Copyright (C) 2015-2019 Savoir-faire Linux Inc.
Kateryna Kostiuk58276bc2017-06-07 08:50:48 -04003 * Author: Kateryna Kostiuk <kateryna.kostiuk@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>
Anthony Léonard2382b562017-12-13 15:51:28 -050021#import <api/conversationmodel.h>
22#import <api/conversation.h>
Kateryna Kostiukfbe1b2f2019-10-07 17:32:26 -040023#import <api/avmodel.h>
24#import "RecordFileVC.h"
kkostiukc48e73e2021-04-13 09:20:08 -040025#import "views/DraggingDestinationView.h"
Kateryna Kostiuk58276bc2017-06-07 08:50:48 -040026
kkostiukc48e73e2021-04-13 09:20:08 -040027@interface PendingFile: NSObject
28@property (retain) NSString* name;
29@property (retain) NSString* size;
30@property (retain) NSImage* preview;
31@property (retain) NSURL* fileUrl;
32@end
Kateryna Kostiukfbe1b2f2019-10-07 17:32:26 -040033
kkostiukc48e73e2021-04-13 09:20:08 -040034@interface MessagesVC : NSViewController <RecordingViewDelegate, DraggingDestinationDelegate>
Kateryna Kostiuk58276bc2017-06-07 08:50:48 -040035
Kateryna Kostiukc867eb92020-03-08 13:15:17 -040036-(void)setConversationUid:(const QString&)convUid model:(lrc::api::ConversationModel*)model;
Andreas Traczyk252a94a2018-04-20 16:36:20 -040037-(void)clearData;
Anthony Léonard2382b562017-12-13 15:51:28 -050038
Kateryna Kostiuk4f37d952018-12-04 13:19:17 -050039/**
40 * Message contained in messageField TextField.
41 * This is a KVO method to bind the text with the send Button
42 * if message.length is > 0, button is enabled, otherwise disabled
43 */
44@property (retain) NSString* message;
kkostiukc48e73e2021-04-13 09:20:08 -040045/**
46 * This is a KVO method to bind the pending files collection view visibility
47 */
48@property BOOL hideFilesCollection;
49
50/**
51 * This is a KVO method to bind the enable state of send button
52 */
53@property BOOL enableSendButton;
kkostiuk98827a12021-04-06 16:37:23 -040054@property (nonatomic, weak) NSView* containerView;
kkostiukc48e73e2021-04-13 09:20:08 -040055
Kateryna Kostiukfbe1b2f2019-10-07 17:32:26 -040056-(void) setAVModel: (lrc::api::AVModel*) avmodel;
Kateryna Kostiuk10c896b2020-03-24 12:46:17 -040057-(void) checkIfcomposingMsg;
Kateryna Kostiukfbe1b2f2019-10-07 17:32:26 -040058
kkostiukc48e73e2021-04-13 09:20:08 -040059+ (NSMutableDictionary *) pendingFiles;
60
61-(void)callFinished;
62
Kateryna Kostiuk58276bc2017-06-07 08:50:48 -040063@end