39 #ifndef __OPENFLUID_UIWARESDEV_WARESHUBJSONEDITOR_HPP__ 40 #define __OPENFLUID_UIWARESDEV_WARESHUBJSONEDITOR_HPP__ 46 #include <rapidjson/document.h> 54 class WareshubJsonEditor;
58 namespace openfluid {
namespace ui {
namespace waresdev {
68 Ui::WareshubJsonEditor* ui;
70 rapidjson::Document Doc;
72 bool m_IsModified =
false;
75 QStringList m_Licenses = {
"0BSD",
"AAL",
"Abstyles",
"Adobe-2006",
"Adobe-Glyph",
"ADSL",
"AFL-1.1",
"AFL-1.2",
76 "AFL-2.0",
"AFL-2.1",
"AFL-3.0",
"Afmparse",
"AGPL-1.0",
"AGPL-3.0",
"Aladdin",
77 "AMDPLPA",
"AML",
"AMPAS",
"ANTLR-PD",
"Apache-1.0",
"Apache-1.1",
"Apache-2.0",
78 "APAFML",
"APL-1.0",
"APSL-1.0",
"APSL-1.1",
"APSL-1.2",
"APSL-2.0",
"Artistic-1.0",
79 "Artistic-1.0-cl8",
"Artistic-1.0-Perl",
"Artistic-2.0",
"Bahyph",
"Barr",
"Beerware",
80 "BitTorrent-1.0",
"BitTorrent-1.1",
"Borceux",
"BSD-2-Clause",
"BSD-2-Clause-FreeBSD",
81 "BSD-2-Clause-NetBSD",
"BSD-3-Clause",
"BSD-3-Clause-Attribution",
"BSD-3-Clause-Clear",
82 "BSD-3-Clause-LBNL",
"BSD-4-Clause",
"BSD-4-Clause-UC",
"BSD-Protection",
"BSL-1.0",
83 "bzip2-1.0.5",
"bzip2-1.0.6",
"Caldera",
"CATOSL-1.1",
"CC-BY-1.0",
"CC-BY-2.0",
84 "CC-BY-2.5",
"CC-BY-3.0",
"CC-BY-4.0",
"CC-BY-NC-1.0",
"CC-BY-NC-2.0",
"CC-BY-NC-2.5",
85 "CC-BY-NC-3.0",
"CC-BY-NC-4.0",
"CC-BY-NC-ND-1.0",
"CC-BY-NC-ND-2.0",
"CC-BY-NC-ND-2.5",
86 "CC-BY-NC-ND-3.0",
"CC-BY-NC-ND-4.0",
"CC-BY-NC-SA-1.0",
"CC-BY-NC-SA-2.0",
87 "CC-BY-NC-SA-2.5",
"CC-BY-NC-SA-3.0",
"CC-BY-NC-SA-4.0",
"CC-BY-ND-1.0",
"CC-BY-ND-2.0",
88 "CC-BY-ND-2.5",
"CC-BY-ND-3.0",
"CC-BY-ND-4.0",
"CC-BY-SA-1.0",
"CC-BY-SA-2.0",
89 "CC-BY-SA-2.5",
"CC-BY-SA-3.0",
"CC-BY-SA-4.0",
"CC0-1.0",
"CDDL-1.0",
"CDDL-1.1",
90 "CECILL-1.0",
"CECILL-1.1",
"CECILL-2.0",
"CECILL-2.1",
"CECILL-B",
"CECILL-C",
91 "ClArtistic",
"CNRI-Jython",
"CNRI-Python",
"CNRI-Python-GPL-Compatible",
"Condor-1.1",
92 "CPAL-1.0",
"CPL-1.0",
"CPOL-1.02",
"Crossword",
"CrystalStacker",
"CUA-OPL-1.0",
93 "Cube",
"D-FSL-1.0",
"diffmark",
"DOC",
"Dotseqn",
"DSDP",
"dvipdfm",
"ECL-1.0",
94 "ECL-2.0",
"EFL-1.0",
"EFL-2.0",
"eGenix",
"Entessa",
"EPL-1.0",
"ErlPL-1.1",
95 "EUDatagrid",
"EUPL-1.0",
"EUPL-1.1",
"Eurosym",
"Fair",
"Frameworx-1.0",
"FreeImage",
96 "FSFUL",
"FSFULLR",
"FTL",
"GFDL-1.1",
"GFDL-1.2",
"GFDL-1.3",
"Giftware",
"GL2PS",
97 "Glide",
"Glulxe",
"gnuplot",
"GPL-1.0",
"GPL-2.0",
"GPL-3.0",
"gSOAP-1.3b",
98 "HaskellReport",
"HPND",
"IBM-pibs",
"ICU",
"IJG",
"ImageMagick",
"iMatix",
"Imlib2",
99 "Intel",
"Intel-ACPI",
"Interbase-1.0",
"IPA",
"IPL-1.0",
"ISC",
"JasPer-2.0",
"JSON",
100 "Latex2e",
"Leptonica",
"LGPL-2.0",
"LGPL-2.1",
"LGPL-3.0",
"LGPLLR",
"Libpng",
101 "libtiff",
"LPL-1.0",
"LPL-1.02",
"LPPL-1.0",
"LPPL-1.1",
"LPPL-1.2",
"LPPL-1.3a",
102 "LPPL-1.3c",
"MakeIndex",
"MirOS",
"MIT",
"MIT-advertising",
"MIT-CMU",
"MIT-enna",
103 "MIT-feh",
"MITNFA",
"Motosoto",
"mpich2",
"MPL-1.0",
"MPL-1.1",
"MPL-2.0",
104 "MPL-2.0-no-copyleft-exception",
"MS-PL",
"MS-RL",
"MTLL",
"Multics",
"Mup",
"NASA-1.3",
105 "Naumen",
"NBPL-1.0",
"NCSA",
"NetCDF",
"Newsletr",
"NGPL",
"NLPL",
"Nokia",
"NOSL",
106 "Noweb",
"NPL-1.0",
"NPL-1.1",
"NPOSL-3.0",
"NRL",
"NTP",
"Nunit",
"OCLC-2.0",
107 "ODbL-1.0",
"OFL-1.0",
"OFL-1.1",
"OGTSL",
"OLDAP-1.1",
"OLDAP-1.2",
"OLDAP-1.3",
108 "OLDAP-1.4",
"OLDAP-2.0",
"OLDAP-2.0.1",
"OLDAP-2.1",
"OLDAP-2.2",
"OLDAP-2.2.1",
109 "OLDAP-2.2.2",
"OLDAP-2.3",
"OLDAP-2.4",
"OLDAP-2.5",
"OLDAP-2.6",
"OLDAP-2.7",
110 "OLDAP-2.8",
"OML",
"OpenSSL",
"OPL-1.0",
"OSL-1.0",
"OSL-1.1",
"OSL-2.0",
"OSL-2.1",
111 "OSL-3.0",
"PDDL-1.0",
"PHP-3.0",
"PHP-3.01",
"Plexus",
"PostgreSQL",
"psfrag",
112 "psutils",
"Python-2.0",
"Qhull",
"QPL-1.0",
"Rdisc",
"RHeCos-1.1",
"RPL-1.1",
113 "RPL-1.5",
"RPSL-1.0",
"RSA-MD",
"RSCPL",
"Ruby",
"SAX-PD",
"Saxpath",
"SCEA",
114 "Sendmail",
"SGI-B-1.0",
"SGI-B-1.1",
"SGI-B-2.0",
"SimPL-2.0",
"SISSL",
"SISSL-1.2",
115 "Sleepycat",
"SMLNJ",
"SNIA",
"Spencer-86",
"Spencer-94",
"Spencer-99",
"SPL-1.0",
116 "SugarCRM-1.1.3",
"SWL",
"TCL",
"TMate",
"TORQUE-1.1",
"TOSL",
"Unicode-TOU",
117 "Unlicense",
"UPL-1.0",
"Vim",
"VOSTROM",
"VSL-1.0",
"W3C",
"W3C-19980720",
118 "Watcom-1.0",
"Wsuipa",
"WTFPL",
"X11",
"Xerox",
"XFree86-1.1",
"xinetd",
"Xnet",
"xpp",
119 "XSkat",
"YPL-1.0",
"YPL-1.1",
"Zed",
"Zend-2.0",
"Zimbra-1.3",
"Zimbra-1.4",
"Zlib",
120 "zlib-acknowledgement",
"ZPL-1.1",
"ZPL-2.0",
"ZPL-2.1" };
122 QStringList m_Statuses = {
"stable",
"experimental",
"beta" };
124 QMap<QString, WareshubIssueDialog::Issue> m_IssuesByID;
126 void jsonStringArrayToLineEdit(
const QString& Key, QLineEdit* LineEdit);
128 void lineEditToJsonStringArray(
const QString& Key, QLineEdit* LineEdit);
130 void jsonStringToComboBox(
const QString& Key, QComboBox* Combo);
132 void comboBoxToJsonString(
const QString& Key, QComboBox* Combo);
134 void jsonIssuesToIssuesMap();
136 void issuesMapToJsonIssues();
138 void updateIssuesTable();
145 void onRemoveIssueClicked();
147 void onEditIssueClicked();
149 void onAddIssueClicked();
167 void saveContentToPath(
const QString& Path);
169 void updateContent();
172 const QString& StringForReplace, QTextDocument::FindFlags Options, QString& Message);
174 QString getSelectedText();
178 QWidget* getWidget();
Definition: WareshubJsonEditor.hpp:61
Definition: ApplicationException.hpp:47
void copy()
Definition: WareshubJsonEditor.hpp:189
Definition: WareSrcMsgParser.hpp:58
Definition: WareFileEditor.hpp:54
void addLineMessage(openfluid::waresdev::WareSrcMsgParser::WareSrcMsg)
Definition: WareshubJsonEditor.hpp:183
void cut()
Definition: WareshubJsonEditor.hpp:192
void goToLine()
Definition: WareshubJsonEditor.hpp:201
void updateLineNumberArea()
Definition: WareshubJsonEditor.hpp:186
Definition: AboutDialog.hpp:50
void paste()
Definition: WareshubJsonEditor.hpp:195
FindReplaceAction
Definition: FindReplaceDialog.hpp:67
void updateSettings()
Definition: WareshubJsonEditor.hpp:204
void clearLineMessages()
Definition: WareshubJsonEditor.hpp:180
void setFocus()
Definition: WareshubJsonEditor.hpp:207
#define OPENFLUID_API
Definition: dllexport.hpp:86
void selectLine(int)
Definition: WareshubJsonEditor.hpp:198