Diffstat (limited to 'core/pim/datebook/datebooksettings.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | core/pim/datebook/datebooksettings.cpp | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/core/pim/datebook/datebooksettings.cpp b/core/pim/datebook/datebooksettings.cpp index 861e266..561dc38 100644 --- a/core/pim/datebook/datebooksettings.cpp +++ b/core/pim/datebook/datebooksettings.cpp @@ -19,19 +19,24 @@ **********************************************************************/ #include "datebooksettings.h" #include <opie2/opluginloader.h> #include <opie2/odebug.h> +#include <opie2/oholidaypluginif.h> +#include <opie2/oholidayplugin.h> +#include <opie2/oholidayplugincfgwidget.h> #include <qpe/qpeapplication.h> #include <qspinbox.h> #include <qcheckbox.h> #include <qlistview.h> #include <qheader.h> +#include <qtabwidget.h> +#include <qlayout.h> DateBookSettings::DateBookSettings( bool whichClock, QWidget *parent, const char *name, bool modal, WFlags fl ) : DateBookSettingsBase( parent, name, modal, fl ), ampm( whichClock ) { @@ -87,12 +92,35 @@ void DateBookSettings::setPluginList(Opie::Core::OPluginManager*aManager,Opie::C Opie::Core::OPluginItem::List inLst = m_loader->allAvailable(true); QCheckListItem *pitem = 0; for ( Opie::Core::OPluginItem::List::Iterator it = inLst.begin(); it != inLst.end(); ++it ) { pitem = new QCheckListItem(m_PluginListView,(*it).name(),QCheckListItem::CheckBox); pitem->setOn( (*it).isEnabled() ); + + Opie::Datebook::HolidayPluginIf*hif = m_loader->load<Opie::Datebook::HolidayPluginIf>(*it,IID_HOLIDAY_PLUGIN); + if (!hif) continue; + Opie::Datebook::HolidayPlugin*pl = hif->plugin(); + if (!pl) continue; + Opie::Datebook::HolidayPluginConfigWidget*cfg = pl->configWidget(); + if (!cfg) continue; + QWidget * dtab = new QWidget(TabWidget,pl->description()); + QVBoxLayout*dlayout = new QVBoxLayout(dtab); + dlayout->setMargin(2); + dlayout->setSpacing(2); + cfg->reparent(dtab,0,QPoint(0,0)); + dlayout->addWidget(cfg); + TabWidget->insertTab(dtab,pl->description()); + + m_cfgWidgets.append(cfg); + } +} +void DateBookSettings::savePlugins() +{ + QValueList<Opie::Datebook::HolidayPluginConfigWidget*>::Iterator it; + for (it=m_cfgWidgets.begin();it!=m_cfgWidgets.end();++it) { + (*it)->saveConfig(); } } void DateBookSettings::pluginItemClicked(QListViewItem *aItem) { if (!aItem||!m_manager||!m_loader) return; |