forked from qt-creator/qt-creator
Mime type settings: Show magic matchers for mime types
Change-Id: I40f024b51e20717aa4bc74351bb5996b31f3a869 Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
This commit is contained in:
@@ -81,7 +81,8 @@ void MimeTypeMagicDialog::setMagicData(const MagicData &data)
|
|||||||
|
|
||||||
MagicData MimeTypeMagicDialog::magicData() const
|
MagicData MimeTypeMagicDialog::magicData() const
|
||||||
{
|
{
|
||||||
MagicData data;
|
MagicData data(Utils::Internal::MimeMagicRule(Utils::Internal::MimeMagicRule::Byte,
|
||||||
|
QByteArray(), 0, 0), 0);
|
||||||
// data.m_value = ui.valueLineEdit->text();
|
// data.m_value = ui.valueLineEdit->text();
|
||||||
// if (ui.stringRadioButton->isChecked())
|
// if (ui.stringRadioButton->isChecked())
|
||||||
// data.m_type = MagicStringRule::kMatchType;
|
// data.m_type = MagicStringRule::kMatchType;
|
||||||
|
@@ -33,23 +33,20 @@
|
|||||||
|
|
||||||
#include "ui_mimetypemagicdialog.h"
|
#include "ui_mimetypemagicdialog.h"
|
||||||
|
|
||||||
|
#include <utils/mimetypes/mimemagicrule_p.h>
|
||||||
|
|
||||||
namespace Core {
|
namespace Core {
|
||||||
namespace Internal {
|
namespace Internal {
|
||||||
|
|
||||||
struct MagicData
|
struct MagicData
|
||||||
{
|
{
|
||||||
MagicData() {}
|
MagicData(Utils::Internal::MimeMagicRule rule, int priority)
|
||||||
MagicData(const QString &value, const QString &type, int start, int end, int p)
|
: m_rule(rule)
|
||||||
: m_value(value)
|
, m_priority(priority)
|
||||||
, m_type(type)
|
{
|
||||||
, m_start(start)
|
}
|
||||||
, m_end(end)
|
|
||||||
, m_priority(p) {}
|
|
||||||
|
|
||||||
QString m_value;
|
Utils::Internal::MimeMagicRule m_rule;
|
||||||
QString m_type;
|
|
||||||
int m_start;
|
|
||||||
int m_end;
|
|
||||||
int m_priority;
|
int m_priority;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -208,10 +208,11 @@ public:
|
|||||||
void clearSyncData();
|
void clearSyncData();
|
||||||
void markAsModified(int index);
|
void markAsModified(int index);
|
||||||
|
|
||||||
|
void addMagicHeaderRow(const MagicData &data);
|
||||||
|
void editMagicHeaderRowData(const int row, const MagicData &data);
|
||||||
|
|
||||||
// TODO
|
// TODO
|
||||||
// void addMagicHeaderRow(const MagicData &data);
|
|
||||||
// MagicData getMagicHeaderRowData(const int row) const;
|
// MagicData getMagicHeaderRowData(const int row) const;
|
||||||
// void editMagicHeaderRowData(const int row, const MagicData &data);
|
|
||||||
|
|
||||||
void updateMimeDatabase();
|
void updateMimeDatabase();
|
||||||
void resetState();
|
void resetState();
|
||||||
@@ -393,20 +394,14 @@ void MimeTypeSettingsPrivate::syncData(const QModelIndex ¤t,
|
|||||||
|
|
||||||
m_ui.patternsLineEdit->setText(currentMimeType.globPatterns().join(kSemiColon));
|
m_ui.patternsLineEdit->setText(currentMimeType.globPatterns().join(kSemiColon));
|
||||||
|
|
||||||
// TODO
|
QMap<int, QList<Utils::Internal::MimeMagicRule> > rules =
|
||||||
// // Consider only rule-based matchers.
|
Utils::MimeDatabase::magicRulesForMimeType(currentMimeType);
|
||||||
// const QList<QSharedPointer<IMagicMatcher> > &matchers = currentMimeType.magicRuleMatchers();
|
for (auto it = rules.constBegin(); it != rules.constEnd(); ++it) {
|
||||||
// foreach (const QSharedPointer<IMagicMatcher> &matcher, matchers) {
|
int priority = it.key();
|
||||||
// MagicRuleMatcher *ruleMatcher = static_cast<MagicRuleMatcher *>(matcher.data());
|
foreach (const Utils::Internal::MimeMagicRule &rule, it.value()) {
|
||||||
// const int priority = ruleMatcher->priority();
|
addMagicHeaderRow(MagicData(rule, priority));
|
||||||
// const MagicRuleMatcher::MagicRuleList &rules = ruleMatcher->magicRules();
|
}
|
||||||
// foreach (const MagicRuleMatcher::MagicRuleSharedPointer &rule, rules)
|
}
|
||||||
// addMagicHeaderRow(MagicData(rule->matchValue(),
|
|
||||||
// rule->matchType(),
|
|
||||||
// rule->startPos(),
|
|
||||||
// rule->endPos(),
|
|
||||||
// priority));
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -419,13 +414,13 @@ void MimeTypeSettingsPrivate::handlePatternEdited()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO
|
void MimeTypeSettingsPrivate::addMagicHeaderRow(const MagicData &data)
|
||||||
//void MimeTypeSettingsPrivate::addMagicHeaderRow(const MagicData &data)
|
{
|
||||||
//{
|
const int row = m_ui.magicHeadersTreeWidget->topLevelItemCount();
|
||||||
// const int row = m_ui.magicHeadersTreeWidget->topLevelItemCount();
|
editMagicHeaderRowData(row, data);
|
||||||
// editMagicHeaderRowData(row, data);
|
}
|
||||||
//}
|
|
||||||
|
|
||||||
|
// TODO
|
||||||
//MagicData MimeTypeSettingsPrivate::getMagicHeaderRowData(const int row) const
|
//MagicData MimeTypeSettingsPrivate::getMagicHeaderRowData(const int row) const
|
||||||
//{
|
//{
|
||||||
// MagicData data;
|
// MagicData data;
|
||||||
@@ -440,17 +435,17 @@ void MimeTypeSettingsPrivate::handlePatternEdited()
|
|||||||
// return data;
|
// return data;
|
||||||
//}
|
//}
|
||||||
|
|
||||||
//void MimeTypeSettingsPrivate::editMagicHeaderRowData(const int row, const MagicData &data)
|
void MimeTypeSettingsPrivate::editMagicHeaderRowData(const int row, const MagicData &data)
|
||||||
//{
|
{
|
||||||
// QTreeWidgetItem *item = new QTreeWidgetItem;
|
QTreeWidgetItem *item = new QTreeWidgetItem;
|
||||||
// item->setText(0, data.m_value);
|
item->setText(0, QString::fromUtf8(data.m_rule.value()));
|
||||||
// item->setText(1, data.m_type);
|
item->setText(1, QString::fromLatin1(Utils::Internal::MimeMagicRule::typeName(data.m_rule.type())));
|
||||||
// item->setText(2, MagicRule::toOffset(qMakePair(data.m_start, data.m_end)));
|
item->setText(2, QString::fromLatin1("%1:%2").arg(data.m_rule.startPos()).arg(data.m_rule.endPos()));
|
||||||
// item->setText(3, QString::number(data.m_priority));
|
item->setText(3, QString::number(data.m_priority));
|
||||||
// m_ui.magicHeadersTreeWidget->takeTopLevelItem(row);
|
m_ui.magicHeadersTreeWidget->takeTopLevelItem(row);
|
||||||
// m_ui.magicHeadersTreeWidget->insertTopLevelItem(row, item);
|
m_ui.magicHeadersTreeWidget->insertTopLevelItem(row, item);
|
||||||
// m_ui.magicHeadersTreeWidget->setCurrentItem(item);
|
m_ui.magicHeadersTreeWidget->setCurrentItem(item);
|
||||||
//}
|
}
|
||||||
|
|
||||||
//void MimeTypeSettingsPrivate::addMagicHeader()
|
//void MimeTypeSettingsPrivate::addMagicHeader()
|
||||||
//{
|
//{
|
||||||
|
Reference in New Issue
Block a user