00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #include "agenttypedialog.h"
00020 #include "agentfilterproxymodel.h"
00021
00022 #include <QObject>
00023 #include <QtGui/QVBoxLayout>
00024
00025 #include <kdeversion.h>
00026
00027 #include <kfilterproxysearchline.h>
00028
00029 using namespace Akonadi;
00030
00031
00032 class AgentTypeDialog::Private
00033 {
00034 public:
00035 AgentTypeWidget *Widget;
00036 AgentType agentType;
00037 };
00038
00039 AgentTypeDialog::AgentTypeDialog( QWidget *parent )
00040 : KDialog( parent ), d( new Private )
00041 {
00042 setButtons( Ok | Cancel );
00043 QVBoxLayout *layout = new QVBoxLayout( mainWidget() );
00044 layout->setMargin(0);
00045
00046 d->Widget = new Akonadi::AgentTypeWidget( mainWidget() );
00047 connect( d->Widget, SIGNAL( activated() ), this, SLOT( accept() ) );
00048
00049 KFilterProxySearchLine* searchLine = new KFilterProxySearchLine( mainWidget() );
00050 layout->addWidget( searchLine );
00051 searchLine->setProxy( d->Widget->agentFilterProxyModel() );
00052
00053 layout->addWidget( d->Widget );
00054
00055 connect( this, SIGNAL( okClicked() ), this, SLOT( accept() ) );
00056
00057 resize( 460, 320 );
00058 }
00059
00060 AgentTypeDialog::~AgentTypeDialog()
00061 {
00062 delete d;
00063 }
00064
00065 void AgentTypeDialog::done( int result )
00066 {
00067 if ( result == Accepted )
00068 d->agentType = d->Widget->currentAgentType();
00069 else
00070 d->agentType = AgentType();
00071
00072 KDialog::done( result );
00073 }
00074
00075 AgentType AgentTypeDialog::agentType() const
00076 {
00077 return d->agentType;
00078 }
00079
00080 AgentFilterProxyModel* AgentTypeDialog::agentFilterProxyModel() const
00081 {
00082 return d->Widget->agentFilterProxyModel();
00083 }
00084
00085 #include "agenttypedialog.moc"