diff options
Diffstat (limited to 'src/tdeconf_update')
-rw-r--r-- | src/tdeconf_update/CMakeLists.txt | 32 | ||||
-rw-r--r-- | src/tdeconf_update/Makefile.am | 18 | ||||
-rw-r--r-- | src/tdeconf_update/kdev-gen-settings-tdeconf_update.cpp | 113 | ||||
-rw-r--r-- | src/tdeconf_update/kdev-gen-settings.upd | 8 |
4 files changed, 171 insertions, 0 deletions
diff --git a/src/tdeconf_update/CMakeLists.txt b/src/tdeconf_update/CMakeLists.txt new file mode 100644 index 00000000..4b605615 --- /dev/null +++ b/src/tdeconf_update/CMakeLists.txt @@ -0,0 +1,32 @@ +################################################# +# +# (C) 2010-2011 Serghei Amelian +# serghei (DOT) amelian (AT) gmail.com +# +# Improvements and feedback are welcome +# +# This file is released under GPL >= 2 +# +################################################# + +include_directories( + ${TQT_INCLUDE_DIRS} +) + +link_directories( + ${TQT_LIBRARY_DIRS} +) + + +##### other data ################################ + +install( FILES kdev-gen-settings.upd DESTINATION ${KCONF_UPDATE_INSTALL_DIR} ) + + +##### kdev-gen-settings-tdeconf_update (executable) + +tde_add_executable( kdev-gen-settings-tdeconf_update + SOURCES kdev-gen-settings-tdeconf_update.cpp + LINK ${TQT_LIBRARIES} + DESTINATION ${LIB_INSTALL_DIR}/tdeconf_update_bin +) diff --git a/src/tdeconf_update/Makefile.am b/src/tdeconf_update/Makefile.am new file mode 100644 index 00000000..d256951b --- /dev/null +++ b/src/tdeconf_update/Makefile.am @@ -0,0 +1,18 @@ +AM_CPPFLAGS = -DKDE_NO_COMPAT -DQT_NO_COMPAT $(all_includes) + +update_DATA = kdev-gen-settings.upd +updatedir = $(kde_datadir)/tdeconf_update + +# The Qt app cannot go into kde_datadir, that is not portable. +# install to kde_bindir/tdeconf_update_bin instead. +# KDE 3.2 will allow tdeconf_update scripts to run directly from there, +# but for us that's too late. Use the .sh script as a workaround. +tdeconf_PROGRAMS = kdev-gen-settings-tdeconf_update +tdeconfdir = $(libdir)/tdeconf_update_bin + +kdev_gen_settings_tdeconf_update_SOURCES = kdev-gen-settings-tdeconf_update.cpp +kdev_gen_settings_tdeconf_update_LDFLAGS = $(all_libraries) $(KDE_RPATH) $(LIB_QT) -lDCOP $(LIB_TDECORE) $(LIB_TDEUI) -ltdefx $(LIB_KIO) -ltdetexteditor +kdev_gen_settings_tdeconf_update_LDADD = $(LIB_QT) + +# vim: set noet: + diff --git a/src/tdeconf_update/kdev-gen-settings-tdeconf_update.cpp b/src/tdeconf_update/kdev-gen-settings-tdeconf_update.cpp new file mode 100644 index 00000000..63e4a834 --- /dev/null +++ b/src/tdeconf_update/kdev-gen-settings-tdeconf_update.cpp @@ -0,0 +1,113 @@ +/* + tdeconf_update app for migrating tdevelop's ui settings to the new + code that will be in 3.3. + + Copyright (c) 2005 by Matt Rogers <mattr@kde.org> + Based on code Copyright (c) 2003 by Martijn Klingens <klingens@kde.org> + + ************************************************************************* + * * + * This program is free software; you can redistribute it and/or * + * modify it under the terms of the GNU Lesser General Public * + * License as published by the Free Software Foundation; either * + * version 2 of the License, or (at your option) any later version. * + * * + ************************************************************************* +*/ + +#include <tqmap.h> +#include <tqtextstream.h> +#include <tqregexp.h> + +static TQTextStream qcin ( stdin, IO_ReadOnly ); +static TQTextStream qcout( stdout, IO_WriteOnly ); +static TQTextStream qcerr( stderr, IO_WriteOnly ); + +// Group cache. Yes, I know global vars are ugly :) +bool needFlush = false; +TQString newKeyValue; +int newDataValue; + +void parseKey( const TQString &group, const TQString &key, + const TQString &value, const TQString &rawLine ) +{ + + //qcerr << "*** group='" << group << "'" << endl; + if ( group == "General Options" && key == "Embed KDevDesigner") + { + newKeyValue = "Designer App"; + if ( value.lower() == "true" ) + newDataValue = 0; + else + newDataValue = 2; + qcout << newKeyValue << "=" << newDataValue << endl; + qcout << "# DELETE [" << key << "]" << endl; + + } + else if ( group == "General Options" && key == "Application Font" ) + { + newKeyValue = "OutputViewFont"; + qcout << newKeyValue << "=" << value << endl; + qcout << "# DELETE [" << key << "]" << endl; + } + else if ( group == "MakeOutputView" && key == "Messages Font" ) + { + qcout << "# DELETE [" << key << "]" << endl; + } + else if ( group == "TerminalEmulator" && key == "UseKDESetting" ) + { + newKeyValue = "UseKDESetting"; + if ( value.lower() == "true" ) + newDataValue = 0; + else + newDataValue = 1; + qcout << newKeyValue << "=" << newDataValue << endl; + } + else + { + // keys we don't convert. output the raw line instead. + qcout << rawLine << endl; + } +} + +int main() +{ + qcin.setEncoding( TQTextStream::UnicodeUTF8 ); + qcout.setEncoding( TQTextStream::UnicodeUTF8 ); + + TQString curGroup; + + TQRegExp groupRegExp( "^\\[(.*)\\]" ); + TQRegExp keyRegExp( "^([a-zA-Z0-9:, _-]*)\\s*=\\s*(.*)\\s*" ); + TQRegExp commentRegExp( "^(#.*)?$" ); + + while ( !qcin.atEnd() ) + { + TQString line = qcin.readLine(); + + if ( commentRegExp.exactMatch( line ) ) + { + // We found a comment, leave unchanged + qcout << line << endl; + } + else if ( groupRegExp.exactMatch( line ) ) + { + curGroup = groupRegExp.capturedTexts()[ 1 ]; + qcout << line << endl; + } + else if ( keyRegExp.exactMatch( line ) ) + { + // We found the a key line + parseKey( curGroup, keyRegExp.capturedTexts()[ 1 ], keyRegExp.capturedTexts()[ 2 ], line ); + } + else + { + qcout << line << endl; + } + } + + return 0; +} + +// vim: set noet ts=4 sts=4 sw=4: + diff --git a/src/tdeconf_update/kdev-gen-settings.upd b/src/tdeconf_update/kdev-gen-settings.upd new file mode 100644 index 00000000..1fd3803f --- /dev/null +++ b/src/tdeconf_update/kdev-gen-settings.upd @@ -0,0 +1,8 @@ +#Update the KDevelop General Settings page to work with the +#new UI file created on 20050406 +Id=kdev-gen-settings-update/5 +File=tdeveloprc +Script=kdev-gen-settings-tdeconf_update +Options=overwrite +AllKeys + |