From 54e1576eb1065b8f7d3b13c98fc6078620921960 Mon Sep 17 00:00:00 2001 From: maelstrom Date: Sun, 22 Jun 2025 20:48:20 +0200 Subject: [PATCH] refactor(editor): license code --- editor/CMakeLists.txt | 8 +- editor/LICENSE | 1 + editor/aboutdialog.cpp | 45 +++ editor/aboutdialog.h | 23 ++ editor/aboutdialog.ui | 137 +++++++ editor/editor.qrc | 6 + editor/license.cpp | 12 - editor/license.h | 21 - editor/license.ui | 28 -- editor/licensetxt.cpp | 675 --------------------------------- editor/main.cpp | 1 - editor/mainwindow.cpp | 9 +- editor/mainwindow.ui | 6 +- editor/placeholder-logo.png | Bin 0 -> 2922 bytes editor/placeholder-logo_lg.png | Bin 0 -> 76246 bytes 15 files changed, 223 insertions(+), 749 deletions(-) create mode 120000 editor/LICENSE create mode 100644 editor/aboutdialog.cpp create mode 100644 editor/aboutdialog.h create mode 100644 editor/aboutdialog.ui create mode 100644 editor/editor.qrc delete mode 100644 editor/license.cpp delete mode 100644 editor/license.h delete mode 100644 editor/license.ui delete mode 100644 editor/licensetxt.cpp create mode 100644 editor/placeholder-logo.png create mode 100644 editor/placeholder-logo_lg.png diff --git a/editor/CMakeLists.txt b/editor/CMakeLists.txt index 9502429..7213be1 100644 --- a/editor/CMakeLists.txt +++ b/editor/CMakeLists.txt @@ -36,10 +36,10 @@ set(PROJECT_SOURCES panes/outputtextview.cpp script/scriptdocument.h script/scriptdocument.cpp - license.ui - license.h - license.cpp - licensetxt.cpp + aboutdialog.ui + aboutdialog.h + aboutdialog.cpp + editor.qrc ${TS_FILES} ) diff --git a/editor/LICENSE b/editor/LICENSE new file mode 120000 index 0000000..ea5b606 --- /dev/null +++ b/editor/LICENSE @@ -0,0 +1 @@ +../LICENSE \ No newline at end of file diff --git a/editor/aboutdialog.cpp b/editor/aboutdialog.cpp new file mode 100644 index 0000000..3adecdd --- /dev/null +++ b/editor/aboutdialog.cpp @@ -0,0 +1,45 @@ +#include "aboutdialog.h" +#include "./ui_aboutdialog.h" +#include +#include +#include + +class LicenseDialog : public QDialog { +public: + LicenseDialog(QWidget* parent = nullptr) : QDialog(parent) { + this->resize(700, 500); + this->setMinimumSize(QSize(500, 500)); + this->setMaximumSize(QSize(500, 500)); + + setWindowTitle("License"); + + QFile licenseFile(":/LICENSE"); + licenseFile.open(QFile::ReadOnly); + QString licenseContent = licenseFile.readAll(); + licenseFile.close(); + + QPlainTextEdit* licenseText = new QPlainTextEdit(this); + licenseText->setGeometry(QRect(10, 10, 500-20, 500-20-32-10)); + licenseText->setPlainText(licenseContent); + + QDialogButtonBox* buttonBox = new QDialogButtonBox(this); + buttonBox->setObjectName(QString::fromUtf8("buttonBox")); + buttonBox->setGeometry(QRect(10, 500-32-10, 500-20, 32)); + buttonBox->setOrientation(Qt::Orientation::Horizontal); + buttonBox->setStandardButtons(QDialogButtonBox::StandardButton::Close); + + QObject::connect(buttonBox, SIGNAL(accepted()), this, SLOT(accept())); + QObject::connect(buttonBox, SIGNAL(rejected()), this, SLOT(reject())); + }; +}; + +AboutDialog::AboutDialog(QWidget *parent) + : QDialog(parent) + , ui(new Ui::AboutDialog) +{ + ui->setupUi(this); + + connect(ui->viewLicense, &QLabel::linkActivated, [this]() { + (new LicenseDialog(this))->open(); + }); +} \ No newline at end of file diff --git a/editor/aboutdialog.h b/editor/aboutdialog.h new file mode 100644 index 0000000..4247922 --- /dev/null +++ b/editor/aboutdialog.h @@ -0,0 +1,23 @@ +#pragma once + +#include +#include + +QT_BEGIN_NAMESPACE +namespace Ui { +class AboutDialog; +} +QT_END_NAMESPACE + +class AboutDialog : public QDialog +{ + Q_OBJECT + + Ui::AboutDialog *ui; +public: + AboutDialog(QWidget *parent = nullptr); + ~AboutDialog() = default; + +protected: + void linkActivated(const QString &link); +}; \ No newline at end of file diff --git a/editor/aboutdialog.ui b/editor/aboutdialog.ui new file mode 100644 index 0000000..d44f552 --- /dev/null +++ b/editor/aboutdialog.ui @@ -0,0 +1,137 @@ + + + AboutDialog + + + + 0 + 0 + 582 + 162 + + + + + 582 + 162 + + + + + 582 + 162 + + + + About Openblocks + + + + + 220 + 110 + 341 + 32 + + + + Qt::Orientation::Horizontal + + + QDialogButtonBox::StandardButton::Close + + + + + + 20 + 10 + 81 + 81 + + + + + + + :/placeholder-logo.png + + + + + + 110 + 20 + 261 + 21 + + + + Openblocks Engine ALPHA SNAPSHOT + + + + + + 110 + 50 + 471 + 16 + + + + Copright 2025 GNU Lesser General Public License v2.1 + + + + + + 110 + 80 + 191 + 18 + + + + <a href="/license">View license...</a> + + + + + + + + + buttonBox + accepted() + AboutDialog + accept() + + + 248 + 254 + + + 157 + 274 + + + + + buttonBox + rejected() + AboutDialog + reject() + + + 316 + 260 + + + 286 + 274 + + + + + diff --git a/editor/editor.qrc b/editor/editor.qrc new file mode 100644 index 0000000..c3ad4e9 --- /dev/null +++ b/editor/editor.qrc @@ -0,0 +1,6 @@ + + + placeholder-logo.png + LICENSE + + diff --git a/editor/license.cpp b/editor/license.cpp deleted file mode 100644 index 3e66104..0000000 --- a/editor/license.cpp +++ /dev/null @@ -1,12 +0,0 @@ -#include "license.h" -#include "./ui_license.h" - -extern const char* licensetxt; - -LicenseDialog::LicenseDialog(QWidget *parent) - : QDialog(parent) - , ui(new Ui::License) -{ - ui->setupUi(this); - ui->plainTextEdit->setPlainText(licensetxt); -} \ No newline at end of file diff --git a/editor/license.h b/editor/license.h deleted file mode 100644 index 85e4d44..0000000 --- a/editor/license.h +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#include -#include - -QT_BEGIN_NAMESPACE -namespace Ui { -class License; -} -QT_END_NAMESPACE - -class LicenseDialog : public QDialog -{ - Q_OBJECT - - Ui::License *ui; -public: - LicenseDialog(QWidget *parent = nullptr); - ~LicenseDialog() = default; - -}; \ No newline at end of file diff --git a/editor/license.ui b/editor/license.ui deleted file mode 100644 index 07dc2aa..0000000 --- a/editor/license.ui +++ /dev/null @@ -1,28 +0,0 @@ - - - License - - - - 0 - 0 - 627 - 287 - - - - License - - - - - - true - - - - - - - - diff --git a/editor/licensetxt.cpp b/editor/licensetxt.cpp deleted file mode 100644 index 93cfccd..0000000 --- a/editor/licensetxt.cpp +++ /dev/null @@ -1,675 +0,0 @@ -const char* licensetxt = -" GNU GENERAL PUBLIC LICENSE\n" -" Version 3, 29 June 2007\n" -"\n" -" Copyright (C) 2007 Free Software Foundation, Inc. \n" -" Everyone is permitted to copy and distribute verbatim copies\n" -" of this license document, but changing it is not allowed.\n" -"\n" -" Preamble\n" -"\n" -" The GNU General Public License is a free, copyleft license for\n" -"software and other kinds of works.\n" -"\n" -" The licenses for most software and other practical works are designed\n" -"to take away your freedom to share and change the works. By contrast,\n" -"the GNU General Public License is intended to guarantee your freedom to\n" -"share and change all versions of a program--to make sure it remains free\n" -"software for all its users. We, the Free Software Foundation, use the\n" -"GNU General Public License for most of our software; it applies also to\n" -"any other work released this way by its authors. You can apply it to\n" -"your programs, too.\n" -"\n" -" When we speak of free software, we are referring to freedom, not\n" -"price. Our General Public Licenses are designed to make sure that you\n" -"have the freedom to distribute copies of free software (and charge for\n" -"them if you wish), that you receive source code or can get it if you\n" -"want it, that you can change the software or use pieces of it in new\n" -"free programs, and that you know you can do these things.\n" -"\n" -" To protect your rights, we need to prevent others from denying you\n" -"these rights or asking you to surrender the rights. Therefore, you have\n" -"certain responsibilities if you distribute copies of the software, or if\n" -"you modify it: responsibilities to respect the freedom of others.\n" -"\n" -" For example, if you distribute copies of such a program, whether\n" -"gratis or for a fee, you must pass on to the recipients the same\n" -"freedoms that you received. You must make sure that they, too, receive\n" -"or can get the source code. And you must show them these terms so they\n" -"know their rights.\n" -"\n" -" Developers that use the GNU GPL protect your rights with two steps:\n" -"(1) assert copyright on the software, and (2) offer you this License\n" -"giving you legal permission to copy, distribute and/or modify it.\n" -"\n" -" For the developers' and authors' protection, the GPL clearly explains\n" -"that there is no warranty for this free software. For both users' and\n" -"authors' sake, the GPL requires that modified versions be marked as\n" -"changed, so that their problems will not be attributed erroneously to\n" -"authors of previous versions.\n" -"\n" -" Some devices are designed to deny users access to install or run\n" -"modified versions of the software inside them, although the manufacturer\n" -"can do so. This is fundamentally incompatible with the aim of\n" -"protecting users' freedom to change the software. The systematic\n" -"pattern of such abuse occurs in the area of products for individuals to\n" -"use, which is precisely where it is most unacceptable. Therefore, we\n" -"have designed this version of the GPL to prohibit the practice for those\n" -"products. If such problems arise substantially in other domains, we\n" -"stand ready to extend this provision to those domains in future versions\n" -"of the GPL, as needed to protect the freedom of users.\n" -"\n" -" Finally, every program is threatened constantly by software patents.\n" -"States should not allow patents to restrict development and use of\n" -"software on general-purpose computers, but in those that do, we wish to\n" -"avoid the special danger that patents applied to a free program could\n" -"make it effectively proprietary. To prevent this, the GPL assures that\n" -"patents cannot be used to render the program non-free.\n" -"\n" -" The precise terms and conditions for copying, distribution and\n" -"modification follow.\n" -"\n" -" TERMS AND CONDITIONS\n" -"\n" -" 0. Definitions.\n" -"\n" -" \"This License\" refers to version 3 of the GNU General Public License.\n" -"\n" -" \"Copyright\" also means copyright-like laws that apply to other kinds of\n" -"works, such as semiconductor masks.\n" -"\n" -" \"The Program\" refers to any copyrightable work licensed under this\n" -"License. Each licensee is addressed as \"you\". \"Licensees\" and\n" -"\"recipients\" may be individuals or organizations.\n" -"\n" -" To \"modify\" a work means to copy from or adapt all or part of the work\n" -"in a fashion requiring copyright permission, other than the making of an\n" -"exact copy. The resulting work is called a \"modified version\" of the\n" -"earlier work or a work \"based on\" the earlier work.\n" -"\n" -" A \"covered work\" means either the unmodified Program or a work based\n" -"on the Program.\n" -"\n" -" To \"propagate\" a work means to do anything with it that, without\n" -"permission, would make you directly or secondarily liable for\n" -"infringement under applicable copyright law, except executing it on a\n" -"computer or modifying a private copy. Propagation includes copying,\n" -"distribution (with or without modification), making available to the\n" -"public, and in some countries other activities as well.\n" -"\n" -" To \"convey\" a work means any kind of propagation that enables other\n" -"parties to make or receive copies. Mere interaction with a user through\n" -"a computer network, with no transfer of a copy, is not conveying.\n" -"\n" -" An interactive user interface displays \"Appropriate Legal Notices\"\n" -"to the extent that it includes a convenient and prominently visible\n" -"feature that (1) displays an appropriate copyright notice, and (2)\n" -"tells the user that there is no warranty for the work (except to the\n" -"extent that warranties are provided), that licensees may convey the\n" -"work under this License, and how to view a copy of this License. If\n" -"the interface presents a list of user commands or options, such as a\n" -"menu, a prominent item in the list meets this criterion.\n" -"\n" -" 1. Source Code.\n" -"\n" -" The \"source code\" for a work means the preferred form of the work\n" -"for making modifications to it. \"Object code\" means any non-source\n" -"form of a work.\n" -"\n" -" A \"Standard Interface\" means an interface that either is an official\n" -"standard defined by a recognized standards body, or, in the case of\n" -"interfaces specified for a particular programming language, one that\n" -"is widely used among developers working in that language.\n" -"\n" -" The \"System Libraries\" of an executable work include anything, other\n" -"than the work as a whole, that (a) is included in the normal form of\n" -"packaging a Major Component, but which is not part of that Major\n" -"Component, and (b) serves only to enable use of the work with that\n" -"Major Component, or to implement a Standard Interface for which an\n" -"implementation is available to the public in source code form. A\n" -"\"Major Component\", in this context, means a major essential component\n" -"(kernel, window system, and so on) of the specific operating system\n" -"(if any) on which the executable work runs, or a compiler used to\n" -"produce the work, or an object code interpreter used to run it.\n" -"\n" -" The \"Corresponding Source\" for a work in object code form means all\n" -"the source code needed to generate, install, and (for an executable\n" -"work) run the object code and to modify the work, including scripts to\n" -"control those activities. However, it does not include the work's\n" -"System Libraries, or general-purpose tools or generally available free\n" -"programs which are used unmodified in performing those activities but\n" -"which are not part of the work. For example, Corresponding Source\n" -"includes interface definition files associated with source files for\n" -"the work, and the source code for shared libraries and dynamically\n" -"linked subprograms that the work is specifically designed to require,\n" -"such as by intimate data communication or control flow between those\n" -"subprograms and other parts of the work.\n" -"\n" -" The Corresponding Source need not include anything that users\n" -"can regenerate automatically from other parts of the Corresponding\n" -"Source.\n" -"\n" -" The Corresponding Source for a work in source code form is that\n" -"same work.\n" -"\n" -" 2. Basic Permissions.\n" -"\n" -" All rights granted under this License are granted for the term of\n" -"copyright on the Program, and are irrevocable provided the stated\n" -"conditions are met. This License explicitly affirms your unlimited\n" -"permission to run the unmodified Program. The output from running a\n" -"covered work is covered by this License only if the output, given its\n" -"content, constitutes a covered work. This License acknowledges your\n" -"rights of fair use or other equivalent, as provided by copyright law.\n" -"\n" -" You may make, run and propagate covered works that you do not\n" -"convey, without conditions so long as your license otherwise remains\n" -"in force. You may convey covered works to others for the sole purpose\n" -"of having them make modifications exclusively for you, or provide you\n" -"with facilities for running those works, provided that you comply with\n" -"the terms of this License in conveying all material for which you do\n" -"not control copyright. Those thus making or running the covered works\n" -"for you must do so exclusively on your behalf, under your direction\n" -"and control, on terms that prohibit them from making any copies of\n" -"your copyrighted material outside their relationship with you.\n" -"\n" -" Conveying under any other circumstances is permitted solely under\n" -"the conditions stated below. Sublicensing is not allowed; section 10\n" -"makes it unnecessary.\n" -"\n" -" 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n" -"\n" -" No covered work shall be deemed part of an effective technological\n" -"measure under any applicable law fulfilling obligations under article\n" -"11 of the WIPO copyright treaty adopted on 20 December 1996, or\n" -"similar laws prohibiting or restricting circumvention of such\n" -"measures.\n" -"\n" -" When you convey a covered work, you waive any legal power to forbid\n" -"circumvention of technological measures to the extent such circumvention\n" -"is effected by exercising rights under this License with respect to\n" -"the covered work, and you disclaim any intention to limit operation or\n" -"modification of the work as a means of enforcing, against the work's\n" -"users, your or third parties' legal rights to forbid circumvention of\n" -"technological measures.\n" -"\n" -" 4. Conveying Verbatim Copies.\n" -"\n" -" You may convey verbatim copies of the Program's source code as you\n" -"receive it, in any medium, provided that you conspicuously and\n" -"appropriately publish on each copy an appropriate copyright notice;\n" -"keep intact all notices stating that this License and any\n" -"non-permissive terms added in accord with section 7 apply to the code;\n" -"keep intact all notices of the absence of any warranty; and give all\n" -"recipients a copy of this License along with the Program.\n" -"\n" -" You may charge any price or no price for each copy that you convey,\n" -"and you may offer support or warranty protection for a fee.\n" -"\n" -" 5. Conveying Modified Source Versions.\n" -"\n" -" You may convey a work based on the Program, or the modifications to\n" -"produce it from the Program, in the form of source code under the\n" -"terms of section 4, provided that you also meet all of these conditions:\n" -"\n" -" a) The work must carry prominent notices stating that you modified\n" -" it, and giving a relevant date.\n" -"\n" -" b) The work must carry prominent notices stating that it is\n" -" released under this License and any conditions added under section\n" -" 7. This requirement modifies the requirement in section 4 to\n" -" \"keep intact all notices\".\n" -"\n" -" c) You must license the entire work, as a whole, under this\n" -" License to anyone who comes into possession of a copy. This\n" -" License will therefore apply, along with any applicable section 7\n" -" additional terms, to the whole of the work, and all its parts,\n" -" regardless of how they are packaged. This License gives no\n" -" permission to license the work in any other way, but it does not\n" -" invalidate such permission if you have separately received it.\n" -"\n" -" d) If the work has interactive user interfaces, each must display\n" -" Appropriate Legal Notices; however, if the Program has interactive\n" -" interfaces that do not display Appropriate Legal Notices, your\n" -" work need not make them do so.\n" -"\n" -" A compilation of a covered work with other separate and independent\n" -"works, which are not by their nature extensions of the covered work,\n" -"and which are not combined with it such as to form a larger program,\n" -"in or on a volume of a storage or distribution medium, is called an\n" -"\"aggregate\" if the compilation and its resulting copyright are not\n" -"used to limit the access or legal rights of the compilation's users\n" -"beyond what the individual works permit. Inclusion of a covered work\n" -"in an aggregate does not cause this License to apply to the other\n" -"parts of the aggregate.\n" -"\n" -" 6. Conveying Non-Source Forms.\n" -"\n" -" You may convey a covered work in object code form under the terms\n" -"of sections 4 and 5, provided that you also convey the\n" -"machine-readable Corresponding Source under the terms of this License,\n" -"in one of these ways:\n" -"\n" -" a) Convey the object code in, or embodied in, a physical product\n" -" (including a physical distribution medium), accompanied by the\n" -" Corresponding Source fixed on a durable physical medium\n" -" customarily used for software interchange.\n" -"\n" -" b) Convey the object code in, or embodied in, a physical product\n" -" (including a physical distribution medium), accompanied by a\n" -" written offer, valid for at least three years and valid for as\n" -" long as you offer spare parts or customer support for that product\n" -" model, to give anyone who possesses the object code either (1) a\n" -" copy of the Corresponding Source for all the software in the\n" -" product that is covered by this License, on a durable physical\n" -" medium customarily used for software interchange, for a price no\n" -" more than your reasonable cost of physically performing this\n" -" conveying of source, or (2) access to copy the\n" -" Corresponding Source from a network server at no charge.\n" -"\n" -" c) Convey individual copies of the object code with a copy of the\n" -" written offer to provide the Corresponding Source. This\n" -" alternative is allowed only occasionally and noncommercially, and\n" -" only if you received the object code with such an offer, in accord\n" -" with subsection 6b.\n" -"\n" -" d) Convey the object code by offering access from a designated\n" -" place (gratis or for a charge), and offer equivalent access to the\n" -" Corresponding Source in the same way through the same place at no\n" -" further charge. You need not require recipients to copy the\n" -" Corresponding Source along with the object code. If the place to\n" -" copy the object code is a network server, the Corresponding Source\n" -" may be on a different server (operated by you or a third party)\n" -" that supports equivalent copying facilities, provided you maintain\n" -" clear directions next to the object code saying where to find the\n" -" Corresponding Source. Regardless of what server hosts the\n" -" Corresponding Source, you remain obligated to ensure that it is\n" -" available for as long as needed to satisfy these requirements.\n" -"\n" -" e) Convey the object code using peer-to-peer transmission, provided\n" -" you inform other peers where the object code and Corresponding\n" -" Source of the work are being offered to the general public at no\n" -" charge under subsection 6d.\n" -"\n" -" A separable portion of the object code, whose source code is excluded\n" -"from the Corresponding Source as a System Library, need not be\n" -"included in conveying the object code work.\n" -"\n" -" A \"User Product\" is either (1) a \"consumer product\", which means any\n" -"tangible personal property which is normally used for personal, family,\n" -"or household purposes, or (2) anything designed or sold for incorporation\n" -"into a dwelling. In determining whether a product is a consumer product,\n" -"doubtful cases shall be resolved in favor of coverage. For a particular\n" -"product received by a particular user, \"normally used\" refers to a\n" -"typical or common use of that class of product, regardless of the status\n" -"of the particular user or of the way in which the particular user\n" -"actually uses, or expects or is expected to use, the product. A product\n" -"is a consumer product regardless of whether the product has substantial\n" -"commercial, industrial or non-consumer uses, unless such uses represent\n" -"the only significant mode of use of the product.\n" -"\n" -" \"Installation Information\" for a User Product means any methods,\n" -"procedures, authorization keys, or other information required to install\n" -"and execute modified versions of a covered work in that User Product from\n" -"a modified version of its Corresponding Source. The information must\n" -"suffice to ensure that the continued functioning of the modified object\n" -"code is in no case prevented or interfered with solely because\n" -"modification has been made.\n" -"\n" -" If you convey an object code work under this section in, or with, or\n" -"specifically for use in, a User Product, and the conveying occurs as\n" -"part of a transaction in which the right of possession and use of the\n" -"User Product is transferred to the recipient in perpetuity or for a\n" -"fixed term (regardless of how the transaction is characterized), the\n" -"Corresponding Source conveyed under this section must be accompanied\n" -"by the Installation Information. But this requirement does not apply\n" -"if neither you nor any third party retains the ability to install\n" -"modified object code on the User Product (for example, the work has\n" -"been installed in ROM).\n" -"\n" -" The requirement to provide Installation Information does not include a\n" -"requirement to continue to provide support service, warranty, or updates\n" -"for a work that has been modified or installed by the recipient, or for\n" -"the User Product in which it has been modified or installed. Access to a\n" -"network may be denied when the modification itself materially and\n" -"adversely affects the operation of the network or violates the rules and\n" -"protocols for communication across the network.\n" -"\n" -" Corresponding Source conveyed, and Installation Information provided,\n" -"in accord with this section must be in a format that is publicly\n" -"documented (and with an implementation available to the public in\n" -"source code form), and must require no special password or key for\n" -"unpacking, reading or copying.\n" -"\n" -" 7. Additional Terms.\n" -"\n" -" \"Additional permissions\" are terms that supplement the terms of this\n" -"License by making exceptions from one or more of its conditions.\n" -"Additional permissions that are applicable to the entire Program shall\n" -"be treated as though they were included in this License, to the extent\n" -"that they are valid under applicable law. If additional permissions\n" -"apply only to part of the Program, that part may be used separately\n" -"under those permissions, but the entire Program remains governed by\n" -"this License without regard to the additional permissions.\n" -"\n" -" When you convey a copy of a covered work, you may at your option\n" -"remove any additional permissions from that copy, or from any part of\n" -"it. (Additional permissions may be written to require their own\n" -"removal in certain cases when you modify the work.) You may place\n" -"additional permissions on material, added by you to a covered work,\n" -"for which you have or can give appropriate copyright permission.\n" -"\n" -" Notwithstanding any other provision of this License, for material you\n" -"add to a covered work, you may (if authorized by the copyright holders of\n" -"that material) supplement the terms of this License with terms:\n" -"\n" -" a) Disclaiming warranty or limiting liability differently from the\n" -" terms of sections 15 and 16 of this License; or\n" -"\n" -" b) Requiring preservation of specified reasonable legal notices or\n" -" author attributions in that material or in the Appropriate Legal\n" -" Notices displayed by works containing it; or\n" -"\n" -" c) Prohibiting misrepresentation of the origin of that material, or\n" -" requiring that modified versions of such material be marked in\n" -" reasonable ways as different from the original version; or\n" -"\n" -" d) Limiting the use for publicity purposes of names of licensors or\n" -" authors of the material; or\n" -"\n" -" e) Declining to grant rights under trademark law for use of some\n" -" trade names, trademarks, or service marks; or\n" -"\n" -" f) Requiring indemnification of licensors and authors of that\n" -" material by anyone who conveys the material (or modified versions of\n" -" it) with contractual assumptions of liability to the recipient, for\n" -" any liability that these contractual assumptions directly impose on\n" -" those licensors and authors.\n" -"\n" -" All other non-permissive additional terms are considered \"further\n" -"restrictions\" within the meaning of section 10. If the Program as you\n" -"received it, or any part of it, contains a notice stating that it is\n" -"governed by this License along with a term that is a further\n" -"restriction, you may remove that term. If a license document contains\n" -"a further restriction but permits relicensing or conveying under this\n" -"License, you may add to a covered work material governed by the terms\n" -"of that license document, provided that the further restriction does\n" -"not survive such relicensing or conveying.\n" -"\n" -" If you add terms to a covered work in accord with this section, you\n" -"must place, in the relevant source files, a statement of the\n" -"additional terms that apply to those files, or a notice indicating\n" -"where to find the applicable terms.\n" -"\n" -" Additional terms, permissive or non-permissive, may be stated in the\n" -"form of a separately written license, or stated as exceptions;\n" -"the above requirements apply either way.\n" -"\n" -" 8. Termination.\n" -"\n" -" You may not propagate or modify a covered work except as expressly\n" -"provided under this License. Any attempt otherwise to propagate or\n" -"modify it is void, and will automatically terminate your rights under\n" -"this License (including any patent licenses granted under the third\n" -"paragraph of section 11).\n" -"\n" -" However, if you cease all violation of this License, then your\n" -"license from a particular copyright holder is reinstated (a)\n" -"provisionally, unless and until the copyright holder explicitly and\n" -"finally terminates your license, and (b) permanently, if the copyright\n" -"holder fails to notify you of the violation by some reasonable means\n" -"prior to 60 days after the cessation.\n" -"\n" -" Moreover, your license from a particular copyright holder is\n" -"reinstated permanently if the copyright holder notifies you of the\n" -"violation by some reasonable means, this is the first time you have\n" -"received notice of violation of this License (for any work) from that\n" -"copyright holder, and you cure the violation prior to 30 days after\n" -"your receipt of the notice.\n" -"\n" -" Termination of your rights under this section does not terminate the\n" -"licenses of parties who have received copies or rights from you under\n" -"this License. If your rights have been terminated and not permanently\n" -"reinstated, you do not qualify to receive new licenses for the same\n" -"material under section 10.\n" -"\n" -" 9. Acceptance Not Required for Having Copies.\n" -"\n" -" You are not required to accept this License in order to receive or\n" -"run a copy of the Program. Ancillary propagation of a covered work\n" -"occurring solely as a consequence of using peer-to-peer transmission\n" -"to receive a copy likewise does not require acceptance. However,\n" -"nothing other than this License grants you permission to propagate or\n" -"modify any covered work. These actions infringe copyright if you do\n" -"not accept this License. Therefore, by modifying or propagating a\n" -"covered work, you indicate your acceptance of this License to do so.\n" -"\n" -" 10. Automatic Licensing of Downstream Recipients.\n" -"\n" -" Each time you convey a covered work, the recipient automatically\n" -"receives a license from the original licensors, to run, modify and\n" -"propagate that work, subject to this License. You are not responsible\n" -"for enforcing compliance by third parties with this License.\n" -"\n" -" An \"entity transaction\" is a transaction transferring control of an\n" -"organization, or substantially all assets of one, or subdividing an\n" -"organization, or merging organizations. If propagation of a covered\n" -"work results from an entity transaction, each party to that\n" -"transaction who receives a copy of the work also receives whatever\n" -"licenses to the work the party's predecessor in interest had or could\n" -"give under the previous paragraph, plus a right to possession of the\n" -"Corresponding Source of the work from the predecessor in interest, if\n" -"the predecessor has it or can get it with reasonable efforts.\n" -"\n" -" You may not impose any further restrictions on the exercise of the\n" -"rights granted or affirmed under this License. For example, you may\n" -"not impose a license fee, royalty, or other charge for exercise of\n" -"rights granted under this License, and you may not initiate litigation\n" -"(including a cross-claim or counterclaim in a lawsuit) alleging that\n" -"any patent claim is infringed by making, using, selling, offering for\n" -"sale, or importing the Program or any portion of it.\n" -"\n" -" 11. Patents.\n" -"\n" -" A \"contributor\" is a copyright holder who authorizes use under this\n" -"License of the Program or a work on which the Program is based. The\n" -"work thus licensed is called the contributor's \"contributor version\".\n" -"\n" -" A contributor's \"essential patent claims\" are all patent claims\n" -"owned or controlled by the contributor, whether already acquired or\n" -"hereafter acquired, that would be infringed by some manner, permitted\n" -"by this License, of making, using, or selling its contributor version,\n" -"but do not include claims that would be infringed only as a\n" -"consequence of further modification of the contributor version. For\n" -"purposes of this definition, \"control\" includes the right to grant\n" -"patent sublicenses in a manner consistent with the requirements of\n" -"this License.\n" -"\n" -" Each contributor grants you a non-exclusive, worldwide, royalty-free\n" -"patent license under the contributor's essential patent claims, to\n" -"make, use, sell, offer for sale, import and otherwise run, modify and\n" -"propagate the contents of its contributor version.\n" -"\n" -" In the following three paragraphs, a \"patent license\" is any express\n" -"agreement or commitment, however denominated, not to enforce a patent\n" -"(such as an express permission to practice a patent or covenant not to\n" -"sue for patent infringement). To \"grant\" such a patent license to a\n" -"party means to make such an agreement or commitment not to enforce a\n" -"patent against the party.\n" -"\n" -" If you convey a covered work, knowingly relying on a patent license,\n" -"and the Corresponding Source of the work is not available for anyone\n" -"to copy, free of charge and under the terms of this License, through a\n" -"publicly available network server or other readily accessible means,\n" -"then you must either (1) cause the Corresponding Source to be so\n" -"available, or (2) arrange to deprive yourself of the benefit of the\n" -"patent license for this particular work, or (3) arrange, in a manner\n" -"consistent with the requirements of this License, to extend the patent\n" -"license to downstream recipients. \"Knowingly relying\" means you have\n" -"actual knowledge that, but for the patent license, your conveying the\n" -"covered work in a country, or your recipient's use of the covered work\n" -"in a country, would infringe one or more identifiable patents in that\n" -"country that you have reason to believe are valid.\n" -"\n" -" If, pursuant to or in connection with a single transaction or\n" -"arrangement, you convey, or propagate by procuring conveyance of, a\n" -"covered work, and grant a patent license to some of the parties\n" -"receiving the covered work authorizing them to use, propagate, modify\n" -"or convey a specific copy of the covered work, then the patent license\n" -"you grant is automatically extended to all recipients of the covered\n" -"work and works based on it.\n" -"\n" -" A patent license is \"discriminatory\" if it does not include within\n" -"the scope of its coverage, prohibits the exercise of, or is\n" -"conditioned on the non-exercise of one or more of the rights that are\n" -"specifically granted under this License. You may not convey a covered\n" -"work if you are a party to an arrangement with a third party that is\n" -"in the business of distributing software, under which you make payment\n" -"to the third party based on the extent of your activity of conveying\n" -"the work, and under which the third party grants, to any of the\n" -"parties who would receive the covered work from you, a discriminatory\n" -"patent license (a) in connection with copies of the covered work\n" -"conveyed by you (or copies made from those copies), or (b) primarily\n" -"for and in connection with specific products or compilations that\n" -"contain the covered work, unless you entered into that arrangement,\n" -"or that patent license was granted, prior to 28 March 2007.\n" -"\n" -" Nothing in this License shall be construed as excluding or limiting\n" -"any implied license or other defenses to infringement that may\n" -"otherwise be available to you under applicable patent law.\n" -"\n" -" 12. No Surrender of Others' Freedom.\n" -"\n" -" If conditions are imposed on you (whether by court order, agreement or\n" -"otherwise) that contradict the conditions of this License, they do not\n" -"excuse you from the conditions of this License. If you cannot convey a\n" -"covered work so as to satisfy simultaneously your obligations under this\n" -"License and any other pertinent obligations, then as a consequence you may\n" -"not convey it at all. For example, if you agree to terms that obligate you\n" -"to collect a royalty for further conveying from those to whom you convey\n" -"the Program, the only way you could satisfy both those terms and this\n" -"License would be to refrain entirely from conveying the Program.\n" -"\n" -" 13. Use with the GNU Affero General Public License.\n" -"\n" -" Notwithstanding any other provision of this License, you have\n" -"permission to link or combine any covered work with a work licensed\n" -"under version 3 of the GNU Affero General Public License into a single\n" -"combined work, and to convey the resulting work. The terms of this\n" -"License will continue to apply to the part which is the covered work,\n" -"but the special requirements of the GNU Affero General Public License,\n" -"section 13, concerning interaction through a network will apply to the\n" -"combination as such.\n" -"\n" -" 14. Revised Versions of this License.\n" -"\n" -" The Free Software Foundation may publish revised and/or new versions of\n" -"the GNU General Public License from time to time. Such new versions will\n" -"be similar in spirit to the present version, but may differ in detail to\n" -"address new problems or concerns.\n" -"\n" -" Each version is given a distinguishing version number. If the\n" -"Program specifies that a certain numbered version of the GNU General\n" -"Public License \"or any later version\" applies to it, you have the\n" -"option of following the terms and conditions either of that numbered\n" -"version or of any later version published by the Free Software\n" -"Foundation. If the Program does not specify a version number of the\n" -"GNU General Public License, you may choose any version ever published\n" -"by the Free Software Foundation.\n" -"\n" -" If the Program specifies that a proxy can decide which future\n" -"versions of the GNU General Public License can be used, that proxy's\n" -"public statement of acceptance of a version permanently authorizes you\n" -"to choose that version for the Program.\n" -"\n" -" Later license versions may give you additional or different\n" -"permissions. However, no additional obligations are imposed on any\n" -"author or copyright holder as a result of your choosing to follow a\n" -"later version.\n" -"\n" -" 15. Disclaimer of Warranty.\n" -"\n" -" THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\n" -"APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\n" -"HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\n" -"OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\n" -"THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\n" -"PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\n" -"IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\n" -"ALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n" -"\n" -" 16. Limitation of Liability.\n" -"\n" -" IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\n" -"WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\n" -"THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\n" -"GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\n" -"USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\n" -"DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\n" -"PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\n" -"EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\n" -"SUCH DAMAGES.\n" -"\n" -" 17. Interpretation of Sections 15 and 16.\n" -"\n" -" If the disclaimer of warranty and limitation of liability provided\n" -"above cannot be given local legal effect according to their terms,\n" -"reviewing courts shall apply local law that most closely approximates\n" -"an absolute waiver of all civil liability in connection with the\n" -"Program, unless a warranty or assumption of liability accompanies a\n" -"copy of the Program in return for a fee.\n" -"\n" -" END OF TERMS AND CONDITIONS\n" -"\n" -" How to Apply These Terms to Your New Programs\n" -"\n" -" If you develop a new program, and you want it to be of the greatest\n" -"possible use to the public, the best way to achieve this is to make it\n" -"free software which everyone can redistribute and change under these terms.\n" -"\n" -" To do so, attach the following notices to the program. It is safest\n" -"to attach them to the start of each source file to most effectively\n" -"state the exclusion of warranty; and each file should have at least\n" -"the \"copyright\" line and a pointer to where the full notice is found.\n" -"\n" -" \n" -" Copyright (C) \n" -"\n" -" This program is free software: you can redistribute it and/or modify\n" -" it under the terms of the GNU General Public License as published by\n" -" the Free Software Foundation, either version 3 of the License, or\n" -" (at your option) any later version.\n" -"\n" -" This program is distributed in the hope that it will be useful,\n" -" but WITHOUT ANY WARRANTY; without even the implied warranty of\n" -" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" -" GNU General Public License for more details.\n" -"\n" -" You should have received a copy of the GNU General Public License\n" -" along with this program. If not, see .\n" -"\n" -"Also add information on how to contact you by electronic and paper mail.\n" -"\n" -" If the program does terminal interaction, make it output a short\n" -"notice like this when it starts in an interactive mode:\n" -"\n" -" Openblocks Copyright (C) 2025 m-doescode / maelstrom071\n" -" This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n" -" This is free software, and you are welcome to redistribute it\n" -" under certain conditions; type `show c' for details.\n" -"\n" -"The hypothetical commands `show w' and `show c' should show the appropriate\n" -"parts of the General Public License. Of course, your program's commands\n" -"might be different; for a GUI interface, you would use an \"about box\".\n" -"\n" -" You should also get your employer (if you work as a programmer) or school,\n" -"if any, to sign a \"copyright disclaimer\" for the program, if necessary.\n" -"For more information on this, and how to apply and follow the GNU GPL, see\n" -".\n" -"\n" -" The GNU General Public License does not permit incorporating your program\n" -"into proprietary programs. If your program is a subroutine library, you\n" -"may consider it more useful to permit linking proprietary applications with\n" -"the library. If this is what you want to do, use the GNU Lesser General\n" -"Public License instead of this License. But first, please read\n" -".\n"; \ No newline at end of file diff --git a/editor/main.cpp b/editor/main.cpp index 054cd06..08d2743 100644 --- a/editor/main.cpp +++ b/editor/main.cpp @@ -1,4 +1,3 @@ -#include "error/data.h" #include "mainwindow.h" #include "logger.h" diff --git a/editor/mainwindow.cpp b/editor/mainwindow.cpp index 0369fc4..1edf615 100644 --- a/editor/mainwindow.cpp +++ b/editor/mainwindow.cpp @@ -1,13 +1,12 @@ #include "mainwindow.h" #include "./ui_mainwindow.h" #include "common.h" -#include "license.h" +#include "aboutdialog.h" #include "logger.h" #include "objects/datamodel.h" #include "objects/model.h" #include "placedocument.h" #include "script/scriptdocument.h" -#include #include #include #include @@ -448,9 +447,9 @@ void MainWindow::connectActionHandlers() { } }); - connect(ui->actionViewLicense, &QAction::triggered, this, [this]() { - LicenseDialog* licenseDialog = new LicenseDialog(this); - licenseDialog->exec(); + connect(ui->actionAbout, &QAction::triggered, this, [this]() { + AboutDialog* aboutDialog = new AboutDialog(this); + aboutDialog->open(); }); } diff --git a/editor/mainwindow.ui b/editor/mainwindow.ui index 9d0f449..62265fc 100644 --- a/editor/mainwindow.ui +++ b/editor/mainwindow.ui @@ -82,7 +82,7 @@ Help - + @@ -811,9 +811,9 @@ QAction::MenuRole::NoRole - + - License + About... diff --git a/editor/placeholder-logo.png b/editor/placeholder-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..435d8ce3849d37726eb8c8adebed82dd86f6471f GIT binary patch literal 2922 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 literal 0 HcmV?d00001 diff --git a/editor/placeholder-logo_lg.png b/editor/placeholder-logo_lg.png new file mode 100644 index 0000000000000000000000000000000000000000..647457e4a747658715e3eff4e110170082392fd1 GIT binary patch literal 76246 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%0AhS!ft+{ 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 literal 0 HcmV?d00001