Git commit e3704252cea041e41daa39fb31b39dc8783d716f by Christoph Feck. Committed on 26/10/2014 at 14:02. Pushed by cfeck into branch 'frameworks'.
Port KCharSelect to KF5 I didn't feel like making individual commits for the few small changes. Excuse me :) M +26 -19 CMakeLists.txt M +1 -1 doc/CMakeLists.txt M +1 -1 doc/index.docbook M +20 -24 kcharselectdia.cc M +4 -4 kcharselectdia.h M +22 -22 main.cc http://commits.kde.org/kcharselect/e3704252cea041e41daa39fb31b39dc8783d716f diff --git a/CMakeLists.txt b/CMakeLists.txt index 34cedb6..d29b47e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,37 +1,44 @@ project(kcharselect) -########### next target ############### +cmake_minimum_required (VERSION 2.8.12 FATAL_ERROR) +set (QT_MIN_VERSION "5.2.0") -if(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR}) - find_package(KDE4) - include( KDE4Defaults ) - include_directories(${KDE4_INCLUDES}) +find_package (ECM 1.3.0 REQUIRED NO_MODULE) +set (CMAKE_MODULE_PATH ${ECM_MODULE_PATH}) - add_definitions(${QT_DEFINITIONS} ${KDE4_DEFINITIONS}) - add_definitions(-DQT_USE_FAST_CONCATENATION -DQT_USE_FAST_OPERATOR_PLUS) +add_definitions(-DTRANSLATION_DOMAIN="kcharselect") - # If definitions like -D_GNU_SOURCE are needed for these checks they - # should be added to _KDE4_PLATFORM_DEFINITIONS when it is originally - # defined outside this file. Here we include these definitions in - # CMAKE_REQUIRED_DEFINITIONS so they will be included in the build of - # checks below. - set( CMAKE_REQUIRED_DEFINITIONS ${_KDE4_PLATFORM_DEFINITIONS} ) -endif() +include(KDEInstallDirs) +include(KDECompilerSettings) +include(KDECMakeSettings) + +find_package (Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS + Core + Widgets +) + +find_package(KF5 REQUIRED COMPONENTS + DocTools + I18n + WidgetsAddons + XmlGui +) + +add_definitions(-DQT_USE_FAST_CONCATENATION -DQT_USE_FAST_OPERATOR_PLUS) set(kcharselect_SRCS kcharselectdia.cc main.cc ) -kde4_add_app_icon(kcharselect_SRCS "${KDE4_INSTALL_DIR}/share/icons/oxygen/*/apps/accessories-character-map.png") +#kde4_add_app_icon(kcharselect_SRCS "${KDE4_INSTALL_DIR}/share/icons/oxygen/*/apps/accessories-character-map.png") -kde4_add_executable(kcharselect ${kcharselect_SRCS}) +add_executable(kcharselect ${kcharselect_SRCS}) -target_link_libraries(kcharselect ${KDE4_KDEUI_LIBS} ) +target_link_libraries(kcharselect KF5::I18n KF5::WidgetsAddons KF5::XmlGui ) install(TARGETS kcharselect ${INSTALL_TARGETS_DEFAULT_ARGS} ) ########### install files ############### install( PROGRAMS KCharSelect.desktop DESTINATION ${XDG_APPS_INSTALL_DIR}) -install( FILES kcharselectui.rc DESTINATION ${DATA_INSTALL_DIR}/kcharselect) +install( FILES kcharselectui.rc DESTINATION ${KXMLGUI_INSTALL_DIR}/kcharselect) -kde4_install_icons( ${ICON_INSTALL_DIR} ) add_subdirectory(doc) diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt index 9eb9efd..dcdaa42 100644 --- a/doc/CMakeLists.txt +++ b/doc/CMakeLists.txt @@ -1,4 +1,4 @@ ########### install files ############### # # -kde4_create_handbook(index.docbook INSTALL_DESTINATION ${HTML_INSTALL_DIR}/en SUBDIR kcharselect) +kdoctools_create_handbook(index.docbook INSTALL_DESTINATION ${HTML_INSTALL_DIR}/en SUBDIR kcharselect) diff --git a/doc/index.docbook b/doc/index.docbook index 835f42e..ec63da6 100644 --- a/doc/index.docbook +++ b/doc/index.docbook @@ -1,5 +1,5 @@ <?xml version="1.0" ?> -<!DOCTYPE article PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [ +<!DOCTYPE article PUBLIC "-//KDE//DTD DocBook XML V4.5-Based Variant V1.1//EN" "dtd/kdedbx45.dtd" [ <!ENTITY kappname "&kcharselect;"> <!ENTITY package "kdeutils"> diff --git a/kcharselectdia.cc b/kcharselectdia.cc index 493ead2..56cdf8f 100644 --- a/kcharselectdia.cc +++ b/kcharselectdia.cc @@ -17,17 +17,17 @@ #include "kcharselectdia.h" -#include <KAction> +#include <QAction> +#include <QApplication> +#include <QFontDatabase> +#include <QIcon> + #include <KActionCollection> -#include <KApplication> -#include <KConfig> -#include <KDebug> -#include <KDialog> -#include <KGlobal> -#include <KIcon> -#include <KLocale> +#include <KConfigGroup> +#include <KLocalizedString> #include <KStandardAction> #include <KStandardShortcut> +#include <KSharedConfig> #include <KToggleAction> /******************************************************************/ @@ -38,10 +38,10 @@ KCharSelectDia::KCharSelectDia() : KXmlGuiWindow() { - KSharedConfig::Ptr config = KGlobal::config(); + KSharedConfig::Ptr config = KSharedConfig::openConfig(); KConfigGroup gr = config->group("General"); - vFont = gr.readEntry("selectedFont", KGlobalSettings::generalFont()); + vFont = gr.readEntry("selectedFont", QFontDatabase::systemFont(QFontDatabase::GeneralFont)); vChr = QChar(static_cast<unsigned short>(gr.readEntry("char", 33))); _rtl = gr.readEntry("rtl", false); @@ -49,8 +49,6 @@ KCharSelectDia::KCharSelectDia() setCentralWidget(mainWidget); grid = new QGridLayout( mainWidget ); - grid->setMargin( KDialog::marginHint() ); - grid->setSpacing( KDialog::spacingHint() ); // Add character selection widget from library kdeui charSelect = new KCharSelect(mainWidget, actionCollection()); @@ -66,9 +64,9 @@ KCharSelectDia::KCharSelectDia() grid->addWidget(charSelect, 0, 0, 1, 4); // Build line editor - lined = new KLineEdit(mainWidget); + lined = new QLineEdit(mainWidget); lined->resize(lined->sizeHint()); - lined->setClearButtonShown(true); + lined->setClearButtonEnabled(true); lined->setFont( vFont ); @@ -76,8 +74,8 @@ KCharSelectDia::KCharSelectDia() SLOT(lineEditChanged())); grid->addWidget(lined, 1, 0, 1, 3); - bClip = new KPushButton( KGuiItem( i18n( "&To Clipboard" ), - QLatin1String( "edit-copy" ) ), mainWidget ); + bClip = new QPushButton( i18n( "&To Clipboard" ), mainWidget ); + bClip->setIcon( QIcon::fromTheme( QLatin1String( "edit-copy" ) )); bClip->setFixedSize( bClip->sizeHint() ); connect(bClip,SIGNAL(clicked()),this,SLOT(toClip())); grid->addWidget(bClip, 1, 3); @@ -85,11 +83,11 @@ KCharSelectDia::KCharSelectDia() // Build menu KStandardAction::quit( this, SLOT(close()), actionCollection() ); - KAction *action = actionCollection()->addAction( QLatin1String( "copy_clip" ) ); + QAction *action = actionCollection()->addAction( QLatin1String( "copy_clip" ) ); action->setText( i18n("&To Clipboard") ); - action->setIcon( KIcon( QLatin1String( "edit-copy" )) ); + action->setIcon( QIcon::fromTheme( QLatin1String( "edit-copy" )) ); connect(action, SIGNAL(triggered(bool)), SLOT(toClip())); - action->setShortcuts(KStandardShortcut::shortcut(KStandardShortcut::Copy)); + actionCollection()->setDefaultShortcuts(action, KStandardShortcut::shortcut(KStandardShortcut::Copy)); action = actionCollection()->addAction( QLatin1String( "copy_utf_8" ) ); action->setText( i18n("To Clipboard &UTF-8") ); @@ -100,9 +98,9 @@ KCharSelectDia::KCharSelectDia() action = actionCollection()->addAction( QLatin1String( "from_clip" ) ); action->setText( i18n("&From Clipboard") ); - action->setIcon( KIcon( QLatin1String( "edit-paste" )) ); + action->setIcon( QIcon::fromTheme( QLatin1String( "edit-paste" )) ); connect(action, SIGNAL(triggered(bool)), SLOT(fromClip())); - action->setShortcuts(KStandardShortcut::shortcut(KStandardShortcut::Paste)); + actionCollection()->setDefaultShortcuts(action, KStandardShortcut::shortcut(KStandardShortcut::Paste)); action = actionCollection()->addAction( QLatin1String( "from_clip_utf8" ) ); action->setText( i18n( "From Clipboard UTF-8") ); connect(action, SIGNAL(triggered(bool) ), SLOT(fromClipUTF8())); @@ -131,7 +129,7 @@ KCharSelectDia::KCharSelectDia() //================================================================== void KCharSelectDia::closeEvent(QCloseEvent *event) { - KSharedConfig::Ptr config = KGlobal::config(); + KSharedConfig::Ptr config = KSharedConfig::openConfig(); KConfigGroup gr = config->group("General"); gr.writeEntry("selectedFont", vFont); @@ -287,5 +285,3 @@ void KCharSelectDia::lineEditChanged() lined->setCursorPosition( lined->cursorPosition() - 1 ); } } - -#include "kcharselectdia.moc" diff --git a/kcharselectdia.h b/kcharselectdia.h index bd71deb..626da63 100644 --- a/kcharselectdia.h +++ b/kcharselectdia.h @@ -20,10 +20,10 @@ #include <QClipboard> #include <QLayout> +#include <QLineEdit> +#include <QPushButton> #include <KCharSelect> -#include <KLineEdit> -#include <KPushButton> #include <KXmlGuiWindow> /******************************************************************/ @@ -42,8 +42,8 @@ protected: QGridLayout *grid; KCharSelect *charSelect; - KLineEdit *lined; - KPushButton *bClip; + QLineEdit *lined; + QPushButton *bClip; QChar vChr; QFont vFont; diff --git a/main.cc b/main.cc index 67cefa5..841f0aa 100644 --- a/main.cc +++ b/main.cc @@ -15,42 +15,42 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -#include "kcharselectdia.h" +#include <QApplication> +#include <QCommandLineParser> #include <KAboutData> -#include <KApplication> -#include <KCmdLineArgs> +#include <KLocalizedString> -static const char version[] = "v1.11"; -static const char description[] = I18N_NOOP("KDE character selection utility"); -static const char text[] = I18N_NOOP("A wrapper around the KCharSelect widget."); -static const char homepageUrl[] = "http://utils.kde.org/projects/kcharselect"; +#include "kcharselectdia.h" -/*================================================================*/ int main(int argc, char **argv) { - KAboutData aboutData( "kcharselect", 0, ki18n("KCharSelect"), - version, ki18n(description), KAboutData::License_GPL, - KLocalizedString(), ki18n(text), homepageUrl ); + KAboutData aboutData( "kcharselect", i18n("KCharSelect"), + "1.12", i18n("KDE character selection utility"), KAboutLicense::GPL, + QString(), i18n("A wrapper around the KCharSelect widget."), "http://utils.kde.org/projects/kcharselect" ); - aboutData.addAuthor(ki18n("Daniel Laidig"), ki18n("Author and maintainer"), "d.laidig at gmx.de" ); - aboutData.addAuthor(ki18n("Reginald Stadlbauer"), ki18n("Author"), "reggie at kde.org"); + aboutData.addAuthor(i18n("Daniel Laidig"), i18n("Author and maintainer"), "d.laidig at gmx.de" ); + aboutData.addAuthor(i18n("Reginald Stadlbauer"), i18n("Author"), "reggie at kde.org"); - aboutData.addCredit( ki18n("Daniel Laidig"), ki18n("New GUI, Unicode information, incremental search," + aboutData.addCredit( i18n("Daniel Laidig"), i18n("New GUI, Unicode information, incremental search," " and general improvements"), "d.laidig at gmx.de" ); - aboutData.addCredit( ki18n("Constantin Berzan"), ki18n("Previous maintainer"), "exit3219 at gmail.com" ); - aboutData.addCredit( ki18n("Nadeem Hasan"), ki18n( "GUI cleanup and fixes" ), + aboutData.addCredit( i18n("Constantin Berzan"), i18n("Previous maintainer"), "exit3219 at gmail.com" ); + aboutData.addCredit( i18n("Nadeem Hasan"), i18n( "GUI cleanup and fixes" ), "nhasan at kde.org" ); - aboutData.addCredit( ki18n("Ryan Cumming"), ki18n( "GUI cleanup and fixes" ), + aboutData.addCredit( i18n("Ryan Cumming"), i18n( "GUI cleanup and fixes" ), "bodnar42 at phalynx.dhs.org" ); - aboutData.addCredit( ki18n("Benjamin C. Meyer"), ki18n("XMLUI conversion"), + aboutData.addCredit( i18n("Benjamin C. Meyer"), i18n("XMLUI conversion"), "ben+kcharselect at meyerhome.net" ); - aboutData.addCredit( ki18n("Bryce Nesbitt"), ki18n("RTL support") ); + aboutData.addCredit( i18n("Bryce Nesbitt"), i18n("RTL support") ); - aboutData.setProgramIconName(QLatin1String( "accessories-character-map" )); - KCmdLineArgs::init( argc, argv, &aboutData ); + QApplication app( argc, argv ); + KAboutData::setApplicationData( aboutData ); + app.setWindowIcon( QIcon::fromTheme( QLatin1String( "accessories-character-map" ))); - KApplication app; + QCommandLineParser parser; + parser.addHelpOption(); + parser.addVersionOption(); + parser.process(app); KCharSelectDia *dia = new KCharSelectDia; dia->show();
