I took some time to read your “Debian 12 guide” and I would strongly suggest changing several items. Documentation can be messy and some of what you said could be misunderstood by new developers.
(1) Even though Ubuntu is based on Debian, you simply can not assume that a Ubuntu program will work on Debian. Your explanation about the Designer program issues having something to do with a new JPEG version is misleading. The real issue is ABI incompatibilities. You need to run programs compiled for Debian on Debian.
(2) Later on in your readme file you mention the following text and it is problematic. Developers who do not know CS will be confused. Please know that we appreciate your enthusiasm and the great amount of work you have done.
Notice that the MainWindow class uses CS_OBJECT and not the Q_OBJECT macro as would be the case in a Qt application. With Qt, when the moc tool reads a C++ header file and finds a class declaration that contain the Q_OBJECT macro, it produces a C++ source file containing the meta-object code required for the Qt signals and slots mechanism amongst other things.
a) The moc program is a code generator which produces boilerplate code containing the implementation of the metaobject for your class. It must be run as part of the build process.
Because a CopperSpice application does not use the Q_OBJECT macro the signal and slot mechanism is different and can be written as shown above.
b) CopperSpice renamed the Q_OBJECT macro to CS_OBJECT. The CS_OBJECT macro will automatically invoke templates which will register the necessary information with the CopperSpice meta object system. This replaces the need for a meta object compiler (moc). No Signal / Slot functionality was removed or lost.
The Signal/Slot system in CopperSpice can use several different types of syntax depending on what you need to declare.
a) You can use the following to declare a Slot.
Code: Select all
CS_SLOT_1(Private, void on_pushButton_clicked())
CS_SLOT_2(on_pushButton_clicked)
b) For Slots which are connected using the method pointer syntax, you can simply declare the Slot method as shown below. Yes, Slots can be normal methods.
Code: Select all
private:
void on_pushButton_clicked();
(3) There are some issues with your license text.
a) You should also not use a GPL license for example code since it limits people from borrowing your source code.
b) Another problem is the license of CS is based on our preference, not simply the derivation.
c) The wording of “hello Copperspice project” is a bit off. Some readers might think the CopperSpice Project is GPL. In this text you are talking about an application or a program, not a project.
The hello Copperspice project is licensed under GPL v2.0 as CopperSpice (originally derived from Qt4.8) is released under the LGPL V2.1 license.
Please change this to the following:
My ‘hello’ Copperspice application is licensed under BSD. CopperSpice is released under the LGPL V2.1 license.
(4) At the bottom of the document you have misspelled CopperSpice as “CoperSpice”
Thank you again for your effort, we hope these suggestions are helpful to you.