fluxer / katie Goto Github PK
View Code? Open in Web Editor NEWC++ toolkit derived from the Qt 4.8 framework
Home Page: https://bitbucket.org/smil3y/workspace/projects/KATANA
License: BSD 3-Clause "New" or "Revised" License
C++ toolkit derived from the Qt 4.8 framework
Home Page: https://bitbucket.org/smil3y/workspace/projects/KATANA
License: BSD 3-Clause "New" or "Revised" License
Hi. I'm searching for Qt4 forks on Github and found your project. Unfortunately I'm on Windows and your project seems don't support Windows. If you could add Windows support I'm very pleased to help test building on MSYS2 UCRT64. Please consider. Thank you.
Multiple ports require specifically QtWidgets, and this prevents from building them with Qt4 (perhaps among other issues, but this is a notable one). Is it possible to backport/implement it here?
tests are build with QT_NAMESPACE_COMPAT
defined for that reason
HaikuOS is not on https://github.com/fluxer/katie/wiki/Unsupported-Operating-Systems.
Too complicated for most of the use cases (used as key-value pair storage) and the QVariant
type system allows to iterate over QVariantMap
similar to the object/array concept, e.g.:
#include <QDebug>
#include <QVariant>
#include <QStringList>
QT_USE_NAMESPACE
int main() {
QVariantMap map;
QStringList list = QStringList() << "1" << "2";
QVariantMap map2;
QStringList list2 = QStringList() << "3" << "4";
map2.insert("map", list2);
map.insert("list", list);
map.insert("map2", map2);
foreach(const QString &key, map.keys()) {
const QVariant value = map.value(key);
if (value.type() == QVariant::StringList) {
qDebug() << "list" << key << value;
} else if (value.type() == QVariant::Map) {
qDebug() << "map" << key << value;
}
}
return 0;
}
In other words QJsonDocument
will be kept with the API to convert to/from QByteArray
, to/from QVariantMap
and report errors, the rest is redundant. As to why that is simple - common use case for it is parsing somewhat unknown objects and values which should be validated beyond the validations done by JSON parses (e.g. if string is file or directory path) with possible recursion limit and aborting the processing of the data to shave-off computation time, the current implementation does not make the processing any better since it does not provide the capability to do that and even if it does someone probably already tought about it. For example:
https://github.com/fluxer/kde-baseapps/blob/master/kate/addons/kate/project/kateproject.cpp
https://github.com/fluxer/kde-workspace/blob/master/plasma/runners/bookmarks/browsers/chrome.cpp
This is important for projects that want to support both Qt4 and Katie. The task involves mostly build system modifications because Katie provides a CMake macro for generating obsolete headers. One can use and even update the incfsck script provided with the source code to get a list of obsolete headers but (as of the time of writing) the list is incomplete.
As much as I hate to do it at some point things will have to be copyrighted and I've touched pretty much every file for one reason or another (fixes, adjustments, whatnot). The question is what license should be chosen for fresh code - keen on BSD 3-clause.
For the logo - I'm not an artist so help with that would be appreciated.
The manual pages are only relevant for the UNIX-like platforms.
This includes both building and running Katie.
After building Katie on an installation of Fedora, DNF, the package manager, does not let me install the Katie RPM package due to "gnu-free-fonts" not being provided. Installing all of the "gnu-*-fonts" packages did not fix anything.
this will require a lot of internal changes to the text engine
There seem to be a regression of the events handling. The issue can be observed with Katana and the Plasma widget explorer - it cannot be closed from the "X" button. Most of the tests from Qt4 yield good results.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.