[kde-doc-english] [kdelibs/frameworks] tier3/kdesignerplugin: Add missing subdir, renamed from kdewidgets

David Faure faure at kde.org
Tue Dec 17 10:51:01 UTC 2013


Git commit fd2c894e6163df2bb8d3b44de1f820a1d95bfaa9 by David Faure.
Committed on 17/12/2013 at 10:49.
Pushed by dfaure into branch 'frameworks'.

Add missing subdir, renamed from kdewidgets

If the diff on RB had headers I could have used git am...

A  +63   -0    tier3/kdesignerplugin/CMakeLists.txt
A  +3    -0    tier3/kdesignerplugin/KF5DesignerPluginConfig.cmake
A  +42   -0    tier3/kdesignerplugin/KF5DesignerPluginMacros.cmake
A  +1    -0    tier3/kdesignerplugin/Mainpage.dox
A  +1    -0    tier3/kdesignerplugin/docs/CMakeLists.txt
A  +1    -0    tier3/kdesignerplugin/docs/kgendesignerplugin/CMakeLists.txt
A  +166  -0    tier3/kdesignerplugin/docs/kgendesignerplugin/man-kgendesignerplugin.1.docbook
A  +3    -0    tier3/kdesignerplugin/src/AUTHORS
A  +98   -0    tier3/kdesignerplugin/src/CMakeLists.txt
A  +65   -0    tier3/kdesignerplugin/src/README
A  +29   -0    tier3/kdesignerplugin/src/classpreviews.cpp     [License: LGPL (v2+)]
A  +41   -0    tier3/kdesignerplugin/src/classpreviews.h     [License: LGPL (v2+)]
A  +255  -0    tier3/kdesignerplugin/src/kde.widgets
A  +10   -0    tier3/kdesignerplugin/src/kdewebkit.widgets
A  +4    -0    tier3/kdesignerplugin/src/kdewebkitwidgets.qrc
A  +33   -0    tier3/kdesignerplugin/src/kdewidgets.qrc
A  +226  -0    tier3/kdesignerplugin/src/kgendesignerplugin.cpp     [License: GENERATED FILE]  *
A  +35   -0    tier3/kdesignerplugin/src/pics/CMakeLists.txt
A  +-    --    tier3/kdesignerplugin/src/pics/k3iconview.png
A  +-    --    tier3/kdesignerplugin/src/pics/k3listview.png
A  +-    --    tier3/kdesignerplugin/src/pics/kactionselector.png
A  +-    --    tier3/kdesignerplugin/src/pics/kactivelabel.png
A  +-    --    tier3/kdesignerplugin/src/pics/kcharselect.png
A  +-    --    tier3/kdesignerplugin/src/pics/kcmodule.png
A  +-    --    tier3/kdesignerplugin/src/pics/kcolorbutton.png
A  +-    --    tier3/kdesignerplugin/src/pics/kcolorcombo.png
A  +-    --    tier3/kdesignerplugin/src/pics/kcombobox.png
A  +-    --    tier3/kdesignerplugin/src/pics/kdatepicker.png
A  +-    --    tier3/kdesignerplugin/src/pics/kdatetable.png
A  +-    --    tier3/kdesignerplugin/src/pics/kdualcolorbutton.png
A  +-    --    tier3/kdesignerplugin/src/pics/keditlistwidget.png
A  +-    --    tier3/kdesignerplugin/src/pics/kfontcombo.png
A  +-    --    tier3/kdesignerplugin/src/pics/kfontrequester.png
A  +-    --    tier3/kdesignerplugin/src/pics/kgradientselector.png
A  +-    --    tier3/kdesignerplugin/src/pics/khistorycombo.png
A  +-    --    tier3/kdesignerplugin/src/pics/khsselector.png
A  +-    --    tier3/kdesignerplugin/src/pics/kiconbutton.png
A  +-    --    tier3/kdesignerplugin/src/pics/kkeybutton.png
A  +-    --    tier3/kdesignerplugin/src/pics/kled.png
A  +-    --    tier3/kdesignerplugin/src/pics/klineedit.png
A  +-    --    tier3/kdesignerplugin/src/pics/klistbox.png
A  +-    --    tier3/kdesignerplugin/src/pics/kpalettetable.png
A  +-    --    tier3/kdesignerplugin/src/pics/kpasswordedit.png
A  +-    --    tier3/kdesignerplugin/src/pics/kruler.png
A  +-    --    tier3/kdesignerplugin/src/pics/ksqueezedtextlabel.png
A  +-    --    tier3/kdesignerplugin/src/pics/ktextedit.png
A  +-    --    tier3/kdesignerplugin/src/pics/kurlcomborequester.png
A  +-    --    tier3/kdesignerplugin/src/pics/kurllabel.png
A  +-    --    tier3/kdesignerplugin/src/pics/kurlrequester.png
A  +7    -0    tier3/kdesignerplugin/tests/CMakeLists.txt
A  +6    -0    tier3/kdesignerplugin/tests/README
A  +2    -0    tier3/kdesignerplugin/tests/sums
A  +261  -0    tier3/kdesignerplugin/tests/test.widgets

The files marked with a * at the end have a non valid license. Please read: http://techbase.kde.org/Policies/Licensing_Policy and use the headers which are listed at that page.


http://commits.kde.org/kdelibs/fd2c894e6163df2bb8d3b44de1f820a1d95bfaa9

diff --git a/tier3/kdesignerplugin/CMakeLists.txt b/tier3/kdesignerplugin/CMakeLists.txt
new file mode 100644
index 0000000..38424b4
--- /dev/null
+++ b/tier3/kdesignerplugin/CMakeLists.txt
@@ -0,0 +1,63 @@
+cmake_minimum_required(VERSION 2.8.12)
+
+project(KF5DesignerPlugin)
+
+find_package(ECM 0.0.9 REQUIRED NO_MODULE)
+
+set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR})
+
+include(KDEInstallDirs)
+include(KDEFrameworkCompilerSettings)
+include(KDECMakeSettings)
+include(FeatureSummary)
+
+set(REQUIRED_QT_VERSION 5.2.0)
+find_package(Qt5 ${REQUIRED_QT_VERSION} REQUIRED NO_MODULE COMPONENTS Core)
+
+set(KF5_VERSION 5.0.0)
+if("${CMAKE_BINARY_DIR}" STREQUAL "${CMAKE_CURRENT_BINARY_DIR}")
+    find_package(KF5ItemViews ${KF5_VERSION} REQUIRED)
+    find_package(KF5I18n ${KF5_VERSION} REQUIRED)
+    find_package(KF5GuiAddons ${KF5_VERSION} REQUIRED)
+    find_package(KF5ConfigWidgets ${KF5_VERSION} REQUIRED)
+    find_package(KF5IconThemes ${KF5_VERSION} REQUIRED)
+    find_package(KF5WidgetsAddons ${KF5_VERSION} REQUIRED)
+    find_package(KF5Completion ${KF5_VERSION} REQUIRED)
+    find_package(KF5DBusAddons ${KF5_VERSION} REQUIRED)
+    find_package(KF5Service ${KF5_VERSION} REQUIRED)
+    find_package(KF5WindowSystem ${KF5_VERSION} REQUIRED)
+    find_package(KF5TextWidgets ${KF5_VERSION} REQUIRED)
+    find_package(KF5XmlGui ${KF5_VERSION} REQUIRED)
+    find_package(KF5Plotting ${KF5_VERSION} REQUIRED)
+    find_package(KF5Bookmarks ${KF5_VERSION} REQUIRED)
+
+    find_package(KF5DocTools ${KF5_VERSION} REQUIRED)
+    find_package(KF5KIO ${KF5_VERSION} REQUIRED)
+else()
+    set(_kdeBootStrapping TRUE)
+    set(KDOCTOOLS_CUSTOMIZATION_DIR "${KDocTools_BINARY_DIR}/src/customization/")
+    include(${CMAKE_SOURCE_DIR}/tier2/kdoctools/KF5DocToolsMacros.cmake)
+endif()
+
+remove_definitions(-DQT_NO_CAST_FROM_ASCII)
+
+set(CMAKECONFIG_INSTALL_DIR "${CMAKECONFIG_INSTALL_PREFIX}/KF5DesignerPlugin")
+
+add_subdirectory(docs)
+add_subdirectory(src)
+add_subdirectory(tests)
+
+include(ECMSetupVersion)
+ecm_setup_version(${KF5_VERSION} VARIABLE_PREFIX kf5designerplugin
+                                 VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/kf5designerplugin_version.h"
+                                 PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KF5DesignerPluginConfigVersion.cmake")
+
+install( FILES
+    KF5DesignerPluginMacros.cmake KF5DesignerPluginConfig.cmake "${CMAKE_CURRENT_BINARY_DIR}/KF5DesignerPluginConfigVersion.cmake"
+    DESTINATION ${CMAKECONFIG_INSTALL_DIR} COMPONENT Devel )
+
+install(EXPORT KF5DesignerPluginTargets DESTINATION "${CMAKECONFIG_INSTALL_DIR}" FILE KF5DesignerPluginTargets.cmake NAMESPACE KF5:: )
+
+if ("${CMAKE_BINARY_DIR}" STREQUAL "${CMAKE_CURRENT_BINARY_DIR}")
+  feature_summary(WHAT ALL   FATAL_ON_MISSING_REQUIRED_PACKAGES)
+endif()
diff --git a/tier3/kdesignerplugin/KF5DesignerPluginConfig.cmake b/tier3/kdesignerplugin/KF5DesignerPluginConfig.cmake
new file mode 100644
index 0000000..df6ca1f
--- /dev/null
+++ b/tier3/kdesignerplugin/KF5DesignerPluginConfig.cmake
@@ -0,0 +1,3 @@
+include(${CMAKE_CURRENT_LIST_DIR}/KF5DesignerPluginTargets.cmake)
+include(${CMAKE_CURRENT_LIST_DIR}/KF5DesignerPluginMacros.cmake)
+set(KF5DESIGNERPLUGIN_GENERATOR_EXECUTABLE KF5::kgendesignerplugin)
diff --git a/tier3/kdesignerplugin/KF5DesignerPluginMacros.cmake b/tier3/kdesignerplugin/KF5DesignerPluginMacros.cmake
new file mode 100644
index 0000000..43fde97
--- /dev/null
+++ b/tier3/kdesignerplugin/KF5DesignerPluginMacros.cmake
@@ -0,0 +1,42 @@
+# Copyright (c) 2006-2009 Alexander Neundorf, <neundorf at kde.org>
+# Copyright (c) 2006, 2007, Laurent Montel, <montel at kde.org>
+# Copyright (c) 2007 Matthias Kretz <kretz at kde.org>
+#
+# Redistribution and use is allowed according to the terms of the BSD license.
+# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
+
+# The following variable is defined:
+#
+#  KF5DESIGNERPLUGIN_GENERATOR_EXECUTABLE - the executable to generate a plugin for Qt Designer
+#
+# It also adds the following macros and functions
+#  KF5DESIGNERPLUGIN_ADD_WIDGET_FILES (SRCS_VAR file1.widgets ... fileN.widgets)
+#    Use this to add widget description files for the Qt Designer plugin generator.
+#
+
+#FIXME: is this necessary once KF5DesignerPlugin is installed?
+set(_KF5DESIGNERPLUGIN_GENERATOR_EXECUTABLE_DEP kgendesignerplugin)
+
+macro (KF5DESIGNERPLUGIN_ADD_WIDGET_FILES _sources)
+   foreach (_current_FILE ${_sources})
+
+      get_filename_component(_input ${_current_FILE} ABSOLUTE)
+      get_filename_component(_basename ${_input} NAME_WE)
+      set(_source ${CMAKE_CURRENT_BINARY_DIR}/${_basename}widgets.cpp)
+      set(_moc ${CMAKE_CURRENT_BINARY_DIR}/${_basename}widgets.moc)
+
+      # create source file from the .widgets file
+      add_custom_command(OUTPUT ${_source}
+        COMMAND ${KF5DESIGNERPLUGIN_GENERATOR_EXECUTABLE}
+        ARGS -o ${_source} ${_input}
+        MAIN_DEPENDENCY ${_input} DEPENDS ${_KF5DESIGNERPLUGIN_GENERATOR_EXECUTABLE_DEP})
+
+      # create moc file
+      qt5_generate_moc(${_source} ${_moc} )
+
+      list(APPEND ${_sources} ${_source} ${_moc})
+
+   endforeach (_current_FILE)
+
+endmacro (KF5DESIGNERPLUGIN_ADD_WIDGET_FILES)
+
diff --git a/tier3/kdesignerplugin/Mainpage.dox b/tier3/kdesignerplugin/Mainpage.dox
new file mode 100644
index 0000000..4b96d29
--- /dev/null
+++ b/tier3/kdesignerplugin/Mainpage.dox
@@ -0,0 +1 @@
+// DOXYGEN_SET_PROJECT_NAME = KF5DesignerPlugin
diff --git a/tier3/kdesignerplugin/docs/CMakeLists.txt b/tier3/kdesignerplugin/docs/CMakeLists.txt
new file mode 100644
index 0000000..14ac672
--- /dev/null
+++ b/tier3/kdesignerplugin/docs/CMakeLists.txt
@@ -0,0 +1 @@
+add_subdirectory(kgendesignerplugin)
diff --git a/tier3/kdesignerplugin/docs/kgendesignerplugin/CMakeLists.txt b/tier3/kdesignerplugin/docs/kgendesignerplugin/CMakeLists.txt
new file mode 100644
index 0000000..a5348cb
--- /dev/null
+++ b/tier3/kdesignerplugin/docs/kgendesignerplugin/CMakeLists.txt
@@ -0,0 +1 @@
+kdoctools_create_manpage(man-kgendesignerplugin.1.docbook 1 INSTALL_DESTINATION ${MAN_INSTALL_DIR})
diff --git a/tier3/kdesignerplugin/docs/kgendesignerplugin/man-kgendesignerplugin.1.docbook b/tier3/kdesignerplugin/docs/kgendesignerplugin/man-kgendesignerplugin.1.docbook
new file mode 100644
index 0000000..99d4244
--- /dev/null
+++ b/tier3/kdesignerplugin/docs/kgendesignerplugin/man-kgendesignerplugin.1.docbook
@@ -0,0 +1,166 @@
+<?xml version="1.0" ?>
+<!DOCTYPE refentry PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN"
+"dtd/kdex.dtd" [
+<!ENTITY % English "INCLUDE">
+]>
+
+<refentry lang="&language;">
+<refentryinfo>
+<title>Programming Tool</title>
+
+<author>
+<firstname>Ian</firstname>
+<othername>Reinhart</othername>
+<surname>Geiser</surname>
+<affiliation>
+<address>
+<email>geiseri at kde.org</email>
+</address>
+</affiliation>
+</author>
+
+<date>2006-06-01</date>
+<productname>K Desktop Environment</productname>
+</refentryinfo>
+
+<refmeta>
+<refentrytitle>
+<command>kgendesignerplugin</command>
+</refentrytitle>
+<manvolnum>1</manvolnum>
+</refmeta>
+
+<refnamediv>
+<refname>kgendesignerplugin</refname>
+<refpurpose>
+Builds &Qt; widget plugins from an ini style description file.
+</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+<cmdsynopsis>
+<command>kgendesignerplugin</command>
+<arg>&Qt;-options</arg>
+<arg>&kde;-options</arg>
+<arg choice="plain"><replaceable>file</replaceable></arg>
+</cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+<title>Description</title>
+<para>
+<command>kgendesignerplugin</command> builds &Qt; widget plugins from an ini style description file.
+</para>
+</refsect1>
+
+<refsect1>
+<title>Options</title>
+
+<para>
+<variablelist>
+<title><emphasis role="bold">Arguments:</emphasis></title>
+<varlistentry>
+<term>
+<replaceable>file</replaceable>
+</term>
+<listitem>
+<para>Input file</para>
+</listitem>
+</varlistentry>
+</variablelist>
+</para>
+
+<para>
+<variablelist>
+<title><emphasis role="bold">Options:</emphasis></title>
+<varlistentry>
+<term>
+<option>-o <file></option>
+</term>
+<listitem>
+<para>Output file</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term>
+<option>-n <plugin name></option>
+</term>
+<listitem>
+<para>Name of the plugin class to generate [WidgetsPlugin]</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term>
+<option>-g <group></option>
+</term>
+<listitem>
+<para>Default widget group name to display in designer [Custom]</para>
+</listitem>
+</varlistentry>
+</variablelist>
+</para>
+
+<para>
+<variablelist>
+<title><emphasis role="bold">Generic options:</emphasis></title>
+
+<varlistentry>
+<term>
+<option>--help</option>
+</term>
+<listitem>
+<para>Show help about options</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term>
+<option>--author</option>
+</term>
+<listitem>
+<para>Show author information</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term>
+<option>-v, --version</option>
+</term>
+<listitem>
+<para>Show version information</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term>
+<option>--license</option>
+</term>
+<listitem>
+<para>Show license information</para>
+</listitem>
+</varlistentry>
+</variablelist>
+</para>
+
+</refsect1>
+
+<refsect1>
+<title>See Also</title>
+<variablelist>
+<varlistentry>
+<term>
+<option>http://developer.kde.org</option>
+</term>
+<listitem>
+<para>&kde; Developer's Corner website</para>
+</listitem>
+</varlistentry>
+</variablelist>
+</refsect1>
+
+<refsect1>
+<title>Bugs</title>
+<para>Please use <ulink url="http://bugs.kde.org">bugs.kde.org</ulink> to report bugs, do not mail the authors directly.</para>
+</refsect1>
+
+</refentry>
diff --git a/tier3/kdesignerplugin/src/AUTHORS b/tier3/kdesignerplugin/src/AUTHORS
new file mode 100644
index 0000000..1c83415
--- /dev/null
+++ b/tier3/kdesignerplugin/src/AUTHORS
@@ -0,0 +1,3 @@
+Daniel Molkentin <molkentin at kde.org>
+Malte Starostik <malte at kde.org>
+Nick Betcher <nbetcher at usinternet.com>
diff --git a/tier3/kdesignerplugin/src/CMakeLists.txt b/tier3/kdesignerplugin/src/CMakeLists.txt
new file mode 100644
index 0000000..3e51888
--- /dev/null
+++ b/tier3/kdesignerplugin/src/CMakeLists.txt
@@ -0,0 +1,98 @@
+include(ECMMarkNonGuiExecutable)
+
+remove_definitions(-DQT_NO_CAST_FROM_ASCII)
+
+add_subdirectory( pics )
+
+########### next target ###############
+
+add_executable(kgendesignerplugin kgendesignerplugin.cpp)
+ecm_mark_nongui_executable(kgendesignerplugin)
+
+target_link_libraries(kgendesignerplugin KF5::ConfigCore # KConfig + KConfigGroup
+                                         KF5::CoreAddons # KMacroExpander
+                                         )
+
+# "export" this target too so we can use the LOCATION property of the imported target in
+# FindKDE4Internal.cmake to get the full path to the installed executable instead of using FIND_PROGRAM(), Alex
+install(TARGETS kgendesignerplugin  EXPORT KF5DesignerPluginTargets ${INSTALL_TARGETS_DEFAULT_ARGS} )
+
+
+########### next target ###############
+
+find_package(Qt5Designer)
+
+if(Qt5Designer_FOUND)
+
+  include_directories(${Qt5Designer_INCLUDE_DIRS})
+
+  add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/kdewidgets.cpp
+    COMMAND kgendesignerplugin -o ${CMAKE_CURRENT_BINARY_DIR}/kdewidgets.cpp ${CMAKE_CURRENT_SOURCE_DIR}/kde.widgets
+    MAIN_DEPENDENCY kde.widgets)
+
+  set(kf5widgets_PART_SRCS
+     classpreviews.cpp
+     ${CMAKE_CURRENT_BINARY_DIR}/kdewidgets.cpp
+     ${CMAKE_CURRENT_BINARY_DIR}/kdewidgets.moc
+  )
+
+  qt5_generate_moc(${CMAKE_CURRENT_BINARY_DIR}/kdewidgets.cpp ${CMAKE_CURRENT_BINARY_DIR}/kdewidgets.moc)
+
+
+  qt5_add_resources(kf5widgets_PART_SRCS kdewidgets.qrc)
+
+  add_library(kf5widgets MODULE ${kf5widgets_PART_SRCS})
+
+  target_link_libraries(kf5widgets KF5::KIOFileWidgets KF5::Plotting KF5::WidgetsAddons KF5::I18n KF5::IconThemes KF5::TextWidgets KF5::ItemViews)
+  if(NOT WIN32)
+    set_target_properties(kf5widgets PROPERTIES
+                                     INSTALL_RPATH_USE_LINK_PATH TRUE
+                                     SKIP_BUILD_RPATH TRUE
+                                     BUILD_WITH_INSTALL_RPATH TRUE
+                                     INSTALL_RPATH ${LIB_INSTALL_DIR}
+                         )
+  endif()
+
+  install(TARGETS kf5widgets DESTINATION ${QT_PLUGIN_INSTALL_DIR}/designer)
+
+  if(Qt5WebKitWidgets_FOUND)
+
+     add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/kdewebkitwidgets.cpp
+       COMMAND kgendesignerplugin -o ${CMAKE_CURRENT_BINARY_DIR}/kdewebkitwidgets.cpp ${CMAKE_CURRENT_SOURCE_DIR}/kdewebkit.widgets
+       MAIN_DEPENDENCY kdewebkit.widgets)
+
+     set(kdewebkitwidgets_PART_SRCS
+        classpreviews.cpp
+        ${CMAKE_CURRENT_BINARY_DIR}/kdewebkitwidgets.cpp
+        ${CMAKE_CURRENT_BINARY_DIR}/kdewebkitwidgets.moc
+     )
+
+     qt5_generate_moc(${CMAKE_CURRENT_BINARY_DIR}/kdewebkitwidgets.cpp ${CMAKE_CURRENT_BINARY_DIR}/kdewebkitwidgets.moc)
+
+
+     qt5_add_resources(kdewebkitwidgets_PART_SRCS kdewebkitwidgets.qrc)
+
+     add_library(kdewebkitwidgets MODULE ${kdewebkitwidgets_PART_SRCS})
+
+     target_link_libraries(kdewebkitwidgets KDEWebKit Qt5::WebKitWidgets)
+     if(NOT WIN32)
+       set_target_properties(kdewebkitwidgets PROPERTIES
+                                        INSTALL_RPATH_USE_LINK_PATH TRUE
+                                        SKIP_BUILD_RPATH TRUE
+                                        BUILD_WITH_INSTALL_RPATH TRUE
+                                        INSTALL_RPATH ${LIB_INSTALL_DIR}
+                            )
+     endif()
+
+     install(TARGETS kdewebkitwidgets DESTINATION ${QT_PLUGIN_INSTALL_DIR}/designer )
+
+  endif() # webkit
+
+endif()
+
+########### install files ###############
+
+
+
+
+
diff --git a/tier3/kdesignerplugin/src/README b/tier3/kdesignerplugin/src/README
new file mode 100644
index 0000000..cbf0794
--- /dev/null
+++ b/tier3/kdesignerplugin/src/README
@@ -0,0 +1,65 @@
+KDE Custom Widgets for Qt Designer 2
+====================================
+
+
+Summary:
+========
+
+This directory contains KDE custom widgets for Qt Designer which comes with
+Qt 4. Just make sure that QT_PLUGIN_PATH includes
+$KDEDIR/lib/kde4/plugins . With the KDE build system nothing special 
+(i.e. editing the plugin path) is needed, as uic will automatically be
+called with -L <path to the kdewidgets plugin> .
+
+This plugin uses the QWidget plugin API of Qt >= 4.0
+Don't expect it to work with any other versions of Qt.
+
+
+Known Bugs:
+===========
+
+Designer crashes when using widgets that use the kapp pointer.
+
+HOWTO Add Widgets:
+==================
+Just add new widgets to kde.widgets like this:
+[ClassName]
+IncludeFile=myheader.h
+IconSet=mycoolwidget.png
+ToolTip=My Cool Widget
+WhatsThis=Long description of my cool widget
+ConstructorArgs=(parent, name, otherNeccessaryArg)
+IsContainer=true
+Group=MyWidgetCollection
+
+Everything but [ClassName] is optional.
+IncludeFile defaults to classname.h (all lowercase)
+IconSet defaults to classname.png (all lowercase)
+ToolTip defaults to ClassName
+WhatsThis defaults to ClassName
+ConstructorArgs=(parent, name)
+IsContainer defaults to false - note, any value except an empty one is
+                                interpreted as true, even if the value
+                                is "false" :) So, if the widget is not a
+                                container, just omit this line.
+Group defaults to "KDE"
+
+Don't forget to add an icon to the pics directory.  Try to make it look similar to the other icons and be the same size.
+
+There are some global options that you can have.
+
+[Global]
+Init=new InitCode();
+Destroy= delete object;
+PluginName=MyPlugin
+
+PluginName overrides the passed in value at the command line and is optional.
+Init and Destroy are both optional arguments that can be used for custom build
+up and tear down code.
+
+Have fun!
+
+
+Ian Reinhart Geiser <geiseri at kde.org>
+Daniel Molkentin <molkentin at kde.org>
+Malte Starostik <malte at kde.org>
diff --git a/tier3/kdesignerplugin/src/classpreviews.cpp b/tier3/kdesignerplugin/src/classpreviews.cpp
new file mode 100644
index 0000000..42dfa62
--- /dev/null
+++ b/tier3/kdesignerplugin/src/classpreviews.cpp
@@ -0,0 +1,29 @@
+/* This file is part of the KDE libraries
+    Copyright (C) 2001 Daniel Molkentin <molkentin at kde.org>
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Library General Public
+    License as published by the Free Software Foundation; either
+    version 2 of the License, or (at your option) any later version.
+
+    This library 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
+    Library General Public License for more details.
+
+    You should have received a copy of the GNU Library General Public License
+    along with this library; see the file COPYING.LIB.  If not, write to
+    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+    Boston, MA 02110-1301, USA.
+*/
+
+#include "classpreviews.h"
+
+KDialogPreview::KDialogPreview(QWidget * parent)
+{
+   if (parent)
+      setParent(parent);
+   else
+      qDebug("Error while reparenting!");
+}
+
diff --git a/tier3/kdesignerplugin/src/classpreviews.h b/tier3/kdesignerplugin/src/classpreviews.h
new file mode 100644
index 0000000..6d128dd
--- /dev/null
+++ b/tier3/kdesignerplugin/src/classpreviews.h
@@ -0,0 +1,41 @@
+/* This file is part of the KDE libraries
+    Copyright (C) 2001 Daniel Molkentin <molkentin at kde.org> 
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Library General Public
+    License as published by the Free Software Foundation; either
+    version 2 of the License, or (at your option) any later version.
+
+    This library 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
+    Library General Public License for more details.
+
+    You should have received a copy of the GNU Library General Public License
+    along with this library; see the file COPYING.LIB.  If not, write to
+    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+    Boston, MA 02110-1301, USA.
+*/
+
+/*
+
+   This class is intended as a place to widgets previews for designer. Simply inherit
+   your widget and modify its behavior (i.e. enter example data or do a reparent()).
+
+   This will only affect the preview, designer/uic will still use the original widget
+   in the final source output!
+
+ */
+
+#ifndef CLASSPREVIEWS_H
+#define CLASSPREVIEWS_H
+
+#include <QDialog>
+
+class KDialogPreview : public QDialog
+{
+public:
+	KDialogPreview(QWidget * parent = 0);
+};
+
+#endif // CLASSPREVIEWS_H
diff --git a/tier3/kdesignerplugin/src/kde.widgets b/tier3/kdesignerplugin/src/kde.widgets
new file mode 100644
index 0000000..65f3839
--- /dev/null
+++ b/tier3/kdesignerplugin/src/kde.widgets
@@ -0,0 +1,255 @@
+[Global]
+PluginName=KF5Widgets
+Includes=classpreviews.h
+Init=
+
+[KActionSelector]
+IncludeFile=kactionselector.h
+ToolTip=A widget for selecting and arranging actions/objects
+Group=Views (KDE)
+
+[KAnimatedButton]
+IncludeFile=kanimatedbutton.h
+ToolTip=An extended version of QToolButton which can display an animated icon.
+Group=Display (KDE)
+ConstructorArgs=(parent)
+
+[KCapacityBar]
+IncludeFile=kcapacitybar.h
+ToolTip=Capacity Bar (KDE)
+ConstructorArgs=(KCapacityBar::DrawTextOutline, parent)
+Group=Display (KDE)
+
+[KCategorizedView]
+ToolTip=Categorized Item View (KDE)
+WhatsThis=Item view for listing items in a categorized fashion optionally.
+Group=Views (KDE)
+
+[KCharSelect]
+ToolTip=Character Selection Widget (KDE)
+WhatsThis=A widget that allows selection a character out ot a table
+Group=Graphics (KDE)
+ConstructorArgs=(parent, 0)
+
+[KColorButton]
+ToolTip=Color Chooser Button (KDE)
+WhatsThis=A button that allows selecting a color
+Group=Graphics (KDE)
+
+[KColorCombo]
+ToolTip=Color Combo Box (KDE)
+Group=Graphics (KDE)
+
+[KComboBox]
+ToolTip=Combo Box (KDE)
+Group=Input (KDE)
+
+[KDatePicker]
+ToolTip=A date selection widget (KDE)
+WhatsThis=Provides a widget for calendar date input
+Group=Date/Time (KDE)
+
+[KDateComboBox]
+ToolTip=This widget can be used to display or edit the date. (KDE)
+IncludeFile=kdatecombobox.h
+Group=Date/Time (KDE)
+
+[KTimeComboBox]
+ToolTip=This widget can be used to display or edit the time. (KDE)
+IncludeFile=ktimecombobox.h
+Group=Date/Time (KDE)
+
+[KDateTimeEdit]
+ToolTip=This widget can be used to display or edit the date and time. (KDE)
+IncludeFile=kdatetimeedit.h
+Group=Date/Time (KDE)
+
+[KEditListWidget]
+ToolTip=Fullfeatured edit box with buttons (KDE)
+Group=Views (KDE)
+
+[KFilterProxySearchLine]
+IncludeFile=kfilterproxysearchline.h
+ToolTip=Filter proxy search line
+WhatsThis=A search line widget which works on a QSortFilterProxyModel
+Group=Input (KDE)
+
+[KFontChooser]
+IncludeFile=kfontchooser.h
+IconSet=kfontcombo.png
+ToolTip=Font Chooser (KDE)
+WhatsThis=A font type, size and style selection widget complete with preview
+Group=Input (KDE)
+
+[KFontRequester]
+IncludeFile=kfontrequester.h
+ToolTip=Font Requester (KDE)
+WhatsThis=A compact font selection and preview widget
+Group=Input (KDE)
+
+[KGradientSelector]
+IncludeFile=kselector.h
+ToolTip=Gradient Color Selector (KDE)
+Group=Input (KDE)
+
+[KHistoryComboBox]
+IncludeFile=khistorycombobox.h
+ToolTip=A combobox for offering a history and completion (KDE)
+WhatsThis=A combobox which implements a history like a unix shell
+Group=Input (KDE)
+
+[KIconButton]
+IncludeFile=kiconbutton.h
+ToolTip=Button for selecting an icon (KDE)
+Group=Buttons (KDE)
+
+[KImageFilePreview]
+IncludeFile=kimagefilepreview.h
+ToolTip=A widget that provides a image preview of a URL
+Group=Display (KDE)
+ConstructorArgs=(parent)
+
+[KKeySequenceWidget]
+ToolTip=QKeySequence picker widget. (KDE)
+WhatsThis=A widget to pick a QKeySequence.
+IncludeFile=kkeysequencewidget.h
+Group=Buttons (KDE)
+
+[KLanguageButton]
+ToolTip=Language Button (KDE)
+WhatsThis=KDE's language button.
+IncludeFile=klanguagebutton.h
+Group=Buttons (KDE)
+
+[KLed]
+ToolTip=LED Widget (KDE)
+WhatsThis=A widget showing a light emitter diode
+Group=Display (KDE)
+
+[KLineEdit]
+ToolTip=Line Edit (KDE)
+Group=Input (KDE)
+
+[KListWidgetSearchLine]
+ToolTip=QListWidget Search Line (KDE)
+Group=Input (KDE)
+ConstructorArgs=(parent, 0)
+
+[KMultiTabBar]
+ToolTip=Multi Tab Bar Widget (KDE)
+WhatsThis=A Widget for horizontal and vertical tabs.
+ConstructorArgs=(KMultiTabBar::Left, parent)
+Group=Display (KDE)
+
+[KPageView]
+ToolTip=Paged View (KDE)
+WhatsThis=A base class which can handle multiple pages.
+Group=Views (KDE)
+
+[KPageWidget]
+ToolTip=Paged Widget (KDE)
+WhatsThis=Page widget with many layouts (faces).
+Group=Views (KDE)
+
+[KPixmapRegionSelectorWidget]
+IncludeFile=kpixmapregionselectorwidget.h
+ToolTip=Pixmap Region Selector (KDE)
+Group=Graphics (KDE)
+
+[KPixmapSequenceWidget]
+ToolTip=Pixmap Sequence Widget (KDE)
+WhatsThis=A simple widget showing a fixed size pixmap sequence.
+Group=Display (KDE)
+
+[KPlotWidget]
+IncludeFile=kplotwidget.h
+ToolTip=A plot widget
+WhatsThis=A widget for easily making 2-dimensional plots
+Group=Plot (KDE)
+
+[KRatingWidget]
+IncludeFile=kratingwidget.h
+ToolTip=Rating value display (KDE)
+WhatsThis=Displays a rating as a range of stars or other arbitrary pixmaps.
+Group=Display (KDE)
+
+[KRichTextEdit]
+IncludeFile=krichtextedit.h
+ToolTip=Rich Text Editor (KDE)
+Group=Input (KDE)
+
+[KRichTextWidget]
+IncludeFile=krichtextwidget.h
+ToolTip=Rich Text Widget (KDE)
+Group=Input (KDE)
+
+[KRuler]
+ToolTip=Measuring Ruler Widget (KDE)
+WhatsThis=A measuring ruler widget as seen in KWord for page widths and heights
+Group=Display (KDE)
+
+[KSeparator]
+IncludeFile=kseparator.h
+ToolTip=Standard horizontal or vertical separator.
+Group=Display (KDE)
+
+[KShortcutsEditor]
+ToolTip=Shortcuts editor widget. (KDE)
+WhatsThis=A widget to edit a list of shortcuts.
+IncludeFile=kshortcutseditor.h
+Group=Input (KDE)
+
+[KShortcutWidget]
+ToolTip=Shortcut picker widget. (KDE)
+WhatsThis=A widget to pick a KShortcut.
+IncludeFile=kshortcutwidget.h
+Group=Buttons (KDE)
+
+[KSqueezedTextLabel]
+ToolTip=A QLabel that squeezes its text (KDE)
+WhatsThis=If the text is too long to fit into the label it is divided into remaining left and right parts which are separated by three dots
+ConstructorArgs=("KSqueezedTextLabel", parent)
+Group=Display (KDE)
+
+[KTextEdit]
+ToolTip=Improved QTextEdit (KDE)
+WhatsThis=An improved version of the QTextEdit with mail or system browser invocation support
+Group=Input (KDE)
+
+[KTitleWidget]
+ToolTip=Title box with label and icon
+WhatsThis=A styled frame to be used in title positions in dialogs and other widgets
+Group=Display (KDE)
+
+[KTreeWidgetSearchLine]
+ToolTip=QTreeWidget Search Line (KDE)
+Group=Input (KDE)
+ConstructorArgs=(parent, 0)
+
+[KTreeWidgetSearchLineWidget]
+ToolTip=QTreeWidget Search Line Widget (KDE)
+IncludeFile=ktreewidgetsearchline.h
+Group=Input (KDE)
+ConstructorArgs=(parent, 0)
+
+[KUrlComboRequester]
+ToolTip=URL Requester (KDE)
+WhatsThis=A widget holding a combobox and a pushbutton. A "file open" dialog opened when clicking on the pushbutton
+IncludeFile=kurlrequester.h
+Group=Input (KDE)
+
+[KUrlLabel]
+ToolTip=URL Label (KDE)
+ConstructorArgs=("KUrlLabel", QString(), parent)
+Group=Display (KDE)
+
+[KUrlRequester]
+ToolTip=URL Requester (KDE)
+WhatsThis=A widget holding a lineedit and a pushbutton. A "file open" dialog opened when clicking on the pushbutton
+Group=Input (KDE)
+
+[Sonnet::DictionaryComboBox]
+IncludeFile=sonnet/dictionarycombobox.h
+ToolTip=Dictionary Combobox
+WhatsThis=A combobox to select a dictionary for spellchecking
+Group=Sonnet (KDE)
diff --git a/tier3/kdesignerplugin/src/kdewebkit.widgets b/tier3/kdesignerplugin/src/kdewebkit.widgets
new file mode 100644
index 0000000..9f07307
--- /dev/null
+++ b/tier3/kdesignerplugin/src/kdewebkit.widgets
@@ -0,0 +1,10 @@
+[Global]
+PluginName=KDEWebKitWidgets
+Includes=classpreviews.h
+Init=
+
+[KWebView]
+IncludeFile=kwebview.h
+ToolTip=KDE WebKit View
+WhatsThis=A WebKit view with KDE integration.
+Group=Views (KDE)
diff --git a/tier3/kdesignerplugin/src/kdewebkitwidgets.qrc b/tier3/kdesignerplugin/src/kdewebkitwidgets.qrc
new file mode 100644
index 0000000..4ca9cd5
--- /dev/null
+++ b/tier3/kdesignerplugin/src/kdewebkitwidgets.qrc
@@ -0,0 +1,4 @@
+<!DOCTYPE RCC><RCC version="1.0">
+<qresource>
+</qresource>
+</RCC>
diff --git a/tier3/kdesignerplugin/src/kdewidgets.qrc b/tier3/kdesignerplugin/src/kdewidgets.qrc
new file mode 100644
index 0000000..b180522
--- /dev/null
+++ b/tier3/kdesignerplugin/src/kdewidgets.qrc
@@ -0,0 +1,33 @@
+<!DOCTYPE RCC><RCC version="1.0">
+<qresource>
+<file>pics/kactionselector.png</file>
+<file>pics/kactivelabel.png</file>
+<file>pics/kcharselect.png</file>
+<file>pics/kcmodule.png</file>
+<file>pics/kcolorbutton.png</file>
+<file>pics/kcolorcombo.png</file>
+<file>pics/kcombobox.png</file>
+<file>pics/kdatepicker.png</file>
+<file>pics/kdatetable.png</file>
+<file>pics/kdualcolorbutton.png</file>
+<file>pics/keditlistwidget.png</file>
+<file>pics/kfontcombo.png</file>
+<file>pics/kfontrequester.png</file>
+<file>pics/kgradientselector.png</file>
+<file>pics/khistorycombo.png</file>
+<file>pics/khsselector.png</file>
+<file>pics/kiconbutton.png</file>
+<file>pics/kkeybutton.png</file>
+<file>pics/kled.png</file>
+<file>pics/klineedit.png</file>
+<file>pics/klistbox.png</file>
+<file>pics/kpalettetable.png</file>
+<file>pics/kpasswordedit.png</file>
+<file>pics/kruler.png</file>
+<file>pics/ksqueezedtextlabel.png</file>
+<file>pics/ktextedit.png</file>
+<file>pics/kurlcomborequester.png</file>
+<file>pics/kurllabel.png</file>
+<file>pics/kurlrequester.png</file>
+</qresource>
+</RCC>
diff --git a/tier3/kdesignerplugin/src/kgendesignerplugin.cpp b/tier3/kdesignerplugin/src/kgendesignerplugin.cpp
new file mode 100644
index 0000000..46bfd14
--- /dev/null
+++ b/tier3/kdesignerplugin/src/kgendesignerplugin.cpp
@@ -0,0 +1,226 @@
+/* Copyright (C) 2004-2005 ian reinhart geiser <geiseri at sourcextreme.com> */
+
+#include <kconfig.h>
+#include <kmacroexpander.h>
+#include <kconfiggroup.h>
+#include <kaboutdata.h>
+#include <QCommandLineOption>
+#include <QCommandLineParser>
+#include <QCoreApplication>
+#include <QFile>
+#include <QFileInfo>
+#include <QHash>
+#include <QString>
+#include <QStringList>
+#include <QTextStream>
+
+static const char classHeader[] = 	"/**\n"
+					"* This file was autogenerated by kgendesignerplugin. Any changes will be lost!\n"
+					"* The generated code in this file is licensed under the same license that the\n"
+					"* input file.\n"
+                                   	"*/\n"
+					"#include <QIcon>\n"
+					"#include <QtDesigner/QDesignerContainerExtension>\n"
+					"#include <QDesignerCustomWidgetInterface>\n"
+					"#include <qplugin.h>\n"
+					"#include <qdebug.h>\n";
+
+static const char collClassDef[] = "class %CollName : public QObject, public QDesignerCustomWidgetCollectionInterface\n"
+                                "{\n"
+                                "	Q_OBJECT\n"
+                                "	Q_INTERFACES(QDesignerCustomWidgetCollectionInterface)\n"
+                                "       Q_PLUGIN_METADATA(IID \"org.qt-project.Qt.QDesignerCustomWidgetInterface\")\n"
+                                "public:\n"
+                                "	%CollName(QObject *parent = 0);\n"
+                                "	virtual ~%CollName() {}\n"
+                                "	QList<QDesignerCustomWidgetInterface*> customWidgets() const { return m_plugins; } \n"
+                                "	\n"
+                                "private:\n"
+                                "	QList<QDesignerCustomWidgetInterface*> m_plugins;\n"
+                                "};\n\n"
+                                ;
+
+static const char collClassImpl[] = "%CollName::%CollName(QObject *parent)\n"
+                                "	: QObject(parent)"
+                                "{\n"
+                                "%CollectionAdd\n"
+                                "}\n\n";
+
+
+static const char classDef[] =  "class %PluginName : public QObject, public QDesignerCustomWidgetInterface\n"
+                                "{\n"
+                                "	Q_OBJECT\n"
+                                "	Q_INTERFACES(QDesignerCustomWidgetInterface)\n"
+                                "public:\n"
+                                "	%PluginName(QObject *parent = 0) :\n\t\tQObject(parent), mInitialized(false) {}\n"
+                                "	virtual ~%PluginName() {}\n"
+                                "	\n"
+                                "	bool isContainer() const { return %IsContainer; }\n"
+                                "	bool isInitialized() const { return mInitialized; }\n"
+                                "	QIcon icon() const { return QIcon(QLatin1String(\"%IconName\")); }\n"
+                                "	QString codeTemplate() const { return QLatin1String(\"%CodeTemplate\");}\n"
+                                "	QString domXml() const { return %DomXml; }\n"
+                                "	QString group() const { return QLatin1String(\"%Group\"); }\n"
+                                "	QString includeFile() const { return QLatin1String(\"%IncludeFile\"); }\n"
+                                "	QString name() const { return QLatin1String(\"%Class\"); }\n"
+                                "	QString toolTip() const { return QLatin1String(\"%ToolTip\"); }\n"
+                                "	QString whatsThis() const { return QLatin1String(\"%WhatsThis\"); }\n\n"
+                                "	QWidget* createWidget( QWidget* parent ) \n\t{%CreateWidget\n\t}\n"
+                                "	void initialize(QDesignerFormEditorInterface *core) \n\t{%Initialize\n\t}\n"
+                                "\n"
+                                "private:\n"
+                                "	bool mInitialized;\n"
+                                "};\n\n";
+
+static QString denamespace ( const QString &str );
+static QString buildCollClass( KConfig &input, const QStringList& classes );
+static QString buildWidgetClass( const QString &name, KConfig &input, const QString &group );
+static QString buildWidgetInclude( const QString &name, KConfig &input );
+static void buildFile( QTextStream &stream, const QString& group, const QString& fileName, const QString& pluginName );
+
+int main( int argc, char **argv ) {
+    QCoreApplication app(argc, argv);
+
+    QString description = QCoreApplication::translate("main", "Builds Qt widget plugins from an ini style description file.");
+    const char version[] = "0.5";
+    app.setApplicationVersion(version);
+
+    QCommandLineParser parser;
+    parser.addVersionOption();
+    parser.addHelpOption();
+    //options.add("+file", QCoreApplication::translate("kgendesignerplugin about data",  "Input file" ) );
+    parser.addOption(QCommandLineOption(QStringList() << "o", QCoreApplication::translate("main", "Output file"), "file"));
+    parser.addOption(QCommandLineOption(QStringList() << "n", QCoreApplication::translate("main", "Name of the plugin class to generate"), "plugin name", "WidgetsPlugin"));
+    parser.addOption(QCommandLineOption(QStringList() << "g", QCoreApplication::translate("main", "Default widget group name to display in designer"), "group", "Custom"));
+
+    KAboutData about( "kgendesignerplugin", 0, QCoreApplication::translate("kgendesignerplugin about data",  "kgendesignerplugin" ), version, description, KAboutData::License_GPL, QCoreApplication::translate("kgendesignerplugin about data", "(C) 2004-2005 Ian Reinhart Geiser"), QString(), 0, "geiseri at kde.org" );
+    about.addAuthor( QCoreApplication::translate("kgendesignerplugin about data", "Ian Reinhart Geiser"), QString(), "geiseri at kde.org" );
+    about.addAuthor( QCoreApplication::translate("kgendesignerplugin about data", "Daniel Molkentin"), QString(), "molkentin at kde.org" );
+    about.setupCommandLine(&parser);
+
+    parser.process(app);
+    about.processCommandLine(&parser);
+    if (parser.positionalArguments().count() < 1) {
+        parser.showHelp();
+        return 1;
+    }
+
+    QFileInfo fi(parser.positionalArguments().at(0));
+
+    QString outputFile = parser.value( "o" );
+    QString pluginName = parser.value( "n" );
+    QString group = parser.value( "g" );
+    QString fileName = fi.absoluteFilePath();
+
+    if ( parser.isSet( "o" ) ) {
+        QFile output( outputFile );
+        if ( output.open( QIODevice::WriteOnly ) ) {
+            QTextStream ts( &output );
+            buildFile( ts, group, fileName , pluginName );
+            QString mocFile = output.fileName();
+            mocFile.replace(".cpp", ".moc");
+            ts << QString( "#include <%1>\n" ).arg(mocFile) << endl;
+        }
+        output.close();
+    } else {
+        QTextStream ts( stdout, QIODevice::WriteOnly );
+        buildFile( ts, group, fileName , pluginName );
+    }
+}
+
+void buildFile( QTextStream &ts, const QString& group, const QString& fileName, const QString& pluginName ) {
+    KConfig input( fileName, KConfig::NoGlobals );
+    KConfigGroup cg(&input, "Global" );
+    QHash<QString, QString> MainMap;
+    MainMap.insert( "PluginName", cg.readEntry( "PluginName", pluginName ) );
+    MainMap.insert( "PluginNameLower", cg.readEntry( "PluginName", pluginName ).toLower() );
+    MainMap.insert( "Init", cg.readEntry( "Init", "" ) );
+    MainMap.insert( "Destroy", cg.readEntry( "Destroy", "" ) );
+    ts << classHeader << endl;
+
+    QStringList includes = cg.readEntry( "Includes", QStringList() );
+    QStringList classes = input.groupList();
+    classes.removeAll( "Global" );
+
+    foreach ( const QString &myInclude, classes )
+      includes += buildWidgetInclude( myInclude, input );
+
+    foreach ( const QString &myInclude, includes)
+        ts << "#include <" << myInclude << ">" << endl;
+
+    ts << QLatin1String("\n\n");
+
+    // Autogenerate widget defs here
+    foreach ( const QString &myClass, classes )
+        ts << buildWidgetClass( myClass, input, group ) << endl;
+
+    ts << buildCollClass( input, classes );
+
+}
+
+QString denamespace ( const QString &str ) {
+    QString denamespaced = str;
+    denamespaced.remove("::");
+    return denamespaced;
+}
+
+QString buildCollClass( KConfig &_input, const QStringList& classes ) {
+    KConfigGroup input(&_input, "Global");
+    QHash<QString, QString> defMap;
+    const QString collName = input.readEntry("PluginName");
+    Q_ASSERT(!collName.isEmpty());
+    defMap.insert("CollName", collName);
+    QString genCode;
+
+    foreach ( const QString &myClass, classes )
+    {
+      genCode += QString("\t\tm_plugins.append( new %1(this) );\n").arg(denamespace( myClass ) +"Plugin");
+    }
+
+    defMap.insert( "CollectionAdd", genCode  );
+
+    QString str = KMacroExpander::expandMacros(collClassDef, defMap);
+    str += KMacroExpander::expandMacros(collClassImpl, defMap);
+    return str;
+}
+
+QString buildWidgetClass( const QString &name, KConfig &_input, const QString &group ) {
+    KConfigGroup input(&_input, name);
+    QHash<QString, QString> defMap;
+
+    defMap.insert( "Group", input.readEntry( "Group", group ).replace( '\"', "\\\"" ) );
+    defMap.insert( "IconSet", input.readEntry( "IconSet", QString(name.toLower() + ".png") ).replace( ':', '_' ) );
+    defMap.insert( "Pixmap", name.toLower().replace( ':', '_' ) + "_xpm" );
+    defMap.insert( "IncludeFile", input.readEntry( "IncludeFile", QString(name.toLower() + ".h") ).remove( ':' ) );
+    defMap.insert( "ToolTip", input.readEntry( "ToolTip", QString(name + " Widget") ).replace( '\"', "\\\"" ) );
+    defMap.insert( "WhatsThis", input.readEntry( "WhatsThis", QString(name + " Widget") ).replace( '\"', "\\\"" ) );
+    defMap.insert( "IsContainer", input.readEntry( "IsContainer", "false" ) );
+    defMap.insert( "IconName", input.readEntry( "IconName", QString::fromLatin1(":/pics/%1.png").arg( denamespace( name ).toLower() ) ) );
+    defMap.insert( "Class", name );
+    defMap.insert( "PluginName", denamespace( name ) + QLatin1String( "Plugin" ) );
+
+    // FIXME: ### make this more useful, i.e. outsource to separate file
+    QString domXml = input.readEntry("DomXML", QString());
+    // If domXml is empty then we should call base class function
+    if ( domXml.isEmpty() ) {
+        domXml = QLatin1String("QDesignerCustomWidgetInterface::domXml()");
+    }
+    else {
+        // Wrap domXml value into QLatin1String
+        domXml = QString(QLatin1String("QLatin1String(\"%1\")")).arg(domXml.replace( '\"', "\\\"" ));
+    }
+    defMap.insert( "DomXml", domXml  );
+    defMap.insert( "CodeTemplate", input.readEntry( "CodeTemplate" ) );
+    defMap.insert( "CreateWidget", input.readEntry( "CreateWidget",
+      QString( "\n\t\treturn new %1%2;" )
+         .arg( input.readEntry( "ImplClass", name ) )
+         .arg( input.readEntry( "ConstructorArgs", "( parent )" ) ) ) );
+    defMap.insert( "Initialize", input.readEntry( "Initialize", "\n\t\tQ_UNUSED(core);\n\t\tif (mInitialized) return;\n\t\tmInitialized=true;" ) );
+
+    return KMacroExpander::expandMacros( classDef, defMap );
+}
+
+QString buildWidgetInclude( const QString &name, KConfig &_input ) {
+    KConfigGroup input(&_input, name);
+    return input.readEntry( "IncludeFile", QString(name.toLower() + ".h") );
+}
diff --git a/tier3/kdesignerplugin/src/pics/CMakeLists.txt b/tier3/kdesignerplugin/src/pics/CMakeLists.txt
new file mode 100644
index 0000000..7ace1b7
--- /dev/null
+++ b/tier3/kdesignerplugin/src/pics/CMakeLists.txt
@@ -0,0 +1,35 @@
+
+########### install files ###############
+
+install( FILES
+ klineedit.png
+ kpasswordedit.png
+ kfontrequester.png
+ kurlrequester.png
+ kcombobox.png
+ k3iconview.png
+ kled.png
+ ksqueezedtextlabel.png
+ kurllabel.png
+ kruler.png
+ kcmodule.png
+ klistbox.png
+ k3listview.png
+ kactivelabel.png
+ kiconbutton.png
+ kcolorcombo.png
+ khsselector.png
+ kcolorbutton.png
+ kgradientselector.png
+ kdualcolorbutton.png
+ kcharselect.png
+ kdatepicker.png
+ kfontcombo.png
+ khistorycombo.png
+ ktextedit.png
+ kurlcomborequester.png
+ kkeybutton.png
+ kpalettetable.png
+ kactionselector.png
+ kdatetable.png
+ DESTINATION  ${DATA_INSTALL_DIR}/kf5widgets/pics)
diff --git a/tier3/kdesignerplugin/src/pics/k3iconview.png b/tier3/kdesignerplugin/src/pics/k3iconview.png
new file mode 100644
index 0000000..b10e9eb
Binary files /dev/null and b/tier3/kdesignerplugin/src/pics/k3iconview.png differ
diff --git a/tier3/kdesignerplugin/src/pics/k3listview.png b/tier3/kdesignerplugin/src/pics/k3listview.png
new file mode 100644
index 0000000..5fd1d3f
Binary files /dev/null and b/tier3/kdesignerplugin/src/pics/k3listview.png differ
diff --git a/tier3/kdesignerplugin/src/pics/kactionselector.png b/tier3/kdesignerplugin/src/pics/kactionselector.png
new file mode 100644
index 0000000..2925bc3
Binary files /dev/null and b/tier3/kdesignerplugin/src/pics/kactionselector.png differ
diff --git a/tier3/kdesignerplugin/src/pics/kactivelabel.png b/tier3/kdesignerplugin/src/pics/kactivelabel.png
new file mode 100644
index 0000000..522e5c7
Binary files /dev/null and b/tier3/kdesignerplugin/src/pics/kactivelabel.png differ
diff --git a/tier3/kdesignerplugin/src/pics/kcharselect.png b/tier3/kdesignerplugin/src/pics/kcharselect.png
new file mode 100644
index 0000000..63a8075
Binary files /dev/null and b/tier3/kdesignerplugin/src/pics/kcharselect.png differ
diff --git a/tier3/kdesignerplugin/src/pics/kcmodule.png b/tier3/kdesignerplugin/src/pics/kcmodule.png
new file mode 100644
index 0000000..5cde56b
Binary files /dev/null and b/tier3/kdesignerplugin/src/pics/kcmodule.png differ
diff --git a/tier3/kdesignerplugin/src/pics/kcolorbutton.png b/tier3/kdesignerplugin/src/pics/kcolorbutton.png
new file mode 100644
index 0000000..746c1ef
Binary files /dev/null and b/tier3/kdesignerplugin/src/pics/kcolorbutton.png differ
diff --git a/tier3/kdesignerplugin/src/pics/kcolorcombo.png b/tier3/kdesignerplugin/src/pics/kcolorcombo.png
new file mode 100644
index 0000000..043303a
Binary files /dev/null and b/tier3/kdesignerplugin/src/pics/kcolorcombo.png differ
diff --git a/tier3/kdesignerplugin/src/pics/kcombobox.png b/tier3/kdesignerplugin/src/pics/kcombobox.png
new file mode 100644
index 0000000..1cd88ff
Binary files /dev/null and b/tier3/kdesignerplugin/src/pics/kcombobox.png differ
diff --git a/tier3/kdesignerplugin/src/pics/kdatepicker.png b/tier3/kdesignerplugin/src/pics/kdatepicker.png
new file mode 100644
index 0000000..c4941f0
Binary files /dev/null and b/tier3/kdesignerplugin/src/pics/kdatepicker.png differ
diff --git a/tier3/kdesignerplugin/src/pics/kdatetable.png b/tier3/kdesignerplugin/src/pics/kdatetable.png
new file mode 100644
index 0000000..e8d4494
Binary files /dev/null and b/tier3/kdesignerplugin/src/pics/kdatetable.png differ
diff --git a/tier3/kdesignerplugin/src/pics/kdualcolorbutton.png b/tier3/kdesignerplugin/src/pics/kdualcolorbutton.png
new file mode 100644
index 0000000..aa54333
Binary files /dev/null and b/tier3/kdesignerplugin/src/pics/kdualcolorbutton.png differ
diff --git a/tier3/kdesignerplugin/src/pics/keditlistwidget.png b/tier3/kdesignerplugin/src/pics/keditlistwidget.png
new file mode 100644
index 0000000..c4478a4
Binary files /dev/null and b/tier3/kdesignerplugin/src/pics/keditlistwidget.png differ
diff --git a/tier3/kdesignerplugin/src/pics/kfontcombo.png b/tier3/kdesignerplugin/src/pics/kfontcombo.png
new file mode 100644
index 0000000..a338e2a
Binary files /dev/null and b/tier3/kdesignerplugin/src/pics/kfontcombo.png differ
diff --git a/tier3/kdesignerplugin/src/pics/kfontrequester.png b/tier3/kdesignerplugin/src/pics/kfontrequester.png
new file mode 100644
index 0000000..88a392b
Binary files /dev/null and b/tier3/kdesignerplugin/src/pics/kfontrequester.png differ
diff --git a/tier3/kdesignerplugin/src/pics/kgradientselector.png b/tier3/kdesignerplugin/src/pics/kgradientselector.png
new file mode 100644
index 0000000..0768633
Binary files /dev/null and b/tier3/kdesignerplugin/src/pics/kgradientselector.png differ
diff --git a/tier3/kdesignerplugin/src/pics/khistorycombo.png b/tier3/kdesignerplugin/src/pics/khistorycombo.png
new file mode 100644
index 0000000..85f9fc1
Binary files /dev/null and b/tier3/kdesignerplugin/src/pics/khistorycombo.png differ
diff --git a/tier3/kdesignerplugin/src/pics/khsselector.png b/tier3/kdesignerplugin/src/pics/khsselector.png
new file mode 100644
index 0000000..6b327d6
Binary files /dev/null and b/tier3/kdesignerplugin/src/pics/khsselector.png differ
diff --git a/tier3/kdesignerplugin/src/pics/kiconbutton.png b/tier3/kdesignerplugin/src/pics/kiconbutton.png
new file mode 100644
index 0000000..18741b7
Binary files /dev/null and b/tier3/kdesignerplugin/src/pics/kiconbutton.png differ
diff --git a/tier3/kdesignerplugin/src/pics/kkeybutton.png b/tier3/kdesignerplugin/src/pics/kkeybutton.png
new file mode 100644
index 0000000..df0a10e
Binary files /dev/null and b/tier3/kdesignerplugin/src/pics/kkeybutton.png differ
diff --git a/tier3/kdesignerplugin/src/pics/kled.png b/tier3/kdesignerplugin/src/pics/kled.png
new file mode 100644
index 0000000..49c3a19
Binary files /dev/null and b/tier3/kdesignerplugin/src/pics/kled.png differ
diff --git a/tier3/kdesignerplugin/src/pics/klineedit.png b/tier3/kdesignerplugin/src/pics/klineedit.png
new file mode 100644
index 0000000..f946289
Binary files /dev/null and b/tier3/kdesignerplugin/src/pics/klineedit.png differ
diff --git a/tier3/kdesignerplugin/src/pics/klistbox.png b/tier3/kdesignerplugin/src/pics/klistbox.png
new file mode 100644
index 0000000..2a9efdc
Binary files /dev/null and b/tier3/kdesignerplugin/src/pics/klistbox.png differ
diff --git a/tier3/kdesignerplugin/src/pics/kpalettetable.png b/tier3/kdesignerplugin/src/pics/kpalettetable.png
new file mode 100644
index 0000000..d41d8b7
Binary files /dev/null and b/tier3/kdesignerplugin/src/pics/kpalettetable.png differ
diff --git a/tier3/kdesignerplugin/src/pics/kpasswordedit.png b/tier3/kdesignerplugin/src/pics/kpasswordedit.png
new file mode 100644
index 0000000..4fef94a
Binary files /dev/null and b/tier3/kdesignerplugin/src/pics/kpasswordedit.png differ
diff --git a/tier3/kdesignerplugin/src/pics/kruler.png b/tier3/kdesignerplugin/src/pics/kruler.png
new file mode 100644
index 0000000..5989b7c
Binary files /dev/null and b/tier3/kdesignerplugin/src/pics/kruler.png differ
diff --git a/tier3/kdesignerplugin/src/pics/ksqueezedtextlabel.png b/tier3/kdesignerplugin/src/pics/ksqueezedtextlabel.png
new file mode 100644
index 0000000..8165cbf
Binary files /dev/null and b/tier3/kdesignerplugin/src/pics/ksqueezedtextlabel.png differ
diff --git a/tier3/kdesignerplugin/src/pics/ktextedit.png b/tier3/kdesignerplugin/src/pics/ktextedit.png
new file mode 100644
index 0000000..fef42fc
Binary files /dev/null and b/tier3/kdesignerplugin/src/pics/ktextedit.png differ
diff --git a/tier3/kdesignerplugin/src/pics/kurlcomborequester.png b/tier3/kdesignerplugin/src/pics/kurlcomborequester.png
new file mode 100644
index 0000000..4d775c1
Binary files /dev/null and b/tier3/kdesignerplugin/src/pics/kurlcomborequester.png differ
diff --git a/tier3/kdesignerplugin/src/pics/kurllabel.png b/tier3/kdesignerplugin/src/pics/kurllabel.png
new file mode 100644
index 0000000..42ae9c2
Binary files /dev/null and b/tier3/kdesignerplugin/src/pics/kurllabel.png differ
diff --git a/tier3/kdesignerplugin/src/pics/kurlrequester.png b/tier3/kdesignerplugin/src/pics/kurlrequester.png
new file mode 100644
index 0000000..2410da3
Binary files /dev/null and b/tier3/kdesignerplugin/src/pics/kurlrequester.png differ
diff --git a/tier3/kdesignerplugin/tests/CMakeLists.txt b/tier3/kdesignerplugin/tests/CMakeLists.txt
new file mode 100644
index 0000000..59bb3fd
--- /dev/null
+++ b/tier3/kdesignerplugin/tests/CMakeLists.txt
@@ -0,0 +1,7 @@
+
+
+# TODO test programs
+
+
+
+
diff --git a/tier3/kdesignerplugin/tests/README b/tier3/kdesignerplugin/tests/README
new file mode 100644
index 0000000..16f928d
--- /dev/null
+++ b/tier3/kdesignerplugin/tests/README
@@ -0,0 +1,6 @@
+These are the tests for the current kgendesignerplugin.
+
+Currently there are two modes generated, and the checksums checked.
+These files are correct and build plugins that are functionally
+just as the Qt Project wants them for designer.  If at any time the
+code is changed then these md5 sums should be updated.
diff --git a/tier3/kdesignerplugin/tests/sums b/tier3/kdesignerplugin/tests/sums
new file mode 100644
index 0000000..8b1f808
--- /dev/null
+++ b/tier3/kdesignerplugin/tests/sums
@@ -0,0 +1,2 @@
+ff629a98965347ed3303a2c70f35af51  testwithpixmaps.cpp
+f736575862f21dc175e1778bc159afbf  testkde.cpp
diff --git a/tier3/kdesignerplugin/tests/test.widgets b/tier3/kdesignerplugin/tests/test.widgets
new file mode 100644
index 0000000..c3329ec
--- /dev/null
+++ b/tier3/kdesignerplugin/tests/test.widgets
@@ -0,0 +1,261 @@
+[Global]
+PluginName=KDEWidgets
+Includes=classpreviews.h
+Init=
+
+[KActiveLabel]
+ToolTip=Active Label (KDE)
+WhatsThis=A label with support for selection and clickable links
+Group=Display (KDE)
+
+[KCharSelect]
+ToolTip=Character Selection Widget (KDE)
+WhatsThis=A widget that allows selection a character out ot a table
+Group=Graphics (KDE)
+
+[KColorButton]
+ToolTip=Color Chooser Button (KDE)
+WhatsThis=A button that allows selecting a color
+Group=Graphics (KDE)
+
+[KColorCombo]
+ToolTip=Color Combo Box (KDE)
+Group=Graphics (KDE)
+
+[KComboBox]
+ToolTip=Combo Box (KDE)
+Group=Input (KDE)
+
+[KCModule]
+ToolTip=KControl Center Module (KDE)
+IsContainer=true
+Group=Container (KDE)
+
+[KDateWidget]
+ToolTip=Date preview (KDE)
+Group=Input (KDE)
+
+[KDatePicker]
+ToolTip=A date selection widget (KDE)
+WhatsThis=Provides a widget for calendar date input
+ConstructorArgs=(parent, QDate::currentDate(), name)
+Group=Input (KDE)
+
+[KDialog]
+IsContainer=true
+ImplClass=KDialogPreview
+ToolTip=Class for simple Dialogs (KDE)
+Group=Container (KDE)
+
+[KDualColorButton]
+ToolTip=A widget for selecting two related colors (KDE)
+Group=Graphics (KDE)
+
+[KEditListBox]
+ToolTip=Fullfeatured edit box with buttons (KDE)
+Group=Views (KDE)
+
+[KFontCombo]
+ToolTip=Font Combo Box (KDE)
+WhatsThis=A QCombo Box showing the installed system fonts (with preview)
+Group=Input (KDE)
+
+[KFontChooser]
+IncludeFile=kfontdialog.h
+IconSet=kfontcombo.png
+ToolTip=Font Chooser (KDE)
+WhatsThis=A font type, size and style selection widget complete with preview
+Group=Input (KDE)
+
+[KFontRequester]
+IncludeFile=kfontrequester.h
+ToolTip=Font Requester (KDE)
+WhatsThis=A compact font selection and preview widget
+Group=Input (KDE)
+
+[KGradientSelector]
+IncludeFile=kselect.h
+WhatsThis=A widget that allows the user to select two colors to form a gradient
+Group=Graphics (KDE)
+
+[KHistoryCombo]
+IncludeFile=kcombobox.h
+ToolTip=A combobox for offering a history and completion (KDE)
+WhatsThis=A combobox which implements a history like a unix shell
+Group=Input (KDE)
+
+[KHSSelector]
+IncludeFile=kcolordialog.h
+ToolTip=Widget for Hue/Saturation selection (KDE)
+Group=Graphics (KDE)
+
+[KLed]
+ToolTip=LED Widget (KDE)
+WhatsThis=A widget showing a light emitter diode
+Group=Display (KDE)
+
+[KListBox]
+ToolTip=Extended List Box (KDE)
+WhatsThis=An improved version of the QListBox that follows KDE settings
+Group=Views (KDE)
+
+[K3ListView]
+ToolTip=Extended List View (KDE)
+WhatsThis=An improved version of the QListView that allows certain KDE extensions
+Group=Views (KDE)
+
+[KLineEdit]
+ToolTip=Line Edit (KDE)
+Group=Input (KDE)
+
+[KPasswordEdit]
+IncludeFile=kpassworddialog.h
+ToolTip=Safe Password LineEdit (KDE)
+WhatsThis=A KLineEdit that is safe for prompting the user for passwords
+Group=Input (KDE)
+
+[KProgress]
+ToolTip=Progress Bar (KDE)
+WhatsThis=An improved progress bar for KDE that uses QFrame and QRangeControl
+Group=Display (KDE)
+
+[KPushButton]
+ToolTip=Improved QPushButton (KDE)
+WhatsThis=An improved QPushButton to follow KDE settings
+Group=Buttons (KDE)
+
+[KKeyButton]
+ToolTip=Keyboard Key Button. (KDE)
+WhatsThis=A push button that looks like a keyboard key.
+IncludeFile=kkeybutton.h
+Group=Buttons (KDE)
+
+[KRestrictedLine]
+ToolTip=Line Edit for restricted input (KDE)
+Group=Input (KDE)
+
+[KIconButton]
+IncludeFile=kicondialog.h
+ToolTip=Button for selecting an icon (KDE)
+Group=Buttons (KDE)
+
+[K3IconView]
+IncludeFile=k3iconview.h
+ToolTip=Extended Icon View (KDE)
+WhatsThis=An improved version of the QIconView that allows certain KDE extensions
+Group=Views (KDE)
+
+[KIntSpinBox]
+IncludeFile=knuminput.h
+ToolTip=Enhanced Spinbox for Integer Values (KDE)
+Group=Input (KDE)
+
+[KRuler]
+ToolTip=Measuring Ruler Widget (KDE)
+WhatsThis=A measuring ruler widget as seen in KWord for page widths and heights
+Group=Display (KDE)
+
+[KSqueezedTextLabel]
+ToolTip=A QLabel that squeezes its text (KDE)
+WhatsThis=If the text is too long to fit into the label it is divided into remaining left and right parts which are separated by three dots
+ConstructorArgs=("KSqueezedTextLabel", parent, name)
+Group=Display (KDE)
+
+[KTextBrowser]
+ToolTip=Improved QTextBrowser (KDE)
+WhatsThis=An improved version of the QTextBrowser with mail or system browser invocation support
+Group=Display (KDE)
+
+[KTextEdit]
+ToolTip=Improved QTextEdit (KDE)
+WhatsThis=An improved version of the QTextEdit with mail or system browser invocation support
+Group=Input (KDE)
+
+[KUrlLabel]
+ToolTip=URL Label (KDE)
+ConstructorArgs=("KUrlLabel", QString(), parent, name)
+Group=Display (KDE)
+
+[KUrlComboRequester]
+ToolTip=URL Requester (KDE)
+WhatsThis=A widget holding a combobox and a pushbutton. A "file open" dialog opened when clicking on the pushbutton
+IncludeFile=kurlrequester.h
+Group=Input (KDE)
+
+[KUrlRequester]
+ToolTip=URL Requester (KDE)
+WhatsThis=A widget holding a lineedit and a pushbutton. A "file open" dialog opened when clicking on the pushbutton
+Group=Input (KDE)
+
+[KIntNumInput]
+ToolTip=Integer Input Widget (KDE)
+WhatsThis=An input widget for integer numbers, consisting of a spinbox and a slider.
+IncludeFile=knuminput.h
+Group=Input (KDE)
+
+[KDoubleNumInput]
+ToolTip=Floating Point Number Input Widget (KDE)
+WhatsThis=An input widget for floating point numbers, consisting of a spinbox and a slider.
+IncludeFile=knuminput.h
+Group=Input (KDE)
+
+[KTimeWidget]
+ToolTip=This widget can be used to display or allow user selection of time. (KDE)
+IncludeFile=ktimewidget.h
+Group=Input (KDE)
+
+[KDateTimeWidget]
+ToolTip=This widget can be used to display or allow user selection of date and time. (KDE)
+IncludeFile=kdatetimewidget.h
+Group=Input (KDE)
+
+[KDateTable]
+IncludeFile=kdatetbl.h
+Group=Input (KDE)
+ConstructorArgs=(parent, QDate::currentDate(), name)
+
+[KLanguageButton]
+IncludeFile=klanguagebutton.h
+ToolTip=A widget for selecting a language
+WhatsThis=A combobox suitable for selecting a language
+Group=Input (KDE)
+
+[KImageFilePreview]
+IncludeFile=kimagefilepreview.h
+ToolTip=A widget that provides a image preview of a URL
+Group=Display (KDE)
+ConstructorArgs=(parent)
+
+[KActionSelector]
+IncludeFile=kactionselector.h
+ToolTip=A widget for selecting and arranging actions/objects
+Group=Views (KDE)
+
+[KWritePermsIcon]
+IncludeFile=kauthicon.h
+ToolTip=Auth icon for write permission display.
+ConstructorArgs=("", parent, name)
+Group=Display (KDE)
+
+[KRootPermsIcon]
+IncludeFile=kauthicon.h
+ToolTip=Icon to show whether or not a user has root permissions.
+Group=Display (KDE)
+
+[KColorPatch]
+IncludeFile=kcolordialog.h
+ToolTip=The KColorPatch widget is a (usually small) widget showing a selected color.
+Group=Display (KDE)
+ConstructorArgs=(parent)
+
+[KPaletteTable]
+IncludeFile=kcolordialog.h
+ToolTip=A color palette in table form.
+Group=Display (KDE)
+ConstructorArgs=(parent, 210, 16)
+
+#[KABC::AddressLineEdit]
+#IncludeFile=kabc/addresslineedit.h
+#ToolTip=A lineedit with LDAP and kabc completion.
+#Group=Input (KDE)
+#ConstructorArgs=(parent, true, name)


More information about the kde-doc-english mailing list