a29ae57a7d
comments below. * New Flow Layout. This provides simple icon view-esque layout of items. Useful for icons for documents , applications or other tasks on the desktop for example. Supports non-equally sized items. Works well when used with the LayoutAnimator class to animate insertions and removals. * Re-wrote BoxLayout and removed old HBoxLayout,VBoxLayout classes which had a lot of code duplication. BoxLayout class now takes a direction argument in the constructor, ala. QBoxLayout. New BoxLayout class actually takes minimumSize() , maximumSize() of items into account. The Qt layout code for box and grid layouts is surprisingly sophisticated, so the results from BoxLayout probably will not be as good in certain situations but it should do for the panel. New BoxLayout also has support for LayoutAnimator * Fix Plasma::HBoxLayout and Plasma::VBoxLayout to use margin() rather than spacing() for the distance from the top and left margins respectively. * Fix Plasma::Applet::contentSize() to return the actual content size rather than a size hint. Added a new method contentSizeHint() which applets use to provide a hint about suitable content size. Existing implementations of contentSize() in applets need to be renamed to contentSizeHint(). The arguments and return type are the same as before. * Install the LayoutAnimator header so that applets can use it svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=707275
153 lines
3.4 KiB
CMake
153 lines
3.4 KiB
CMake
include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${KDEBASE_WORKSPACE_SOURCE_DIR}/libs)
|
|
|
|
find_package(OpenGL)
|
|
|
|
add_subdirectory( widgets )
|
|
|
|
########### next target ###############
|
|
|
|
set(plasmagik_SRCS
|
|
packagemetadata.cpp
|
|
packagestructure.cpp
|
|
package.cpp
|
|
)
|
|
|
|
set(plasma_LIB_SRCS
|
|
${plasmagik_SRCS}
|
|
abstractrunner.cpp
|
|
animator.cpp
|
|
applet.cpp
|
|
configxml.cpp
|
|
corona.cpp
|
|
datacontainer.cpp
|
|
dataengine.cpp
|
|
dataenginemanager.cpp
|
|
packages.cpp
|
|
phase.cpp
|
|
plasma.cpp
|
|
plasma_export.h
|
|
scriptengine.cpp
|
|
shadowitem.cpp
|
|
svg.cpp
|
|
theme.cpp
|
|
karambamanager.cpp
|
|
widgets/boxlayout.cpp
|
|
widgets/checkbox.cpp
|
|
widgets/flowlayout.cpp
|
|
widgets/flash.cpp
|
|
widgets/icon.cpp
|
|
widgets/label.cpp
|
|
widgets/layout.cpp
|
|
widgets/layoutanimator.cpp
|
|
widgets/layoutitem.cpp
|
|
widgets/lineedit.cpp
|
|
widgets/pushbutton.cpp
|
|
widgets/radiobutton.cpp
|
|
# widgets/rectangle.cpp
|
|
widgets/widget.cpp
|
|
widgets/signalplotter.cpp
|
|
)
|
|
|
|
if(QT_QTOPENGL_FOUND AND OPENGL_FOUND)
|
|
MESSAGE(STATUS "Adding support for OpenGL applets to libplasma")
|
|
set(plasma_LIB_SRCS
|
|
${plasma_LIB_SRCS}
|
|
glapplet.cpp)
|
|
endif(QT_QTOPENGL_FOUND AND OPENGL_FOUND)
|
|
|
|
kde4_add_library(plasma SHARED ${plasma_LIB_SRCS})
|
|
|
|
target_link_libraries(plasma ${KDE4_KIO_LIBS} ${QT_QTOPENGL_LIBRARY} ${OPENGL_gl_LIBRARY} ${QT_QTUITOOLS_LIBRARY})
|
|
|
|
set_target_properties(plasma PROPERTIES VERSION 1.0.0 SOVERSION 1)
|
|
install(TARGETS plasma DESTINATION ${LIB_INSTALL_DIR})
|
|
|
|
|
|
########### install files ###############
|
|
|
|
set(plasmagik_HEADERS
|
|
packagemetadata.h
|
|
packagestructure.h
|
|
package.h
|
|
)
|
|
|
|
install(FILES ${plasmagik_HEADERS} DESTINATION ${INCLUDE_INSTALL_DIR}/plasma/)
|
|
|
|
set(plasma_LIB_INCLUDES
|
|
abstractrunner.h
|
|
animator.h
|
|
applet.h
|
|
configxml.h
|
|
corona.h
|
|
datacontainer.h
|
|
dataengine.h
|
|
dataenginemanager.h
|
|
phase.h
|
|
plasma.h
|
|
plasma_export.h
|
|
scriptengine.h
|
|
shadowitem_p.h
|
|
svg.h
|
|
theme.h)
|
|
|
|
if(QT_QTOPENGL_FOUND AND OPENGL_FOUND)
|
|
set(plasma_LIB_INCLUDES
|
|
${plasma_LIB_INCLUDES}
|
|
glapplet.h)
|
|
endif(QT_QTOPENGL_FOUND AND OPENGL_FOUND)
|
|
|
|
install(FILES
|
|
${plasma_LIB_INCLUDES}
|
|
DESTINATION ${INCLUDE_INSTALL_DIR}/plasma)
|
|
|
|
install(FILES
|
|
widgets/boxlayout.h
|
|
widgets/hboxlayout.h
|
|
widgets/vboxlayout.h
|
|
widgets/flash.h
|
|
widgets/icon.h
|
|
widgets/label.h
|
|
widgets/layout.h
|
|
widgets/layoutanimator.h
|
|
widgets/layoutitem.h
|
|
widgets/lineedit.h
|
|
widgets/pushbutton.h
|
|
widgets/checkbox.h
|
|
widgets/radiobutton.h
|
|
# widgets/rectangle.h
|
|
widgets/widget.h
|
|
widgets/signalplotter.h
|
|
DESTINATION ${INCLUDE_INSTALL_DIR}/plasma/widgets)
|
|
|
|
install(FILES
|
|
includes/AbstractRunner
|
|
includes/Applet
|
|
includes/ConfigXml
|
|
includes/Phase
|
|
includes/Plasma
|
|
includes/Package
|
|
includes/Packager
|
|
includes/PackageStructure
|
|
includes/Theme
|
|
includes/DataContainer
|
|
includes/DataEngine
|
|
includes/DataEngineManager
|
|
includes/ScriptEngine
|
|
includes/Svg
|
|
DESTINATION ${INCLUDE_INSTALL_DIR}/KDE/Plasma)
|
|
|
|
if(QT_QTOPENGL_FOUND AND OPENGL_FOUND)
|
|
install(FILES
|
|
includes/GLApplet
|
|
DESTINATION ${INCLUDE_INSTALL_DIR}/KDE/Plasma)
|
|
endif(QT_QTOPENGL_FOUND AND OPENGL_FOUND)
|
|
|
|
|
|
install(FILES
|
|
servicetypes/plasma-animator.desktop
|
|
servicetypes/plasma-applet.desktop
|
|
servicetypes/plasma-dataengine.desktop
|
|
servicetypes/plasma-scriptengine.desktop
|
|
DESTINATION ${SERVICETYPES_INSTALL_DIR})
|
|
|