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

umbrello/umbrello

  • sources
  • kde-4.12
  • kdesdk
  • umbrello
  • umbrello
  • dialogs
umlfiledialog.cpp
Go to the documentation of this file.
1 /***************************************************************************
2  * This program is free software; you can redistribute it and/or modify *
3  * it under the terms of the GNU General Public License as published by *
4  * the Free Software Foundation; either version 2 of the License, or *
5  * (at your option) any later version. *
6  * *
7  * copyright (C) 2012-2013 *
8  * Umbrello UML Modeller Authors <umbrello-devel@kde.org> *
9  ***************************************************************************/
10 
11 // own header
12 #include "umlfiledialog.h"
13 #include "umlviewimageexportermodel.h"
14 
15 // kde includes
16 #include <KMimeType>
17 #include <klocalizedstring.h>
18 
19 static QStringList mime2KdeFilter(const QStringList &mimeTypes, QString *allExtensions = 0)
20 {
21  const KUrl emptyUrl;
22  QStringList kdeFilter;
23  QStringList allExt;
24  foreach(const QString& mimeType, mimeTypes) {
25  KMimeType::Ptr mime(KMimeType::mimeType(mimeType));
26  if (mime) {
27  allExt += mime->patterns();
28  kdeFilter.append(mime->patterns().join(QLatin1String(" ")) + QLatin1Char('|') +
29  mime->comment(emptyUrl));
30  }
31  else if (mimeType == "image/x-dot") {
32  allExt += "*.dot";
33  kdeFilter.append(QLatin1String("*.dot|Dot Files"));
34  }
35  }
36  if (allExtensions) {
37  allExt.sort();
38  *allExtensions = allExt.join(QLatin1String(" "));
39  }
40  return kdeFilter;
41 }
42 
43 
44 UMLFileDialog::UMLFileDialog(const KUrl &startDir, const QString &filter, QWidget *parent, QWidget *widget)
45  : m_dialog(new KFileDialog(startDir, filter, parent, widget))
46 {
47 }
48 
49 UMLFileDialog::~UMLFileDialog()
50 {
51  delete m_dialog;
52 }
53 
54 int UMLFileDialog::exec()
55 {
56  return m_dialog->exec();
57 }
58 
59 void UMLFileDialog::setCaption(const QString &caption)
60 {
61  m_dialog->setCaption(caption);
62 }
63 
64 void UMLFileDialog::setOperationMode(KFileDialog::OperationMode mode)
65 {
66  m_dialog->setOperationMode(mode);
67 }
68 
69 void UMLFileDialog::setUrl(const KUrl &url, bool clearforward)
70 {
71  m_dialog->setUrl(url, clearforward);
72 }
73 
74 KUrl UMLFileDialog::selectedUrl()
75 {
76  return m_dialog->selectedUrl();
77 }
78 
79 void UMLFileDialog::setSelection(const QString &name)
80 {
81  m_dialog->setSelection(name);
82 }
83 
84 void UMLFileDialog::setMimeFilter(const QStringList &types, const QString &defaultType)
85 {
86  QString allExtensions;
87  QStringList filters = mime2KdeFilter(types, &allExtensions);
88  if (defaultType.isEmpty() && (types.count() > 1)) {
89  filters.prepend(allExtensions + QLatin1Char('|') + i18n("All Supported Files"));
90  }
91  m_dialog->setFilter(filters.join(QLatin1String("\n")));
92 }
93 
98 QString UMLFileDialog::currentMimeFilter()
99 {
100  KUrl url = m_dialog->selectedUrl();
101  QFileInfo fi(url.toLocalFile());
102  return UMLViewImageExporterModel::imageTypeToMimeType(fi.suffix());
103 }
104 
105 #include "umlfiledialog.moc"
UMLFileDialog::UMLFileDialog
UMLFileDialog(const KUrl &startDir, const QString &filter, QWidget *parent, QWidget *widget=0)
Definition: umlfiledialog.cpp:44
QWidget
mime2KdeFilter
static QStringList mime2KdeFilter(const QStringList &mimeTypes, QString *allExtensions=0)
Definition: umlfiledialog.cpp:19
UMLViewImageExporterModel::imageTypeToMimeType
static QString imageTypeToMimeType(const QString &imageType)
Returns the mime type for an image type.
Definition: umlviewimageexportermodel.cpp:107
UMLFileDialog::setCaption
void setCaption(const QString &caption)
Definition: umlfiledialog.cpp:59
umlviewimageexportermodel.h
UMLFileDialog::~UMLFileDialog
~UMLFileDialog()
Definition: umlfiledialog.cpp:49
UMLFileDialog::m_dialog
KFileDialog * m_dialog
Definition: umlfiledialog.h:42
UMLFileDialog::selectedUrl
KUrl selectedUrl()
Definition: umlfiledialog.cpp:74
umlfiledialog.h
UMLFileDialog::currentMimeFilter
QString currentMimeFilter()
return the mime type of the selected file
Definition: umlfiledialog.cpp:98
UMLObject::name
QString name() const
Returns a copy of m_name.
Definition: umlobject.cpp:185
UMLFileDialog::setMimeFilter
void setMimeFilter(const QStringList &types, const QString &defaultType=QString())
Definition: umlfiledialog.cpp:84
UMLFileDialog::setOperationMode
void setOperationMode(KFileDialog::OperationMode mode)
Definition: umlfiledialog.cpp:64
UMLFileDialog::setUrl
void setUrl(const KUrl &url, bool clearforward=true)
Definition: umlfiledialog.cpp:69
UMLFileDialog::exec
int exec()
Definition: umlfiledialog.cpp:54
UMLFileDialog::setSelection
void setSelection(const QString &name)
Definition: umlfiledialog.cpp:79
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 23:06:00 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

umbrello/umbrello

Skip menu "umbrello/umbrello"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Modules
  • Related Pages

kdesdk API Reference

Skip menu "kdesdk API Reference"
  • kapptemplate
  • kcachegrind
  • kompare
  • lokalize
  • okteta
  • umbrello
  •   umbrello

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