diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 50e5e59..54fd1dc 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,189 +1,189 @@ include(GenerateExportHeader) include(ECMGenerateHeaders) include(ECMGeneratePriFile) include(CMakePackageConfigHelpers) include(ECMSetupVersion) include_directories( ${CMAKE_CURRENT_BINARY_DIR} ) ########### target alkimia-internal ########### set(alkimia_INTERNAL_SRCS alkdateformat.cpp alkexception.cpp alkmoney.cpp alkquotereceiver.cpp alkonlinequoteprocess.cpp alkfinancequoteprocess.cpp alkonlinequotesprofile.cpp alkonlinequotesprofilemanager.cpp ) set(alkimia_INTERNAL_HEADERS alkdateformat.h alkexception.h alkmoney.h alkquotereceiver.h alkonlinequoteprocess.h alkfinancequoteprocess.h alkonlinequotesprofile.h alkonlinequotesprofilemanager.h ) add_library(alkimia-internal STATIC ${alkimia_INTERNAL_SRCS} ${alkimia_INTERNAL_HEADERS}) if(NOT BUILD_QT4) set (ALKIMIA_INTERNAL_LIBS PUBLIC KF5::CoreAddons KF5::KDELibs4Support KF5::NewStuff ) endif() target_link_libraries(alkimia-internal PUBLIC ${QT_USE_LIBSPREFIX}Core ${ALKIMIA_INTERNAL_LIBS}) kde_target_enable_exceptions(alkimia-internal PUBLIC) ########### target alkimia ########### set(ALKIMIA_LIB_VERSION ${alkimia_VERSION}) set(ALKIMIA_LIB_SOVERSION "${alkimia_VERSION_MAJOR}") set(alkimia_LIB_SRCS alkcompany.cpp alkquoteitem.cpp alkvalue.cpp alkonlinequote.cpp alkonlinequotesource.cpp alkonlinequoteswidget.cpp ) set(alkimia_LIB_HEADERS alkcompany.h alkquoteitem.h ${CMAKE_CURRENT_BINARY_DIR}/alkvalue.h alkonlinequote.h alkonlinequotesource.h alkonlinequoteswidget.h ${CMAKE_CURRENT_BINARY_DIR}/alk_export.h ) set(alkimia_UI alkonlinequoteswidget.ui ) add_definitions(-DKNSRC_DIR="${CMAKE_CURRENT_SOURCE_DIR}") ki18n_wrap_ui(alkimia_LIB_SRCS ${alkimia_UI} ) add_library(alkimia SHARED ${alkimia_LIB_SRCS} ${alkimia_INTERNAL_SRCS} ${alkimia_LIB_HEADERS}) kde_target_enable_exceptions(alkimia PUBLIC) if(BUILD_QT4) set(ALKIMIA_LIBS PUBLIC ${KDE_LIBRARIES} ${KDE4_KDEUI_LIBS} ${KDE4_KNEWSTUFF3_LIBS}) else() set(ALKIMIA_LIBS PUBLIC ${QT_USE_LIBSPREFIX}WebKitWidgets KF5::KDELibs4Support KF5::NewStuff ) endif() target_link_libraries(alkimia PRIVATE alkimia-internal PUBLIC ${QT_USE_LIBSPREFIX}Core ${QT_USE_LIBSPREFIX}DBus ${QT_USE_LIBSPREFIX}WebKit ${MP_LIBRARIES} ${ALKIMIA_LIBS} ) generate_export_header(alkimia BASE_NAME alk) if(WIN32) set_target_properties(alkimia PROPERTIES SUFFIX "${ALKIMIA_LIB_SOVERSION}${CMAKE_SHARED_LIBRARY_SUFFIX}") else() set_target_properties(alkimia PROPERTIES VERSION ${ALKIMIA_LIB_VERSION} SOVERSION ${ALKIMIA_LIB_SOVERSION}) endif() set_target_properties(alkimia PROPERTIES OUTPUT_NAME alkimia${ALKIMIA_LIB_SUFFIX}) set(INCLUDE_INSTALL_DIR include/alkimia/${ALKIMIA_INCLUDE_SUFFIX}) install(TARGETS alkimia EXPORT alkimiaTargets ${INSTALL_TARGETS_DEFAULT_ARGS} ) install(FILES ${alkimia_LIB_HEADERS} ${CMAKE_CURRENT_BINARY_DIR}/ui_alkonlinequoteswidget.h DESTINATION ${INCLUDE_INSTALL_DIR}/alkimia COMPONENT Devel ) -install(FILES skrooge_unit.knsrc DESTINATION ${CONFIG_INSTALL_DIR}) +install(FILES alkimia-skrooge.knsrc DESTINATION ${CONFIG_INSTALL_DIR}) install(FILES financequote.pl DESTINATION ${DATA_INSTALL_DIR}/alkimia${ALKIMIA_PATH_SUFFIX}/misc ) if (NOT WIN32) configure_file(${CMAKE_CURRENT_SOURCE_DIR}/libalkimia.pc.in ${CMAKE_CURRENT_BINARY_DIR}/libalkimia${ALKIMIA_PATH_SUFFIX}.pc IMMEDIATE @ONLY) endif(NOT WIN32) configure_file(${CMAKE_CURRENT_SOURCE_DIR}/alkvalue.h.in ${CMAKE_CURRENT_BINARY_DIR}/alkvalue.h IMMEDIATE) ########### create package configuration file ########### # create a Config.cmake and a ConfigVersion.cmake file and install them set(CMAKECONFIG_INSTALL_DIR "${CMAKECONFIG_INSTALL_PREFIX}/LibAlkimia${ALKIMIA_PATH_SUFFIX}-${alkimia_VERSION_MAJOR}.${alkimia_VERSION_MINOR}") ecm_setup_version(${alkimia_VERSION} VARIABLE_PREFIX ALKIMIA PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/LibAlkimia${ALKIMIA_PATH_SUFFIX}ConfigVersion.cmake" COMPATIBILITY SameMajorVersion ) configure_package_config_file( "${CMAKE_CURRENT_SOURCE_DIR}/LibAlkimiaConfig.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/LibAlkimia${ALKIMIA_PATH_SUFFIX}Config.cmake" INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR} PATH_VARS INCLUDE_INSTALL_DIR ) ########### install files ############### export(TARGETS alkimia FILE "${CMAKE_CURRENT_BINARY_DIR}/LibAlkimia${ALKIMIA_PATH_SUFFIX}Targets.cmake" NAMESPACE Alkimia:: ) install(EXPORT alkimiaTargets FILE LibAlkimia${ALKIMIA_PATH_SUFFIX}Targets.cmake NAMESPACE Alkimia:: DESTINATION ${CMAKECONFIG_INSTALL_DIR} ) install(FILES "${CMAKE_CURRENT_BINARY_DIR}/LibAlkimia${ALKIMIA_PATH_SUFFIX}Config.cmake" "${CMAKE_CURRENT_BINARY_DIR}/LibAlkimia${ALKIMIA_PATH_SUFFIX}ConfigVersion.cmake" "../cmake/modules/Find${MP_CMAKE_MODULE}.cmake" DESTINATION "${CMAKECONFIG_INSTALL_DIR}" COMPONENT Devel) if (NOT WIN32) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libalkimia${ALKIMIA_PATH_SUFFIX}.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig) endif(NOT WIN32) ########### documentation ################### if(DOXYGEN_FOUND) set(APIDOC_DIR ${CMAKE_CURRENT_BINARY_DIR}/apidocs) make_directory(${APIDOC_DIR}) configure_file(${CMAKE_CURRENT_SOURCE_DIR}/libalkimia.doxygen.in ${CMAKE_CURRENT_BINARY_DIR}/libalkimia.doxygen IMMEDIATE) add_custom_target(libalkimia_apidoc ${DOXYGEN} ${CMAKE_CURRENT_BINARY_DIR}/libalkimia.doxygen) endif(DOXYGEN_FOUND) diff --git a/src/skrooge_unit_local.knsrc b/src/alkimia-skrooge-local.knsrc similarity index 86% rename from src/skrooge_unit_local.knsrc rename to src/alkimia-skrooge-local.knsrc index a952ac2..0e70872 100644 --- a/src/skrooge_unit_local.knsrc +++ b/src/alkimia-skrooge-local.knsrc @@ -1,5 +1,5 @@ [KNewStuff3] ProvidersUrl=http://kmymoney.wh.sag.de/ocs/providers.xml Categories=Skrooge quote source TargetDir=skrooge/quotes -Uncompress=archive +Uncompress=archive diff --git a/src/skrooge_unit.knsrc b/src/alkimia-skrooge.knsrc similarity index 86% rename from src/skrooge_unit.knsrc rename to src/alkimia-skrooge.knsrc index 55afac7..6672d90 100644 --- a/src/skrooge_unit.knsrc +++ b/src/alkimia-skrooge.knsrc @@ -1,5 +1,5 @@ [KNewStuff3] ProvidersUrl=http://download.kde.org/ocs/providers.xml Categories=Skrooge quote source TargetDir=skrooge/quotes -Uncompress=archive +Uncompress=archive diff --git a/tools/onlinequoteseditor/mainwindow.cpp b/tools/onlinequoteseditor/mainwindow.cpp index 12de30e..e7fd720 100644 --- a/tools/onlinequoteseditor/mainwindow.cpp +++ b/tools/onlinequoteseditor/mainwindow.cpp @@ -1,139 +1,139 @@ /*************************************************************************** * Copyright 2018 Ralf Habacker * * * * This file is part of libalkimia. * * * * libalkimia is free software; you can redistribute it and/or * * modify it under the terms of the GNU General Public License * * as published by the Free Software Foundation; either version 2.1 of * * the License or (at your option) version 3 or any later version. * * * * libalkimia is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * GNU General Public License for more details. * * * * You should have received a copy of the GNU General Public License * * along with this program. If not, see * ***************************************************************************/ #include "mainwindow.h" #include "ui_mainwindow.h" #include "alkonlinequotesprofile.h" #include "alkonlinequotesprofilemanager.h" #include "alkonlinequoteswidget.h" #include #include #include #include class MainWindow::Private { public: Private() : view(nullptr) , urlLine(nullptr) , quotesWidget(nullptr) { } ~Private() { delete view; delete quotesWidget; } QWebView *view; QLineEdit *urlLine; AlkOnlineQuotesWidget *quotesWidget; }; void MainWindow::slotUrlChanged(const QUrl &url) { d->urlLine->setText(url.toString()); } void MainWindow::slotEditingFinished() { QUrl url(d->urlLine->text()); QNetworkRequest request; request.setUrl(url); if (!d->quotesWidget->acceptLanguage().isEmpty()) request.setRawHeader("Accept-Language", d->quotesWidget->acceptLanguage().toLocal8Bit()); d->view->load(request); } void MainWindow::slotLanguageChanged(const QString &text) { d->quotesWidget->setAcceptLanguage(text); if (!d->urlLine->text().isEmpty()) slotEditingFinished(); } MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) , d(new Private) , ui(new Ui::MainWindow) { AlkOnlineQuotesProfileManager &manager = AlkOnlineQuotesProfileManager::instance(); manager.addProfile(new AlkOnlineQuotesProfile("alkimia", AlkOnlineQuotesProfile::Type::KMyMoney)); - //manager.addProfile(new AlkOnlineQuotesProfile("onlinequoteseditor", AlkOnlineQuotesProfile::Type::GHNS, "skrooge_unit.knsrc")); - //manager.addProfile(new AlkOnlineQuotesProfile("local", AlkOnlineQuotesProfile::Type::GHNS, "skrooge_unit_local.knsrc")); - manager.addProfile(new AlkOnlineQuotesProfile("skrooge", AlkOnlineQuotesProfile::Type::GHNS, "skrooge_unit.knsrc")); + //manager.addProfile(new AlkOnlineQuotesProfile("onlinequoteseditor", AlkOnlineQuotesProfile::Type::GHNS, "alkimia-skrooge.knsrc")); + //manager.addProfile(new AlkOnlineQuotesProfile("local", AlkOnlineQuotesProfile::Type::GHNS, "alkimia-skrooge-local.knsrc")); + manager.addProfile(new AlkOnlineQuotesProfile("skrooge", AlkOnlineQuotesProfile::Type::GHNS, "alkimia-skrooge.knsrc")); manager.addProfile(new AlkOnlineQuotesProfile("kmymoney", AlkOnlineQuotesProfile::Type::KMyMoney)); ui->setupUi(this); QDockWidget *dockWidget = new QDockWidget(tr("Browser"), this); d->view = new QWebView; connect(d->view, SIGNAL(urlChanged(QUrl)), this, SLOT(slotUrlChanged(QUrl))); d->urlLine = new QLineEdit; connect(d->urlLine, SIGNAL(editingFinished()), this, SLOT(slotEditingFinished())); d->quotesWidget = new AlkOnlineQuotesWidget; d->quotesWidget->setView(d->view); setCentralWidget(d->quotesWidget); // setup language box QComboBox *box = new QComboBox; QList allLocales = QLocale::matchingLocales( QLocale::AnyLanguage, QLocale::AnyScript, QLocale::AnyCountry); QStringList languages; foreach(const QLocale &locale, allLocales) { languages.append(locale.uiLanguages()); } languages.sort(); box->addItems(languages); d->quotesWidget->setAcceptLanguage(box->currentText()); connect(box, SIGNAL(currentIndexChanged(QString)), this, SLOT(slotLanguageChanged(QString))); // setup layouts QHBoxLayout *hLayout = new QHBoxLayout; hLayout->addWidget(d->urlLine); hLayout->addWidget(box); QVBoxLayout *layout = new QVBoxLayout; layout->addLayout(hLayout); layout->addWidget(d->view); QWidget *group = new QWidget; group->setLayout(layout); dockWidget->setWidget(group); addDockWidget(Qt::RightDockWidgetArea, dockWidget); // setup inspector d->view->page()->settings()->setAttribute(QWebSettings::DeveloperExtrasEnabled, true); QWebInspector *inspector = new QWebInspector; inspector->setPage(d->view->page()); } MainWindow::~MainWindow() { delete d; delete ui; }