kexi
kexidbdrivercombobox.cpp00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #include "kexidbdrivercombobox.h"
00021
00022 #include <qlistbox.h>
00023
00024 #include <kiconloader.h>
00025
00026 KexiDBDriverComboBox::KexiDBDriverComboBox(const KexiDB::Driver::InfoMap& driversInfo,
00027 bool includeFileBasedDrivers, QWidget* parent, const char* name)
00028 : KComboBox(parent, name)
00029 {
00030 foreach(KexiDB::Driver::InfoMap::ConstIterator, it, driversInfo) {
00031 if (!includeFileBasedDrivers && it.data().fileBased)
00032 continue;
00034 insertItem( SmallIcon("gear"), it.data().caption );
00035 m_driversMap.insert(it.data().caption, it.data().name.lower());
00036 }
00037 if (listBox())
00038 listBox()->sort();
00039
00040
00041 for (int i=0; i<count(); i++)
00042 m_driverNames += m_driversMap[ text(i) ];
00043 }
00044
00045 KexiDBDriverComboBox::~KexiDBDriverComboBox()
00046 {
00047 }
00048
00049 QString KexiDBDriverComboBox::selectedDriverName() const
00050 {
00051 QMapConstIterator<QString,QString> it( m_driversMap.find( text( currentItem() ) ) );
00052 if (it==m_driversMap.constEnd())
00053 return QString::null;
00054 return it.data();
00055 }
00056
00057 void KexiDBDriverComboBox::setDriverName(const QString& driverName)
00058 {
00059 int index = m_driverNames.findIndex( driverName.lower() );
00060 if (index==-1) {
00061 return;
00062 }
00063 setCurrentItem(index);
00064 }
00065
00066 #include "kexidbdrivercombobox.moc"
|