1 /* Copyright (C) 2003-2006 Jesper K. Pedersen <blackie@kde.org>
3 This program is free software; you can redistribute it and/or
4 modify it under the terms of the GNU General Public
5 License as published by the Free Software Foundation; either
6 version 2 of the License, or (at your option) any later version.
8 This program is distributed in the hope that it will be useful,
9 but WITHOUT ANY WARRANTY; without even the implied warranty of
10 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 General Public License for more details.
13 You should have received a copy of the GNU General Public License
14 along with this program; see the file COPYING. If not, write to
15 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
16 Boston, MA 02110-1301, USA.
19 #ifndef EXTERNALPOPUP_H
20 #define EXTERNALPOPUP_H
23 #include "DB/ImageInfoList.h"
24 #include <Utilities/Set.h>
35 using Utilities::StringSet
;
37 typedef QSet
< QPair
<QString
,QString
> > OfferType
;
39 class ExternalPopup
:public QMenu
{
43 ExternalPopup( QWidget
* parent
);
44 void populate( DB::ImageInfoPtr current
, const QStringList
& list
);
47 void slotExecuteService( QAction
* );
50 QString
mimeType( const QString
& file
);
51 StringSet
mimeTypes( const QStringList
& files
);
52 OfferType
appInfos( const QStringList
& files
);
56 DB::ImageInfoPtr _currentInfo
;
57 QMap
<QString
,StringSet
> _appToMimeTypeMap
;
62 bool operator<( const QPair
<QString
,QPixmap
>& a
, const QPair
<QString
,QPixmap
>& b
);
64 #endif /* EXTERNALPOPUP_H */