Falkon Develop
Cross-platform Qt-based web browser
gm_settingsscriptinfo.cpp
Go to the documentation of this file.
1/* ============================================================
2* GreaseMonkey plugin for Falkon
3* Copyright (C) 2012-2013 David Rosca <nowrep@gmail.com>
4*
5* This program is free software: you can redistribute it and/or modify
6* it under the terms of the GNU General Public License as published by
7* the Free Software Foundation, either version 3 of the License, or
8* (at your option) any later version.
9*
10* This program is distributed in the hope that it will be useful,
11* but WITHOUT ANY WARRANTY; without even the implied warranty of
12* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13* GNU General Public License for more details.
14*
15* You should have received a copy of the GNU General Public License
16* along with this program. If not, see <http://www.gnu.org/licenses/>.
17* ============================================================ */
19#include "ui_gm_settingsscriptinfo.h"
20#include "../gm_script.h"
21
22#include <QDesktopServices>
23
25 : QDialog(parent)
26 , ui(new Ui::GM_SettingsScriptInfo)
27 , m_script(script)
28{
29 setAttribute(Qt::WA_DeleteOnClose);
30
31 ui->setupUi(this);
32 loadScript();
33
34 connect(m_script, &GM_Script::scriptChanged, this, &GM_SettingsScriptInfo::loadScript);
35 connect(ui->editInEditor, &QAbstractButton::clicked, this, &GM_SettingsScriptInfo::editInTextEditor);
36}
37
38void GM_SettingsScriptInfo::editInTextEditor()
39{
40 QDesktopServices::openUrl(QUrl::fromLocalFile(m_script->fileName()));
41}
42
43void GM_SettingsScriptInfo::loadScript()
44{
45 setWindowTitle(tr("Script Details of %1").arg(m_script->name()));
46
47 ui->name->setText(m_script->name());
48 ui->nspace->setText(m_script->nameSpace());
49 ui->version->setText(m_script->version());
50 ui->url->setText(m_script->downloadUrl().toString());
51 ui->startAt->setText(m_script->startAt() == GM_Script::DocumentStart ? QSL("document-start") : QSL("document-end"));
52 ui->description->setText(m_script->description());
53 ui->include->setText(m_script->include().join(QSL("<br/>")));
54 ui->exclude->setText(m_script->exclude().join(QSL("<br/>")));
55
56 ui->version->setVisible(!m_script->version().isEmpty());
57 ui->labelVersion->setVisible(!m_script->version().isEmpty());
58
59 ui->url->setVisible(!m_script->downloadUrl().isEmpty());
60 ui->labelUrl->setVisible(!m_script->downloadUrl().isEmpty());
61}
62
64{
65 delete ui;
66}
67
QString nameSpace() const
Definition: gm_script.cpp:62
QStringList exclude() const
Definition: gm_script.cpp:127
@ DocumentStart
Definition: gm_script.h:37
QStringList include() const
Definition: gm_script.cpp:122
QString name() const
Definition: gm_script.cpp:57
QUrl downloadUrl() const
Definition: gm_script.cpp:92
void scriptChanged()
StartAt startAt() const
Definition: gm_script.cpp:102
QString fileName() const
Definition: gm_script.cpp:137
QString version() const
Definition: gm_script.cpp:77
QString description() const
Definition: gm_script.cpp:72
GM_SettingsScriptInfo(GM_Script *script, QWidget *parent=nullptr)
#define QSL(x)
Definition: qzcommon.h:40