| 22 | #include <util/wildcardhelpers.h> |
| 23 | |
| 24 | ExternalScriptView::ExternalScriptView(ExternalScriptPlugin* plugin, QWidget* parent) |
| 25 | : QWidget(parent) |
| 26 | , m_plugin(plugin) |
| 27 | { |
| 28 | Ui::ExternalScriptViewBase::setupUi(this); |
| 29 | setFocusProxy(filterText); |
| 30 | |
| 31 | setWindowTitle(i18nc("@title:window", "External Scripts")); |
| 32 | setWindowIcon(QIcon::fromTheme(QStringLiteral("dialog-scripts"), windowIcon())); |
| 33 | |
| 34 | m_model = new QSortFilterProxyModel(this); |
| 35 | m_model->setSourceModel(m_plugin->model()); |
| 36 | m_model->setDynamicSortFilter(true); |
| 37 | m_model->sort(0); |
| 38 | connect(filterText, &QLineEdit::textEdited, this, [this](const QString& text) { |
| 39 | WildcardHelpers::setFilterNonPathWildcard(*m_model, text); |
| 40 | }); |
| 41 | |
| 42 | scriptTree->setModel(m_model); |
| 43 | scriptTree->setContextMenuPolicy(Qt::CustomContextMenu); |
| 44 | scriptTree->viewport()->installEventFilter(this); |
| 45 | scriptTree->header()->hide(); |
| 46 | connect(scriptTree, &QTreeView::customContextMenuRequested, |
| 47 | this, &ExternalScriptView::contextMenu); |
| 48 | |
| 49 | m_addScriptAction = |
| 50 | new QAction(QIcon::fromTheme(QStringLiteral("document-new")), i18nc("@action", "Add External Script"), this); |
| 51 | connect(m_addScriptAction, &QAction::triggered, this, &ExternalScriptView::addScript); |
| 52 | addAction(m_addScriptAction); |
| 53 | |
| 54 | m_editScriptAction = new QAction(QIcon::fromTheme(QStringLiteral("document-edit")), i18nc("@action", |
| 55 | "Edit External Script"), this); |
| 56 | connect(m_editScriptAction, &QAction::triggered, this, &ExternalScriptView::editScript); |
| 57 | addAction(m_editScriptAction); |
| 58 | |
| 59 | m_removeScriptAction = new QAction(QIcon::fromTheme(QStringLiteral("document-close")), i18nc("@action", |
| 60 | "Remove External Script"), this); |
| 61 | connect(m_removeScriptAction, &QAction::triggered, this, &ExternalScriptView::removeScript); |
| 62 | addAction(m_removeScriptAction); |
| 63 | |
| 64 | connect(scriptTree->selectionModel(), &QItemSelectionModel::selectionChanged, |
| 65 | this, &ExternalScriptView::validateActions); |
| 66 | |
| 67 | validateActions(); |
| 68 | } |
| 69 | |
| 70 | ExternalScriptView::~ExternalScriptView() |
| 71 | { |
nothing calls this directly
no test coverage detected