20 #include "collectionrequester.h"
21 #include "collectiondialog.h"
22 #include "entitydisplayattribute.h"
24 #include <klineedit.h>
25 #include <klocalizedstring.h>
26 #include <kpushbutton.h>
28 #include <kstandardshortcut.h>
30 #include <QtCore/QEvent>
32 #include <QApplication>
34 using namespace Akonadi;
36 class CollectionRequester::Private
54 void _k_slotOpenDialog();
64 void CollectionRequester::Private::init()
68 edit =
new KLineEdit( q );
69 edit->setReadOnly(
true );
70 edit->setClickMessage( i18n(
"No Folder" ) );
71 edit->setClearButtonShown(
false );
72 edit->setFocusPolicy( Qt::NoFocus );
74 button =
new KPushButton( q );
75 button->setIcon( KIcon( QLatin1String(
"document-open" ) ) );
76 const int buttonSize = edit->sizeHint().height();
77 button->setFixedSize( buttonSize, buttonSize );
78 button->setToolTip( i18n(
"Open collection dialog" ) );
82 edit->installEventFilter( q );
83 q->setFocusProxy( button );
84 q->setFocusPolicy( Qt::StrongFocus );
86 q->connect( button, SIGNAL(clicked()), q, SLOT(_k_slotOpenDialog()) );
88 QAction *openAction =
new QAction( q );
89 openAction->setShortcut( KStandardShortcut::Open );
90 q->connect( openAction, SIGNAL(triggered(
bool)), q, SLOT(_k_slotOpenDialog()) );
93 collectionDialog->setWindowIcon( KIcon( QLatin1String(
"akonadi" ) ) );
94 collectionDialog->setCaption( i18n(
"Select a collection" ) );
95 collectionDialog->setSelectionMode( QAbstractItemView::SingleSelection );
98 void CollectionRequester::Private::_k_slotOpenDialog()
102 if ( dlg->exec() != QDialog::Accepted ) {
107 q->setCollection( collection );
108 emit q->collectionChanged( collection );
113 d( new Private( this ) )
121 d( new Private( this ) )
136 return d->collection;
148 d->edit->setText( name );
154 if ( d->collectionDialog ) {
155 d->collectionDialog->setMimeTypeFilter( mimeTypes );
161 if ( d->collectionDialog ) {
162 return d->collectionDialog->mimeTypeFilter();
164 return QStringList();
170 if ( d->collectionDialog ) {
171 d->collectionDialog->setAccessRightsFilter( rights );
177 if ( d->collectionDialog ) {
178 return d->collectionDialog->accessRightsFilter();
186 if ( d->collectionDialog ) {
187 d->collectionDialog->changeCollectionDialogOptions( options );
191 #include "moc_collectionrequester.cpp"