-KDE-Plugin: Updated API, plugin works fine again
-KDE-Plugin: added KDE icon loader to load KDE's currunt icon theme (incomplete) -reverted change in the group combobox in the editentrydialog git-svn-id: https://svn.code.sf.net/p/keepassx/code/trunk@141 b624d157-de02-0410-bad0-e51aec6abb33
This commit is contained in:
@@ -17,27 +17,74 @@
|
||||
* Free Software Foundation, Inc., *
|
||||
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
|
||||
***************************************************************************/
|
||||
|
||||
#include <kapplication.h>
|
||||
#include <kfiledialog.h>
|
||||
#include <kcmdlineargs.h>
|
||||
#include <kiconloader.h>
|
||||
#include <QPixmap>
|
||||
#include <QHash>
|
||||
#include "keepassx-kde.h"
|
||||
|
||||
QHash<QString,QString>IconMap;
|
||||
|
||||
Q_EXPORT_PLUGIN2(keepassx_kde, KdePlugin)
|
||||
|
||||
QString KdePlugin::openExistingFileDialog(QWidget* parent,QString title,QString dir,QStringList Filters){
|
||||
|
||||
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
|
||||
IconMap["generator"]="roll";
|
||||
IconMap["groupsearch"]="file-find";
|
||||
IconMap["help"]="help-contents";
|
||||
IconMap["key"]="password";
|
||||
IconMap["manual"]="help-contents";
|
||||
}
|
||||
|
||||
QString KdePlugin::openExistingFileDialog(QWidget* parent,QString title,QString dir,QStringList Filters,int SelectedFilter){
|
||||
return KFileDialog::getOpenFileName();
|
||||
|
||||
}
|
||||
|
||||
|
||||
QStringList KdePlugin::openExistingFilesDialog(QWidget* parent,QString title,QString dir,QStringList Filters){
|
||||
QStringList KdePlugin::openExistingFilesDialog(QWidget* parent,QString title,QString dir,QStringList Filters,int SelectedFilter){
|
||||
return QStringList();
|
||||
}
|
||||
|
||||
QString KdePlugin::saveFileDialog(QWidget* parent,QString title,QString dir,QStringList Filters,bool OverWriteWarn){return QString();}
|
||||
QString KdePlugin::saveFileDialog(QWidget* parent,QString title,QString dir,QStringList Filters,int SelectedFilter,bool OverWriteWarn){return QString();}
|
||||
|
||||
QApplication* KdePlugin::getMainAppObject(int argc, char** argv){
|
||||
KCmdLineArgs::init(argc,argv,"keepassx","KeePassX","Cross Platform Password Manager","0.2.3");
|
||||
createIconMap();
|
||||
return dynamic_cast<QApplication*>( new KApplication() );
|
||||
}
|
||||
|
||||
|
||||
QIcon KdePlugin::getIcon(const QString& name){
|
||||
KIconLoader loader;
|
||||
QPixmap pxm=loader.loadIcon(IconMap.value(name),K3Icon::Desktop);
|
||||
QIcon icon(pxm);
|
||||
return icon;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -20,21 +20,26 @@
|
||||
|
||||
#include <QtPlugin>
|
||||
#include <QObject>
|
||||
#include <QIcon>
|
||||
#include "../interfaces/IFileDialog.h"
|
||||
#include "../interfaces/IKdeInit.h"
|
||||
#include "../interfaces/IIconTheme.h"
|
||||
|
||||
|
||||
class KdePlugin:public QObject,public IFileDialog,public IKdeInit{
|
||||
class KdePlugin:public QObject,public IFileDialog,public IKdeInit,public IIconTheme{
|
||||
Q_OBJECT
|
||||
Q_INTERFACES(IFileDialog)
|
||||
Q_INTERFACES(IKdeInit)
|
||||
Q_INTERFACES(IIconTheme)
|
||||
public:
|
||||
virtual QString openExistingFileDialog(QWidget* parent,QString title,QString dir,
|
||||
QStringList Filters);
|
||||
QStringList Filters, int SelectedFilter);
|
||||
virtual QStringList openExistingFilesDialog(QWidget* parent,QString title,QString dir,
|
||||
QStringList Filters);
|
||||
QStringList Filters, int SelectedFilter);
|
||||
virtual QString saveFileDialog(QWidget* parent,QString title,QString dir,
|
||||
QStringList Filters,bool ShowOverwriteWarning=true);
|
||||
QStringList Filters, int SelectedFilter, bool ShowOverwriteWarning=true);
|
||||
virtual int getLastFilter(){return 0;}
|
||||
virtual QApplication* getMainAppObject(int argc, char** argv);
|
||||
virtual QIcon getIcon(const QString& name);
|
||||
|
||||
};
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
|
||||
INCLUDEPATH += /opt/kde4/include
|
||||
INCLUDEPATH += /usr/lib/kde4/include
|
||||
TEMPLATE = lib
|
||||
CONFIG += plugin release
|
||||
HEADERS += keepassx-kde.h
|
||||
SOURCES += keepassx-kde.cpp
|
||||
MOC_DIR = build/moc
|
||||
OBJECTS_DIR = build/
|
||||
LIBS+=-L/opt/kde4/lib -lkio -lkdecore
|
||||
MOC_DIR = ../../../build/moc
|
||||
OBJECTS_DIR = ../../../build
|
||||
TARGET = ../../../lib/keepassx-kde
|
||||
LIBS+=-L/usr/lib/kde4/lib -lkio -lkdecore
|
||||
|
||||
Reference in New Issue
Block a user