/****************************************************************************
 *    Copyright (C) 2017-2020 Savoir-faire Linux Inc.                                  *
 *   Author: Nicolas Jäger <nicolas.jager@savoirfairelinux.com>             *
 *   Author: Sébastien Blin <sebastien.blin@savoirfairelinux.com>           *
 *                                                                          *
 *   This library is free software; you can redistribute it and/or          *
 *   modify it under the terms of the GNU Lesser General Public             *
 *   License as published by the Free Software Foundation; either           *
 *   version 2.1 of the License, or (at your option) any later version.     *
 *                                                                          *
 *   This library is distributed in the hope that it will be useful,        *
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of         *
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU      *
 *   Lesser General Public License for more details.                        *
 *                                                                          *
 *   You should have received a copy of the GNU General Public License      *
 *   along with this program.  If not, see <http://www.gnu.org/licenses/>.  *
 ***************************************************************************/
#pragma once

// GTK+ related
#include <gtk/gtk.h>

// LRC
#include "api/account.h"

#include "accountinfopointer.h"

G_BEGIN_DECLS

#define CONVERSATION_POPUP_MENU_TYPE            (conversation_popup_menu_get_type ())
#define CONVERSATION_POPUP_MENU(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), CONVERSATION_POPUP_MENU_TYPE, ConversationPopupMenu))
#define CONVERSATION_POPUP_MENU_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST((klass), CONVERSATION_POPUP_MENU_TYPE, ConversationPopupMenuClass))
#define IS_CONVERSATION_POPUP_MENU(obj)         (G_TYPE_CHECK_INSTANCE_TYPE((obj), CONVERSATION_POPUP_MENU_TYPE))
#define IS_CONVERSATION_POPUP_MENU_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), CONVERSATION_POPUP_MENU_TYPE))

typedef struct _ConversationPopupMenu      ConversationPopupMenu;
typedef struct _ConversationPopupMenuClass ConversationPopupMenuClass;

GType      conversation_popup_menu_get_type (void) G_GNUC_CONST;
GtkWidget *conversation_popup_menu_new      (GtkTreeView *treeview, AccountInfoPointer const & accountInfo);
gboolean   conversation_popup_menu_show     (ConversationPopupMenu *self, GdkEventButton *event);

G_END_DECLS
