forked from qt-creator/qt-creator
Fix lupdate issues
Change-Id: I26f08ae82354c178f6d26f9138796328b50bfba8 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
This commit is contained in:
@@ -58,15 +58,6 @@ public:
|
||||
static bool operator<(const DocEntry &d1, const DocEntry &d2)
|
||||
{ return d1.name < d2.name; }
|
||||
|
||||
static DocEntry createEntry(const QString &nameSpace, const QString &fileName, bool userManaged)
|
||||
{
|
||||
DocEntry result;
|
||||
result.name = userManaged ? nameSpace : DocSettingsPage::tr("%1 (auto-detected)").arg(nameSpace);
|
||||
result.fileName = fileName;
|
||||
result.nameSpace = nameSpace;
|
||||
return result;
|
||||
}
|
||||
|
||||
class DocModel : public QAbstractListModel
|
||||
{
|
||||
public:
|
||||
@@ -87,6 +78,46 @@ private:
|
||||
DocEntries m_docEntries;
|
||||
};
|
||||
|
||||
class DocSettingsPageWidget : public Core::IOptionsPageWidget
|
||||
{
|
||||
Q_DECLARE_TR_FUNCTIONS(Help::DocSettingsPageWidget)
|
||||
|
||||
public:
|
||||
DocSettingsPageWidget();
|
||||
|
||||
private:
|
||||
void apply() final;
|
||||
|
||||
void addDocumentation();
|
||||
|
||||
bool eventFilter(QObject *object, QEvent *event) final;
|
||||
void removeDocumentation(const QList<QModelIndex> &items);
|
||||
|
||||
QList<QModelIndex> currentSelection() const;
|
||||
|
||||
Ui::DocSettingsPage m_ui;
|
||||
|
||||
QString m_recentDialogPath;
|
||||
|
||||
using NameSpaceToPathHash = QHash<QString, QString>;
|
||||
NameSpaceToPathHash m_filesToRegister;
|
||||
QHash<QString, bool> m_filesToRegisterUserManaged;
|
||||
NameSpaceToPathHash m_filesToUnregister;
|
||||
|
||||
QSortFilterProxyModel m_proxyModel;
|
||||
DocModel m_model;
|
||||
};
|
||||
|
||||
static DocEntry createEntry(const QString &nameSpace, const QString &fileName, bool userManaged)
|
||||
{
|
||||
DocEntry result;
|
||||
result.name = userManaged ? nameSpace
|
||||
: DocSettingsPageWidget::tr("%1 (auto-detected)").arg(nameSpace);
|
||||
result.fileName = fileName;
|
||||
result.nameSpace = nameSpace;
|
||||
return result;
|
||||
}
|
||||
|
||||
QVariant DocModel::data(const QModelIndex &index, int role) const
|
||||
{
|
||||
QVariant result;
|
||||
@@ -129,65 +160,43 @@ void DocModel::removeAt(int row)
|
||||
|
||||
using namespace Help::Internal;
|
||||
|
||||
class DocSettingsPageWidget : public Core::IOptionsPageWidget
|
||||
DocSettingsPageWidget::DocSettingsPageWidget()
|
||||
{
|
||||
Q_DECLARE_TR_FUNCTIONS(Help::DocSettingsPage)
|
||||
m_ui.setupUi(this);
|
||||
|
||||
public:
|
||||
DocSettingsPageWidget()
|
||||
{
|
||||
m_ui.setupUi(this);
|
||||
const QStringList nameSpaces = HelpManager::registeredNamespaces();
|
||||
const QSet<QString> userDocumentationPaths = HelpManager::userDocumentationPaths();
|
||||
|
||||
const QStringList nameSpaces = HelpManager::registeredNamespaces();
|
||||
const QSet<QString> userDocumentationPaths = HelpManager::userDocumentationPaths();
|
||||
|
||||
DocModel::DocEntries entries;
|
||||
entries.reserve(nameSpaces.size());
|
||||
for (const QString &nameSpace : nameSpaces) {
|
||||
const QString filePath = HelpManager::fileFromNamespace(nameSpace);
|
||||
bool user = userDocumentationPaths.contains(filePath);
|
||||
entries.append(createEntry(nameSpace, filePath, user));
|
||||
m_filesToRegister.insert(nameSpace, filePath);
|
||||
m_filesToRegisterUserManaged.insert(nameSpace, user);
|
||||
}
|
||||
std::stable_sort(entries.begin(), entries.end());
|
||||
m_model.setEntries(entries);
|
||||
|
||||
m_proxyModel.setSourceModel(&m_model);
|
||||
m_ui.docsListView->setModel(&m_proxyModel);
|
||||
m_ui.filterLineEdit->setFiltering(true);
|
||||
connect(m_ui.filterLineEdit, &QLineEdit::textChanged,
|
||||
&m_proxyModel, &QSortFilterProxyModel::setFilterFixedString);
|
||||
|
||||
connect(m_ui.addButton, &QAbstractButton::clicked, this, &DocSettingsPageWidget::addDocumentation);
|
||||
connect(m_ui.removeButton, &QAbstractButton::clicked, this,
|
||||
[this] () { removeDocumentation(currentSelection()); });
|
||||
|
||||
m_ui.docsListView->installEventFilter(this);
|
||||
DocModel::DocEntries entries;
|
||||
entries.reserve(nameSpaces.size());
|
||||
for (const QString &nameSpace : nameSpaces) {
|
||||
const QString filePath = HelpManager::fileFromNamespace(nameSpace);
|
||||
bool user = userDocumentationPaths.contains(filePath);
|
||||
entries.append(createEntry(nameSpace, filePath, user));
|
||||
m_filesToRegister.insert(nameSpace, filePath);
|
||||
m_filesToRegisterUserManaged.insert(nameSpace, user);
|
||||
}
|
||||
std::stable_sort(entries.begin(), entries.end());
|
||||
m_model.setEntries(entries);
|
||||
|
||||
private:
|
||||
void apply() final;
|
||||
m_proxyModel.setSourceModel(&m_model);
|
||||
m_ui.docsListView->setModel(&m_proxyModel);
|
||||
m_ui.filterLineEdit->setFiltering(true);
|
||||
connect(m_ui.filterLineEdit,
|
||||
&QLineEdit::textChanged,
|
||||
&m_proxyModel,
|
||||
&QSortFilterProxyModel::setFilterFixedString);
|
||||
|
||||
void addDocumentation();
|
||||
connect(m_ui.addButton,
|
||||
&QAbstractButton::clicked,
|
||||
this,
|
||||
&DocSettingsPageWidget::addDocumentation);
|
||||
connect(m_ui.removeButton, &QAbstractButton::clicked, this, [this]() {
|
||||
removeDocumentation(currentSelection());
|
||||
});
|
||||
|
||||
bool eventFilter(QObject *object, QEvent *event) final;
|
||||
void removeDocumentation(const QList<QModelIndex> &items);
|
||||
|
||||
QList<QModelIndex> currentSelection() const;
|
||||
|
||||
Ui::DocSettingsPage m_ui;
|
||||
|
||||
QString m_recentDialogPath;
|
||||
|
||||
using NameSpaceToPathHash = QHash<QString, QString>;
|
||||
NameSpaceToPathHash m_filesToRegister;
|
||||
QHash<QString, bool> m_filesToRegisterUserManaged;
|
||||
NameSpaceToPathHash m_filesToUnregister;
|
||||
|
||||
QSortFilterProxyModel m_proxyModel;
|
||||
DocModel m_model;
|
||||
};
|
||||
m_ui.docsListView->installEventFilter(this);
|
||||
}
|
||||
|
||||
void DocSettingsPageWidget::addDocumentation()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user