File: WebCommonPage.h

package info (click to toggle)
mediaconch 25.04-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 16,828 kB
  • sloc: ansic: 126,293; cpp: 39,636; javascript: 34,300; xml: 2,950; sh: 2,121; makefile: 200; python: 183
file content (170 lines) | stat: -rw-r--r-- 7,772 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
/*  Copyright (c) MediaArea.net SARL. All Rights Reserved.
 *
 *  Use of this source code is governed by a BSD-style license that can
 *  be found in the License.html file in the root of the source tree.
 */

#ifndef WEBCOMMONPAGE_H
#define WEBCOMMONPAGE_H

#include "WebChoose.h"

#include <QObject>
#include <QMap>
#include <QString>
#include <QStringList>
#include <QJsonObject>
#include <QFileInfo>

#if defined(WEB_MACHINE_KIT)
#include <QWebPage>
#include <QWebView>
#elif defined(WEB_MACHINE_ENGINE)
#include <QWebEnginePage>
#include <QWebEngineView>
#endif

class QDir;

namespace MediaConch {

class MainWindow;
class FileRegistered;
class XsltPolicy;
class XsltPolicyRule;

#if defined(WEB_MACHINE_KIT)
class WebCommonPage : public QWebPage
#elif defined(WEB_MACHINE_ENGINE)
class WebCommonPage : public QWebEnginePage
#endif
{
	Q_OBJECT
public:
#if defined(WEB_MACHINE_KIT)
        explicit WebCommonPage(MainWindow *m, QWidget *parent) : QWebPage(parent), mainwindow(m) {}
#elif defined(WEB_MACHINE_ENGINE)
    explicit WebCommonPage(MainWindow *m, QWidget *parent) : QWebEnginePage(parent), mainwindow(m) {}
#endif
    virtual ~WebCommonPage() {}

    void         change_local_files(const QStringList& files);
    virtual void use_javascript(const QString& js) = 0;

protected:
    void         clean_forms();
    void         add_sub_directory_files_to_list(const QDir dir, QFileInfoList& list, bool hidden = false);
    void         charge_local_dir(const QString& directory, QStringList& tmp);
    QString      choose_file_settings();
    QString      choose_file_import_policy();
    QString      choose_file_policy_from_file();
    void         string_to_json(QString& str);

private Q_SLOTS:
    void         timer_menu_link();

public Q_SLOTS:
    void         on_file_selected(const QString& filename, const QString& path,
                                  const QString& policy, const QString& display, const QString& verbosity,
                                  bool fixer, const QStringList&,
                                  QString& ret, std::string& err_str);
    void         on_file_selected_end(const std::string& err_str, QString& ret);
    void         on_file_selected_formValues(const FileRegistered* fr, QString& formValues);
    QString      on_file_upload_selected(const QString& policy, const QString& display, const QString& verbosity,
                                         bool fixer, const QStringList&);
    QString      on_file_online_selected(const QString& url, const QString& policy, const QString& display,
                                         const QString& verbosity, bool fixer, const QStringList&);
    QString      on_file_repository_selected(const QString& policy, const QString& display,
                                             const QString& verbosity, bool fixer, bool hidden, const QStringList&);
    QString      on_file_from_db_selected();
    QString      status_reports_multi(const QStringList& ids, const QStringList& policy_ids);
    void         on_save_settings_selected(const QJsonObject& values);

    void         menu_link_checker(const QString& name);
    void         on_input_changed(const QString& inputName);

    QString      on_fill_output_list();
    void         on_download_report(const QString& report, long file_id, const QString& report_name);
    QString      on_fill_implementation_report(long file_id, const QString& display, const QString& verbosity);
    void         on_save_implementation_report(long file_id, const QString& display = "-1", const QString& verbosity="");
    QString      on_fill_policy_report(long file_id, const QString& policy, const QString& display);
    void         on_save_policy_report(long file_id, const QString& policy = "-1", const QString& display = "-1");
    QString      on_fill_mediainfo_report(long file_id);
    void         on_save_mediainfo_report(long file_id, const QString& output);
    QString      on_fill_mediatrace_report(long file_id);
    void         on_save_mediatrace_report(long file_id);
    QString      on_create_policy_from_file(long file_id);
    QString      checker_force_analyze(long id);
    void         set_parse_speed(const QString& parse_speed);

    void         close_all();
    void         close_element(long file_id);

    bool         report_is_html(const QString& report);
    bool         report_is_xml(const QString& report);
    bool         report_is_json(const QString& report);

    QString      get_file_tool(const QString& file);
    QString      get_file_policy_id(const QString& file);
    QString      get_file_display_id(const QString& file);
    QString      get_file_verbosity_id(const QString& file);
    QString      policy_is_valid(long file_id, long policy_id);
    QString      implementation_is_valid(long file_id);
    QString      file_is_analyzed(const QStringList& ids);

    QString      display_add_file(const QString& name);
    void         display_export_id(const QString& name);
    void         display_delete_id(const QString& name);

    QString      get_policies_tree();
    QString      policy_get_xml(int id);
    QString      policy_get_jstree(int id);
    void         create_rule_tree(XsltPolicyRule *r, QString& rule_data);
    QString      import_policy();
    QString      import_policy(const QString& file);
    int          import_policy(const QStringList& files);
    QString      policy_from_file();
    QString      policy_import_data(const QString& data);
    QString      xslt_policy_create(int parent_id);
    QString      policy_duplicate(int id, int dst_policy_id);
    QString      policy_move(int id, int dst_policy_id);
    QString      policy_export(int id);
    QString      policy_export_data(const QString& report);
    QString      policy_remove(int id);
    QString      policy_edit(int id, const QString& name, const QString& description, const QStringList& tags,
                             const QString& license, const QString& type, const QString& level, const QString& visibility);
    QString      xslt_policy_rule_create(int policy_id);
    QString      xslt_policy_rule_edit(int rule_id, int policy_id, const QString& title, const QString& type,
                                       const QString& field, const QString& occurrence, const QString& ope,
                                       const QString& value, const QString& scope, const QString& level);
    QString      xslt_policy_rule_edit(int rule_id, int policy_id, const QString& title, const QString& type,
                                       const QString& field, const QString& occurrence, const QString& ope,
                                       const QJsonObject& source, const QString& scope, const QString& level);
    QString      xslt_policy_rule_duplicate(int policy_id, int rule_id, int dst_policy_id);
    QString      xslt_policy_rule_move(int policy_id, int rule_id, int dst_policy_id);
    QString      xslt_policy_rule_delete(int policy_id, int rule_id);
    QString      get_values_list(const QString& type, const QString& field, const QString& value);
    QString      get_fields_list(const QString& type, const QString& field);
    void         call_tooltip(const QString&);

    QString      checker_list();
    QString      add_file_to_checker_again(long id);
    QString      remove_file_from_db(long id);
    QString      remove_all_files_from_db();

    QString      get_version();
    QString      get_mco_token();
    QString      save_mco_token(const QString& token);

protected:
    MainWindow                 *mainwindow;
    QMap<QString, QStringList>  file_selector;
    QString                     select_file_name;
    QString                     menu_name;

    QString                     checker_parse_speed;
};

}

#endif