summaryrefslogtreecommitdiffstats
path: root/examples/mimetypeviewer
diff options
context:
space:
mode:
authorABBAPOH <ABBAPOH@nextmail.ru>2011-05-11 22:06:49 +0400
committerABBAPOH <ABBAPOH@nextmail.ru>2011-05-11 22:06:49 +0400
commitb1fe18e94bfbe8a87b9daeb8bc25230b110f7e0f (patch)
tree496002aedc70786527368ba39913c986aeee9cf3 /examples/mimetypeviewer
parent1fd63ef6b1b5e10536e9b3922491986266f8d422 (diff)
Added example application
Diffstat (limited to 'examples/mimetypeviewer')
-rw-r--r--examples/mimetypeviewer/main.cpp16
-rw-r--r--examples/mimetypeviewer/mimetypeviewer.cpp74
-rw-r--r--examples/mimetypeviewer/mimetypeviewer.h35
-rw-r--r--examples/mimetypeviewer/mimetypeviewer.pro23
-rw-r--r--examples/mimetypeviewer/mimetypeviewer.ui145
5 files changed, 293 insertions, 0 deletions
diff --git a/examples/mimetypeviewer/main.cpp b/examples/mimetypeviewer/main.cpp
new file mode 100644
index 0000000..3ab561d
--- /dev/null
+++ b/examples/mimetypeviewer/main.cpp
@@ -0,0 +1,16 @@
+#include <QtGui/QApplication>
+#include "mainwindow.h"
+#include "mimetypeviewer.h"
+
+int main(int argc, char *argv[])
+{
+ QApplication a(argc, argv);
+
+ MimeTypeViewer v;
+ v.show();
+
+// MainWindow w;
+// w.show();
+
+ return a.exec();
+}
diff --git a/examples/mimetypeviewer/mimetypeviewer.cpp b/examples/mimetypeviewer/mimetypeviewer.cpp
new file mode 100644
index 0000000..3768f6d
--- /dev/null
+++ b/examples/mimetypeviewer/mimetypeviewer.cpp
@@ -0,0 +1,74 @@
+#include "mimetypeviewer.h"
+#include "ui_mimetypeviewer.h"
+
+#include <QFileDialog>
+#include <QMimeDatabase>
+#include <QDebug>
+
+MimeTypeViewer::MimeTypeViewer(QWidget *parent) :
+ QWidget(parent),
+ ui(new Ui::MimeTypeViewer),
+ dataBase(new QMimeDatabase(this))
+{
+ ui->setupUi(this);
+ connect(ui->addTypesButton, SIGNAL(clicked()), SLOT(onAddTypesButtonClicked()));
+ connect(ui->openFileButton, SIGNAL(clicked()), SLOT(onOpenFileButtonClicked()));
+}
+
+MimeTypeViewer::~MimeTypeViewer()
+{
+ delete ui;
+}
+
+void MimeTypeViewer::addDatabase(const QString &file)
+{
+ QString errorString;
+ if (!dataBase->addMimeTypes(file, &errorString))
+ qWarning() << "Can't add types from" << file << ":" << errorString;
+
+ updateTypes();
+}
+
+void MimeTypeViewer::onAddTypesButtonClicked()
+{
+ QString file = QFileDialog::getOpenFileName(this, tr("Select database"));
+ if (file.isEmpty())
+ return;
+
+ addDatabase(file);
+}
+
+void MimeTypeViewer::onOpenFileButtonClicked()
+{
+ QString file = QFileDialog::getOpenFileName(this, tr("Select file"));
+ if (file.isEmpty())
+ return;
+
+ ui->fileLineEdit->setText(file);
+ QMimeType mime = dataBase->findByFile(QFileInfo(file));
+ if (mime)
+ setMimeType(mime);
+}
+
+void MimeTypeViewer::updateTypes()
+{
+ ui->listWidget->clear();
+ foreach (const QMimeType &mime, dataBase->mimeTypes()) {
+ ui->listWidget->addItem(mime.type());
+ }
+ ui->listWidget->sortItems();
+}
+
+void MimeTypeViewer::setMimeType(const QMimeType &mime)
+{
+ ui->mimeTypeLabel->setText(mime.type());
+ ui->aliasesLabel->setText(mime.aliases().join(", "));
+ ui->commentLabel->setText(mime.comment());
+
+ QStringList list;
+ foreach (const MimeGlobPattern &pattern, mime.globPatterns()) {
+ list.append(pattern.regExp().pattern());
+ }
+ ui->globPatternsLabel->setText(list.join(", "));
+ ui->subClassesOfLabel->setText(mime.subClassesOf().join(", "));
+}
diff --git a/examples/mimetypeviewer/mimetypeviewer.h b/examples/mimetypeviewer/mimetypeviewer.h
new file mode 100644
index 0000000..466c05c
--- /dev/null
+++ b/examples/mimetypeviewer/mimetypeviewer.h
@@ -0,0 +1,35 @@
+#ifndef MIMETYPEVIEWER_H
+#define MIMETYPEVIEWER_H
+
+#include <QWidget>
+
+class QMimeDatabase;
+class QMimeType;
+
+namespace Ui {
+ class MimeTypeViewer;
+}
+
+class MimeTypeViewer : public QWidget
+{
+ Q_OBJECT
+
+public:
+ explicit MimeTypeViewer(QWidget *parent = 0);
+ ~MimeTypeViewer();
+
+ void addDatabase(const QString &file);
+
+public slots:
+ void onAddTypesButtonClicked();
+ void onOpenFileButtonClicked();
+
+private:
+ Ui::MimeTypeViewer *ui;
+ QMimeDatabase *dataBase;
+
+ void updateTypes();
+ void setMimeType(const QMimeType &mime);
+};
+
+#endif // MIMETYPEVIEWER_H
diff --git a/examples/mimetypeviewer/mimetypeviewer.pro b/examples/mimetypeviewer/mimetypeviewer.pro
new file mode 100644
index 0000000..6301cf9
--- /dev/null
+++ b/examples/mimetypeviewer/mimetypeviewer.pro
@@ -0,0 +1,23 @@
+#-------------------------------------------------
+#
+# Project created by QtCreator 2011-05-07T14:29:03
+#
+#-------------------------------------------------
+
+QT += core gui
+
+TARGET = MimeTypeViewer
+TEMPLATE = app
+
+message($$PWD)
+
+LIBS += -L$$OUT_PWD/../../lib -lqmimetype
+
+INCLUDEPATH *= $$PWD/../../include
+
+SOURCES += main.cpp\
+ mimetypeviewer.cpp
+
+HEADERS += mimetypeviewer.h
+
+FORMS += mimetypeviewer.ui
diff --git a/examples/mimetypeviewer/mimetypeviewer.ui b/examples/mimetypeviewer/mimetypeviewer.ui
new file mode 100644
index 0000000..be0bed6
--- /dev/null
+++ b/examples/mimetypeviewer/mimetypeviewer.ui
@@ -0,0 +1,145 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>MimeTypeViewer</class>
+ <widget class="QWidget" name="MimeTypeViewer">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>640</width>
+ <height>480</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>MimeTypeViewer</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout">
+ <item row="0" column="0" colspan="2">
+ <widget class="QGroupBox" name="groupBox_2">
+ <property name="title">
+ <string>MimeDatabase</string>
+ </property>
+ <layout class="QHBoxLayout" name="horizontalLayout_2">
+ <item>
+ <widget class="QListWidget" name="listWidget"/>
+ </item>
+ <item>
+ <widget class="QPushButton" name="addTypesButton">
+ <property name="text">
+ <string>Add MimeTypes</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="1" column="0" colspan="2">
+ <widget class="QGroupBox" name="groupBox">
+ <property name="title">
+ <string>Current flle</string>
+ </property>
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <property name="leftMargin">
+ <number>0</number>
+ </property>
+ <property name="topMargin">
+ <number>12</number>
+ </property>
+ <property name="rightMargin">
+ <number>0</number>
+ </property>
+ <property name="bottomMargin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QLineEdit" name="fileLineEdit">
+ <property name="readOnly">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="openFileButton">
+ <property name="text">
+ <string>Open File</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_2">
+ <property name="text">
+ <string>Mime type:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QLabel" name="mimeTypeLabel">
+ <property name="text">
+ <string>&lt;&gt;</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <widget class="QLabel" name="label_3">
+ <property name="text">
+ <string>Aliases:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <widget class="QLabel" name="aliasesLabel">
+ <property name="text">
+ <string>&lt;&gt;</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="0">
+ <widget class="QLabel" name="label_4">
+ <property name="text">
+ <string>Comment:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="1">
+ <widget class="QLabel" name="commentLabel">
+ <property name="text">
+ <string>&lt;&gt;</string>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="0">
+ <widget class="QLabel" name="label">
+ <property name="text">
+ <string>Glob patterns:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="1">
+ <widget class="QLabel" name="globPatternsLabel">
+ <property name="text">
+ <string>&lt;&gt;</string>
+ </property>
+ </widget>
+ </item>
+ <item row="6" column="0">
+ <widget class="QLabel" name="label_5">
+ <property name="text">
+ <string>SubClasses of:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="6" column="1">
+ <widget class="QLabel" name="subClassesOfLabel">
+ <property name="text">
+ <string>&lt;&gt;</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>