blob: 313f6d6d2ea07399e9eaa6a106ec27f87b3ac3e3 [file] [log] [blame]
Stepan Salenikovich9816a942015-04-22 17:49:16 -04001/*
2 * Copyright (C) 2015 Savoir-Faire Linux Inc.
3 * Author: Stepan Salenikovich <stepan.salenikovich@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 * Additional permission under GNU GPL version 3 section 7:
20 *
21 * If you modify this program, or any covered work, by linking or
22 * combining it with the OpenSSL project's OpenSSL library (or a
23 * modified version of that library), containing parts covered by the
24 * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc.
25 * grants you additional permission to convey the resulting work.
26 * Corresponding Source for a non-source form of such a combination
27 * shall include the source code for the parts of OpenSSL used as well
28 * as that of the covered work.
29 */
30
31#include "models.h"
32
33#include <gtk/gtk.h>
34#include "../models/gtkqtreemodel.h"
35#include "../models/gtkqsortfiltertreemodel.h"
36#include <QtCore/QModelIndex>
37
38QModelIndex
39get_index_from_selection(GtkTreeSelection *selection)
40{
41 GtkTreeIter iter;
42 GtkTreeModel *model = NULL;
43
44 if (gtk_tree_selection_get_selected(selection, &model, &iter)) {
45 if (GTK_IS_Q_TREE_MODEL(model))
46 return gtk_q_tree_model_get_source_idx(GTK_Q_TREE_MODEL(model), &iter);
47 else if (GTK_IS_Q_SORT_FILTER_TREE_MODEL(model))
48 return gtk_q_sort_filter_tree_model_get_source_idx(GTK_Q_SORT_FILTER_TREE_MODEL(model), &iter);
49 }
50 return QModelIndex();
51}