blob: 0f13a3a3d08a04b7b799db79f348f1d500cba6c1 [file] [log] [blame]
Alexandre Lision4dfcafc2015-08-20 12:43:23 -04001/*
Alexandre Lision9fe374b2016-01-06 10:17:31 -05002 * Copyright (C) 2015-2016 Savoir-faire Linux Inc.
Alexandre Lision4dfcafc2015-08-20 12:43:23 -04003 * 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
Olivier Soldanod4311552017-11-20 15:09:53 -050022namespace lrc {
23 namespace api {
24 class ConversationModel;
Anthony Léonard9bebf1d2017-12-21 14:33:51 -050025
26 namespace conversation {
27 struct Info;
28 }
Olivier Soldanod4311552017-11-20 15:09:53 -050029 }
30}
31
Alexandre Lisionbf0385e2015-10-22 17:36:28 -040032@interface SmartViewVC : NSViewController <NSTextFieldDelegate>
Alexandre Lision4dfcafc2015-08-20 12:43:23 -040033
Kateryna Kostiuk882cbac2017-07-05 17:29:00 -040034@property (unsafe_unretained) IBOutlet NSTabView* tabbar;
35
Anthony Léonard9bebf1d2017-12-21 14:33:51 -050036- (BOOL)setConversationModel:(lrc::api::ConversationModel *)conversationModel;
Olivier Soldanod4311552017-11-20 15:09:53 -050037
Kateryna Kostiuk882cbac2017-07-05 17:29:00 -040038- (void)startCallForRow:(id)sender;
39
Anthony Léonard9bebf1d2017-12-21 14:33:51 -050040/**
41 * This method is meant to be used by RingWindowController to set selected conversation in case
42 * a selection is triggered not by user but by LRC signal. If conversation is already selected, this method
43 * returns immediatly without changing any state.
44 * @param conv selected conversation
45 * @param model model responsible for conversation
46 */
47-(void)selectConversation:(const lrc::api::conversation::Info&)conv model:(lrc::api::ConversationModel*)model;
48
Anthony Léonard8585cc02017-12-28 14:03:45 -050049/**
50 * Deselect any selected conversation
51 */
52-(void)deselect;
53
Anthony Léonard0a9904c2018-01-11 16:43:47 -050054/**
55 * Change list selection to Conversation
56 */
57-(void)selectConversationList;
58
Anthony Léonardd00cd182018-01-17 09:21:27 -050059/**
60 * Change list selection to Pending
61 */
62-(void)selectPendingList;
63
Alexandre Lision4dfcafc2015-08-20 12:43:23 -040064@end