Krita Source Code Documentation
Loading...
Searching...
No Matches
KDcrawIface::RFileSelector Class Reference

#include <rwidgetutils.h>

+ Inheritance diagram for KDcrawIface::RFileSelector:

Signals

void signalOpenFileDialog ()
 
void signalUrlSelected (const QUrl &)
 

Public Member Functions

QLineEdit * lineEdit () const
 
 Private ()
 
 RFileSelector (QWidget *const parent=0)
 
void setFileDlgFilter (const QString &filter)
 
void setFileDlgMode (QFileDialog::FileMode mode)
 
void setFileDlgOptions (QFileDialog::Options opts)
 
void setFileDlgTitle (const QString &title)
 
 ~RFileSelector () override
 
- Public Member Functions inherited from KDcrawIface::RHBox
QSize minimumSizeHint () const override
 
 RHBox (QWidget *const parent=0)
 
void setMargin (int margin)
 
void setSpacing (int space)
 
void setStretchFactor (QWidget *const widget, int stretch)
 
QSize sizeHint () const override
 
 ~RHBox () override
 

Public Attributes

QPushButton * btn
 
QLineEdit * edit
 
QString fdFilter
 
QFileDialog::FileMode fdMode
 
QFileDialog::Options fdOptions
 
QString fdTitle
 

Private Slots

void slotBtnClicked ()
 

Private Attributes

Private *const d
 
- Private Attributes inherited from Private
KisCanvas2canvas
 
int displayedFrame
 
int intendedFrame
 

Additional Inherited Members

- Protected Member Functions inherited from KDcrawIface::RHBox
void childEvent (QChildEvent *e) override
 
 RHBox (bool vertical, QWidget *const parent)
 
- Private Member Functions inherited from Private
 Private (KisCanvas2 *c)
 

Detailed Description

A widget to chosse a single local file or path. Use line edit and file dialog properties to customize operation modes.

Definition at line 336 of file rwidgetutils.cpp.

Constructor & Destructor Documentation

◆ RFileSelector()

KDcrawIface::RFileSelector::RFileSelector ( QWidget *const parent = 0)
explicit

Definition at line 357 of file rwidgetutils.cpp.

358 : RHBox(parent),
359 d(new Private)
360{
361 d->edit = new QLineEdit(this);
362 d->btn = new QPushButton(i18n("Browse..."), this);
363 setStretchFactor(d->edit, 10);
364
365 connect(d->btn, SIGNAL(clicked()),
366 this, SLOT(slotBtnClicked()));
367}
connect(this, SIGNAL(optionsChanged()), this, SLOT(saveOptions()))
void setStretchFactor(QWidget *const widget, int stretch)
RHBox(QWidget *const parent=0)

References connect(), d, KDcrawIface::RHBox::setStretchFactor(), and slotBtnClicked().

◆ ~RFileSelector()

KDcrawIface::RFileSelector::~RFileSelector ( )
override

Definition at line 369 of file rwidgetutils.cpp.

370{
371 delete d;
372}

References d.

Member Function Documentation

◆ lineEdit()

QLineEdit * KDcrawIface::RFileSelector::lineEdit ( ) const

Definition at line 374 of file rwidgetutils.cpp.

375{
376 return d->edit;
377}

References d.

◆ Private()

KDcrawIface::RFileSelector::Private ( )
inline

Definition at line 340 of file rwidgetutils.cpp.

341 {
342 edit = 0;
343 btn = 0;
344 fdMode = QFileDialog::ExistingFile;
345 fdOptions = QFileDialog::DontUseNativeDialog;
346 }
QFileDialog::Options fdOptions
QFileDialog::FileMode fdMode

◆ setFileDlgFilter()

void KDcrawIface::RFileSelector::setFileDlgFilter ( const QString & filter)

Definition at line 384 of file rwidgetutils.cpp.

385{
386 d->fdFilter = filter;
387}

References d.

◆ setFileDlgMode()

void KDcrawIface::RFileSelector::setFileDlgMode ( QFileDialog::FileMode mode)

Definition at line 379 of file rwidgetutils.cpp.

380{
381 d->fdMode = mode;
382}

References d.

◆ setFileDlgOptions()

void KDcrawIface::RFileSelector::setFileDlgOptions ( QFileDialog::Options opts)

Definition at line 394 of file rwidgetutils.cpp.

395{
396 d->fdOptions = opts;
397}

References d.

◆ setFileDlgTitle()

void KDcrawIface::RFileSelector::setFileDlgTitle ( const QString & title)

Definition at line 389 of file rwidgetutils.cpp.

390{
391 d->fdTitle = title;
392}

References d.

◆ signalOpenFileDialog

void KDcrawIface::RFileSelector::signalOpenFileDialog ( )
signal

◆ signalUrlSelected

void KDcrawIface::RFileSelector::signalUrlSelected ( const QUrl & )
signal

◆ slotBtnClicked

void KDcrawIface::RFileSelector::slotBtnClicked ( )
privateslot

Definition at line 399 of file rwidgetutils.cpp.

400{
401 if (d->fdMode == QFileDialog::ExistingFiles)
402 {
403 qCDebug(LIBKDCRAW_LOG) << "Multiple selection is not supported";
404 return;
405 }
406
407 QFileDialog* const fileDlg = new QFileDialog(this);
408 fileDlg->setOptions(d->fdOptions);
409 fileDlg->setDirectory(QFileInfo(d->edit->text()).dir());
410 fileDlg->setFileMode(d->fdMode);
411
412 if (!d->fdFilter.isNull())
413 fileDlg->setNameFilter(d->fdFilter);
414
415 if (!d->fdTitle.isNull())
416 fileDlg->setWindowTitle(d->fdTitle);
417
418 connect(fileDlg, SIGNAL(urlSelected(QUrl)),
419 this, SIGNAL(signalUrlSelected(QUrl)));
420
421 Q_EMIT signalOpenFileDialog();
422
423 if (fileDlg->exec() == QDialog::Accepted)
424 {
425 QStringList sel = fileDlg->selectedFiles();
426
427 if (!sel.isEmpty())
428 {
429 d->edit->setText(sel.first());
430 }
431 }
432
433 delete fileDlg;
434}
void signalUrlSelected(const QUrl &)

References connect(), d, signalOpenFileDialog(), and signalUrlSelected().

Member Data Documentation

◆ btn

QPushButton* KDcrawIface::RFileSelector::btn

Definition at line 349 of file rwidgetutils.cpp.

◆ d

Private* const KDcrawIface::RFileSelector::d
private

Definition at line 195 of file rwidgetutils.h.

◆ edit

QLineEdit* KDcrawIface::RFileSelector::edit

Definition at line 348 of file rwidgetutils.cpp.

◆ fdFilter

QString KDcrawIface::RFileSelector::fdFilter

Definition at line 352 of file rwidgetutils.cpp.

◆ fdMode

QFileDialog::FileMode KDcrawIface::RFileSelector::fdMode

Definition at line 351 of file rwidgetutils.cpp.

◆ fdOptions

QFileDialog::Options KDcrawIface::RFileSelector::fdOptions

Definition at line 354 of file rwidgetutils.cpp.

◆ fdTitle

QString KDcrawIface::RFileSelector::fdTitle

Definition at line 353 of file rwidgetutils.cpp.


The documentation for this class was generated from the following files: