/*************************************************************************** * Copyright (C) 2005-2007 by Tarek Saidi * * tarek.saidi@arcor.de * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; version 2 of the License. * * * * This program 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 General Public License for more details. * * * * You should have received a copy of the GNU General Public License * * along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include #include #include #include #include #include #include #include #include #include #include "keepassx-kde.h" #define CSTR(x)(x.toUtf8().data()) QHashIconMap; int LastFilter; Q_EXPORT_PLUGIN2(keepassx_kde, KdePlugin) void createIconMap(){ IconMap["alarmclock"]="alarmclock"; IconMap["appsettings"]="configure"; IconMap["autotype"]="input-keyboard"; IconMap["clock"]="chronometer"; IconMap["clonenetry"]="edit-copy"; IconMap["copypwd"]="kgpg-export-kgpg"; IconMap["copyusername"]="user"; IconMap["dbsearch"]="edit-find"; IconMap["dbsettings"]="configure"; IconMap["delete"]="edit-delete"; IconMap["delete-entry"]="edit-delete"; IconMap["delete-group"]="edit-delete"; IconMap["editentry"]="edit"; IconMap["editgroup"]="edit"; IconMap["exit"]="application-exit"; IconMap["expired"]="flag-red"; IconMap["fileclose"]="dialog-close"; IconMap["filedelete"]="edit-delete"; IconMap["filenew"]="document-new"; IconMap["fileopen"]="document-open"; IconMap["filesave"]="document-save"; IconMap["filesaveas"]="document-save-as"; IconMap["filesaveasdisabled"]="document-save-as"; ///FIXME needs to be grayed to reflect it's status IconMap["generator"]="roll"; IconMap["groupsearch"]="file-find"; IconMap["help"]="help-contents"; IconMap["key"]="password"; IconMap["manual"]="help-contents"; IconMap["newentry"]="kgpg-key3-kpgp"; IconMap["newgroup"]="folder"; IconMap["ok"]="ok"; IconMap["openurl"]="network"; IconMap["search"]="edit-find"; } QString convertFilters(const QStringList& qtfilters){ /* Qt Filter Syntax: StringList: "DescrA (*.ext1 *.ext2 *.ext3)", "DescrB (*.ext4)" KDE Filter Syntax: Single String: "*.ext1 *.ext2 *.ext3|DescrA\n*ext4|DescrB" */ QString kdefilters; for(int i=0;isetCurrentFilter(convertFilters(QStringList()<setCurrentFilter(convertFilters(QStringList()<setCurrentFilter(convertFilters(QStringList()<( new KpKApplication() ); #else return dynamic_cast( new KApplication() ); #endif } QIcon KdePlugin::getIcon(const QString& name){ KIconLoader loader; QPixmap pxm=loader.loadIcon(IconMap.value(name),KIconLoader::Desktop,0,KIconLoader::DefaultState,QStringList(),NULL,true); if(pxm.isNull())return QIcon(); QIcon icon(pxm); return icon; }