2 Copyright (C) 2008 Michael Jansen <kde@michael-jansen.biz>
4 This library is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Library General Public
6 License as published by the Free Software Foundation; either
7 version 2 of the License, or (at your option) any later version.
9 This library is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 Library General Public License for more details.
14 You should have received a copy of the GNU Library General Public License
15 along with this library; see the file COPYING.LIB. If not, write to
16 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17 Boston, MA 02110-1301, USA.
20 #include "hotkeys_proxy_model.h"
21 #include "hotkeys_model.h"
24 struct KHotkeysProxyModelPrivate
26 KHotkeysProxyModelPrivate( KHotkeysProxyModel
*host
);
29 KHotkeysProxyModel
*q
;
31 }; // class KHotkeysProxyModelPrivate
34 KHotkeysProxyModelPrivate::KHotkeysProxyModelPrivate( KHotkeysProxyModel
*host
)
40 KHotkeysProxyModel::KHotkeysProxyModel( QObject
*parent
)
41 : QSortFilterProxyModel(parent
)
42 ,d( new KHotkeysProxyModelPrivate(this) )
46 KHotkeysProxyModel::~KHotkeysProxyModel()
52 bool KHotkeysProxyModel::filterAcceptsRow( int source_row
, const QModelIndex
&source_parent
) const
54 // Check what type it is
55 QModelIndex isGroupIndex
= sourceModel()->index( source_row
, 2, source_parent
);
56 QModelIndex typeOfIndex
= sourceModel()->index( source_row
, 3, source_parent
);
59 /* return sourceModel()->data( isGroupIndex ).toBool()
60 || sourceModel()->data( typeOfIndex ) == KHotkeysModel::CommandUrlShortcutActionData; */
64 // Convert index to ActionDataBase
65 KHotKeys::ActionDataBase
*KHotkeysProxyModel::indexToActionDataBase( const QModelIndex
&index
) const
67 return sourceModel()->indexToActionDataBase( mapToSource(index
) );
71 // Convert index to ActionDataGroup
72 KHotKeys::ActionDataGroup
*KHotkeysProxyModel::indexToActionDataGroup( const QModelIndex
&index
) const
74 return sourceModel()->indexToActionDataGroup( mapToSource(index
) );
78 // Return the source model
79 KHotkeysModel
*KHotkeysProxyModel::sourceModel() const
81 return static_cast<KHotkeysModel
*>( QSortFilterProxyModel::sourceModel() );
85 #include "moc_hotkeys_proxy_model.cpp"