From: APTX Date: Sun, 18 Jan 2026 14:25:33 +0000 (+0900) Subject: Initial Qt6 port X-Git-Url: https://gitweb.tyo.aptx.org/?a=commitdiff_plain;h=babe7884597204e6cd7eb603f1cb315ebf90ed2b;p=localmylist.git Initial Qt6 port Most things should work, except for scripting. The new QJSEngine is severly limited compared to what existed in QtScript. runscript scripts will not work. A fix may happen in the future. --- diff --git a/CMakeLists.txt b/CMakeLists.txt index 22e47ee..f12f33b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,8 +3,6 @@ include(FeatureSummary) project(LocalMyList) -set(QT_MIN_VERSION "5.3.0") - option(WITH_ANIONI "Build anioni daemon" ON) add_feature_info(Anioni WITH_ANIONI "friendly LocalMyList daemon") @@ -22,6 +20,11 @@ add_feature_info(AniDBUdpClient WITH_ANIDBUDPCLIENT "required for adding and/or set(TOOL_PREFIX "lml-" CACHE STRING "Prefix for most tool executable names") +set(QT_PACKAGE "Qt6") +set(QtScript_COMPONENT "") + +set(QT_MIN_VERSION "6.10.0") +add_compile_definitions("QT_DISABLE_DEPRECATED_UP_TO=QT_VERSION_CHECK(6, 1, 0)") add_subdirectory(localmylist) diff --git a/anioni/CMakeLists.txt b/anioni/CMakeLists.txt index 46a4469..ae210f4 100644 --- a/anioni/CMakeLists.txt +++ b/anioni/CMakeLists.txt @@ -2,7 +2,7 @@ project(anioni) add_subdirectory("qtservice") -find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS +find_package(${QT_PACKAGE} ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS Core ) @@ -11,7 +11,7 @@ if (WITH_ANIDBUDPCLIENT) endif() set(anioni_LIBS - Qt5::Core + ${QT_PACKAGE}::Core LocalMyList::LocalMyList AniDBUdpClient::AniDBUdpClient qtservice diff --git a/anioni/qtservice/CMakeLists.txt b/anioni/qtservice/CMakeLists.txt index d36d170..8087dc8 100644 --- a/anioni/qtservice/CMakeLists.txt +++ b/anioni/qtservice/CMakeLists.txt @@ -3,18 +3,18 @@ set(CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE ON) project(qtservice) if(WIN32) - find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS + find_package(${QT_PACKAGE} ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS Core ) else() - find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS + find_package(${QT_PACKAGE} ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS Core Network ) endif() set(qtservice_LIBS - Qt5::Core + ${QT_PACKAGE}::Core ) set(qtservice_SOURCES @@ -41,7 +41,7 @@ else() ) set(qtservice_LIBS ${qtservice_LIBS} - Qt5::Network + ${QT_PACKAGE}::Network ) set(qtservice_HEADERS ${qtservice_HEADERS} diff --git a/anioni/qtservice/qtservice.cpp b/anioni/qtservice/qtservice.cpp index 3d24b1a..006cf39 100644 --- a/anioni/qtservice/qtservice.cpp +++ b/anioni/qtservice/qtservice.cpp @@ -644,7 +644,7 @@ QtServiceBase::QtServiceBase(int argc, char **argv, const QString &name) d_ptr = new QtServiceBasePrivate(nm); d_ptr->q_ptr = this; - d_ptr->serviceFlags = 0; + d_ptr->serviceFlags = ServiceFlag::Default; d_ptr->sysd = 0; for (int i = 0; i < argc; ++i) d_ptr->args.append(QString::fromLocal8Bit(argv[i])); diff --git a/anioni/qtservice/qtservice.h b/anioni/qtservice/qtservice.h index 01b00b4..2b191bb 100644 --- a/anioni/qtservice/qtservice.h +++ b/anioni/qtservice/qtservice.h @@ -58,7 +58,6 @@ # define QT_QTSERVICE_EXPORT #endif -class QStringList; class QtServiceControllerPrivate; class QT_QTSERVICE_EXPORT QtServiceController diff --git a/import-mylist/CMakeLists.txt b/import-mylist/CMakeLists.txt index 484f824..416a3ea 100644 --- a/import-mylist/CMakeLists.txt +++ b/import-mylist/CMakeLists.txt @@ -1,11 +1,11 @@ project(import-mylist) -find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS +find_package(${QT_PACKAGE} ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS Core ) set(import-mylist_LIBS - Qt5::Core + ${QT_PACKAGE}::Core LocalMyList::LocalMyList ) diff --git a/import-mylist/main.cpp b/import-mylist/main.cpp index 4af64c7..d016761 100644 --- a/import-mylist/main.cpp +++ b/import-mylist/main.cpp @@ -24,7 +24,8 @@ int main(int argc, char *argv[]) return 1; } - AbstractTask *t = LocalMyList::instance()->importMyList(a.arguments()[1]); + AbstractTask *t = + LocalMyList::instance()->importMyList(QFileInfo{a.arguments()[1]}); QObject::connect(t, SIGNAL(finished()), &a, SLOT(quit())); return a.exec(); diff --git a/import-titles/CMakeLists.txt b/import-titles/CMakeLists.txt index b0e6ebc..6f2dab1 100644 --- a/import-titles/CMakeLists.txt +++ b/import-titles/CMakeLists.txt @@ -1,11 +1,11 @@ project(import-titles) -find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS +find_package(${QT_PACKAGE} ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS Core ) set(import-titles_LIBS - Qt5::Core + ${QT_PACKAGE}::Core LocalMyList::LocalMyList ) diff --git a/import-titles/main.cpp b/import-titles/main.cpp index 99f856d..875f2ba 100644 --- a/import-titles/main.cpp +++ b/import-titles/main.cpp @@ -30,7 +30,7 @@ int main(int argc, char *argv[]) if (a.arguments().count() == 1) t = LocalMyList::instance()->importTitlesFromUrl(QUrl::fromUserInput(LocalMyList::instance()->settings()->get("anidbTitleUrl").toString())); else - t = LocalMyList::instance()->importTitles(a.arguments()[1]); + t = LocalMyList::instance()->importTitles(QFileInfo{a.arguments()[1]}); QObject::connect(t, SIGNAL(finished()), &a, SLOT(quit())); return a.exec(); diff --git a/localmylist-management/CMakeLists.txt b/localmylist-management/CMakeLists.txt index 03d9412..34e4f76 100644 --- a/localmylist-management/CMakeLists.txt +++ b/localmylist-management/CMakeLists.txt @@ -5,16 +5,16 @@ set(LocalMyList-management_VERSION "0.4.0") add_subdirectory("qtsingleapplication") -find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS +find_package(${QT_PACKAGE} ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS Core Gui Widgets ) set(LocalMyList-management_LIBS - Qt5::Core - Qt5::Gui - Qt5::Widgets + ${QT_PACKAGE}::Core + ${QT_PACKAGE}::Gui + ${QT_PACKAGE}::Widgets LocalMyList::LocalMyList qtsingleapplication ) diff --git a/localmylist-management/aniaddsyntaxhighlighter.cpp b/localmylist-management/aniaddsyntaxhighlighter.cpp index ff0b535..72f060c 100644 --- a/localmylist-management/aniaddsyntaxhighlighter.cpp +++ b/localmylist-management/aniaddsyntaxhighlighter.cpp @@ -29,22 +29,22 @@ AniAddSyntaxHighlighter::AniAddSyntaxHighlighter(QObject *parent) : number.setForeground( QColor(0xB0, 0x80, 0x00)); string.setForeground( QColor(0xBF, 0x03, 0x03)); operatorFormat.setForeground( Qt::black); - comment.setForeground( Qt::gray); + comment.setForeground(Qt::gray); comment.setFontItalic(true); outputVariable.setFontWeight(QFont::Black); - rule.pattern = QRegExp("0|[1-9][0-9]*"); + rule.pattern = QRegularExpression("0|[1-9][0-9]*"); rule.format = number; highlightingRules << rule; const QString name("[a-zA-Z][a-zA-Z0-9]*"); - rule.pattern = QRegExp(name); + rule.pattern = QRegularExpression(name); rule.format = variable; highlightingRules << rule; - rule.pattern = QRegExp("\\$\\s*" + name + "|" + name + "(?=\\s*\\([^)]*\\)\\s*:=)"); + rule.pattern = QRegularExpression("\\$\\s*" + name + "|" + name + "(?=\\s*\\([^)]*\\)\\s*:=)"); rule.format = function; highlightingRules << rule; @@ -54,61 +54,70 @@ AniAddSyntaxHighlighter::AniAddSyntaxHighlighter(QObject *parent) : LocalMyList::setupRenameEnv(r, env); const QStringList variables = env.keys(); - rule.pattern = QRegExp("\\b(?:" + variables.join(QChar('|')) + ")\\b"); + rule.pattern = QRegularExpression("\\b(?:" + variables.join(QChar('|')) + ")\\b"); rule.format = builtinVariable; highlightingRules.append(rule); } { QString outputVariables = "FileName|PathName|RenameAsVideoFile"; - rule.pattern = QRegExp("\\b(?:" + outputVariables + ")\\b"); + rule.pattern = QRegularExpression("\\b(?:" + outputVariables + ")\\b"); rule.format = outputVariable; highlightingRules << rule; } { const QStringList functions = RenameParser::RenameEngine::registeredFunctions(); - rule.pattern = QRegExp("\\$\\s*(?:" + functions.join(QChar('|')) + ")\\b"); + rule.pattern = QRegularExpression("\\$\\s*(?:" + functions.join(QChar('|')) + ")\\b"); rule.format = builtinFunction; highlightingRules << rule; } - rule.pattern = QRegExp(":?=|[:|?\\[\\]]"); + rule.pattern = QRegularExpression(":?=|[:|?\\[\\]]"); rule.format = operatorFormat; highlightingRules << rule; - rule.pattern = QRegExp("\"[^\"]*\"|'[^']*'"); + rule.pattern = QRegularExpression("\"[^\"]*\"|'[^']*'"); rule.format = string; highlightingRules << rule; - rule.pattern = QRegExp("^//.*$"); + rule.pattern = QRegularExpression("^//.*$"); rule.format = comment; highlightingRules << rule; - commentStartExpression = QRegExp("/\\*"); - commentEndExpression = QRegExp("\\*/"); + commentStartExpression = QRegularExpression("/\\*"); + commentEndExpression = QRegularExpression("\\*/"); } void AniAddSyntaxHighlighter::highlightBlock(const QString &text) { - for (const HighlightingRule &rule : highlightingRules) + for (const HighlightingRule &rule : std::as_const(highlightingRules)) { - QRegExp expression(rule.pattern); - int index = expression.indexIn(text); - while (index >= 0) { - int length = expression.matchedLength(); + QRegularExpression expression(rule.pattern); + auto match = expression.match(text); + int index = match.capturedStart(); + while (match.hasMatch()) + { + int length = match.capturedLength(); setFormat(index, length, rule.format); - index = expression.indexIn(text, index + length); + match = expression.match(text, index + length); + index = match.capturedStart(); } } setCurrentBlockState(0); + QRegularExpressionMatch match; + int startIndex = 0; if (previousBlockState() != 1) - startIndex = commentStartExpression.indexIn(text); + { + match = commentStartExpression.match(text); + startIndex = match.capturedStart(); + } while (startIndex >= 0) { - int endIndex = commentEndExpression.indexIn(text, startIndex); + match = commentEndExpression.match(text, startIndex); + int endIndex = match.capturedEnd(); int commentLength; if (endIndex == -1) { @@ -117,10 +126,10 @@ void AniAddSyntaxHighlighter::highlightBlock(const QString &text) } else { - commentLength = endIndex - startIndex - + commentEndExpression.matchedLength(); + commentLength = endIndex - startIndex + match.capturedLength(); } setFormat(startIndex, commentLength, comment); - startIndex = commentStartExpression.indexIn(text, startIndex + commentLength); + match = commentStartExpression.match(text, startIndex + commentLength); + startIndex = match.capturedStart(); } } diff --git a/localmylist-management/aniaddsyntaxhighlighter.h b/localmylist-management/aniaddsyntaxhighlighter.h index 7929e63..35be4fe 100644 --- a/localmylist-management/aniaddsyntaxhighlighter.h +++ b/localmylist-management/aniaddsyntaxhighlighter.h @@ -1,6 +1,7 @@ #ifndef ANIADDSYNTAXHIGHLIGHTER_H #define ANIADDSYNTAXHIGHLIGHTER_H +#include #include class AniAddSyntaxHighlighter : public QSyntaxHighlighter @@ -15,13 +16,13 @@ protected: private: struct HighlightingRule { - QRegExp pattern; + QRegularExpression pattern; QTextCharFormat format; }; QVector highlightingRules; - QRegExp commentStartExpression; - QRegExp commentEndExpression; + QRegularExpression commentStartExpression; + QRegularExpression commentEndExpression; QTextCharFormat builtinVariable; QTextCharFormat builtinFunction; diff --git a/localmylist-management/dynamicmodelfiltermodel.cpp b/localmylist-management/dynamicmodelfiltermodel.cpp index 54c198b..0647701 100644 --- a/localmylist-management/dynamicmodelfiltermodel.cpp +++ b/localmylist-management/dynamicmodelfiltermodel.cpp @@ -12,7 +12,8 @@ DynamicModelFilterModel::DynamicModelFilterModel(QObject *parent) : { setFilterCaseSensitivity(Qt::CaseInsensitive); - connect(LocalMyList::instance()->database(), SIGNAL(configChanged()), this, SLOT(configChanged())); + connect(LocalMyList::instance()->database(), SIGNAL(configChanged()), this, + SLOT(configChanged())); } LocalMyList::DynamicModel::Model *DynamicModelFilterModel::dynamicModel() const @@ -35,7 +36,8 @@ bool DynamicModelFilterModel::filterAcceptsRow(int source_row, const QModelIndex if (!source_parent.isValid()) { - return dynamicModel()->node(idx)->data()->matchesFilter(filterRegExp()); + return dynamicModel()->node(idx)->data()->matchesFilter( + filterRegularExpression()); } return true; diff --git a/localmylist-management/dynamicmodelfiltermodel.h b/localmylist-management/dynamicmodelfiltermodel.h index ceb23e0..07c7795 100644 --- a/localmylist-management/dynamicmodelfiltermodel.h +++ b/localmylist-management/dynamicmodelfiltermodel.h @@ -22,7 +22,7 @@ public slots: LocalMyList::DynamicModel::Node *node(const QModelIndex &idx) const; protected: - bool filterAcceptsRow(int source_row, const QModelIndex &source_parent) const; + bool filterAcceptsRow(int source_row, const QModelIndex &source_parent) const; }; #endif // DYNAMICMODELFILTERMODEL_H diff --git a/localmylist-management/dynamicmodelitemdelegate.cpp b/localmylist-management/dynamicmodelitemdelegate.cpp index 646d7d0..e474b7a 100644 --- a/localmylist-management/dynamicmodelitemdelegate.cpp +++ b/localmylist-management/dynamicmodelitemdelegate.cpp @@ -53,7 +53,8 @@ void DynamicModelItemDelegate::setModelData(QWidget *editor, QAbstractItemModel bool DynamicModelItemDelegate::isVoteField(const QModelIndex &index) const { using namespace LocalMyList; - const DynamicModelFilterModel *model = qobject_cast(index.model()); + const DynamicModelFilterModel *model = + qobject_cast(index.model()); const DynamicModel::Node *node = model->node(index); if (!node->data()) diff --git a/localmylist-management/filterlineedit.cpp b/localmylist-management/filterlineedit.cpp index 0445650..622cf64 100644 --- a/localmylist-management/filterlineedit.cpp +++ b/localmylist-management/filterlineedit.cpp @@ -11,11 +11,11 @@ void FilterLineEdit::keyPressEvent(QKeyEvent *e) { switch (e->key()) { - case Qt::Key_Up: - emit keyUpPressed(); + case Qt::Key_Up: + emit keyUpPressed(); break; - case Qt::Key_Down: - emit keyDownPressed(); + case Qt::Key_Down: + emit keyDownPressed(); break; } QLineEdit::keyPressEvent(e); diff --git a/localmylist-management/main.cpp b/localmylist-management/main.cpp index 15b7eee..ce95907 100644 --- a/localmylist-management/main.cpp +++ b/localmylist-management/main.cpp @@ -20,7 +20,7 @@ int main(int argc, char *argv[]) w.show(); if (a.arguments().count() >= 2) - LocalMyList::instance()->addFile(a.arguments()[1]); + LocalMyList::instance()->addFile(QFileInfo{a.arguments()[1]}); return a.exec(); } diff --git a/localmylist-management/mainwindow.cpp b/localmylist-management/mainwindow.cpp index cba3ffd..a02f21e 100644 --- a/localmylist-management/mainwindow.cpp +++ b/localmylist-management/mainwindow.cpp @@ -214,7 +214,7 @@ void MainWindow::on_actionImportMyList_triggered() QString file = QFileDialog::getOpenFileName(this, tr("Import MyList")); if (file.isEmpty()) return; - MyList::instance()->importMyList(file); + MyList::instance()->importMyList(QFileInfo{file}); } void MainWindow::on_actionImportTitles_triggered() @@ -222,7 +222,7 @@ void MainWindow::on_actionImportTitles_triggered() QString file = QFileDialog::getOpenFileName(this, tr("Import Titles")); if (file.isEmpty()) return; - MyList::instance()->importTitles(file); + MyList::instance()->importTitles(QFileInfo{file}); } void MainWindow::on_actionImportTitlesFromWeb_triggered() diff --git a/localmylist-management/mylistfiltermodel.cpp b/localmylist-management/mylistfiltermodel.cpp index 7c8d3a9..2d06b13 100644 --- a/localmylist-management/mylistfiltermodel.cpp +++ b/localmylist-management/mylistfiltermodel.cpp @@ -45,12 +45,13 @@ void MyListFilterModel::setHideEmptyAnime(bool hide) m_hideEmptyAnime = hide; + beginFilterChange(); if (LocalMyList::instance()->settings()->get("myListHideEmptyAnime", hide) != hide) { LocalMyList::instance()->settings()->set("myListHideEmptyAnime", hide); LocalMyList::instance()->settings()->commit(); } - invalidateFilter(); + endFilterChange(); emit hideEmptyAnimeChanged(hide); } @@ -61,12 +62,13 @@ void MyListFilterModel::setHideWatchedEpisodes(bool hideWatchedEpisodes) m_hideWatchedEpisodes = hideWatchedEpisodes; + beginFilterChange(); if (LocalMyList::instance()->settings()->get("myListHideWatchedEpisodes", hideWatchedEpisodes) != hideWatchedEpisodes) { LocalMyList::instance()->settings()->set("myListHideWatchedEpisodes", hideWatchedEpisodes); LocalMyList::instance()->settings()->commit(); } - invalidateFilter(); + endFilterChange(); emit hideWatchedEpisodesChanged(hideWatchedEpisodes); } @@ -100,7 +102,8 @@ bool MyListFilterModel::filterAcceptsRow(int source_row, const QModelIndex &sour } } - return sourceModel()->data(idx).toString().contains(filterRegExp()); + return sourceModel()->data(idx).toString().contains( + filterRegularExpression()); } else if (m_hideWatchedEpisodes) { diff --git a/localmylist-management/qtsingleapplication/CMakeLists.txt b/localmylist-management/qtsingleapplication/CMakeLists.txt index 30a3d46..6a3d177 100644 --- a/localmylist-management/qtsingleapplication/CMakeLists.txt +++ b/localmylist-management/qtsingleapplication/CMakeLists.txt @@ -1,16 +1,16 @@ set(CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE ON) project(qtsingleapplication) -find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS +find_package(${QT_PACKAGE} ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS Core Widgets Network ) set(qtsingleapplication_LIBS - Qt5::Core - Qt5::Widgets - Qt5::Network + ${QT_PACKAGE}::Core + ${QT_PACKAGE}::Widgets + ${QT_PACKAGE}::Network ) set(qtsingleapplication_SOURCES diff --git a/localmylist-management/qtsingleapplication/qtlocalpeer.cpp b/localmylist-management/qtsingleapplication/qtlocalpeer.cpp index 3580e2b..c81f2c6 100644 --- a/localmylist-management/qtsingleapplication/qtlocalpeer.cpp +++ b/localmylist-management/qtsingleapplication/qtlocalpeer.cpp @@ -37,11 +37,11 @@ ** ****************************************************************************/ - #include "qtlocalpeer.h" #include -#include #include +#include +#include #if defined(Q_OS_WIN) #include @@ -75,11 +75,12 @@ QtLocalPeer::QtLocalPeer(QObject* parent, const QString &appId) #endif prefix = id.section(QLatin1Char('/'), -1); } - prefix.remove(QRegExp("[^a-zA-Z]")); + static QRegularExpression rx("[^a-zA-Z]"); + prefix.remove(rx); prefix.truncate(6); QByteArray idc = id.toUtf8(); - quint16 idNum = qChecksum(idc.constData(), idc.size()); + quint16 idNum = qChecksum(idc); socketName = QLatin1String("qtsingleapp-") + prefix + QLatin1Char('-') + QString::number(idNum, 16); diff --git a/localmylist-management/share/localmylist-management.desktop b/localmylist-management/share/localmylist-management.desktop index 94729c3..f927273 100644 --- a/localmylist-management/share/localmylist-management.desktop +++ b/localmylist-management/share/localmylist-management.desktop @@ -1,9 +1,14 @@ [Desktop Entry] +Version=1.5 Type=Application Name=LocalMyList Management +GenericName=Media Database Comment=Manage your LocalMyList Icon=localmylist-management Exec=localmylist-management +TryExec=localmylist-management Categories=AudioVideo;Video;Database;Qt Terminal=false - +Keywords=Database;Video; +StartupWMClass=localmylist-management +SingleMainWindow=true diff --git a/localmylist-management/tabs/dynamicmodeltab.cpp b/localmylist-management/tabs/dynamicmodeltab.cpp index d9260e4..c7629e4 100644 --- a/localmylist-management/tabs/dynamicmodeltab.cpp +++ b/localmylist-management/tabs/dynamicmodeltab.cpp @@ -182,7 +182,7 @@ void DynamicModelTab::on_myListView_openFileRequested(const QModelIndex &index) return; } - QDesktopServices::openUrl(QUrl("file:///" + data.path, QUrl::TolerantMode)); + QDesktopServices::openUrl(QUrl::fromLocalFile(data.path)); mainWindow()->showMessage(tr("Openieng file: %1").arg(data.path)); } @@ -285,8 +285,8 @@ void DynamicModelTab::on_filterInput_textChanged(const QString &filter) dynamicModelFilterModel->setFilterWildcard(filter); break; case 2: - dynamicModelFilterModel->setFilterRegExp(filter); - break; + dynamicModelFilterModel->setFilterRegularExpression(filter); + break; case 0: default: dynamicModelFilterModel->setFilterFixedString(filter); diff --git a/localmylist-management/tabs/mylisttab.cpp b/localmylist-management/tabs/mylisttab.cpp index 8eacf11..fb29b02 100644 --- a/localmylist-management/tabs/mylisttab.cpp +++ b/localmylist-management/tabs/mylisttab.cpp @@ -233,8 +233,8 @@ void MyListTab::on_filterInput_textChanged(const QString &filter) myListFilterModel->setFilterWildcard(filter); break; case 2: - myListFilterModel->setFilterRegExp(filter); - break; + myListFilterModel->setFilterRegularExpression(filter); + break; case 0: default: myListFilterModel->setFilterFixedString(filter); diff --git a/localmylist-management/tabs/pendingrequesttab.cpp b/localmylist-management/tabs/pendingrequesttab.cpp index 5f60917..0de5bb6 100644 --- a/localmylist-management/tabs/pendingrequesttab.cpp +++ b/localmylist-management/tabs/pendingrequesttab.cpp @@ -81,7 +81,8 @@ void PendingRequestTab::resetFailCount() { LocalMyList::RaiiTransaction t(LocalMyList::instance()->database()); - for (const LocalMyList::PendingRequest &request : requests) + for (const LocalMyList::PendingRequest &request : + std::as_const(requests)) { LocalMyList::instance()->database()->resetPendingRequest(request); } @@ -95,7 +96,7 @@ QList PendingRequestTab::selectionToPendingRequestL QList ret; QModelIndexList selection = ui->view->selectionModel()->selectedRows(); - for (const QModelIndex &idx : selection) + for (const QModelIndex &idx : std::as_const(selection)) { LocalMyList::PendingRequest pr; pr.aid = idx.data().toInt(); diff --git a/localmylist-management/tabwidget.cpp b/localmylist-management/tabwidget.cpp index b8ddee3..df60c9d 100644 --- a/localmylist-management/tabwidget.cpp +++ b/localmylist-management/tabwidget.cpp @@ -35,9 +35,7 @@ void TabWidget::populateMenu(QMenu *menu) for (const QString &id : tabMenuOrder) { QAction *action = new QAction(registeredTabNames.value(id)(), menu); - connect(action, &QAction::triggered, [this, id] { - this->addTabRequested(id); - }); + connect(action, &QAction::triggered, [this, id] { this->addTabRequested(id); }); menu->addAction(action); } menu->addSeparator(); diff --git a/localmylist/CMakeLists.txt b/localmylist/CMakeLists.txt index 9f62d99..9cc9bcf 100644 --- a/localmylist/CMakeLists.txt +++ b/localmylist/CMakeLists.txt @@ -4,24 +4,29 @@ project(LocalMyList) set(LocalMyList_VERSION "0.4.0") -find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS + + +find_package(${QT_PACKAGE} ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS Core Sql - Script + Qml ) -find_package(Boost REQUIRED) +find_package(Boost CONFIG REQUIRED) set_package_properties(Boost PROPERTIES PURPOSE "Boost intrusive is used in dynamicmodel" ) +find_package(AucQJSEngineFunction CONFIG REQUIRED) + set(LocalMyList_PUBLIC_LIBS - Qt5::Core - Qt5::Sql + ${QT_PACKAGE}::Core + ${QT_PACKAGE}::Sql + ${QT_PACKAGE}::Qml ) set(LocalMyList_LIBS - Qt5::Script + AucQJSEngineFunction::AucQJSEngineFunction Boost::boost ) @@ -147,7 +152,7 @@ install(FILES ${LocalMyList_SHARE} DESTINATION share/LocalMyList ) -if(NOT AniDBUdpClient_WITH_RENAMEPARSER) +if(WITH_ANIDBUDPCLIENT AND NOT AniDBUdpClient_WITH_RENAMEPARSER) message(FATAL_ERROR "AniDBUdpClient must be compiled with WITH_RENAMEPARSER") endif() @@ -193,6 +198,7 @@ set_property(TARGET LocalMyList PROPERTY CXX_STANDARD 14) set_property(TARGET LocalMyList PROPERTY PUBLIC_HEADER ${LocalMyList_PUBLIC_HEADERS}) set_property(TARGET LocalMyList PROPERTY OUTPUT_NAME "localmylist") target_include_directories(LocalMyList INTERFACE $) +target_include_directories(LocalMyList INTERFACE $) target_link_libraries(LocalMyList PUBLIC ${LocalMyList_PUBLIC_LIBS} PRIVATE ${LocalMyList_LIBS}) diff --git a/localmylist/database.cpp b/localmylist/database.cpp index 6a93e80..0f8ce73 100644 --- a/localmylist/database.cpp +++ b/localmylist/database.cpp @@ -2,12 +2,13 @@ #include "mylist.h" -#include -#include +#include +#include #include -#include +#include +#include #include -#include +#include #include @@ -19,6 +20,7 @@ struct DatabaseInternal QSqlDatabase db; + // TODO rework this as QSqlQuery is going to be non-copyable QHash preparedQueries; int transactionLevel; @@ -2326,7 +2328,8 @@ void Database::handleNotification(const QString &name) } else if (name == "episode_update") { - QStringList ids = payload.toString().split(QChar(','), QString::SkipEmptyParts); + QStringList ids = + payload.toString().split(QChar(','), Qt::SkipEmptyParts); int eid = 0; int aid = 0; if (ids.count()) @@ -2339,7 +2342,8 @@ void Database::handleNotification(const QString &name) } else if (name == "file_update") { - QStringList ids = payload.toString().split(QChar(','), QString::SkipEmptyParts); + QStringList ids = + payload.toString().split(QChar(','), Qt::SkipEmptyParts); int fid = 0; int eid = 0; int aid = 0; @@ -2356,7 +2360,8 @@ void Database::handleNotification(const QString &name) } else if (name == "file_location_update") { - QStringList ids = payload.toString().split(QChar(','), QString::SkipEmptyParts); + QStringList ids = + payload.toString().split(QChar(','), Qt::SkipEmptyParts); int locationId = 0; int fid = 0; @@ -2376,7 +2381,8 @@ void Database::handleNotification(const QString &name) } else if (name == "episode_insert") { - QStringList ids = payload.toString().split(QChar(','), QString::SkipEmptyParts); + QStringList ids = + payload.toString().split(QChar(','), Qt::SkipEmptyParts); int eid = 0; int aid = 0; if (ids.count()) @@ -2389,7 +2395,8 @@ void Database::handleNotification(const QString &name) } else if (name == "file_insert") { - QStringList ids = payload.toString().split(QChar(','), QString::SkipEmptyParts); + QStringList ids = + payload.toString().split(QChar(','), Qt::SkipEmptyParts); int fid = 0; int eid = 0; int aid = 0; @@ -2406,7 +2413,8 @@ void Database::handleNotification(const QString &name) } else if (name == "file_location_insert") { - QStringList ids = payload.toString().split(QChar(','), QString::SkipEmptyParts); + QStringList ids = + payload.toString().split(QChar(','), Qt::SkipEmptyParts); int locationId = 0; int fid = 0; @@ -2426,7 +2434,8 @@ void Database::handleNotification(const QString &name) } else if (name == "episode_delete") { - QStringList ids = payload.toString().split(QChar(','), QString::SkipEmptyParts); + QStringList ids = + payload.toString().split(QChar(','), Qt::SkipEmptyParts); int eid = 0; int aid = 0; if (ids.count()) @@ -2439,7 +2448,8 @@ void Database::handleNotification(const QString &name) } else if (name == "file_delete") { - QStringList ids = payload.toString().split(QChar(','), QString::SkipEmptyParts); + QStringList ids = + payload.toString().split(QChar(','), Qt::SkipEmptyParts); int fid = 0; int eid = 0; int aid = 0; @@ -2456,7 +2466,8 @@ void Database::handleNotification(const QString &name) } else if (name == "file_location_delete") { - QStringList ids = payload.toString().split(QChar(','), QString::SkipEmptyParts); + QStringList ids = + payload.toString().split(QChar(','), Qt::SkipEmptyParts); int locationId = 0; int fid = 0; @@ -2523,7 +2534,7 @@ QString toSearchQuery(const QString &string) { const static QChar anyChar = QChar('%'); QString ret = string.trimmed(); - ret.replace(QRegExp("\\s+"), anyChar); + ret.replace(QRegularExpression("\\s+"), anyChar); ret = ret.append(anyChar).prepend(anyChar); return ret; } diff --git a/localmylist/directoryscantask.cpp b/localmylist/directoryscantask.cpp index d4e681c..2559dff 100644 --- a/localmylist/directoryscantask.cpp +++ b/localmylist/directoryscantask.cpp @@ -61,7 +61,9 @@ void DirectoryScanTask::workUnit() int startIndex = stack.top().second; stack.pop(); - QStringList filters = settings->get("fileFilters").toString().split(QChar(' '), QString::SkipEmptyParts); + QStringList filters = settings->get("fileFilters") + .toString() + .split(QChar(' '), Qt::SkipEmptyParts); QFileInfoList entries = currentDir.entryInfoList(filters, QDir::NoDotAndDotDot | QDir::AllDirs | QDir::Files); diff --git a/localmylist/directorywatcher.cpp b/localmylist/directorywatcher.cpp index d7a03ca..cc7b31a 100644 --- a/localmylist/directorywatcher.cpp +++ b/localmylist/directorywatcher.cpp @@ -46,10 +46,13 @@ void DirectoryWatcher::watchedDirectoryChanged(const QString &path) { QDir dir(path); - QStringList filters = settings->get("fileFilters").toString().split(QChar(' '), QString::SkipEmptyParts); + QStringList filters = settings->get("fileFilters") + .toString() + .split(QChar(' '), Qt::SkipEmptyParts); QStringList currentEntries = dir.entryList(filters, QDir::Files); - QSet currentSet = currentEntries.toSet(); + QSet currentSet{currentEntries.constBegin(), + currentEntries.constEnd()}; QSet oldEntries = previousEntries.value(path); QSet newEntries = currentSet - oldEntries; diff --git a/localmylist/dynamicmodel/data.cpp b/localmylist/dynamicmodel/data.cpp index b86cbb9..455a860 100644 --- a/localmylist/dynamicmodel/data.cpp +++ b/localmylist/dynamicmodel/data.cpp @@ -11,18 +11,17 @@ namespace DynamicModel { QString stateIdToState(int id) { - switch (id) - { - case -1: - return QObject::tr("Mixed"); - case 0: - return QObject::tr("Unknown"); - case 1: - return QObject::tr("On HDD"); - case 2: - return QObject::tr("On Cd"); - case 3: - return QObject::tr("Deleted"); + switch (id) { + case -1: + return QObject::tr("Mixed"); + case 0: + return QObject::tr("Unknown"); + case 1: + return QObject::tr("On HDD"); + case 2: + return QObject::tr("On Cd"); + case 3: + return QObject::tr("Deleted"); } return QString(); } @@ -62,7 +61,7 @@ Qt::ItemFlags Data::flags(int column) const return Qt::ItemIsEnabled | Qt::ItemIsSelectable; } -bool Data::matchesFilter(const QRegExp &filter) const +bool Data::matchesFilter(const QRegularExpression &filter) const { return data(0, Qt::DisplayRole).toString().contains(filter); } @@ -264,7 +263,7 @@ bool AnimeData::setData(int column, const QVariant &data, int role) return false; } -bool AnimeData::matchesFilter(const QRegExp &filter) const +bool AnimeData::matchesFilter(const QRegularExpression &filter) const { if (Data::matchesFilter(filter)) return true; diff --git a/localmylist/dynamicmodel/data.h b/localmylist/dynamicmodel/data.h index 899daf6..1956386 100644 --- a/localmylist/dynamicmodel/data.h +++ b/localmylist/dynamicmodel/data.h @@ -4,6 +4,7 @@ #include "../localmylist_global.h" #include +#include #include #include "../databaseclasses.h" @@ -26,7 +27,7 @@ public: virtual Qt::ItemFlags flags(int column) const; virtual QVariant data(int column, int role) const; virtual bool setData(int column, const QVariant &data, int role); - virtual bool matchesFilter(const QRegExp &filter) const; + virtual bool matchesFilter(const QRegularExpression &filter) const; virtual bool isVoteColumn(int column) const; @@ -76,7 +77,7 @@ public: virtual Qt::ItemFlags flags(int column) const override; QVariant data(int column, int role) const override; bool setData(int column, const QVariant &data, int role) override; - bool matchesFilter(const QRegExp &filter) const override; + bool matchesFilter(const QRegularExpression &filter) const override; bool isVoteColumn(int column) const override; diff --git a/localmylist/dynamicmodel/datatype.cpp b/localmylist/dynamicmodel/datatype.cpp index 3b1563d..1bc2252 100644 --- a/localmylist/dynamicmodel/datatype.cpp +++ b/localmylist/dynamicmodel/datatype.cpp @@ -129,17 +129,12 @@ NodeCompare DataType::nodeCompareFunction() const { return [](Node *a, Node *b) { -#if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0) - return a->data()->primaryValue() < b->data()->primaryValue(); -#else - // No easy way to compare QVariants without all the stuff added in Qt5 - if (a->data()->primaryValue().canConvert(QVariant::Int)) + if (a->data()->primaryValue().canConvert()) { return a->data()->primaryValue().toInt() < b->data()->primaryValue().toInt(); } return a->data()->primaryValue().toString() < b->data()->primaryValue().toString(); -#endif }; } diff --git a/localmylist/dynamicmodel/model.cpp b/localmylist/dynamicmodel/model.cpp index 636bd5e..0fe56f3 100644 --- a/localmylist/dynamicmodel/model.cpp +++ b/localmylist/dynamicmodel/model.cpp @@ -64,7 +64,7 @@ QVariant Model::headerData(int section, Qt::Orientation orientation, int role) c Qt::ItemFlags Model::flags(const QModelIndex &index) const { if (!index.isValid()) - return 0; + return Qt::NoItemFlags; Node *node = static_cast(index.internalPointer()); if (!node->data()) diff --git a/localmylist/dynamicmodel/queryparser.cpp b/localmylist/dynamicmodel/queryparser.cpp index 50f008d..d948c17 100644 --- a/localmylist/dynamicmodel/queryparser.cpp +++ b/localmylist/dynamicmodel/queryparser.cpp @@ -136,7 +136,7 @@ bool QueryParser::parse(const QString &rawPath) m_errorString = QString{}; m_queryString = rawPath; - QStringList parts = m_queryString.split(QChar('/'), QString::SkipEmptyParts); + QStringList parts = m_queryString.split(QChar('/'), Qt::SkipEmptyParts); qDebug() << "parse " << parts; if (!parts.length()) @@ -353,14 +353,18 @@ void QueryParser::bindValue(QSqlQuery &query, Data *data, int currentLevel) cons if (!data) return; qDebug() << "binding" << data->primaryValue() << "on level" << currentLevel; - QRegExp rx(QString(":level_%1_value_([0-9]+)").arg(currentLevel)); + QRegularExpression rx(QString(":level_%1_value_([0-9]+)").arg(currentLevel)); const QString sqlQuery = query.lastQuery(); int pos = 0; - while ((pos = rx.indexIn(sqlQuery, pos)) != -1) + + for (auto match = rx.match(sqlQuery, pos); match.hasMatch(); + match = rx.match(sqlQuery, pos)) { - qDebug() << "WWWWW0" << placeHolder(currentLevel, rx.cap(1).toInt()); - query.bindValue(placeHolder(currentLevel, rx.cap(1).toInt()), data->primaryValue()); - pos += rx.matchedLength(); + qDebug() << "WWWWW0" + << placeHolder(currentLevel, match.captured(1).toInt()); + query.bindValue(placeHolder(currentLevel, match.captured(1).toInt()), + data->primaryValue()); + pos += match.capturedLength(); } } diff --git a/localmylist/mylist.h b/localmylist/mylist.h index 9fa1a54..1641b44 100644 --- a/localmylist/mylist.h +++ b/localmylist/mylist.h @@ -1,10 +1,12 @@ #ifndef LOCALMYLIST_H #define LOCALMYLIST_H -#include "localmylist_global.h" #include "database.h" -#include +#include "localmylist_global.h" +#include "servicemanager.h" +#include "settings.h" +#include #include #include #include @@ -13,10 +15,8 @@ namespace LocalMyList { -class Settings; class AbstractTask; class WorkThread; -class ServiceManager; class RequestHandler; class RenameHandler; class DirectoryWatcher; diff --git a/localmylist/mylistexportparsetask.cpp b/localmylist/mylistexportparsetask.cpp index 296e829..c27fcb4 100644 --- a/localmylist/mylistexportparsetask.cpp +++ b/localmylist/mylistexportparsetask.cpp @@ -171,7 +171,8 @@ void MyListExportParseTask::readAnime() a.aid = readElementText().toInt(); } else if (name() == "Update") { - a.anidbUpdate = QDateTime::fromTime_t(readElementText().toInt()); + a.anidbUpdate = QDateTime::fromSecsSinceEpoch( + readElementText().toInt(), QTimeZone::UTC); } else if (name() == "Name") { a.titleRomaji = readElementText(); diff --git a/localmylist/mylistmodel.cpp b/localmylist/mylistmodel.cpp index 16d274e..2b7edeb 100644 --- a/localmylist/mylistmodel.cpp +++ b/localmylist/mylistmodel.cpp @@ -196,7 +196,7 @@ QVariant MyListModel::headerData(int section, Qt::Orientation orientation, int r Qt::ItemFlags MyListModel::flags(const QModelIndex &index) const { if (!index.isValid()) - return 0; + return Qt::NoItemFlags; MyListNode *item = static_cast(index.internalPointer()); diff --git a/localmylist/raiimylist.h b/localmylist/raiimylist.h index 1e42a61..c1de1eb 100644 --- a/localmylist/raiimylist.h +++ b/localmylist/raiimylist.h @@ -33,7 +33,7 @@ class LOCALMYLISTSHARED_EXPORT RaiiMyList private: QMutex mutex; - QMutexLocker locker; + QMutexLocker locker; bool ok; bool m_connected; }; diff --git a/localmylist/renamehandler.cpp b/localmylist/renamehandler.cpp index 295b491..66029c4 100644 --- a/localmylist/renamehandler.cpp +++ b/localmylist/renamehandler.cpp @@ -1,12 +1,13 @@ #include "renamehandler.h" -#include "mylist.h" #include "database.h" -#include "settings.h" +#include "mylist.h" #include "renameutils.h" -#include +#include "settings.h" +#include #include #include +#include #include @@ -124,7 +125,7 @@ void RenameHandler::handleRename() QString newFileName = (useVideoFileEnv ? videoFileEnv : env).value("FileName", "") + "." + r.value("extension").toString(); QString newFilePath = (useVideoFileEnv ? videoFileEnv : env).value("PathName", ""); - QRegExp rx(settings->get("renameSanitizeRegex", QString("[/\\:*\"?<>|\\r\\n]"))); + QRegularExpression rx(settings->get("renameSanitizeRegex", QString("[/\\:*\"?<>|\\r\\n]"))); newFileName = newFileName.replace(rx, ""); if (newFilePath.isEmpty()) diff --git a/localmylist/reportengine.cpp b/localmylist/reportengine.cpp index eecfeb2..e2876ca 100644 --- a/localmylist/reportengine.cpp +++ b/localmylist/reportengine.cpp @@ -1,9 +1,9 @@ #include "reportengine.h" -#include -#include #include "database.h" #include "scriptablesql.h" +#include +#include #include @@ -12,7 +12,7 @@ namespace LocalMyList { ReportEngine::ReportEngine(QObject *parent) : QObject(parent) { - m_engine = new QScriptEngine(this); + m_engine = new QJSEngine(this); registerSqlTypes(m_engine); } @@ -23,10 +23,7 @@ QSqlQuery ReportEngine::query() const return q; } -QScriptEngine *ReportEngine::engine() const -{ - return m_engine; -} +QJSEngine *ReportEngine::engine() const { return m_engine; } void ReportEngine::run(const Report &report) { @@ -36,8 +33,8 @@ void ReportEngine::run(const Report &report) void ReportEngine::run(const QString &report) { m_engine->evaluate(report); - if (m_engine->hasUncaughtException()) - qDebug() << m_engine->uncaughtException().toString(); + if (m_engine->hasError()) + qDebug() << m_engine->catchError().toString(); } } // namespace LocalMyList diff --git a/localmylist/reportengine.h b/localmylist/reportengine.h index 79f55c3..639b8ec 100644 --- a/localmylist/reportengine.h +++ b/localmylist/reportengine.h @@ -4,10 +4,9 @@ #include "localmylist_global.h" #include +#include #include -class QScriptEngine; - namespace LocalMyList { struct Report; @@ -16,13 +15,13 @@ class LOCALMYLISTSHARED_EXPORT ReportEngine : public QObject { Q_OBJECT Q_PROPERTY(QSqlQuery query READ query) - Q_PROPERTY(QScriptEngine *engine READ engine) + Q_PROPERTY(QJSEngine *engine READ engine) public: explicit ReportEngine(QObject *parent = 0); QSqlQuery query() const; - QScriptEngine *engine() const; + QJSEngine *engine() const; signals: public slots: @@ -30,7 +29,7 @@ public slots: void run(const QString &report); private: - QScriptEngine *m_engine; + QJSEngine *m_engine; }; } // namespace LocalMyList diff --git a/localmylist/requesthandler.cpp b/localmylist/requesthandler.cpp index 62f151a..dc79c1b 100644 --- a/localmylist/requesthandler.cpp +++ b/localmylist/requesthandler.cpp @@ -631,7 +631,7 @@ void RequestHandler::myListAddReplyComplete(bool success) f.myWatched = QDateTime::currentDateTime(); f.myState = reply->command().state(); - f.mySource = reply->command().state(); + f.mySource = reply->command().source(); f.myStorage = reply->command().storage(); f.myOther = reply->command().other(); db->setFile(f); diff --git a/localmylist/scriptable.cpp b/localmylist/scriptable.cpp index c33823c..746e625 100644 --- a/localmylist/scriptable.cpp +++ b/localmylist/scriptable.cpp @@ -1,102 +1,35 @@ #include "scriptable.h" -#include "mylist.h" -#include "database.h" -#include "settings.h" +#include namespace LocalMyList { -void registerTypes(QScriptEngine *engine) -{ - qScriptRegisterMetaType(engine, Scriptable::toScriptValue, Scriptable::fromScriptValue); - qScriptRegisterMetaType(engine, Scriptable::toScriptValue, Scriptable::fromScriptValue); - qScriptRegisterMetaType(engine, Scriptable::toScriptValue, Scriptable::fromScriptValue); - - engine->globalObject().setProperty("toSearchQuery", engine->newFunction(Scriptable::toSearchQuery)); - - Scriptable::AnimeTitle *AnimeTitlePrototype = new Scriptable::AnimeTitle(); - engine->setDefaultPrototype(qMetaTypeId(), engine->newQObject(AnimeTitlePrototype)); - engine->setDefaultPrototype(qMetaTypeId(), engine->newQObject(AnimeTitlePrototype)); - qScriptRegisterSequenceMetaType >(engine); - qScriptRegisterSequenceMetaType >(engine); - Scriptable::Anime *AnimePrototype = new Scriptable::Anime(); - engine->setDefaultPrototype(qMetaTypeId(), engine->newQObject(AnimePrototype)); - engine->setDefaultPrototype(qMetaTypeId(), engine->newQObject(AnimePrototype)); - qScriptRegisterSequenceMetaType >(engine); - qScriptRegisterSequenceMetaType >(engine); - engine->globalObject().setProperty("Anime", engine->newFunction(Scriptable::Anime_ctor)); - Scriptable::Episode *EpisodePrototype = new Scriptable::Episode(); - engine->setDefaultPrototype(qMetaTypeId(), engine->newQObject(EpisodePrototype)); - engine->setDefaultPrototype(qMetaTypeId(), engine->newQObject(EpisodePrototype)); - qScriptRegisterSequenceMetaType >(engine); - qScriptRegisterSequenceMetaType >(engine); - engine->globalObject().setProperty("Episode", engine->newFunction(Scriptable::Episode_ctor)); - Scriptable::File *FilePrototype = new Scriptable::File(); - engine->setDefaultPrototype(qMetaTypeId(), engine->newQObject(FilePrototype)); - engine->setDefaultPrototype(qMetaTypeId(), engine->newQObject(FilePrototype)); - qScriptRegisterSequenceMetaType >(engine); - qScriptRegisterSequenceMetaType >(engine); - engine->globalObject().setProperty("File", engine->newFunction(Scriptable::File_ctor)); - Scriptable::FileLocation *FileLocationPrototype = new Scriptable::FileLocation(); - engine->setDefaultPrototype(qMetaTypeId(), engine->newQObject(FileLocationPrototype)); - engine->setDefaultPrototype(qMetaTypeId(), engine->newQObject(FileLocationPrototype)); - qScriptRegisterSequenceMetaType >(engine); - qScriptRegisterSequenceMetaType >(engine); - engine->globalObject().setProperty("FileLocation", engine->newFunction(Scriptable::FileLocation_ctor)); - Scriptable::UnknownFile *UnknownFilePrototype = new Scriptable::UnknownFile(); - engine->setDefaultPrototype(qMetaTypeId(), engine->newQObject(UnknownFilePrototype)); - engine->setDefaultPrototype(qMetaTypeId(), engine->newQObject(UnknownFilePrototype)); - qScriptRegisterSequenceMetaType >(engine); - qScriptRegisterSequenceMetaType >(engine); - engine->globalObject().setProperty("UnknownFile", engine->newFunction(Scriptable::UnknownFile_ctor)); - Scriptable::FileEpisodeRel *FileEpisodeRelPrototype = new Scriptable::FileEpisodeRel(); - engine->setDefaultPrototype(qMetaTypeId(), engine->newQObject(FileEpisodeRelPrototype)); - engine->setDefaultPrototype(qMetaTypeId(), engine->newQObject(FileEpisodeRelPrototype)); - qScriptRegisterSequenceMetaType >(engine); - qScriptRegisterSequenceMetaType >(engine); - engine->globalObject().setProperty("FileEpisodeRel", engine->newFunction(Scriptable::FileEpisodeRel_ctor)); - Scriptable::PendingRequest *PendingRequestPrototype = new Scriptable::PendingRequest(); - engine->setDefaultPrototype(qMetaTypeId(), engine->newQObject(PendingRequestPrototype)); - engine->setDefaultPrototype(qMetaTypeId(), engine->newQObject(PendingRequestPrototype)); - qScriptRegisterSequenceMetaType >(engine); - qScriptRegisterSequenceMetaType >(engine); - engine->globalObject().setProperty("PendingRequest", engine->newFunction(Scriptable::PendingRequest_ctor)); - Scriptable::PendingMyListUpdate *PendingMyListUpdatePrototype = new Scriptable::PendingMyListUpdate(); - engine->setDefaultPrototype(qMetaTypeId(), engine->newQObject(PendingMyListUpdatePrototype)); - engine->setDefaultPrototype(qMetaTypeId(), engine->newQObject(PendingMyListUpdatePrototype)); - qScriptRegisterSequenceMetaType >(engine); - qScriptRegisterSequenceMetaType >(engine); - engine->globalObject().setProperty("PendingMyListUpdate", engine->newFunction(Scriptable::PendingMyListUpdate_ctor)); - Scriptable::HostInfo *HostInfoPrototype = new Scriptable::HostInfo(); - engine->setDefaultPrototype(qMetaTypeId(), engine->newQObject(HostInfoPrototype)); - engine->setDefaultPrototype(qMetaTypeId(), engine->newQObject(HostInfoPrototype)); - qScriptRegisterSequenceMetaType >(engine); - qScriptRegisterSequenceMetaType >(engine); - engine->globalObject().setProperty("HostInfo", engine->newFunction(Scriptable::HostInfo_ctor)); - Scriptable::OpenFileData *OpenFileDataPrototype = new Scriptable::OpenFileData(); - engine->setDefaultPrototype(qMetaTypeId(), engine->newQObject(OpenFileDataPrototype)); - engine->setDefaultPrototype(qMetaTypeId(), engine->newQObject(OpenFileDataPrototype)); - qScriptRegisterSequenceMetaType >(engine); - qScriptRegisterSequenceMetaType >(engine); - engine->globalObject().setProperty("OpenFileData", engine->newFunction(Scriptable::OpenFileData_ctor)); - Scriptable::DatabaseConnectionSettings *DatabaseConnectionSettingsPrototype = new Scriptable::DatabaseConnectionSettings(); - engine->setDefaultPrototype(qMetaTypeId(), engine->newQObject(DatabaseConnectionSettingsPrototype)); - engine->setDefaultPrototype(qMetaTypeId(), engine->newQObject(DatabaseConnectionSettingsPrototype)); - qScriptRegisterSequenceMetaType >(engine); - qScriptRegisterSequenceMetaType >(engine); - engine->globalObject().setProperty("DatabaseConnectionSettings", engine->newFunction(Scriptable::DatabaseConnectionSettings_ctor)); +void registerTypes(QJSEngine *engine) +{ + engine->globalObject().setProperty( + "MyList", engine->newQObject(LocalMyList::instance())); + engine->globalObject().setProperty( + "Database", engine->newQObject(LocalMyList::instance()->database())); + engine->globalObject().setProperty( + "Settings", engine->newQObject(LocalMyList::instance()->settings())); + + engine->newQMetaObject(); + engine->newQMetaObject(); + engine->newQMetaObject(); + engine->newQMetaObject(); + engine->newQMetaObject(); + engine->newQMetaObject(); + engine->newQMetaObject(); + engine->newQMetaObject(); + engine->newQMetaObject(); + engine->newQMetaObject(); + engine->newQMetaObject(); + engine->newQMetaObject(); } namespace Scriptable { -::LocalMyList::AnimeTitle *AnimeTitle::thisObj() const -{ - return qscriptvalue_cast< ::LocalMyList::AnimeTitle*>(thisObject()); -} - -AnimeTitle::AnimeTitle(QObject *parent) : QObject(parent), QScriptable() -{ -} +AnimeTitle::AnimeTitle(QObject *parent) : QObject(parent) {} QString titleTypeToString(int titleType) { @@ -123,14 +56,7 @@ QString AnimeTitle::toString() const // -------------------------------------------------------------------------------- -::LocalMyList::Anime *Anime::thisObj() const -{ - return qscriptvalue_cast< ::LocalMyList::Anime*>(thisObject()); -} - -Anime::Anime(QObject *parent) : QObject(parent), QScriptable() -{ -} +Anime::Anime(QObject *parent) : QObject(parent) {} QString Anime::toString() const { @@ -139,14 +65,7 @@ QString Anime::toString() const // -------------------------------------------------------------------------------- -::LocalMyList::Episode *Episode::thisObj() const -{ - return qscriptvalue_cast< ::LocalMyList::Episode*>(thisObject()); -} - -Episode::Episode(QObject *parent) : QObject(parent), QScriptable() -{ -} +Episode::Episode(QObject *parent) : QObject(parent) {} QString Episode::toString() const { @@ -155,14 +74,7 @@ QString Episode::toString() const // -------------------------------------------------------------------------------- -::LocalMyList::File *File::thisObj() const -{ - return qscriptvalue_cast< ::LocalMyList::File*>(thisObject()); -} - -File::File(QObject *parent) : QObject(parent), QScriptable() -{ -} +File::File(QObject *parent) : QObject(parent) {} QString File::toString() const { @@ -171,14 +83,7 @@ QString File::toString() const // -------------------------------------------------------------------------------- -::LocalMyList::FileLocation *FileLocation::thisObj() const -{ - return qscriptvalue_cast< ::LocalMyList::FileLocation*>(thisObject()); -} - -FileLocation::FileLocation(QObject *parent) : QObject(parent), QScriptable() -{ -} +FileLocation::FileLocation(QObject *parent) : QObject(parent) {} QString FileLocation::toString() const { @@ -187,14 +92,7 @@ QString FileLocation::toString() const // -------------------------------------------------------------------------------- -::LocalMyList::UnknownFile *UnknownFile::thisObj() const -{ - return qscriptvalue_cast< ::LocalMyList::UnknownFile*>(thisObject()); -} - -UnknownFile::UnknownFile(QObject *parent) : QObject(parent), QScriptable() -{ -} +UnknownFile::UnknownFile(QObject *parent) : QObject(parent) {} QString UnknownFile::toString() const { @@ -203,14 +101,7 @@ QString UnknownFile::toString() const // -------------------------------------------------------------------------------- -::LocalMyList::FileEpisodeRel *FileEpisodeRel::thisObj() const -{ - return qscriptvalue_cast< ::LocalMyList::FileEpisodeRel*>(thisObject()); -} - -FileEpisodeRel::FileEpisodeRel(QObject *parent) : QObject(parent), QScriptable() -{ -} +FileEpisodeRel::FileEpisodeRel(QObject *parent) : QObject(parent) {} QString FileEpisodeRel::toString() const { @@ -219,14 +110,7 @@ QString FileEpisodeRel::toString() const // -------------------------------------------------------------------------------- -::LocalMyList::PendingRequest *PendingRequest::thisObj() const -{ - return qscriptvalue_cast< ::LocalMyList::PendingRequest*>(thisObject()); -} - -PendingRequest::PendingRequest(QObject *parent) : QObject(parent), QScriptable() -{ -} +PendingRequest::PendingRequest(QObject *parent) : QObject(parent) {} QString PendingRequest::toString() const { @@ -235,14 +119,7 @@ QString PendingRequest::toString() const // -------------------------------------------------------------------------------- -::LocalMyList::PendingMyListUpdate *PendingMyListUpdate::thisObj() const -{ - return qscriptvalue_cast< ::LocalMyList::PendingMyListUpdate*>(thisObject()); -} - -PendingMyListUpdate::PendingMyListUpdate(QObject *parent) : QObject(parent), QScriptable() -{ -} +PendingMyListUpdate::PendingMyListUpdate(QObject *parent) : QObject(parent) {} QString PendingMyListUpdate::toString() const { @@ -251,14 +128,7 @@ QString PendingMyListUpdate::toString() const // -------------------------------------------------------------------------------- -::LocalMyList::HostInfo *HostInfo::thisObj() const -{ - return qscriptvalue_cast< ::LocalMyList::HostInfo*>(thisObject()); -} - -HostInfo::HostInfo(QObject *parent) : QObject(parent), QScriptable() -{ -} +HostInfo::HostInfo(QObject *parent) : QObject(parent) {} QString HostInfo::toString() const { @@ -267,14 +137,7 @@ QString HostInfo::toString() const // -------------------------------------------------------------------------------- -::LocalMyList::OpenFileData *OpenFileData::thisObj() const -{ - return qscriptvalue_cast< ::LocalMyList::OpenFileData*>(thisObject()); -} - -OpenFileData::OpenFileData(QObject *parent) : QObject(parent), QScriptable() -{ -} +OpenFileData::OpenFileData(QObject *parent) : QObject(parent) {} QString OpenFileData::toString() const { @@ -283,12 +146,8 @@ QString OpenFileData::toString() const // -------------------------------------------------------------------------------- -::LocalMyList::DatabaseConnectionSettings *DatabaseConnectionSettings::thisObj() const -{ - return qscriptvalue_cast< ::LocalMyList::DatabaseConnectionSettings*>(thisObject()); -} - -DatabaseConnectionSettings::DatabaseConnectionSettings(QObject *parent) : QObject(parent), QScriptable() +DatabaseConnectionSettings::DatabaseConnectionSettings(QObject *parent) + : QObject(parent) { } @@ -301,1896 +160,556 @@ QString DatabaseConnectionSettings::toString() const // Generated // -------------------------------------------------------------------------------- -int AnimeTitle::read_aid() const -{ - auto o = thisObj(); - if (!o) return int(); - return o->aid; -} +int AnimeTitle::read_aid() const { return aid; } -void AnimeTitle::write_aid(int val) -{ - auto o = thisObj(); - if (!o) return; - o->aid = val; -} +void AnimeTitle::write_aid(int val) { aid = val; } -int AnimeTitle::read_type() const -{ - auto o = thisObj(); - if (!o) return int(); - return int(o->type); -} +int AnimeTitle::read_type() const { return int(type); } void AnimeTitle::write_type(int val) { - auto o = thisObj(); - if (!o) return; - o->type = ::LocalMyList::AnimeTitle::TitleType(val); + type = ::LocalMyList::AnimeTitle::TitleType(val); } -QString AnimeTitle::read_language() const -{ - auto o = thisObj(); - if (!o) return QString(); - return o->language; -} +QString AnimeTitle::read_language() const { return language; } -void AnimeTitle::write_language(QString val) -{ - auto o = thisObj(); - if (!o) return; - o->language = val; -} +void AnimeTitle::write_language(QString val) { language = val; } -QString AnimeTitle::read_title() const -{ - auto o = thisObj(); - if (!o) return QString(); - return o->title; -} +QString AnimeTitle::read_title() const { return title; } -void AnimeTitle::write_title(QString val) -{ - auto o = thisObj(); - if (!o) return; - o->title = val; -} +void AnimeTitle::write_title(QString val) { title = val; } // -------------------------------------------------------------------------------- -int Anime::read_aid() const -{ - auto o = thisObj(); - if (!o) return int(); - return o->aid; -} +int Anime::read_aid() const { return aid; } -void Anime::write_aid(int val) -{ - auto o = thisObj(); - if (!o) return; - o->aid = val; -} +void Anime::write_aid(int val) { aid = val; } -QDateTime Anime::read_entryAdded() const -{ - auto o = thisObj(); - if (!o) return QDateTime(); - return o->entryAdded; -} +QDateTime Anime::read_entryAdded() const { return entryAdded; } -void Anime::write_entryAdded(QDateTime val) -{ - auto o = thisObj(); - if (!o) return; - o->entryAdded = val; -} +void Anime::write_entryAdded(QDateTime val) { entryAdded = val; } -QDateTime Anime::read_anidbUpdate() const -{ - auto o = thisObj(); - if (!o) return QDateTime(); - return o->anidbUpdate; -} +QDateTime Anime::read_anidbUpdate() const { return anidbUpdate; } -void Anime::write_anidbUpdate(QDateTime val) -{ - auto o = thisObj(); - if (!o) return; - o->anidbUpdate = val; -} +void Anime::write_anidbUpdate(QDateTime val) { anidbUpdate = val; } -QDateTime Anime::read_entryUpdate() const -{ - auto o = thisObj(); - if (!o) return QDateTime(); - return o->entryUpdate; -} +QDateTime Anime::read_entryUpdate() const { return entryUpdate; } -void Anime::write_entryUpdate(QDateTime val) -{ - auto o = thisObj(); - if (!o) return; - o->entryUpdate = val; -} +void Anime::write_entryUpdate(QDateTime val) { entryUpdate = val; } -QDateTime Anime::read_myUpdate() const -{ - auto o = thisObj(); - if (!o) return QDateTime(); - return o->myUpdate; -} +QDateTime Anime::read_myUpdate() const { return myUpdate; } -void Anime::write_myUpdate(QDateTime val) -{ - auto o = thisObj(); - if (!o) return; - o->myUpdate = val; -} +void Anime::write_myUpdate(QDateTime val) { myUpdate = val; } -QString Anime::read_titleEnglish() const -{ - auto o = thisObj(); - if (!o) return QString(); - return o->titleEnglish; -} +QString Anime::read_titleEnglish() const { return titleEnglish; } -void Anime::write_titleEnglish(QString val) -{ - auto o = thisObj(); - if (!o) return; - o->titleEnglish = val; -} +void Anime::write_titleEnglish(QString val) { titleEnglish = val; } -QString Anime::read_titleRomaji() const -{ - auto o = thisObj(); - if (!o) return QString(); - return o->titleRomaji; -} +QString Anime::read_titleRomaji() const { return titleRomaji; } -void Anime::write_titleRomaji(QString val) -{ - auto o = thisObj(); - if (!o) return; - o->titleRomaji = val; -} +void Anime::write_titleRomaji(QString val) { titleRomaji = val; } -QString Anime::read_titleKanji() const -{ - auto o = thisObj(); - if (!o) return QString(); - return o->titleKanji; -} +QString Anime::read_titleKanji() const { return titleKanji; } -void Anime::write_titleKanji(QString val) -{ - auto o = thisObj(); - if (!o) return; - o->titleKanji = val; -} +void Anime::write_titleKanji(QString val) { titleKanji = val; } -QString Anime::read_description() const -{ - auto o = thisObj(); - if (!o) return QString(); - return o->description; -} +QString Anime::read_description() const { return description; } -void Anime::write_description(QString val) -{ - auto o = thisObj(); - if (!o) return; - o->description = val; -} +void Anime::write_description(QString val) { description = val; } -QString Anime::read_year() const -{ - auto o = thisObj(); - if (!o) return QString(); - return o->year; -} +QString Anime::read_year() const { return year; } -void Anime::write_year(QString val) -{ - auto o = thisObj(); - if (!o) return; - o->year = val; -} +void Anime::write_year(QString val) { year = val; } -QDateTime Anime::read_startDate() const -{ - auto o = thisObj(); - if (!o) return QDateTime(); - return o->startDate; -} +QDateTime Anime::read_startDate() const { return startDate; } -void Anime::write_startDate(QDateTime val) -{ - auto o = thisObj(); - if (!o) return; - o->startDate = val; -} +void Anime::write_startDate(QDateTime val) { startDate = val; } -QDateTime Anime::read_endDate() const -{ - auto o = thisObj(); - if (!o) return QDateTime(); - return o->endDate; -} +QDateTime Anime::read_endDate() const { return endDate; } -void Anime::write_endDate(QDateTime val) -{ - auto o = thisObj(); - if (!o) return; - o->endDate = val; -} +void Anime::write_endDate(QDateTime val) { endDate = val; } -QString Anime::read_type() const -{ - auto o = thisObj(); - if (!o) return QString(); - return o->type; -} +QString Anime::read_type() const { return type; } -void Anime::write_type(QString val) -{ - auto o = thisObj(); - if (!o) return; - o->type = val; -} +void Anime::write_type(QString val) { type = val; } -int Anime::read_totalEpisodeCount() const -{ - auto o = thisObj(); - if (!o) return int(); - return o->totalEpisodeCount; -} +int Anime::read_totalEpisodeCount() const { return totalEpisodeCount; } -void Anime::write_totalEpisodeCount(int val) -{ - auto o = thisObj(); - if (!o) return; - o->totalEpisodeCount = val; -} +void Anime::write_totalEpisodeCount(int val) { totalEpisodeCount = val; } -int Anime::read_highestEpno() const -{ - auto o = thisObj(); - if (!o) return int(); - return o->highestEpno; -} +int Anime::read_highestEpno() const { return highestEpno; } -void Anime::write_highestEpno(int val) -{ - auto o = thisObj(); - if (!o) return; - o->highestEpno = val; -} +void Anime::write_highestEpno(int val) { highestEpno = val; } -double Anime::read_rating() const -{ - auto o = thisObj(); - if (!o) return double(); - return o->rating; -} +double Anime::read_rating() const { return rating; } -void Anime::write_rating(double val) -{ - auto o = thisObj(); - if (!o) return; - o->rating = val; -} +void Anime::write_rating(double val) { rating = val; } -int Anime::read_votes() const -{ - auto o = thisObj(); - if (!o) return int(); - return o->votes; -} +int Anime::read_votes() const { return votes; } -void Anime::write_votes(int val) -{ - auto o = thisObj(); - if (!o) return; - o->votes = val; -} +void Anime::write_votes(int val) { votes = val; } -double Anime::read_tempRating() const -{ - auto o = thisObj(); - if (!o) return double(); - return o->tempRating; -} +double Anime::read_tempRating() const { return tempRating; } -void Anime::write_tempRating(double val) -{ - auto o = thisObj(); - if (!o) return; - o->tempRating = val; -} +void Anime::write_tempRating(double val) { tempRating = val; } -int Anime::read_tempVotes() const -{ - auto o = thisObj(); - if (!o) return int(); - return o->tempVotes; -} +int Anime::read_tempVotes() const { return tempVotes; } -void Anime::write_tempVotes(int val) -{ - auto o = thisObj(); - if (!o) return; - o->tempVotes = val; -} +void Anime::write_tempVotes(int val) { tempVotes = val; } -double Anime::read_myVote() const -{ - auto o = thisObj(); - if (!o) return double(); - return o->myVote; -} +double Anime::read_myVote() const { return myVote; } -void Anime::write_myVote(double val) -{ - auto o = thisObj(); - if (!o) return; - o->myVote = val; -} +void Anime::write_myVote(double val) { myVote = val; } -QDateTime Anime::read_myVoteDate() const -{ - auto o = thisObj(); - if (!o) return QDateTime(); - return o->myVoteDate; -} +QDateTime Anime::read_myVoteDate() const { return myVoteDate; } -void Anime::write_myVoteDate(QDateTime val) -{ - auto o = thisObj(); - if (!o) return; - o->myVoteDate = val; -} +void Anime::write_myVoteDate(QDateTime val) { myVoteDate = val; } -double Anime::read_myTempVote() const -{ - auto o = thisObj(); - if (!o) return double(); - return o->myTempVote; -} +double Anime::read_myTempVote() const { return myTempVote; } -void Anime::write_myTempVote(double val) -{ - auto o = thisObj(); - if (!o) return; - o->myTempVote = val; -} +void Anime::write_myTempVote(double val) { myTempVote = val; } -QDateTime Anime::read_myTempVoteDate() const -{ - auto o = thisObj(); - if (!o) return QDateTime(); - return o->myTempVoteDate; -} +QDateTime Anime::read_myTempVoteDate() const { return myTempVoteDate; } -void Anime::write_myTempVoteDate(QDateTime val) -{ - auto o = thisObj(); - if (!o) return; - o->myTempVoteDate = val; -} +void Anime::write_myTempVoteDate(QDateTime val) { myTempVoteDate = val; } // -------------------------------------------------------------------------------- -int Episode::read_eid() const -{ - auto o = thisObj(); - if (!o) return int(); - return o->eid; -} +int Episode::read_eid() const { return eid; } -void Episode::write_eid(int val) -{ - auto o = thisObj(); - if (!o) return; - o->eid = val; -} +void Episode::write_eid(int val) { eid = val; } -int Episode::read_aid() const -{ - auto o = thisObj(); - if (!o) return int(); - return o->aid; -} +int Episode::read_aid() const { return aid; } -void Episode::write_aid(int val) -{ - auto o = thisObj(); - if (!o) return; - o->aid = val; -} +void Episode::write_aid(int val) { aid = val; } -QDateTime Episode::read_entryAdded() const -{ - auto o = thisObj(); - if (!o) return QDateTime(); - return o->entryAdded; -} +QDateTime Episode::read_entryAdded() const { return entryAdded; } -void Episode::write_entryAdded(QDateTime val) -{ - auto o = thisObj(); - if (!o) return; - o->entryAdded = val; -} +void Episode::write_entryAdded(QDateTime val) { entryAdded = val; } -QDateTime Episode::read_anidbUpdate() const -{ - auto o = thisObj(); - if (!o) return QDateTime(); - return o->anidbUpdate; -} +QDateTime Episode::read_anidbUpdate() const { return anidbUpdate; } -void Episode::write_anidbUpdate(QDateTime val) -{ - auto o = thisObj(); - if (!o) return; - o->anidbUpdate = val; -} +void Episode::write_anidbUpdate(QDateTime val) { anidbUpdate = val; } -QDateTime Episode::read_entryUpdate() const -{ - auto o = thisObj(); - if (!o) return QDateTime(); - return o->entryUpdate; -} +QDateTime Episode::read_entryUpdate() const { return entryUpdate; } -void Episode::write_entryUpdate(QDateTime val) -{ - auto o = thisObj(); - if (!o) return; - o->entryUpdate = val; -} +void Episode::write_entryUpdate(QDateTime val) { entryUpdate = val; } -QDateTime Episode::read_myUpdate() const -{ - auto o = thisObj(); - if (!o) return QDateTime(); - return o->myUpdate; -} +QDateTime Episode::read_myUpdate() const { return myUpdate; } -void Episode::write_myUpdate(QDateTime val) -{ - auto o = thisObj(); - if (!o) return; - o->myUpdate = val; -} +void Episode::write_myUpdate(QDateTime val) { myUpdate = val; } -int Episode::read_epno() const -{ - auto o = thisObj(); - if (!o) return int(); - return o->epno; -} +int Episode::read_epno() const { return epno; } -void Episode::write_epno(int val) -{ - auto o = thisObj(); - if (!o) return; - o->epno = val; -} +void Episode::write_epno(int val) { epno = val; } -QString Episode::read_titleEnglish() const -{ - auto o = thisObj(); - if (!o) return QString(); - return o->titleEnglish; -} +QString Episode::read_titleEnglish() const { return titleEnglish; } -void Episode::write_titleEnglish(QString val) -{ - auto o = thisObj(); - if (!o) return; - o->titleEnglish = val; -} +void Episode::write_titleEnglish(QString val) { titleEnglish = val; } -QString Episode::read_titleRomaji() const -{ - auto o = thisObj(); - if (!o) return QString(); - return o->titleRomaji; -} +QString Episode::read_titleRomaji() const { return titleRomaji; } -void Episode::write_titleRomaji(QString val) -{ - auto o = thisObj(); - if (!o) return; - o->titleRomaji = val; -} +void Episode::write_titleRomaji(QString val) { titleRomaji = val; } -QString Episode::read_titleKanji() const -{ - auto o = thisObj(); - if (!o) return QString(); - return o->titleKanji; -} +QString Episode::read_titleKanji() const { return titleKanji; } -void Episode::write_titleKanji(QString val) -{ - auto o = thisObj(); - if (!o) return; - o->titleKanji = val; -} +void Episode::write_titleKanji(QString val) { titleKanji = val; } -int Episode::read_length() const -{ - auto o = thisObj(); - if (!o) return int(); - return o->length; -} +int Episode::read_length() const { return length; } -void Episode::write_length(int val) -{ - auto o = thisObj(); - if (!o) return; - o->length = val; -} +void Episode::write_length(int val) { length = val; } -QDateTime Episode::read_airdate() const -{ - auto o = thisObj(); - if (!o) return QDateTime(); - return o->airdate; -} +QDateTime Episode::read_airdate() const { return airdate; } -void Episode::write_airdate(QDateTime val) -{ - auto o = thisObj(); - if (!o) return; - o->airdate = val; -} +void Episode::write_airdate(QDateTime val) { airdate = val; } -int Episode::read_state() const -{ - auto o = thisObj(); - if (!o) return int(); - return o->state; -} +int Episode::read_state() const { return state; } -void Episode::write_state(int val) -{ - auto o = thisObj(); - if (!o) return; - o->state = val; -} +void Episode::write_state(int val) { state = val; } -QString Episode::read_type() const -{ - auto o = thisObj(); - if (!o) return QString(); - return o->type; -} +QString Episode::read_type() const { return type; } -void Episode::write_type(QString val) -{ - auto o = thisObj(); - if (!o) return; - o->type = val; -} +void Episode::write_type(QString val) { type = val; } -bool Episode::read_recap() const -{ - auto o = thisObj(); - if (!o) return bool(); - return o->recap; -} +bool Episode::read_recap() const { return recap; } -void Episode::write_recap(bool val) -{ - auto o = thisObj(); - if (!o) return; - o->recap = val; -} +void Episode::write_recap(bool val) { recap = val; } -double Episode::read_rating() const -{ - auto o = thisObj(); - if (!o) return double(); - return o->rating; -} +double Episode::read_rating() const { return rating; } -void Episode::write_rating(double val) -{ - auto o = thisObj(); - if (!o) return; - o->rating = val; -} +void Episode::write_rating(double val) { rating = val; } -int Episode::read_votes() const -{ - auto o = thisObj(); - if (!o) return int(); - return o->votes; -} +int Episode::read_votes() const { return votes; } -void Episode::write_votes(int val) -{ - auto o = thisObj(); - if (!o) return; - o->votes = val; -} +void Episode::write_votes(int val) { votes = val; } -double Episode::read_myVote() const -{ - auto o = thisObj(); - if (!o) return double(); - return o->myVote; -} +double Episode::read_myVote() const { return myVote; } -void Episode::write_myVote(double val) -{ - auto o = thisObj(); - if (!o) return; - o->myVote = val; -} +void Episode::write_myVote(double val) { myVote = val; } -QDateTime Episode::read_myVoteDate() const -{ - auto o = thisObj(); - if (!o) return QDateTime(); - return o->myVoteDate; -} +QDateTime Episode::read_myVoteDate() const { return myVoteDate; } -void Episode::write_myVoteDate(QDateTime val) -{ - auto o = thisObj(); - if (!o) return; - o->myVoteDate = val; -} +void Episode::write_myVoteDate(QDateTime val) { myVoteDate = val; } // -------------------------------------------------------------------------------- -int File::read_fid() const -{ - auto o = thisObj(); - if (!o) return int(); - return o->fid; -} +int File::read_fid() const { return fid; } -void File::write_fid(int val) -{ - auto o = thisObj(); - if (!o) return; - o->fid = val; -} +void File::write_fid(int val) { fid = val; } -int File::read_eid() const -{ - auto o = thisObj(); - if (!o) return int(); - return o->eid; -} +int File::read_eid() const { return eid; } -void File::write_eid(int val) -{ - auto o = thisObj(); - if (!o) return; - o->eid = val; -} +void File::write_eid(int val) { eid = val; } -int File::read_aid() const -{ - auto o = thisObj(); - if (!o) return int(); - return o->aid; -} +int File::read_aid() const { return aid; } -void File::write_aid(int val) -{ - auto o = thisObj(); - if (!o) return; - o->aid = val; -} +void File::write_aid(int val) { aid = val; } -int File::read_gid() const -{ - auto o = thisObj(); - if (!o) return int(); - return o->gid; -} +int File::read_gid() const { return gid; } -void File::write_gid(int val) -{ - auto o = thisObj(); - if (!o) return; - o->gid = val; -} +void File::write_gid(int val) { gid = val; } -QDateTime File::read_entryAdded() const -{ - auto o = thisObj(); - if (!o) return QDateTime(); - return o->entryAdded; -} +QDateTime File::read_entryAdded() const { return entryAdded; } -void File::write_entryAdded(QDateTime val) -{ - auto o = thisObj(); - if (!o) return; - o->entryAdded = val; -} +void File::write_entryAdded(QDateTime val) { entryAdded = val; } -QDateTime File::read_anidbUpdate() const -{ - auto o = thisObj(); - if (!o) return QDateTime(); - return o->anidbUpdate; -} +QDateTime File::read_anidbUpdate() const { return anidbUpdate; } -void File::write_anidbUpdate(QDateTime val) -{ - auto o = thisObj(); - if (!o) return; - o->anidbUpdate = val; -} +void File::write_anidbUpdate(QDateTime val) { anidbUpdate = val; } -QDateTime File::read_entryUpdate() const -{ - auto o = thisObj(); - if (!o) return QDateTime(); - return o->entryUpdate; -} +QDateTime File::read_entryUpdate() const { return entryUpdate; } -void File::write_entryUpdate(QDateTime val) -{ - auto o = thisObj(); - if (!o) return; - o->entryUpdate = val; -} +void File::write_entryUpdate(QDateTime val) { entryUpdate = val; } -QDateTime File::read_myUpdate() const -{ - auto o = thisObj(); - if (!o) return QDateTime(); - return o->myUpdate; -} +QDateTime File::read_myUpdate() const { return myUpdate; } -void File::write_myUpdate(QDateTime val) -{ - auto o = thisObj(); - if (!o) return; - o->myUpdate = val; -} +void File::write_myUpdate(QDateTime val) { myUpdate = val; } -QByteArray File::read_ed2k() const -{ - auto o = thisObj(); - if (!o) return QByteArray(); - return o->ed2k; -} +QByteArray File::read_ed2k() const { return ed2k; } -void File::write_ed2k(QByteArray val) -{ - auto o = thisObj(); - if (!o) return; - o->ed2k = val; -} +void File::write_ed2k(QByteArray val) { ed2k = val; } -qint64 File::read_size() const -{ - auto o = thisObj(); - if (!o) return qint64(); - return o->size; -} +qint64 File::read_size() const { return size; } -void File::write_size(qint64 val) -{ - auto o = thisObj(); - if (!o) return; - o->size = val; -} +void File::write_size(qint64 val) { size = val; } -int File::read_length() const -{ - auto o = thisObj(); - if (!o) return int(); - return o->length; -} +int File::read_length() const { return length; } -void File::write_length(int val) -{ - auto o = thisObj(); - if (!o) return; - o->length = val; -} +void File::write_length(int val) { length = val; } -QString File::read_extension() const -{ - auto o = thisObj(); - if (!o) return QString(); - return o->extension; -} +QString File::read_extension() const { return extension; } -void File::write_extension(QString val) -{ - auto o = thisObj(); - if (!o) return; - o->extension = val; -} +void File::write_extension(QString val) { extension = val; } -QString File::read_groupName() const -{ - auto o = thisObj(); - if (!o) return QString(); - return o->groupName; -} +QString File::read_groupName() const { return groupName; } -void File::write_groupName(QString val) -{ - auto o = thisObj(); - if (!o) return; - o->groupName = val; -} +void File::write_groupName(QString val) { groupName = val; } -QString File::read_groupNameShort() const -{ - auto o = thisObj(); - if (!o) return QString(); - return o->groupNameShort; -} +QString File::read_groupNameShort() const { return groupNameShort; } -void File::write_groupNameShort(QString val) -{ - auto o = thisObj(); - if (!o) return; - o->groupNameShort = val; -} +void File::write_groupNameShort(QString val) { groupNameShort = val; } -QString File::read_crc() const -{ - auto o = thisObj(); - if (!o) return QString(); - return o->crc; -} +QString File::read_crc() const { return crc; } -void File::write_crc(QString val) -{ - auto o = thisObj(); - if (!o) return; - o->crc = val; -} +void File::write_crc(QString val) { crc = val; } -QDateTime File::read_releaseDate() const -{ - auto o = thisObj(); - if (!o) return QDateTime(); - return o->releaseDate; -} +QDateTime File::read_releaseDate() const { return releaseDate; } -void File::write_releaseDate(QDateTime val) -{ - auto o = thisObj(); - if (!o) return; - o->releaseDate = val; -} +void File::write_releaseDate(QDateTime val) { releaseDate = val; } -int File::read_version() const -{ - auto o = thisObj(); - if (!o) return int(); - return o->version; -} +int File::read_version() const { return version; } -void File::write_version(int val) -{ - auto o = thisObj(); - if (!o) return; - o->version = val; -} +void File::write_version(int val) { version = val; } -bool File::read_censored() const -{ - auto o = thisObj(); - if (!o) return bool(); - return o->censored; -} +bool File::read_censored() const { return censored; } -void File::write_censored(bool val) -{ - auto o = thisObj(); - if (!o) return; - o->censored = val; -} +void File::write_censored(bool val) { censored = val; } -QString File::read_source() const -{ - auto o = thisObj(); - if (!o) return QString(); - return o->source; -} +QString File::read_source() const { return source; } -void File::write_source(QString val) -{ - auto o = thisObj(); - if (!o) return; - o->source = val; -} +void File::write_source(QString val) { source = val; } -QString File::read_quality() const -{ - auto o = thisObj(); - if (!o) return QString(); - return o->quality; -} +QString File::read_quality() const { return quality; } -void File::write_quality(QString val) -{ - auto o = thisObj(); - if (!o) return; - o->quality = val; -} +void File::write_quality(QString val) { quality = val; } -QString File::read_resolution() const -{ - auto o = thisObj(); - if (!o) return QString(); - return o->resolution; -} +QString File::read_resolution() const { return resolution; } -void File::write_resolution(QString val) -{ - auto o = thisObj(); - if (!o) return; - o->resolution = val; -} +void File::write_resolution(QString val) { resolution = val; } -QString File::read_videoCodec() const -{ - auto o = thisObj(); - if (!o) return QString(); - return o->videoCodec; -} +QString File::read_videoCodec() const { return videoCodec; } -void File::write_videoCodec(QString val) -{ - auto o = thisObj(); - if (!o) return; - o->videoCodec = val; -} +void File::write_videoCodec(QString val) { videoCodec = val; } -QString File::read_audioCodec() const -{ - auto o = thisObj(); - if (!o) return QString(); - return o->audioCodec; -} +QString File::read_audioCodec() const { return audioCodec; } -void File::write_audioCodec(QString val) -{ - auto o = thisObj(); - if (!o) return; - o->audioCodec = val; -} +void File::write_audioCodec(QString val) { audioCodec = val; } -QString File::read_audioLanguage() const -{ - auto o = thisObj(); - if (!o) return QString(); - return o->audioLanguage; -} +QString File::read_audioLanguage() const { return audioLanguage; } -void File::write_audioLanguage(QString val) -{ - auto o = thisObj(); - if (!o) return; - o->audioLanguage = val; -} +void File::write_audioLanguage(QString val) { audioLanguage = val; } -QString File::read_subtitleLanguage() const -{ - auto o = thisObj(); - if (!o) return QString(); - return o->subtitleLanguage; -} +QString File::read_subtitleLanguage() const { return subtitleLanguage; } -void File::write_subtitleLanguage(QString val) -{ - auto o = thisObj(); - if (!o) return; - o->subtitleLanguage = val; -} +void File::write_subtitleLanguage(QString val) { subtitleLanguage = val; } -QString File::read_aspectRatio() const -{ - auto o = thisObj(); - if (!o) return QString(); - return o->aspectRatio; -} +QString File::read_aspectRatio() const { return aspectRatio; } -void File::write_aspectRatio(QString val) -{ - auto o = thisObj(); - if (!o) return; - o->aspectRatio = val; -} +void File::write_aspectRatio(QString val) { aspectRatio = val; } -QDateTime File::read_myWatched() const -{ - auto o = thisObj(); - if (!o) return QDateTime(); - return o->myWatched; -} +QDateTime File::read_myWatched() const { return myWatched; } -void File::write_myWatched(QDateTime val) -{ - auto o = thisObj(); - if (!o) return; - o->myWatched = val; -} +void File::write_myWatched(QDateTime val) { myWatched = val; } -int File::read_myState() const -{ - auto o = thisObj(); - if (!o) return int(); - return o->myState; -} +int File::read_myState() const { return myState; } -void File::write_myState(int val) -{ - auto o = thisObj(); - if (!o) return; - o->myState = val; -} +void File::write_myState(int val) { myState = val; } -int File::read_myFileState() const -{ - auto o = thisObj(); - if (!o) return int(); - return o->myFileState; -} +int File::read_myFileState() const { return myFileState; } -void File::write_myFileState(int val) -{ - auto o = thisObj(); - if (!o) return; - o->myFileState = val; -} +void File::write_myFileState(int val) { myFileState = val; } -QString File::read_myStorage() const -{ - auto o = thisObj(); - if (!o) return QString(); - return o->myStorage; -} +QString File::read_myStorage() const { return myStorage; } -void File::write_myStorage(QString val) -{ - auto o = thisObj(); - if (!o) return; - o->myStorage = val; -} +void File::write_myStorage(QString val) { myStorage = val; } -QString File::read_mySource() const -{ - auto o = thisObj(); - if (!o) return QString(); - return o->mySource; -} +QString File::read_mySource() const { return mySource; } -void File::write_mySource(QString val) -{ - auto o = thisObj(); - if (!o) return; - o->mySource = val; -} +void File::write_mySource(QString val) { mySource = val; } -QString File::read_myOther() const -{ - auto o = thisObj(); - if (!o) return QString(); - return o->myOther; -} +QString File::read_myOther() const { return myOther; } -void File::write_myOther(QString val) -{ - auto o = thisObj(); - if (!o) return; - o->myOther = val; -} +void File::write_myOther(QString val) { myOther = val; } // -------------------------------------------------------------------------------- -int FileLocation::read_locationId() const -{ - auto o = thisObj(); - if (!o) return int(); - return o->locationId; -} +int FileLocation::read_locationId() const { return locationId; } -void FileLocation::write_locationId(int val) -{ - auto o = thisObj(); - if (!o) return; - o->locationId = val; -} +void FileLocation::write_locationId(int val) { locationId = val; } -int FileLocation::read_fid() const -{ - auto o = thisObj(); - if (!o) return int(); - return o->fid; -} +int FileLocation::read_fid() const { return fid; } -void FileLocation::write_fid(int val) -{ - auto o = thisObj(); - if (!o) return; - o->fid = val; -} +void FileLocation::write_fid(int val) { fid = val; } -int FileLocation::read_hostId() const -{ - auto o = thisObj(); - if (!o) return int(); - return o->hostId; -} +int FileLocation::read_hostId() const { return hostId; } -void FileLocation::write_hostId(int val) -{ - auto o = thisObj(); - if (!o) return; - o->hostId = val; -} +void FileLocation::write_hostId(int val) { hostId = val; } -QString FileLocation::read_path() const -{ - auto o = thisObj(); - if (!o) return QString(); - return o->path; -} +QString FileLocation::read_path() const { return path; } -void FileLocation::write_path(QString val) -{ - auto o = thisObj(); - if (!o) return; - o->path = val; -} +void FileLocation::write_path(QString val) { path = val; } -QDateTime FileLocation::read_renamed() const -{ - auto o = thisObj(); - if (!o) return QDateTime(); - return o->renamed; -} +QDateTime FileLocation::read_renamed() const { return renamed; } -void FileLocation::write_renamed(QDateTime val) -{ - auto o = thisObj(); - if (!o) return; - o->renamed = val; -} +void FileLocation::write_renamed(QDateTime val) { renamed = val; } -bool FileLocation::read_failedRename() const -{ - auto o = thisObj(); - if (!o) return bool(); - return o->failedRename; -} +bool FileLocation::read_failedRename() const { return failedRename; } -void FileLocation::write_failedRename(bool val) -{ - auto o = thisObj(); - if (!o) return; - o->failedRename = val; -} +void FileLocation::write_failedRename(bool val) { failedRename = val; } // -------------------------------------------------------------------------------- -QByteArray UnknownFile::read_ed2k() const -{ - auto o = thisObj(); - if (!o) return QByteArray(); - return o->ed2k; -} +QByteArray UnknownFile::read_ed2k() const { return ed2k; } -void UnknownFile::write_ed2k(QByteArray val) -{ - auto o = thisObj(); - if (!o) return; - o->ed2k = val; -} +void UnknownFile::write_ed2k(QByteArray val) { ed2k = val; } -qint64 UnknownFile::read_size() const -{ - auto o = thisObj(); - if (!o) return qint64(); - return o->size; -} +qint64 UnknownFile::read_size() const { return size; } -void UnknownFile::write_size(qint64 val) -{ - auto o = thisObj(); - if (!o) return; - o->size = val; -} +void UnknownFile::write_size(qint64 val) { size = val; } -int UnknownFile::read_hostId() const -{ - auto o = thisObj(); - if (!o) return int(); - return o->hostId; -} +int UnknownFile::read_hostId() const { return hostId; } -void UnknownFile::write_hostId(int val) -{ - auto o = thisObj(); - if (!o) return; - o->hostId = val; -} +void UnknownFile::write_hostId(int val) { hostId = val; } -QString UnknownFile::read_path() const -{ - auto o = thisObj(); - if (!o) return QString(); - return o->path; -} +QString UnknownFile::read_path() const { return path; } -void UnknownFile::write_path(QString val) -{ - auto o = thisObj(); - if (!o) return; - o->path = val; -} +void UnknownFile::write_path(QString val) { path = val; } // -------------------------------------------------------------------------------- -int FileEpisodeRel::read_fid() const -{ - auto o = thisObj(); - if (!o) return int(); - return o->fid; -} +int FileEpisodeRel::read_fid() const { return fid; } -void FileEpisodeRel::write_fid(int val) -{ - auto o = thisObj(); - if (!o) return; - o->fid = val; -} +void FileEpisodeRel::write_fid(int val) { fid = val; } -int FileEpisodeRel::read_eid() const -{ - auto o = thisObj(); - if (!o) return int(); - return o->eid; -} +int FileEpisodeRel::read_eid() const { return eid; } -void FileEpisodeRel::write_eid(int val) -{ - auto o = thisObj(); - if (!o) return; - o->eid = val; -} +void FileEpisodeRel::write_eid(int val) { eid = val; } -int FileEpisodeRel::read_startPercent() const -{ - auto o = thisObj(); - if (!o) return int(); - return o->startPercent; -} +int FileEpisodeRel::read_startPercent() const { return startPercent; } -void FileEpisodeRel::write_startPercent(int val) -{ - auto o = thisObj(); - if (!o) return; - o->startPercent = val; -} +void FileEpisodeRel::write_startPercent(int val) { startPercent = val; } -int FileEpisodeRel::read_endPercent() const -{ - auto o = thisObj(); - if (!o) return int(); - return o->endPercent; -} +int FileEpisodeRel::read_endPercent() const { return endPercent; } -void FileEpisodeRel::write_endPercent(int val) -{ - auto o = thisObj(); - if (!o) return; - o->endPercent = val; -} +void FileEpisodeRel::write_endPercent(int val) { endPercent = val; } // -------------------------------------------------------------------------------- -int PendingRequest::read_aid() const -{ - auto o = thisObj(); - if (!o) return int(); - return o->aid; -} +int PendingRequest::read_aid() const { return aid; } -void PendingRequest::write_aid(int val) -{ - auto o = thisObj(); - if (!o) return; - o->aid = val; -} +void PendingRequest::write_aid(int val) { aid = val; } -int PendingRequest::read_eid() const -{ - auto o = thisObj(); - if (!o) return int(); - return o->eid; -} +int PendingRequest::read_eid() const { return eid; } -void PendingRequest::write_eid(int val) -{ - auto o = thisObj(); - if (!o) return; - o->eid = val; -} +void PendingRequest::write_eid(int val) { eid = val; } -int PendingRequest::read_fid() const -{ - auto o = thisObj(); - if (!o) return int(); - return o->fid; -} +int PendingRequest::read_fid() const { return fid; } -void PendingRequest::write_fid(int val) -{ - auto o = thisObj(); - if (!o) return; - o->fid = val; -} +void PendingRequest::write_fid(int val) { fid = val; } -QByteArray PendingRequest::read_ed2k() const -{ - auto o = thisObj(); - if (!o) return QByteArray(); - return o->ed2k; -} +QByteArray PendingRequest::read_ed2k() const { return ed2k; } -void PendingRequest::write_ed2k(QByteArray val) -{ - auto o = thisObj(); - if (!o) return; - o->ed2k = val; -} +void PendingRequest::write_ed2k(QByteArray val) { ed2k = val; } -qint64 PendingRequest::read_size() const -{ - auto o = thisObj(); - if (!o) return qint64(); - return o->size; -} +qint64 PendingRequest::read_size() const { return size; } -void PendingRequest::write_size(qint64 val) -{ - auto o = thisObj(); - if (!o) return; - o->size = val; -} +void PendingRequest::write_size(qint64 val) { size = val; } // -------------------------------------------------------------------------------- -qint64 PendingMyListUpdate::read_updateId() const -{ - auto o = thisObj(); - if (!o) return qint64(); - return o->updateId; -} +qint64 PendingMyListUpdate::read_updateId() const { return updateId; } -void PendingMyListUpdate::write_updateId(qint64 val) -{ - auto o = thisObj(); - if (!o) return; - o->updateId = val; -} +void PendingMyListUpdate::write_updateId(qint64 val) { updateId = val; } -int PendingMyListUpdate::read_fid() const -{ - auto o = thisObj(); - if (!o) return int(); - return o->fid; -} +int PendingMyListUpdate::read_fid() const { return fid; } -void PendingMyListUpdate::write_fid(int val) -{ - auto o = thisObj(); - if (!o) return; - o->fid = val; -} +void PendingMyListUpdate::write_fid(int val) { fid = val; } -bool PendingMyListUpdate::read_setMyWatched() const -{ - auto o = thisObj(); - if (!o) return bool(); - return o->setMyWatched; -} +bool PendingMyListUpdate::read_setMyWatched() const { return setMyWatched; } -void PendingMyListUpdate::write_setMyWatched(bool val) -{ - auto o = thisObj(); - if (!o) return; - o->setMyWatched = val; -} +void PendingMyListUpdate::write_setMyWatched(bool val) { setMyWatched = val; } -QDateTime PendingMyListUpdate::read_myWatched() const -{ - auto o = thisObj(); - if (!o) return QDateTime(); - return o->myWatched; -} +QDateTime PendingMyListUpdate::read_myWatched() const { return myWatched; } -void PendingMyListUpdate::write_myWatched(QDateTime val) -{ - auto o = thisObj(); - if (!o) return; - o->myWatched = val; -} +void PendingMyListUpdate::write_myWatched(QDateTime val) { myWatched = val; } -bool PendingMyListUpdate::read_setMyState() const -{ - auto o = thisObj(); - if (!o) return bool(); - return o->setMyState; -} +bool PendingMyListUpdate::read_setMyState() const { return setMyState; } -void PendingMyListUpdate::write_setMyState(bool val) -{ - auto o = thisObj(); - if (!o) return; - o->setMyState = val; -} +void PendingMyListUpdate::write_setMyState(bool val) { setMyState = val; } -int PendingMyListUpdate::read_myState() const -{ - auto o = thisObj(); - if (!o) return int(); - return o->myState; -} +int PendingMyListUpdate::read_myState() const { return myState; } -void PendingMyListUpdate::write_myState(int val) -{ - auto o = thisObj(); - if (!o) return; - o->myState = val; -} +void PendingMyListUpdate::write_myState(int val) { myState = val; } -bool PendingMyListUpdate::read_setMyFileState() const -{ - auto o = thisObj(); - if (!o) return bool(); - return o->setMyFileState; -} +bool PendingMyListUpdate::read_setMyFileState() const { return setMyFileState; } void PendingMyListUpdate::write_setMyFileState(bool val) { - auto o = thisObj(); - if (!o) return; - o->setMyFileState = val; + setMyFileState = val; } -int PendingMyListUpdate::read_myFileState() const -{ - auto o = thisObj(); - if (!o) return int(); - return o->myFileState; -} +int PendingMyListUpdate::read_myFileState() const { return myFileState; } -void PendingMyListUpdate::write_myFileState(int val) -{ - auto o = thisObj(); - if (!o) return; - o->myFileState = val; -} +void PendingMyListUpdate::write_myFileState(int val) { myFileState = val; } -bool PendingMyListUpdate::read_setMyStorage() const -{ - auto o = thisObj(); - if (!o) return bool(); - return o->setMyStorage; -} +bool PendingMyListUpdate::read_setMyStorage() const { return setMyStorage; } -void PendingMyListUpdate::write_setMyStorage(bool val) -{ - auto o = thisObj(); - if (!o) return; - o->setMyStorage = val; -} +void PendingMyListUpdate::write_setMyStorage(bool val) { setMyStorage = val; } -QString PendingMyListUpdate::read_myStorage() const -{ - auto o = thisObj(); - if (!o) return QString(); - return o->myStorage; -} +QString PendingMyListUpdate::read_myStorage() const { return myStorage; } -void PendingMyListUpdate::write_myStorage(QString val) -{ - auto o = thisObj(); - if (!o) return; - o->myStorage = val; -} +void PendingMyListUpdate::write_myStorage(QString val) { myStorage = val; } -bool PendingMyListUpdate::read_setMySource() const -{ - auto o = thisObj(); - if (!o) return bool(); - return o->setMySource; -} +bool PendingMyListUpdate::read_setMySource() const { return setMySource; } -void PendingMyListUpdate::write_setMySource(bool val) -{ - auto o = thisObj(); - if (!o) return; - o->setMySource = val; -} +void PendingMyListUpdate::write_setMySource(bool val) { setMySource = val; } -QString PendingMyListUpdate::read_mySource() const -{ - auto o = thisObj(); - if (!o) return QString(); - return o->mySource; -} +QString PendingMyListUpdate::read_mySource() const { return mySource; } -void PendingMyListUpdate::write_mySource(QString val) -{ - auto o = thisObj(); - if (!o) return; - o->mySource = val; -} +void PendingMyListUpdate::write_mySource(QString val) { mySource = val; } -bool PendingMyListUpdate::read_setMyOther() const -{ - auto o = thisObj(); - if (!o) return bool(); - return o->setMyOther; -} +bool PendingMyListUpdate::read_setMyOther() const { return setMyOther; } -void PendingMyListUpdate::write_setMyOther(bool val) -{ - auto o = thisObj(); - if (!o) return; - o->setMyOther = val; -} +void PendingMyListUpdate::write_setMyOther(bool val) { setMyOther = val; } -QString PendingMyListUpdate::read_myOther() const -{ - auto o = thisObj(); - if (!o) return QString(); - return o->myOther; -} +QString PendingMyListUpdate::read_myOther() const { return myOther; } -void PendingMyListUpdate::write_myOther(QString val) -{ - auto o = thisObj(); - if (!o) return; - o->myOther = val; -} +void PendingMyListUpdate::write_myOther(QString val) { myOther = val; } -QDateTime PendingMyListUpdate::read_added() const -{ - auto o = thisObj(); - if (!o) return QDateTime(); - return o->added; -} +QDateTime PendingMyListUpdate::read_added() const { return added; } -void PendingMyListUpdate::write_added(QDateTime val) -{ - auto o = thisObj(); - if (!o) return; - o->added = val; -} +void PendingMyListUpdate::write_added(QDateTime val) { added = val; } -QDateTime PendingMyListUpdate::read_started() const -{ - auto o = thisObj(); - if (!o) return QDateTime(); - return o->started; -} +QDateTime PendingMyListUpdate::read_started() const { return started; } -void PendingMyListUpdate::write_started(QDateTime val) -{ - auto o = thisObj(); - if (!o) return; - o->started = val; -} +void PendingMyListUpdate::write_started(QDateTime val) { started = val; } -QDateTime PendingMyListUpdate::read_finished() const -{ - auto o = thisObj(); - if (!o) return QDateTime(); - return o->finished; -} +QDateTime PendingMyListUpdate::read_finished() const { return finished; } -void PendingMyListUpdate::write_finished(QDateTime val) -{ - auto o = thisObj(); - if (!o) return; - o->finished = val; -} +void PendingMyListUpdate::write_finished(QDateTime val) { finished = val; } // -------------------------------------------------------------------------------- -int HostInfo::read_id() const -{ - auto o = thisObj(); - if (!o) return int(); - return o->id; -} +int HostInfo::read_id() const { return id; } -void HostInfo::write_id(int val) -{ - auto o = thisObj(); - if (!o) return; - o->id = val; -} +void HostInfo::write_id(int val) { id = val; } -QString HostInfo::read_name() const -{ - auto o = thisObj(); - if (!o) return QString(); - return o->name; -} +QString HostInfo::read_name() const { return name; } -void HostInfo::write_name(QString val) -{ - auto o = thisObj(); - if (!o) return; - o->name = val; -} +void HostInfo::write_name(QString val) { name = val; } -bool HostInfo::read_isUdpHost() const -{ - auto o = thisObj(); - if (!o) return bool(); - return o->isUdpHost; -} +bool HostInfo::read_isUdpHost() const { return isUdpHost; } -void HostInfo::write_isUdpHost(bool val) -{ - auto o = thisObj(); - if (!o) return; - o->isUdpHost = val; -} +void HostInfo::write_isUdpHost(bool val) { isUdpHost = val; } // -------------------------------------------------------------------------------- -int OpenFileData::read_fid() const -{ - auto o = thisObj(); - if (!o) return int(); - return o->fid; -} +int OpenFileData::read_fid() const { return fid; } -void OpenFileData::write_fid(int val) -{ - auto o = thisObj(); - if (!o) return; - o->fid = val; -} +void OpenFileData::write_fid(int val) { fid = val; } -QString OpenFileData::read_animeTitle() const -{ - auto o = thisObj(); - if (!o) return QString(); - return o->animeTitle; -} +QString OpenFileData::read_animeTitle() const { return animeTitle; } -void OpenFileData::write_animeTitle(QString val) -{ - auto o = thisObj(); - if (!o) return; - o->animeTitle = val; -} +void OpenFileData::write_animeTitle(QString val) { animeTitle = val; } -QString OpenFileData::read_episodeTitle() const -{ - auto o = thisObj(); - if (!o) return QString(); - return o->episodeTitle; -} +QString OpenFileData::read_episodeTitle() const { return episodeTitle; } -void OpenFileData::write_episodeTitle(QString val) -{ - auto o = thisObj(); - if (!o) return; - o->episodeTitle = val; -} +void OpenFileData::write_episodeTitle(QString val) { episodeTitle = val; } -int OpenFileData::read_epno() const -{ - auto o = thisObj(); - if (!o) return int(); - return o->epno; -} +int OpenFileData::read_epno() const { return epno; } -void OpenFileData::write_epno(int val) -{ - auto o = thisObj(); - if (!o) return; - o->epno = val; -} +void OpenFileData::write_epno(int val) { epno = val; } -int OpenFileData::read_hostId() const -{ - auto o = thisObj(); - if (!o) return int(); - return o->hostId; -} +int OpenFileData::read_hostId() const { return hostId; } -void OpenFileData::write_hostId(int val) -{ - auto o = thisObj(); - if (!o) return; - o->hostId = val; -} +void OpenFileData::write_hostId(int val) { hostId = val; } -QString OpenFileData::read_localPath() const -{ - auto o = thisObj(); - if (!o) return QString(); - return o->localPath; -} +QString OpenFileData::read_localPath() const { return localPath; } -void OpenFileData::write_localPath(QString val) -{ - auto o = thisObj(); - if (!o) return; - o->localPath = val; -} +void OpenFileData::write_localPath(QString val) { localPath = val; } -QString OpenFileData::read_path() const -{ - auto o = thisObj(); - if (!o) return QString(); - return o->path; -} +QString OpenFileData::read_path() const { return path; } -void OpenFileData::write_path(QString val) -{ - auto o = thisObj(); - if (!o) return; - o->path = val; -} +void OpenFileData::write_path(QString val) { path = val; } // -------------------------------------------------------------------------------- -QString DatabaseConnectionSettings::read_host() const -{ - auto o = thisObj(); - if (!o) return QString(); - return o->host; -} +QString DatabaseConnectionSettings::read_host() const { return host; } -void DatabaseConnectionSettings::write_host(QString val) -{ - auto o = thisObj(); - if (!o) return; - o->host = val; -} +void DatabaseConnectionSettings::write_host(QString val) { host = val; } -quint16 DatabaseConnectionSettings::read_port() const -{ - auto o = thisObj(); - if (!o) return quint16(); - return o->port; -} +quint16 DatabaseConnectionSettings::read_port() const { return port; } -void DatabaseConnectionSettings::write_port(quint16 val) -{ - auto o = thisObj(); - if (!o) return; - o->port = val; -} +void DatabaseConnectionSettings::write_port(quint16 val) { port = val; } -QString DatabaseConnectionSettings::read_user() const -{ - auto o = thisObj(); - if (!o) return QString(); - return o->user; -} +QString DatabaseConnectionSettings::read_user() const { return user; } -void DatabaseConnectionSettings::write_user(QString val) -{ - auto o = thisObj(); - if (!o) return; - o->user = val; -} +void DatabaseConnectionSettings::write_user(QString val) { user = val; } -QString DatabaseConnectionSettings::read_pass() const -{ - auto o = thisObj(); - if (!o) return QString(); - return o->pass; -} +QString DatabaseConnectionSettings::read_pass() const { return pass; } -void DatabaseConnectionSettings::write_pass(QString val) -{ - auto o = thisObj(); - if (!o) return; - o->pass = val; -} +void DatabaseConnectionSettings::write_pass(QString val) { pass = val; } -QString DatabaseConnectionSettings::read_database() const -{ - auto o = thisObj(); - if (!o) return QString(); - return o->database; -} +QString DatabaseConnectionSettings::read_database() const { return database; } -void DatabaseConnectionSettings::write_database(QString val) -{ - auto o = thisObj(); - if (!o) return; - o->database = val; -} +void DatabaseConnectionSettings::write_database(QString val) { database = val; } // -------------------------------------------------------------------------------- -QScriptValue Anime_ctor(QScriptContext *, QScriptEngine *engine) -{ - return engine->toScriptValue(::LocalMyList::Anime()); -} - -QScriptValue Episode_ctor(QScriptContext *, QScriptEngine *engine) -{ - return engine->toScriptValue(::LocalMyList::Episode()); -} - -QScriptValue File_ctor(QScriptContext *, QScriptEngine *engine) -{ - return engine->toScriptValue(::LocalMyList::File()); -} - -QScriptValue FileLocation_ctor(QScriptContext *, QScriptEngine *engine) -{ - return engine->toScriptValue(::LocalMyList::FileLocation()); -} - -QScriptValue UnknownFile_ctor(QScriptContext *, QScriptEngine *engine) -{ - return engine->toScriptValue(::LocalMyList::UnknownFile()); -} - -QScriptValue FileEpisodeRel_ctor(QScriptContext *, QScriptEngine *engine) -{ - return engine->toScriptValue(::LocalMyList::FileEpisodeRel()); -} - -QScriptValue PendingRequest_ctor(QScriptContext *, QScriptEngine *engine) -{ - return engine->toScriptValue(::LocalMyList::PendingRequest()); -} - -QScriptValue PendingMyListUpdate_ctor(QScriptContext *, QScriptEngine *engine) -{ - return engine->toScriptValue(::LocalMyList::PendingMyListUpdate()); -} - -QScriptValue HostInfo_ctor(QScriptContext *, QScriptEngine *engine) -{ - return engine->toScriptValue(::LocalMyList::HostInfo()); -} - -QScriptValue OpenFileData_ctor(QScriptContext *, QScriptEngine *engine) -{ - return engine->toScriptValue(::LocalMyList::OpenFileData()); -} - -QScriptValue DatabaseConnectionSettings_ctor(QScriptContext *, QScriptEngine *engine) -{ - return engine->toScriptValue(::LocalMyList::DatabaseConnectionSettings()); -} - -QScriptValue toSearchQuery(QScriptContext *ctx, QScriptEngine *engine) +QJSValue toSearchQuery(QJSEngine *engine) { - if (!ctx->argumentCount()) - return engine->toScriptValue(QString()); - return engine->toScriptValue(::LocalMyList::toSearchQuery(ctx->argument(0).toString())); + // TODO + return {}; } } // namespace Scriptable diff --git a/localmylist/scriptable.h b/localmylist/scriptable.h index ee85499..f8e61d2 100644 --- a/localmylist/scriptable.h +++ b/localmylist/scriptable.h @@ -3,10 +3,14 @@ #include "localmylist_global.h" -#include -#include -#include #include +#include +#include +#include + +#include "database.h" +#include "mylist.h" +#include "settings.h" namespace LocalMyList { @@ -23,21 +27,22 @@ struct HostInfo; struct OpenFileData; struct DatabaseConnectionSettings; -void LOCALMYLISTSHARED_EXPORT registerTypes(QScriptEngine *engine); +void LOCALMYLISTSHARED_EXPORT registerTypes(QJSEngine *engine); namespace Scriptable { -template QScriptValue toScriptValue(QScriptEngine *engine, const T &t) -{ +template +QJSValue toScriptValue(QJSEngine *engine, const T &t) { return engine->newQObject(t); } -template void fromScriptValue(const QScriptValue &value, T &t) -{ +template +void fromScriptValue(const QJSValue &value, T &t) { t = qobject_cast(value.toQObject()); } -struct LOCALMYLISTSHARED_EXPORT AnimeTitle : public QObject, protected QScriptable +struct LOCALMYLISTSHARED_EXPORT AnimeTitle : public QObject, + public ::LocalMyList::AnimeTitle { Q_OBJECT Q_PROPERTY(int aid READ read_aid WRITE write_aid) @@ -45,10 +50,8 @@ struct LOCALMYLISTSHARED_EXPORT AnimeTitle : public QObject, protected QScriptab Q_PROPERTY(QString language READ read_language WRITE write_language) Q_PROPERTY(QString title READ read_title WRITE write_title) - ::LocalMyList::AnimeTitle *thisObj() const; - public: - AnimeTitle(QObject *parent = 0); + Q_INVOKABLE AnimeTitle(QObject *parent = 0); public slots: QString toString() const; @@ -67,7 +70,8 @@ public: void write_title(QString val); }; -class LOCALMYLISTSHARED_EXPORT Anime : public QObject, protected QScriptable +class LOCALMYLISTSHARED_EXPORT Anime : public QObject, + public ::LocalMyList::Anime { Q_OBJECT Q_PROPERTY(int aid READ read_aid WRITE write_aid) @@ -94,9 +98,8 @@ class LOCALMYLISTSHARED_EXPORT Anime : public QObject, protected QScriptable Q_PROPERTY(double myTempVote READ read_myTempVote WRITE write_myTempVote) Q_PROPERTY(QDateTime myTempVoteDate READ read_myTempVoteDate WRITE write_myTempVoteDate) - ::LocalMyList::Anime *thisObj() const; public: - Anime(QObject *parent = 0); + Q_INVOKABLE Anime(QObject *parent = 0); public slots: QString toString() const; @@ -172,7 +175,8 @@ public: void write_myTempVoteDate(QDateTime val); }; -class LOCALMYLISTSHARED_EXPORT Episode : public QObject, protected QScriptable +class LOCALMYLISTSHARED_EXPORT Episode : public QObject, + public ::LocalMyList::Episode { Q_OBJECT Q_PROPERTY(int eid READ read_eid WRITE write_eid) @@ -195,9 +199,8 @@ class LOCALMYLISTSHARED_EXPORT Episode : public QObject, protected QScriptable Q_PROPERTY(double myVote READ read_myVote WRITE write_myVote) Q_PROPERTY(QDateTime myVoteDate READ read_myVoteDate WRITE write_myVoteDate) - ::LocalMyList::Episode *thisObj() const; public: - Episode(QObject *parent = 0); + Q_INVOKABLE Episode(QObject *parent = 0); public slots: QString toString() const; @@ -261,7 +264,7 @@ public: void write_myVoteDate(QDateTime val); }; -class LOCALMYLISTSHARED_EXPORT File : public QObject, protected QScriptable +class LOCALMYLISTSHARED_EXPORT File : public QObject, ::LocalMyList::File { Q_OBJECT Q_PROPERTY(int fid READ read_fid WRITE write_fid) @@ -297,9 +300,8 @@ class LOCALMYLISTSHARED_EXPORT File : public QObject, protected QScriptable Q_PROPERTY(QString mySource READ read_mySource WRITE write_mySource) Q_PROPERTY(QString myOther READ read_myOther WRITE write_myOther) - ::LocalMyList::File *thisObj() const; public: - File(QObject *parent = 0); + Q_INVOKABLE File(QObject *parent = 0); public slots: QString toString() const; @@ -402,7 +404,8 @@ public: void write_myOther(QString val); }; -class LOCALMYLISTSHARED_EXPORT FileLocation : public QObject, protected QScriptable +class LOCALMYLISTSHARED_EXPORT FileLocation : public QObject, + public ::LocalMyList::FileLocation { Q_OBJECT Q_PROPERTY(int locationId READ read_locationId WRITE write_locationId) @@ -412,9 +415,8 @@ class LOCALMYLISTSHARED_EXPORT FileLocation : public QObject, protected QScripta Q_PROPERTY(QDateTime renamed READ read_renamed WRITE write_renamed) Q_PROPERTY(bool failedRename READ read_failedRename WRITE write_failedRename) - ::LocalMyList::FileLocation *thisObj() const; public: - FileLocation(QObject *parent = 0); + Q_INVOKABLE FileLocation(QObject *parent = 0); public slots: QString toString() const; @@ -439,7 +441,8 @@ public: void write_failedRename(bool val); }; -class LOCALMYLISTSHARED_EXPORT UnknownFile : public QObject, protected QScriptable +class LOCALMYLISTSHARED_EXPORT UnknownFile : public QObject, + public ::LocalMyList::UnknownFile { Q_OBJECT Q_PROPERTY(QByteArray ed2k READ read_ed2k WRITE write_ed2k) @@ -447,9 +450,8 @@ class LOCALMYLISTSHARED_EXPORT UnknownFile : public QObject, protected QScriptab Q_PROPERTY(int hostId READ read_hostId WRITE write_hostId) Q_PROPERTY(QString path READ read_path WRITE write_path) - ::LocalMyList::UnknownFile *thisObj() const; public: - UnknownFile(QObject *parent = 0); + Q_INVOKABLE UnknownFile(QObject *parent = 0); public slots: QString toString() const; @@ -468,7 +470,9 @@ public: void write_path(QString val); }; -class LOCALMYLISTSHARED_EXPORT FileEpisodeRel : public QObject, protected QScriptable +class LOCALMYLISTSHARED_EXPORT FileEpisodeRel + : public QObject, + public ::LocalMyList::FileEpisodeRel { Q_OBJECT Q_PROPERTY(int fid READ read_fid WRITE write_fid) @@ -476,9 +480,8 @@ class LOCALMYLISTSHARED_EXPORT FileEpisodeRel : public QObject, protected QScrip Q_PROPERTY(int startPercent READ read_startPercent WRITE write_startPercent) Q_PROPERTY(int endPercent READ read_endPercent WRITE write_endPercent) - ::LocalMyList::FileEpisodeRel *thisObj() const; public: - FileEpisodeRel(QObject *parent = 0); + Q_INVOKABLE FileEpisodeRel(QObject *parent = 0); public slots: QString toString() const; @@ -497,7 +500,9 @@ public: void write_endPercent(int val); }; -class LOCALMYLISTSHARED_EXPORT PendingRequest : public QObject, protected QScriptable +class LOCALMYLISTSHARED_EXPORT PendingRequest + : public QObject, + public ::LocalMyList::PendingRequest { Q_OBJECT Q_PROPERTY(int aid READ read_aid WRITE write_aid) @@ -506,9 +511,8 @@ class LOCALMYLISTSHARED_EXPORT PendingRequest : public QObject, protected QScrip Q_PROPERTY(QByteArray ed2k READ read_ed2k WRITE write_ed2k) Q_PROPERTY(qint64 size READ read_size WRITE write_size) - ::LocalMyList::PendingRequest *thisObj() const; public: - PendingRequest(QObject *parent = 0); + Q_INVOKABLE PendingRequest(QObject *parent = 0); public slots: QString toString() const; @@ -530,7 +534,9 @@ public: void write_size(qint64 val); }; -class LOCALMYLISTSHARED_EXPORT PendingMyListUpdate : public QObject, protected QScriptable +class LOCALMYLISTSHARED_EXPORT PendingMyListUpdate + : public QObject, + public ::LocalMyList::PendingMyListUpdate { Q_OBJECT Q_PROPERTY(qint64 updateId READ read_updateId WRITE write_updateId) @@ -551,9 +557,8 @@ class LOCALMYLISTSHARED_EXPORT PendingMyListUpdate : public QObject, protected Q Q_PROPERTY(QDateTime started READ read_started WRITE write_started) Q_PROPERTY(QDateTime finished READ read_finished WRITE write_finished) - ::LocalMyList::PendingMyListUpdate *thisObj() const; public: - PendingMyListUpdate(QObject *parent = 0); + Q_INVOKABLE PendingMyListUpdate(QObject *parent = 0); public slots: QString toString() const; @@ -611,16 +616,16 @@ public: void write_finished(QDateTime val); }; -class LOCALMYLISTSHARED_EXPORT HostInfo : public QObject, protected QScriptable +class LOCALMYLISTSHARED_EXPORT HostInfo : public QObject, + ::LocalMyList::HostInfo { Q_OBJECT Q_PROPERTY(int id READ read_id WRITE write_id) Q_PROPERTY(QString name READ read_name WRITE write_name) Q_PROPERTY(bool isUdpHost READ read_isUdpHost WRITE write_isUdpHost) - ::LocalMyList::HostInfo *thisObj() const; public: - HostInfo(QObject *parent = 0); + Q_INVOKABLE HostInfo(QObject *parent = 0); public slots: QString toString() const; @@ -636,7 +641,8 @@ public: void write_isUdpHost(bool val); }; -class LOCALMYLISTSHARED_EXPORT OpenFileData : public QObject, protected QScriptable +class LOCALMYLISTSHARED_EXPORT OpenFileData : public QObject, + public ::LocalMyList::OpenFileData { Q_OBJECT Q_PROPERTY(int fid READ read_fid WRITE write_fid) @@ -647,9 +653,8 @@ class LOCALMYLISTSHARED_EXPORT OpenFileData : public QObject, protected QScripta Q_PROPERTY(QString localPath READ read_localPath WRITE write_localPath) Q_PROPERTY(QString path READ read_path WRITE write_path) - ::LocalMyList::OpenFileData *thisObj() const; public: - OpenFileData(QObject *parent = 0); + Q_INVOKABLE OpenFileData(QObject *parent = 0); public slots: QString toString() const; @@ -677,7 +682,9 @@ public: void write_path(QString val); }; -class LOCALMYLISTSHARED_EXPORT DatabaseConnectionSettings : public QObject, protected QScriptable +class LOCALMYLISTSHARED_EXPORT DatabaseConnectionSettings + : public QObject, + public ::LocalMyList::DatabaseConnectionSettings { Q_OBJECT Q_PROPERTY(QString host READ read_host WRITE write_host) @@ -686,9 +693,8 @@ class LOCALMYLISTSHARED_EXPORT DatabaseConnectionSettings : public QObject, prot Q_PROPERTY(QString pass READ read_pass WRITE write_pass) Q_PROPERTY(QString database READ read_database WRITE write_database) - ::LocalMyList::DatabaseConnectionSettings *thisObj() const; public: - DatabaseConnectionSettings(QObject *parent = 0); + Q_INVOKABLE DatabaseConnectionSettings(QObject *parent = 0); public slots: QString toString() const; @@ -710,19 +716,7 @@ public: void write_database(QString val); }; -QScriptValue Anime_ctor(QScriptContext *, QScriptEngine *engine); -QScriptValue Episode_ctor(QScriptContext *, QScriptEngine *engine); -QScriptValue File_ctor(QScriptContext *, QScriptEngine *engine); -QScriptValue FileLocation_ctor(QScriptContext *, QScriptEngine *engine); -QScriptValue UnknownFile_ctor(QScriptContext *, QScriptEngine *engine); -QScriptValue FileEpisodeRel_ctor(QScriptContext *, QScriptEngine *engine); -QScriptValue PendingRequest_ctor(QScriptContext *, QScriptEngine *engine); -QScriptValue PendingMyListUpdate_ctor(QScriptContext *, QScriptEngine *engine); -QScriptValue HostInfo_ctor(QScriptContext *, QScriptEngine *engine); -QScriptValue OpenFileData_ctor(QScriptContext *, QScriptEngine *engine); -QScriptValue DatabaseConnectionSettings_ctor(QScriptContext *, QScriptEngine *engine); - -QScriptValue toSearchQuery(QScriptContext *, QScriptEngine *engine); +QJSValue toSearchQuery(QJSEngine *engine); } // namespace Scriptable } // namespace LocalMyList diff --git a/localmylist/scriptablesql.cpp b/localmylist/scriptablesql.cpp index 231e102..6473189 100644 --- a/localmylist/scriptablesql.cpp +++ b/localmylist/scriptablesql.cpp @@ -1,5 +1,6 @@ #include "scriptablesql.h" +#include #include #include "mylist.h" @@ -8,76 +9,42 @@ namespace LocalMyList { -void registerSqlTypes(QScriptEngine *engine) +void registerSqlTypes(QJSEngine *engine) { - Scriptable::SqlQuery *SqlQueryPrototype = new Scriptable::SqlQuery(); - engine->setDefaultPrototype(qMetaTypeId(), engine->newQObject(SqlQueryPrototype)); - engine->setDefaultPrototype(qMetaTypeId(), engine->newQObject(SqlQueryPrototype)); - engine->globalObject().setProperty("SqlQuery", engine->newFunction(Scriptable::SqlQuery_ctor)); + engine->globalObject().setProperty( + "SqlQuery", + engine->newQMetaObject(&Scriptable::SqlQuery::staticMetaObject)); } namespace Scriptable { -SqlQuery::SqlQuery(QObject *parent) : - QObject(parent), QScriptable() -{ -} +SqlQuery::SqlQuery(QObject *parent) : QObject(parent) {} bool SqlQuery::prepare(const QString &sql) { - auto o = thisObj(); - if (!o) return false; QString tmp = sql; - tmp.replace(QRegExp("[\\n\\r]+"), " "); - *o = MyList::instance()->database()->prepareOneShot(tmp); + static QRegularExpression rx("[\\n\\r]+"); + tmp.replace(rx, " "); + query = MyList::instance()->database()->prepareOneShot(tmp); return true; } bool SqlQuery::bindValue(const QString &name, const QVariant &value) { - auto o = thisObj(); - if (!o) return false; - o->bindValue(name, value); + query.bindValue(name, value); return true; } -bool SqlQuery::exec() -{ - auto o = thisObj(); - if (!o) return false; - return MyList::instance()->database()->exec(*o); -} +bool SqlQuery::exec() { return MyList::instance()->database()->exec(query); } -bool SqlQuery::next() -{ - auto o = thisObj(); - if (!o) return false; - return o->next(); -} +bool SqlQuery::next() { return query.next(); } QVariant SqlQuery::column(const QString &column) { - auto o = thisObj(); - if (!o) return QVariant(); - return o->record().value(column); -} - -QVariant SqlQuery::columnNo(int column) -{ - auto o = thisObj(); - if (!o) return QVariant(); - return o->value(column); + return query.record().value(column); } -QSqlQuery *SqlQuery::thisObj() const -{ - return qscriptvalue_cast(thisObject()); -} - -QScriptValue SqlQuery_ctor(QScriptContext *, QScriptEngine *engine) -{ - return engine->toScriptValue(QSqlQuery()); -} +QVariant SqlQuery::columnNo(int column) { return query.value(column); } } // namespace Scriptable } // namespace LocalMyList diff --git a/localmylist/scriptablesql.h b/localmylist/scriptablesql.h index 1f6f2ea..b718f60 100644 --- a/localmylist/scriptablesql.h +++ b/localmylist/scriptablesql.h @@ -3,20 +3,18 @@ #include "localmylist_global.h" +#include #include -#include -#include #include namespace LocalMyList { -void LOCALMYLISTSHARED_EXPORT registerSqlTypes(QScriptEngine *engine); +void LOCALMYLISTSHARED_EXPORT registerSqlTypes(QJSEngine *engine); namespace Scriptable { -class LOCALMYLISTSHARED_EXPORT SqlQuery : public QObject, protected QScriptable -{ +class LOCALMYLISTSHARED_EXPORT SqlQuery : public QObject { Q_OBJECT public: SqlQuery(QObject *parent = 0); @@ -33,15 +31,10 @@ public slots: QVariant columnNo(int column); private: - QSqlQuery *thisObj() const; + QSqlQuery query; }; -QScriptValue SqlQuery_ctor(QScriptContext *, QScriptEngine *engine); - } // namespace Scriptable } // namespace LocalMyList -Q_DECLARE_METATYPE(QSqlQuery) -Q_DECLARE_METATYPE(QSqlQuery*) - #endif // SCRIPTABLESQL_H diff --git a/localmylist/settings.h b/localmylist/settings.h index 8ae75e9..b3388f3 100644 --- a/localmylist/settings.h +++ b/localmylist/settings.h @@ -52,6 +52,6 @@ private: } // namespace LocalMyList -Q_DECLARE_METATYPE(LocalMyList::Settings*) +Q_DECLARE_METATYPE(LocalMyList::Settings *) #endif // SETTINGS_H diff --git a/play-next/CMakeLists.txt b/play-next/CMakeLists.txt index 983d316..e1b181f 100644 --- a/play-next/CMakeLists.txt +++ b/play-next/CMakeLists.txt @@ -1,11 +1,11 @@ project(play-next) -find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS +find_package(${QT_PACKAGE} ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS Core ) set(play-next_LIBS - Qt5::Core + ${QT_PACKAGE}::Core LocalMyList::LocalMyList ) diff --git a/play-next/main.cpp b/play-next/main.cpp index b00a516..0d823b5 100644 --- a/play-next/main.cpp +++ b/play-next/main.cpp @@ -16,14 +16,14 @@ int main(int argc, char *argv[]) QTextStream cout(stdout); if (a.arguments().count() < 2) { - cout << "Usage: " << a.arguments()[0] << " TITLE" << endl; + cout << "Usage: " << a.arguments()[0] << " TITLE" << Qt::endl; return 1; } LocalMyList::instance()->loadLocalSettings(); if (!LocalMyList::instance()->database()->connect()) { - cout << "Could not connect to database." << endl; + cout << "Could not connect to database." << Qt::endl; return 1; } @@ -36,7 +36,7 @@ int main(int argc, char *argv[]) if (!data.fid) { - cout << "No file to watch." << endl; + cout << "No file to watch." << Qt::endl; return 1; } @@ -48,7 +48,7 @@ int main(int argc, char *argv[]) if (player.isEmpty()) { cout << "Player is not set!\n\n"; - cout << "Set [cli] player in " << settings.fileName() << endl; + cout << "Set [cli] player in " << settings.fileName() << Qt::endl; settings.beginGroup("cli"); settings.setValue("player", ""); @@ -56,9 +56,9 @@ int main(int argc, char *argv[]) return 1; } - cout << "ANIME " << data.animeTitle << endl; - cout << "EPISODE " << data.epno << " - " << data.episodeTitle << endl; - cout << "Starting player..." << endl; + cout << "ANIME " << data.animeTitle << Qt::endl; + cout << "EPISODE " << data.epno << " - " << data.episodeTitle << Qt::endl; + cout << "Starting player..." << Qt::endl; MyList::instance()->playFile(data); return 0; diff --git a/runscript/CMakeLists.txt b/runscript/CMakeLists.txt index b973ea3..3ebd7e2 100644 --- a/runscript/CMakeLists.txt +++ b/runscript/CMakeLists.txt @@ -1,15 +1,13 @@ project(runscript) -set(QT_MIN_VERSION "5.3.0") - -find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS +find_package(${QT_PACKAGE} ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS Core - Script ) +find_package(AucQJSEngineFunction CONFIG REQUIRED) set(runscript_LIBS - Qt5::Core - Qt5::Script + ${QT_PACKAGE}::Core + AucQJSEngineFunction::AucQJSEngineFunction LocalMyList::LocalMyList ) diff --git a/runscript/main.cpp b/runscript/main.cpp index e986ef7..458043a 100644 --- a/runscript/main.cpp +++ b/runscript/main.cpp @@ -1,30 +1,36 @@ #include #include +#include +#include +#include +#include #include #include -#include #include "mylist.h" #include "database.h" #include "scriptable.h" #include "scriptablesql.h" +#include + #include using namespace LocalMyList; -QScriptValue print(QScriptContext *ctx, QScriptEngine *engine) +QJSValue print(const QJSValueList &args) { QTextStream cout(stdout); - for (int i = 0; i < ctx->argumentCount(); ++i) + bool first = true; + for (const auto &arg : args) { - cout << ctx->argument(i).toString(); - if (i) + if (!first) cout << " "; + cout << arg.toString(); } - cout << endl; - return engine->undefinedValue(); + cout << Qt::endl; + return {}; } int main(int argc, char *argv[]) @@ -33,8 +39,9 @@ int main(int argc, char *argv[]) QTextStream cout(stdout); if (a.arguments().count() < 2) { - cout << "Usage: " << a.arguments()[0] << " FILE [ARGS...]" << endl; - cout << " " << a.arguments()[0] << " -e SCRIPT [-- ARGS...]" << endl; + cout << "Usage: " << a.arguments()[0] << " FILE [ARGS...]" << Qt::endl; + cout << " " << a.arguments()[0] << " -e SCRIPT [-- ARGS...]" + << Qt::endl; return 1; } @@ -71,7 +78,7 @@ int main(int argc, char *argv[]) if (!file.open(QIODevice::ReadOnly)) { - cout << "Failed to open file for reading." << endl; + cout << "Failed to open file for reading." << Qt::endl; return 1; } script = file.readAll(); @@ -80,21 +87,22 @@ int main(int argc, char *argv[]) } - QScriptEngine engine; + QJSEngine engine; LocalMyList::registerTypes(&engine); LocalMyList::registerSqlTypes(&engine); engine.globalObject().setProperty("mylist", engine.newQObject(MyList::instance())); engine.globalObject().setProperty("db", engine.newQObject(MyList::instance()->database())); - engine.globalObject().setProperty("args", qScriptValueFromSequence(&engine, args)); - engine.globalObject().setProperty("print", engine.newFunction(print)); + engine.globalObject().setProperty("args", engine.toScriptValue(args)); + AucQJSEngineFunction::registerFunction(engine, "print", print); - QScriptValue result = engine.evaluate(script); - if (engine.hasUncaughtException()) { - int lineNo = engine.uncaughtExceptionLineNumber(); + QJSValue result = engine.evaluate(script); + if (result.isError()) + { + int lineNo = result.property("lineNumber").toInt(); qWarning() << "line" << lineNo << ":" << result.toString(); return 1; } - cout << result.toString() << endl; + cout << result.toString() << Qt::endl; return 0; }