• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • krita API Reference
  • KDE Home
  • Contact Us
 

KritaWidgets

  • sources
  • kfour-appscomplete
  • krita
  • libs
  • widgets
kis_file_name_requester.cpp
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: 2015 Dmitry Kazakov <[email protected]>
3  *
4  * SPDX-License-Identifier: GPL-2.0-or-later
5  */
6 
7 #include "kis_file_name_requester.h"
8 #include "ui_wdg_file_name_requester.h"
9 
10 #include <QStandardPaths>
11 #include <QDebug>
12 
13 #include "KoIcon.h"
14 #include <KisFileUtils.h>
15 
16 KisFileNameRequester::KisFileNameRequester(QWidget *parent)
17  : QWidget(parent)
18  , m_ui(new Ui::WdgFileNameRequester)
19  , m_mode(KoFileDialog::OpenFile)
20  , m_name("OpenDocument")
21 {
22  m_ui->setupUi(this);
23 
24  m_ui->btnSelectFile->setIcon(kisIcon("folder"));
25 
26  connect(m_ui->btnSelectFile, SIGNAL(clicked()), SLOT(slotSelectFile()));
27  connect(m_ui->txtFileName, SIGNAL(textChanged(QString)), SIGNAL(textChanged(QString)));
28 }
29 
30 KisFileNameRequester::~KisFileNameRequester()
31 {
32 }
33 
34 void KisFileNameRequester::setStartDir(const QString &path)
35 {
36  m_basePath = path;
37 }
38 
39 void KisFileNameRequester::setConfigurationName(const QString &name)
40 {
41  m_name = name;
42 }
43 
44 void KisFileNameRequester::setFileName(const QString &path)
45 {
46  m_ui->txtFileName->setText(path);
47  emit fileSelected(path);
48 }
49 
50 QString KisFileNameRequester::fileName() const
51 {
52  return m_ui->txtFileName->text();
53 }
54 
55 void KisFileNameRequester::setMode(KoFileDialog::DialogType mode)
56 {
57  m_mode = mode;
58 }
59 
60 KoFileDialog::DialogType KisFileNameRequester::mode() const
61 {
62  return m_mode;
63 }
64 
65 void KisFileNameRequester::setMimeTypeFilters(const QStringList &filterList, QString defaultFilter)
66 {
67  m_mime_filter_list = filterList;
68  m_mime_default_filter = defaultFilter;
69 }
70 
71 void KisFileNameRequester::slotSelectFile()
72 {
73  KoFileDialog dialog(this, m_mode, m_name);
74  if (m_mode == KoFileDialog::OpenFile)
75  {
76  dialog.setCaption(i18n("Select a file to load..."));
77  }
78  else if (m_mode == KoFileDialog::OpenDirectory)
79  {
80  dialog.setCaption(i18n("Select a directory to load..."));
81  }
82 
83  const QString basePath =
84  KritaUtils::resolveAbsoluteFilePath(QStandardPaths::writableLocation(QStandardPaths::PicturesLocation),
85  m_basePath);
86 
87  const QString filePath =
88  KritaUtils::resolveAbsoluteFilePath(basePath, m_ui->txtFileName->text());
89 
90  dialog.setDefaultDir(filePath, true);
91  dialog.setMimeTypeFilters(m_mime_filter_list, m_mime_default_filter);
92 
93  QString newFileName = dialog.filename();
94 
95  if (!newFileName.isEmpty()) {
96  setFileName(newFileName);
97  }
98 }
KisFileNameRequester::slotSelectFile
void slotSelectFile()
Definition: kis_file_name_requester.cpp:71
KisFileNameRequester::mode
KoFileDialog::DialogType mode() const
Definition: kis_file_name_requester.cpp:60
KisFileNameRequester::setMode
void setMode(KoFileDialog::DialogType mode)
Definition: kis_file_name_requester.cpp:55
QWidget
kis_file_name_requester.h
QObject::connect
bool connect(const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
KisFileNameRequester::KisFileNameRequester
KisFileNameRequester(QWidget *parent=0)
Definition: kis_file_name_requester.cpp:16
KisFileNameRequester::fileName
QString fileName() const
Definition: kis_file_name_requester.cpp:50
KisFileNameRequester::setStartDir
void setStartDir(const QString &path)
Definition: kis_file_name_requester.cpp:34
QString
Ui
Definition: kis_file_name_requester.h:18
QString::isEmpty
bool isEmpty() const
KisFileNameRequester::~KisFileNameRequester
~KisFileNameRequester() override
Definition: kis_file_name_requester.cpp:30
KisFileNameRequester::setMimeTypeFilters
void setMimeTypeFilters(const QStringList &filterList, QString defaultFilter=QString())
Sets the mime type filters to use, same format as KoFileDialog::setMimeTypeFilters.
Definition: kis_file_name_requester.cpp:65
KisFileNameRequester::setConfigurationName
void setConfigurationName(const QString &name)
Set the name used to store the last-used directory in the settings.
Definition: kis_file_name_requester.cpp:39
QObject::name
const char * name() const
KisFileNameRequester::setFileName
void setFileName(const QString &path)
Definition: kis_file_name_requester.cpp:44
KisFileNameRequester::textChanged
void textChanged(const QString &fileName)
KisFileNameRequester::fileSelected
void fileSelected(const QString &fileName)
QStringList
This file is part of the KDE documentation.
Documentation copyright © 1996-2021 The KDE developers.
Generated on Sat Jan 23 2021 11:48:22 by doxygen 1.8.16 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

KritaWidgets

Skip menu "KritaWidgets"
  • Main Page
  • Namespace List
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

krita API Reference

Skip menu "krita API Reference"
  • libs
  •   KritaBasicFlakes
  •   brush
  •   KritaUndo2
  •   KritaFlake
  •   image
  •   KritaPlugin
  •   Krita
  •   KritaPigment
  •   KritaResources
  •   KritaStore
  •   ui
  •   KritaWidgets
  •   KritaWidgetUtils
  • plugins
  •   Assitants
  •   Extensions
  •   Filters
  •   Generators
  •   Formats
  •           src
  •   PaintOps
  •     libpaintop

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal