5#include "ui_templateoptionspage.h"
7#include <shared_settings_p.h>
8#include <iconloader_p.h>
10#include <QtDesigner/abstractformeditor.h>
11#include <abstractdialoggui_p.h>
15using namespace Qt::StringLiterals;
23 m_ui(
new QT_PREPEND_NAMESPACE(qdesigner_internal)::Ui::TemplateOptionsWidget)
27 m_ui->m_addTemplatePathButton->setIcon(
28 qdesigner_internal::createIconSet(
"plus.png"_L1));
29 m_ui->m_removeTemplatePathButton->setIcon(
30 qdesigner_internal::createIconSet(
"minus.png"_L1));
32 connect(m_ui->m_templatePathListWidget, &QListWidget::itemSelectionChanged,
34 connect(m_ui->m_addTemplatePathButton, &QAbstractButton::clicked,
35 this, &TemplateOptionsWidget::addTemplatePath);
36 connect(m_ui->m_removeTemplatePathButton, &QAbstractButton::clicked,
48 const int count = m_ui->m_templatePathListWidget->count();
49 for (
int i = 0; i < count; i++) {
50 rc += m_ui->m_templatePathListWidget->item(i)->text();
58 m_ui->m_templatePathListWidget->clear();
61 templatePathSelectionChanged();
63 for (
const auto &s : l)
64 m_ui->m_templatePathListWidget->addItem(s);
65 m_ui->m_templatePathListWidget->setCurrentItem(m_ui->m_templatePathListWidget->item(0));
71 const QString templatePath = chooseTemplatePath(m_core,
this);
72 if (templatePath.isEmpty())
76 = m_ui->m_templatePathListWidget->findItems(templatePath, Qt::MatchExactly);
77 if (!existing.isEmpty())
80 QListWidgetItem *newItem =
new QListWidgetItem(templatePath);
81 m_ui->m_templatePathListWidget->addItem(newItem);
82 m_ui->m_templatePathListWidget->setCurrentItem(newItem);
87 const auto selectedPaths = m_ui->m_templatePathListWidget->selectedItems();
88 if (selectedPaths.isEmpty())
90 delete selectedPaths.constFirst();
95 const auto selectedPaths = m_ui->m_templatePathListWidget->selectedItems();
96 m_ui->m_removeTemplatePathButton->setEnabled(!selectedPaths.isEmpty());
101 QString rc = core->dialogGui()->getExistingDirectory(parent,
102 tr(
"Pick a directory to save templates in"));
106 if (rc.endsWith(QDir::separator()))
107 rc.remove(rc.size() - 1, 1);
120 return QCoreApplication::translate(
"TemplateOptionsPage",
"Template Paths");
125 m_widget =
new TemplateOptionsWidget(m_core, parent);
126 m_initialTemplatePaths = QDesignerSharedSettings(m_core).additionalFormTemplatePaths();
127 m_widget->setTemplatePaths(m_initialTemplatePaths);
134 const QStringList newTemplatePaths = m_widget->templatePaths();
135 if (newTemplatePaths != m_initialTemplatePaths) {
137 settings.setAdditionalFormTemplatePaths(newTemplatePaths);
138 m_initialTemplatePaths = newTemplatePaths;
QString name() const override
Combined button and popup list for selecting options.
Auxiliary methods to store/retrieve settings.