summaryrefslogtreecommitdiffstats
path: root/kstyles/keramik
diff options
context:
space:
mode:
Diffstat (limited to 'kstyles/keramik')
-rw-r--r--kstyles/keramik/CMakeLists.txt70
-rw-r--r--kstyles/keramik/Makefile.am90
-rw-r--r--kstyles/keramik/bitmaps.h83
-rw-r--r--kstyles/keramik/colorutil.cpp65
-rw-r--r--kstyles/keramik/colorutil.h37
-rw-r--r--kstyles/keramik/genembed.cpp387
-rw-r--r--kstyles/keramik/gradients.cpp179
-rw-r--r--kstyles/keramik/gradients.h41
-rw-r--r--kstyles/keramik/keramik.cpp3004
-rw-r--r--kstyles/keramik/keramik.h226
-rw-r--r--kstyles/keramik/keramikimage.h69
-rw-r--r--kstyles/keramik/pics/checkbox-off.pngbin486 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/checkbox-on.pngbin523 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/checkbox-tri.pngbin552 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/combobox-list-bc.pngbin174 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/combobox-list-bl.pngbin225 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/combobox-list-br.pngbin223 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/combobox-list-cl.pngbin146 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/combobox-list-cr.pngbin155 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/combobox-list-tc.pngbin146 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/combobox-list-tl.pngbin161 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/combobox-list-tr.pngbin188 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/frame-shadow-cl.pngbin159 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/frame-shadow-tc.pngbin158 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/frame-shadow-tl.pngbin166 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/listview-bc.pngbin157 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/listview-bl.pngbin147 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/listview-br.pngbin147 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/listview-cc.pngbin235 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/listview-cl.pngbin171 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/listview-cr.pngbin180 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/listview-pressed-bc.pngbin167 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/listview-pressed-bl.pngbin193 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/listview-pressed-br.pngbin199 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/listview-pressed-cc.pngbin205 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/listview-pressed-cl.pngbin264 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/listview-pressed-cr.pngbin266 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/listview-pressed-tc.pngbin167 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/listview-pressed-tl.pngbin190 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/listview-pressed-tr.pngbin192 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/listview-tc.pngbin157 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/listview-tl.pngbin147 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/listview-tr.pngbin147 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/menuitem-cc.pngbin296 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/menuitem-cl.pngbin195 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/menuitem-cr.pngbin195 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/progressbar-cc.pngbin356 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/progressbar-cl.pngbin480 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/progressbar-cr.pngbin428 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/pushbutton-bc.pngbin186 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/pushbutton-bl.pngbin302 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/pushbutton-br.pngbin328 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/pushbutton-cc.pngbin235 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/pushbutton-cl.pngbin560 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/pushbutton-cr.pngbin600 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/pushbutton-default-bc.pngbin176 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/pushbutton-default-bl.pngbin265 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/pushbutton-default-br.pngbin267 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/pushbutton-default-cc.pngbin251 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/pushbutton-default-cl.pngbin637 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/pushbutton-default-cr.pngbin680 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/pushbutton-default-hov-bc.pngbin175 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/pushbutton-default-hov-bl.pngbin265 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/pushbutton-default-hov-br.pngbin264 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/pushbutton-default-hov-cc.pngbin258 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/pushbutton-default-hov-cl.pngbin636 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/pushbutton-default-hov-cr.pngbin657 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/pushbutton-default-hov-tc.pngbin176 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/pushbutton-default-hov-tl.pngbin262 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/pushbutton-default-hov-tr.pngbin290 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/pushbutton-default-pressed-bc.pngbin175 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/pushbutton-default-pressed-bl.pngbin270 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/pushbutton-default-pressed-br.pngbin262 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/pushbutton-default-pressed-cc.pngbin250 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/pushbutton-default-pressed-cl.pngbin568 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/pushbutton-default-pressed-cr.pngbin599 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/pushbutton-default-pressed-tc.pngbin176 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/pushbutton-default-pressed-tl.pngbin258 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/pushbutton-default-pressed-tr.pngbin281 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/pushbutton-default-tc.pngbin176 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/pushbutton-default-tl.pngbin261 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/pushbutton-default-tr.pngbin287 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/pushbutton-hov-bc.pngbin186 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/pushbutton-hov-bl.pngbin314 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/pushbutton-hov-br.pngbin325 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/pushbutton-hov-cc.pngbin239 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/pushbutton-hov-cl.pngbin589 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/pushbutton-hov-cr.pngbin584 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/pushbutton-hov-tc.pngbin183 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/pushbutton-hov-tl.pngbin270 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/pushbutton-hov-tr.pngbin282 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/pushbutton-pressed-bc.pngbin184 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/pushbutton-pressed-bl.pngbin291 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/pushbutton-pressed-br.pngbin305 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/pushbutton-pressed-cc.pngbin230 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/pushbutton-pressed-cl.pngbin519 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/pushbutton-pressed-cr.pngbin545 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/pushbutton-pressed-tc.pngbin182 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/pushbutton-pressed-tl.pngbin243 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/pushbutton-pressed-tr.pngbin259 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/pushbutton-small-bc.pngbin161 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/pushbutton-small-bl.pngbin217 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/pushbutton-small-br.pngbin217 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/pushbutton-small-cc.pngbin230 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/pushbutton-small-cl.pngbin374 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/pushbutton-small-cr.pngbin370 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/pushbutton-small-pressed-bc.pngbin161 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/pushbutton-small-pressed-bl.pngbin224 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/pushbutton-small-pressed-br.pngbin217 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/pushbutton-small-pressed-cc.pngbin206 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/pushbutton-small-pressed-cl.pngbin370 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/pushbutton-small-pressed-cr.pngbin368 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/pushbutton-small-pressed-tc.pngbin161 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/pushbutton-small-pressed-tl.pngbin212 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/pushbutton-small-pressed-tr.pngbin205 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/pushbutton-small-tc.pngbin161 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/pushbutton-small-tl.pngbin203 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/pushbutton-small-tr.pngbin202 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/pushbutton-tc.pngbin183 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/pushbutton-tl.pngbin265 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/pushbutton-tr.pngbin273 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/radiobutton-off.pngbin880 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/radiobutton-on.pngbin884 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/ripple.pngbin211 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/scrollbar-hbar-arrow1.pngbin323 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/scrollbar-hbar-arrow2.pngbin332 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/scrollbar-hbar-groove1.pngbin138 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/scrollbar-hbar-groove2.pngbin177 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/scrollbar-hbar-slider1.pngbin319 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/scrollbar-hbar-slider2.pngbin260 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/scrollbar-hbar-slider3.pngbin337 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/scrollbar-hbar-slider4.pngbin290 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/scrollbar-vbar-arrow1.pngbin439 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/scrollbar-vbar-arrow2.pngbin516 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/scrollbar-vbar-groove1.pngbin170 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/scrollbar-vbar-groove2.pngbin706 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/scrollbar-vbar-slider1.pngbin280 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/scrollbar-vbar-slider2.pngbin374 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/scrollbar-vbar-slider3.pngbin305 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/scrollbar-vbar-slider4.pngbin335 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/slider-hgroove-bc.pngbin165 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/slider-hgroove-bl.pngbin212 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/slider-hgroove-br.pngbin247 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/slider-hgroove-cc.pngbin180 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/slider-hgroove-cl.pngbin240 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/slider-hgroove-cr.pngbin243 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/slider-hgroove-tc.pngbin162 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/slider-hgroove-tl.pngbin187 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/slider-hgroove-tr.pngbin198 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/slider-vgroove-bc.pngbin241 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/slider-vgroove-bl.pngbin217 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/slider-vgroove-br.pngbin239 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/slider-vgroove-cc.pngbin260 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/slider-vgroove-cl.pngbin257 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/slider-vgroove-cr.pngbin258 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/slider-vgroove-tc.pngbin226 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/slider-vgroove-tl.pngbin186 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/slider-vgroove-tr.pngbin214 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/slider.pngbin636 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/spinbox-1.pngbin277 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/spinbox-2.pngbin403 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/spinbox-3.pngbin271 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/spinbox-arrow-down.pngbin240 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/spinbox-arrow-up.pngbin250 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/spinbox-pressed-arrow-down.pngbin285 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/spinbox-pressed-arrow-up.pngbin289 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/spinbox-pressed-down.pngbin787 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/spinbox-pressed-up.pngbin784 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/tab-bottom-active-bc.pngbin152 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/tab-bottom-active-bl.pngbin227 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/tab-bottom-active-br.pngbin228 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/tab-bottom-active-cc.pngbin271 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/tab-bottom-active-cl.pngbin360 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/tab-bottom-active-cr.pngbin370 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/tab-bottom-inactive-bc.pngbin143 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/tab-bottom-inactive-bl.pngbin175 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/tab-bottom-inactive-br.pngbin166 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/tab-bottom-inactive-cc.pngbin195 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/tab-bottom-inactive-cl.pngbin235 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/tab-bottom-inactive-cr.pngbin254 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/tab-bottom-inactive-separator.pngbin154 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/tab-top-active-cc.pngbin269 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/tab-top-active-cl.pngbin365 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/tab-top-active-cr.pngbin366 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/tab-top-active-tc.pngbin147 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/tab-top-active-tl.pngbin226 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/tab-top-active-tr.pngbin226 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/tab-top-inactive-cc.pngbin190 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/tab-top-inactive-cl.pngbin239 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/tab-top-inactive-cr.pngbin254 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/tab-top-inactive-separator.pngbin154 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/tab-top-inactive-tc.pngbin145 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/tab-top-inactive-tl.pngbin169 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/tab-top-inactive-tr.pngbin159 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/title-close-tiny.pngbin181 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/title-close.pngbin147 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/title-iconify.pngbin104 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/title-maximize.pngbin134 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/title-restore.pngbin133 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/titlebutton-pressed.pngbin469 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/titlebutton.pngbin545 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/toolbar-clk-bc.pngbin137 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/toolbar-clk-bl.pngbin138 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/toolbar-clk-br.pngbin136 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/toolbar-clk-cc.pngbin228 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/toolbar-clk-cl.pngbin223 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/toolbar-clk-cr.pngbin218 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/toolbar-clk-tc.pngbin136 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/toolbar-clk-tl.pngbin136 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/toolbar-clk-tr.pngbin136 -> 0 bytes
-rw-r--r--kstyles/keramik/pics/vslider.pngbin526 -> 0 bytes
-rw-r--r--kstyles/keramik/pixmaploader.cpp629
-rw-r--r--kstyles/keramik/pixmaploader.h367
213 files changed, 0 insertions, 5247 deletions
diff --git a/kstyles/keramik/CMakeLists.txt b/kstyles/keramik/CMakeLists.txt
deleted file mode 100644
index 8ee7c9730..000000000
--- a/kstyles/keramik/CMakeLists.txt
+++ /dev/null
@@ -1,70 +0,0 @@
-#################################################
-#
-# (C) 2010 Serghei Amelian
-# serghei (DOT) amelian (AT) gmail.com
-#
-# Improvements and feedback are welcome
-#
-# This file is released under GPL >= 2
-#
-#################################################
-
-add_definitions(
- -UQT_NO_ASCII_CAST
- -DQT_PLUGIN
-)
-
-include_directories(
- ${TQT_INCLUDE_DIRS}
- ${CMAKE_CURRENT_BINARY_DIR}
- ${CMAKE_BINARY_DIR}
- ${CMAKE_CURRENT_SOURCE_DIR}
- ${CMAKE_BINARY_DIR}/tdecore
- ${CMAKE_SOURCE_DIR}/tdefx
- ${CMAKE_SOURCE_DIR}/tdecore
-)
-
-link_directories(
- ${TQT_LIBRARY_DIRS}
-)
-
-
-##### genembed ##################################
-
-set( target genembed )
-
-set( ${target}_SRCS
- genembed.cpp
-)
-
-tde_add_executable( ${target}
- SOURCES ${${target}_SRCS}
- LINK tdefx-shared
-)
-
-
-##### pixmaps.keramik ###########################
-
-file(GLOB _pics "${CMAKE_CURRENT_SOURCE_DIR}/pics/*.png" )
-
-add_custom_command(
- OUTPUT pixmaps.keramik keramikrc.h
- COMMAND ./genembed ${_pics} 2>/dev/null > pixmaps.keramik
- DEPENDS genembed )
-
-
-##### keramik ###################################
-
-set( target keramik )
-
-set( ${target}_SRCS
- keramik.cpp pixmaploader.cpp gradients.cpp colorutil.cpp
-)
-
-set_source_files_properties( pixmaploader.cpp PROPERTIES OBJECT_DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/pixmaps.keramik )
-
-tde_add_kpart( ${target} AUTOMOC
- SOURCES ${${target}_SRCS}
- LINK tdefx-shared Xext
- DESTINATION ${PLUGIN_INSTALL_DIR}/plugins/styles
-)
diff --git a/kstyles/keramik/Makefile.am b/kstyles/keramik/Makefile.am
deleted file mode 100644
index 4f3dbebae..000000000
--- a/kstyles/keramik/Makefile.am
+++ /dev/null
@@ -1,90 +0,0 @@
-AM_CPPFLAGS = -DQT_PLUGIN
-
-INCLUDES = -I$(top_srcdir)/tdefx $(all_includes)
-# qembed's output needs that...
-KDE_CXXFLAGS = -UQT_NO_ASCII_CAST
-noinst_HEADERS = keramik.h pixmaploader.h keramikimage.h bitmaps.h gradients.h colorutil.h
-kde_style_LTLIBRARIES = keramik.la
-keramik_la_LDFLAGS = $(all_libraries) $(KDE_PLUGIN) -module
-keramik_la_LIBADD = ../../tdefx/libtdefx.la $(LIB_QT) $(LIB_XEXT)
-keramik_la_SOURCES = keramik.cpp pixmaploader.cpp gradients.cpp colorutil.cpp
-keramik_la_COMPILE_FIRST = keramikrc.h
-keramik_la_METASOURCES = AUTO
-
-noinst_PROGRAMS = genembed
-
-genembed_SOURCES = genembed.cpp
-genembed_LDADD = ../../tdefx/libtdefx.la
-genembed_LDFLAGS = $(all_libraries) $(KDE_RPATH) $(LIB_QT) -lDCOP $(LIB_TDECORE) $(LIB_TDEUI) -ltdefx $(LIB_KIO) -ltdetexteditor
-
-pixmaps.keramik: pics/checkbox-off.png pics/checkbox-on.png pics/combobox-list-bc.png\
- pics/combobox-list-bl.png pics/combobox-list-br.png pics/combobox-list-cl.png pics/combobox-list-cr.png\
- pics/combobox-list-tc.png pics/combobox-list-tl.png pics/combobox-list-tr.png pics/frame-shadow-cl.png\
- pics/frame-shadow-tc.png pics/frame-shadow-tl.png pics/listview-bc.png pics/listview-bl.png pics/listview-br.png\
- pics/listview-cc.png pics/listview-cl.png pics/listview-cr.png pics/listview-pressed-bc.png pics/listview-pressed-bl.png\
- pics/listview-pressed-br.png pics/listview-pressed-cc.png pics/listview-pressed-cl.png pics/listview-pressed-cr.png\
- pics/listview-pressed-tc.png pics/listview-pressed-tl.png pics/listview-pressed-tr.png pics/listview-tc.png pics/listview-tl.png\
- pics/listview-tr.png pics/pushbutton-bc.png pics/pushbutton-bl.png pics/pushbutton-br.png pics/pushbutton-cc.png\
- pics/pushbutton-cl.png pics/pushbutton-cr.png pics/pushbutton-default-bc.png pics/pushbutton-default-bl.png\
- pics/pushbutton-default-br.png pics/pushbutton-default-cc.png pics/pushbutton-default-cl.png pics/pushbutton-default-cr.png\
- pics/pushbutton-default-hov-tl.png pics/pushbutton-default-hov-tc.png pics/pushbutton-default-hov-tr.png\
- pics/pushbutton-default-hov-cl.png pics/pushbutton-default-hov-cc.png pics/pushbutton-default-hov-cr.png\
- pics/pushbutton-default-hov-bl.png pics/pushbutton-default-hov-bc.png pics/pushbutton-default-hov-br.png\
- pics/pushbutton-default-pressed-bc.png pics/pushbutton-default-pressed-bl.png pics/pushbutton-default-pressed-br.png\
- pics/pushbutton-default-pressed-cc.png pics/pushbutton-default-pressed-cl.png pics/pushbutton-default-pressed-cr.png\
- pics/pushbutton-default-pressed-tc.png pics/pushbutton-default-pressed-tl.png pics/pushbutton-default-pressed-tr.png\
- pics/pushbutton-default-tc.png pics/pushbutton-default-tl.png pics/pushbutton-default-tr.png \
- pics/pushbutton-pressed-bc.png pics/pushbutton-pressed-bl.png pics/pushbutton-pressed-br.png pics/pushbutton-pressed-cc.png\
- pics/pushbutton-pressed-cl.png pics/pushbutton-pressed-cr.png pics/pushbutton-pressed-tc.png pics/pushbutton-pressed-tl.png\
- pics/pushbutton-pressed-tr.png pics/pushbutton-small-bc.png pics/pushbutton-small-bl.png pics/pushbutton-small-br.png\
- pics/pushbutton-small-cc.png pics/pushbutton-small-cl.png pics/pushbutton-small-cr.png\
- pics/pushbutton-small-pressed-bc.png pics/pushbutton-small-pressed-bl.png pics/pushbutton-small-pressed-br.png\
- pics/pushbutton-small-pressed-cc.png pics/pushbutton-small-pressed-cl.png pics/pushbutton-small-pressed-cr.png\
- pics/pushbutton-small-pressed-tc.png pics/pushbutton-small-pressed-tl.png pics/pushbutton-small-pressed-tr.png\
- pics/pushbutton-small-tc.png pics/pushbutton-small-tl.png pics/pushbutton-small-tr.png pics/pushbutton-tc.png\
- pics/pushbutton-tl.png pics/pushbutton-tr.png pics/radiobutton-off.png pics/radiobutton-on.png pics/ripple.png\
- pics/scrollbar-hbar-arrow1.png \
- pics/scrollbar-hbar-arrow2.png pics/scrollbar-hbar-groove1.png pics/scrollbar-hbar-groove2.png\
- pics/scrollbar-hbar-slider1.png pics/scrollbar-hbar-slider2.png pics/scrollbar-hbar-slider3.png pics/scrollbar-hbar-slider4.png\
- pics/scrollbar-vbar-arrow1.png\
- pics/scrollbar-vbar-arrow2.png pics/scrollbar-vbar-groove1.png\
- pics/scrollbar-vbar-groove2.png pics/scrollbar-vbar-slider1.png pics/scrollbar-vbar-slider2.png\
- pics/menuitem-cl.png pics/menuitem-cc.png pics/menuitem-cr.png\
- pics/scrollbar-vbar-slider3.png pics/scrollbar-vbar-slider4.png pics/slider-hgroove-bc.png\
- pics/slider-hgroove-bl.png pics/slider-hgroove-br.png pics/slider-hgroove-cc.png pics/slider-hgroove-cl.png pics/slider-hgroove-cr.png\
- pics/slider-hgroove-tc.png pics/slider-hgroove-tl.png pics/slider-hgroove-tr.png pics/slider-vgroove-bc.png pics/slider-vgroove-bl.png\
- pics/slider-vgroove-br.png pics/slider-vgroove-cc.png pics/slider-vgroove-cl.png pics/slider-vgroove-cr.png pics/slider-vgroove-tc.png\
- pics/slider-vgroove-tl.png pics/slider-vgroove-tr.png pics/slider.png pics/spinbox-1.png pics/spinbox-2.png pics/spinbox-3.png\
- pics/spinbox-arrow-down.png pics/spinbox-arrow-up.png pics/spinbox-pressed-arrow-down.png pics/spinbox-pressed-arrow-up.png\
- pics/progressbar-cc.png pics/progressbar-cl.png pics/progressbar-cr.png\
- pics/toolbar-clk-bc.png pics/toolbar-clk-bl.png pics/toolbar-clk-br.png\
- pics/toolbar-clk-cc.png pics/toolbar-clk-cl.png pics/toolbar-clk-cr.png\
- pics/toolbar-clk-tc.png pics/toolbar-clk-tl.png pics/toolbar-clk-tr.png pics/checkbox-tri.png\
- pics/spinbox-pressed-down.png pics/spinbox-pressed-up.png \
- pics/tab-bottom-active-bc.png pics/tab-bottom-active-bl.png\
- pics/tab-bottom-active-br.png pics/tab-bottom-active-cc.png\
- pics/tab-bottom-active-cl.png pics/tab-bottom-active-cr.png\
- pics/tab-bottom-inactive-bc.png pics/tab-bottom-inactive-bl.png\
- pics/tab-bottom-inactive-br.png pics/tab-bottom-inactive-cc.png\
- pics/tab-bottom-inactive-cl.png pics/tab-bottom-inactive-cr.png\
- pics/tab-bottom-inactive-separator.png pics/tab-top-active-cc.png\
- pics/tab-top-active-cl.png pics/tab-top-active-cr.png\
- pics/tab-top-active-tc.png pics/tab-top-active-tl.png\
- pics/tab-top-active-tr.png pics/tab-top-inactive-cc.png\
- pics/tab-top-inactive-cl.png pics/tab-top-inactive-cr.png\
- pics/tab-top-inactive-separator.png pics/tab-top-inactive-tc.png\
- pics/tab-top-inactive-tl.png pics/tab-top-inactive-tr.png pics/vslider.png\
- pics/pushbutton-hov-tl.png pics/pushbutton-hov-tc.png pics/pushbutton-hov-tr.png\
- pics/pushbutton-hov-cl.png pics/pushbutton-hov-cc.png pics/pushbutton-hov-cr.png\
- pics/pushbutton-hov-bl.png pics/pushbutton-hov-bc.png pics/pushbutton-hov-br.png\
- pics/title-close-tiny.png pics/title-close.png pics/title-iconify.png\
- pics/title-maximize.png pics/title-restore.png pics/titlebutton-pressed.png\
- pics/titlebutton.png
-
-
-pixmaps.keramik keramikrc.h: genembed
- pics=`ls $(srcdir)/pics/*.png 2>/dev/null` ;\
- ./genembed $$pics > pixmaps.keramik
-
-pixmaploader.lo: pixmaps.keramik
-
diff --git a/kstyles/keramik/bitmaps.h b/kstyles/keramik/bitmaps.h
deleted file mode 100644
index 54c30dd8d..000000000
--- a/kstyles/keramik/bitmaps.h
+++ /dev/null
@@ -1,83 +0,0 @@
-#ifndef __BITMAPS_H
-#define __BITMAPS_H
-
-/* Image bits processed by KPixmap2Bitmaps */
-// Arrow bitmaps
-static const TQCOORD u_arrow[]={-1,-3, 0,-3, -2,-2, 1,-2, -3,-1, 2,-1, -4,0, 3,0, -4,1, 3,1};
-static const TQCOORD d_arrow[]={-4,-2, 3,-2, -4,-1, 3,-1, -3,0, 2,0, -2,1, 1,1, -1,2, 0,2};
-static const TQCOORD l_arrow[]={-3,-1, -3,0, -2,-2, -2,1, -1,-3, -1,2, 0,-4, 0,3, 1,-4, 1,3};
-static const TQCOORD r_arrow[]={-2,-4, -2,3, -1,-4, -1,3, 0,-3, 0,2, 1,-2, 1,1, 2,-1, 2,0};
-
-static const TQCOORD keramik_combo_arrow[] =
- {-4,-5, 4, -5,
- -2 ,-2, 2, -2,
- -2 ,-1, 2, -1,
- -2 ,0, 2, 0,
- -4, 1, 4, 1,
- -3, 2, 3, 2,
- -2 , 3, 2, 3,
- -1 , 4, 1, 4,
- 0 , 5, 0, 5
- };
-
-
-static const TQCOORD keramik_up_arrow[] =
- {
- 0, -4, 0, -4,
- -1, -3, 1, -3,
- -2, -2, 2, -2,
- -3, -1, 3, -1,
- -4, 0, 4, 0,
- -2, 1, 2, 1,
- -2, 2, 2, 2,
- -2, 3, 2, 3,
- -2, 4, 2, 4
- };
-
-static const TQCOORD keramik_down_arrow[] =
- {
- 0, 4, 0, 4,
- -1, 3, 1, 3,
- -2, 2, 2, 2,
- -3, 1, 3, 1,
- -4, 0, 4, 0,
- -2, -1, 2, -1,
- -2, -2, 2, -2,
- -2, -3, 2, -3,
- -2, -4, 2, -4
- };
-
-
- static const TQCOORD keramik_right_arrow[] =
- {
- 4, 0, 4, 0,
- 3, -1, 3, 1,
- 2, -2, 2, 2,
- 1, -3, 1, 3,
- 0, -4, 0, 4,
- -1, -2, -1, 2,
- -2, -2, -2, 2,
- -3, -2, -3, 2,
- -4, -2, -4, 2
- };
-
- static const TQCOORD keramik_left_arrow[] =
- {
- -4, 0, -4, 0,
- -3, -1, -3, 1,
- -2, -2, -2, 2,
- -1, -3, -1, 3,
- 0, -4, 0, 4,
- 1, -2, 1, 2,
- 2, -2, 2, 2,
- 3, -2, 3, 2,
- 4, -2, 4, 2
- };
-
-
-
-#define TQCOORDARRLEN(x) sizeof(x)/(sizeof(TQCOORD)*2)
-
-
-
-#endif
diff --git a/kstyles/keramik/colorutil.cpp b/kstyles/keramik/colorutil.cpp
deleted file mode 100644
index 81d5eeb7a..000000000
--- a/kstyles/keramik/colorutil.cpp
+++ /dev/null
@@ -1,65 +0,0 @@
-/* Keramik Style for KDE3, color utility routines..
- Copyright (c) 2002 Malte Starostik <malte@kde.org>
- (c) 2002 Maksim Orlovich <mo002j@mail.rochester.edu>
-
- 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.
-*/
-// $Id$
-
-#include <tqcolor.h>
-
-#include "colorutil.h"
-
-namespace Keramik
-{
- TQColor ColorUtil::lighten(TQColor in, int factor)
- {
- if (factor > 100)
- {
- int h, s, v;
- in.hsv(&h, &s, &v);
-
- float mShare = v/230.0;
- if (mShare > 1) mShare = 1;
-
- mShare *= mShare;
-
- int diff = factor - 100;
- int hd = int(mShare*diff);
- int delta = int((diff - hd)*7.55);
-
- TQColor wrk = in.light(100+hd);
-
- int r = wrk.red();
- int g = wrk.green();
- int b = wrk.blue();
-
- r+=delta;
- g+=delta;
- b+=delta;
-
- if (r>255) r=255;
- if (g>255) g=255;
- if (b>255) b=255;
-
- return TQColor(r,g,b);
- }
-
- return in;
- }
-}
-
-// vim: ts=4 sw=4 noet
diff --git a/kstyles/keramik/colorutil.h b/kstyles/keramik/colorutil.h
deleted file mode 100644
index 7bffe75f1..000000000
--- a/kstyles/keramik/colorutil.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/* Keramik Style for KDE3, color utility routines...
- Copyright (c) 2002 Malte Starostik <malte@kde.org>
- (c) 2002 Maksim Orlovich <mo002j@mail.rochester.edu>
-
- 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.
-*/
-// $Id$
-
-#ifndef KERAMIK_COLORUTIL_H
-#define KERAMIK_COLORUTIL_H
-
-class TQPainter;
-
-
-namespace Keramik
-{
- class ColorUtil
- {
- public:
- static TQColor lighten(TQColor in, int factor);
- };
-}
-
-#endif
diff --git a/kstyles/keramik/genembed.cpp b/kstyles/keramik/genembed.cpp
deleted file mode 100644
index 18608205d..000000000
--- a/kstyles/keramik/genembed.cpp
+++ /dev/null
@@ -1,387 +0,0 @@
-/**
-A small utility to generate embedded images for Keramik, especially structured for easy recoloring...
-
-Copyright (c) 2002 Maksim Orlovich <mo002j@mail.rochester.edu>
-
-Permission is hereby granted, free of charge, to any person obtaining a
-copy of this software and associated documentation files (the "Software"),
-to deal in the Software without restriction, including without limitation
-the rights to use, copy, modify, merge, publish, distribute, sublicense,
-and/or sell copies of the Software, and to permit persons to whom the
-Software is furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
-THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-DEALINGS IN THE SOFTWARE.
-
-*/
-
-#include <tqfileinfo.h>
-#include <tqimage.h>
-#include <tqmap.h>
-#include <tqregexp.h>
-#include <tqtextstream.h>
-#include <tqvaluevector.h>
-
-#include <kimageeffect.h>
-
-#include <iostream>
-using namespace std;
-
-#include <string.h>
-#include <math.h>
-
-//NOTE: Use of old-style header is intentional for portability. See revisions 1.6 and 1.7
-
-//Force-touch-embedded-revision: 2
-
-#include "keramikimage.h"
-
-/**
-Need to generate something like this:
-TargetColorAlpha, GreyAdd, SrcAlpha;
-
-so that one can do (R*T+GreyAdd, G*T+GreyAdd, B*T+GreyAdd, SrcAlpha) as pixel values
-*/
-
-
-int evalSuffix(TQString suffix)
-{
- if (suffix == "-tl")
- return 0;
-
- if (suffix == "-tc")
- return 1;
-
- if (suffix == "-tr")
- return 2;
-
- if (suffix == "-cl")
- return 3;
-
- if (suffix == "-cc")
- return 4;
-
- if (suffix == "-cr")
- return 5;
-
- if (suffix == "-bl")
- return 6;
-
- if (suffix == "-bc")
- return 7;
-
- if (suffix == "-br")
- return 8;
-
- if (suffix == "-separator")
- return KeramikTileSeparator;
-
- if (suffix == "-slider1")
- return KeramikSlider1;
-
- if (suffix == "-slider2")
- return KeramikSlider2;
-
- if (suffix == "-slider3")
- return KeramikSlider3;
-
- if (suffix == "-slider4")
- return KeramikSlider4;
-
- if (suffix == "-groove1")
- return KeramikGroove1;
-
- if (suffix == "-groove2")
- return KeramikGroove2;
-
- if (suffix == "-1")
- return 1;
-
- if (suffix == "-2")
- return 2;
-
- if (suffix == "-3")
- return 3;
-
- return -1;
-}
-
-
-int main(int argc, char** argv)
-{
- if (argc < 2)
- return 0;
-
- TQValueVector<KeramikEmbedImage> images;
-
- cout<<"#include <tqintdict.h>\n\n";
- cout<<"#include \"keramikimage.h\"\n\n";
-
- TQMap<TQString, int> assignID;
- int nextID = 0;
-
- for (int c = 1; c<argc; c++)
- {
-
- TQImage input(argv[c]);
-
-
- TQFileInfo fi(argv[c]);
- TQString s = fi.baseName();
-
- KeramikEmbedImage image;
-
- int pos;
-
- TQString id = s;
-
- int readJustID = 0;
-
-
- if ((pos = s.findRev("-")) != -1)
- {
- int suffix = evalSuffix(s.mid(pos));
- if (suffix !=-1 )
- {
- id = s.mid(0,pos);
- readJustID = suffix;
- }
- }
-
- if (!assignID.contains(id))
- {
- assignID[id] = nextID;
- nextID += 256;
- }
-
- s.replace("-","_");
-
-
- if (s.contains("button"))
- KImageEffect::contrastHSV(input);
-
- int fullID = assignID[id] + readJustID;//Subwidget..
-
- bool highlights = true;
- bool shadows = true;
-
- float gamma = 1.0;
- int brightAdj = 0;
-
-
-
- if (s.contains("toolbar") || s.contains("tab-top-active") || s.contains("menubar") )
- {
-// highlights = false;
- gamma = 1/1.25f;
- //brightAdj = 10;
- shadows = false;
- }
-
- if (s.contains("scrollbar") && s.contains("groove"))
- {
- //highlights = false;
- //gamma = 1.5;
- shadows = false;
- }
- //brightAdj = -10;
-
- if (s.contains("scrollbar") && s.contains("slider"))
- {
- //highlights = false;
- gamma =1/0.7f;
- //shadows = false;
- }
-
-
- if (s.contains("menuitem"))
- {
- //highlights = false;
- gamma =1/0.6f;
- //shadows = false;
- }
-
- image.width = input.width();
- image.height = input.height();
- image.id = fullID;
- image.data = reinterpret_cast<unsigned char*>(strdup(s.latin1()));
-
-
- bool reallySolid = true;
-
- int pixCount = 0;
- int pixSolid = 0;
-
- cout<<"static const unsigned char "<<s.latin1()<<"[]={\n";
-
- TQ_UINT32* read = reinterpret_cast< TQ_UINT32* >(input.bits() );
- int size = input.width()*input.height();
-
- for (int pos=0; pos<size; pos++)
- {
- QRgb basePix = (QRgb)*read;
-
- if (tqAlpha(basePix) != 255)
- reallySolid = false;
- else
- pixSolid++;
-
- pixCount++;
- read++;
- }
-
- image.haveAlpha = !reallySolid;
-
- images.push_back(image);
-
- read = reinterpret_cast< TQ_UINT32* >(input.bits() );
- for (int pos=0; pos<size; pos++)
- {
- QRgb basePix = (QRgb)*read;
- //cout<<(r*destAlpha.alphas[pos])<<"\n";
- //cout<<(int)destAlpha.alphas[pos]<<"\n";
- TQColor clr(basePix);
- int h,s,v;
- clr.hsv(&h,&s,&v);
-
- v=tqGray(basePix);
-
- int targetColorAlpha = 0 , greyAdd = 0;
- //int srcAlpha = tqAlpha(basePix);
-
- if (s>0 || v > 128)
- { //Non-shadow
- float fv = v/255.0;
- fv = pow(fv, gamma);
- v = int(255.5*fv);
-
-
- if (s<17 && highlights) //A bit of a highligt..
- {
- float effectPortion = (16 - s)/15.0;
-
- greyAdd = (int)(v/4.0 * effectPortion*1.2);
- targetColorAlpha = v - greyAdd;
- }
- else
- {
- targetColorAlpha = v;//(int)(fv*255);
- greyAdd = 0;
- }
- }
- else
- {
- if (shadows)
- {
- targetColorAlpha = 0;
- greyAdd = v;
- }
- else
- {
- targetColorAlpha = v;//(int)(fv*255);
- greyAdd = 0;
- }
- }
-
- greyAdd+=brightAdj;
-
- if (reallySolid)
- cout<<targetColorAlpha<<","<<greyAdd<<",";
- else
- cout<<targetColorAlpha<<","<<greyAdd<<","<<tqAlpha(basePix)<<",";
- //cout<<tqRed(basePix)<<","<<tqGreen(basePix)<<","<<tqBlue(basePix)<<","<<tqAlpha(basePix)<<",";
-
- if (pos%8 == 7)
- cout<<"\n";
-
- read++;
- }
-
- cerr<<s.latin1()<<":"<<pixSolid<<"/"<<pixCount<<"("<<reallySolid<<")\n";
-
- cout<<!reallySolid<<"\n";
-
- cout<<"};\n\n";
- }
-
- cout<<"static const KeramikEmbedImage image_db[] = {\n";
-
- for (unsigned int c=0; c<images.size(); c++)
- {
- cout<<"\t{ "<<(images[c].haveAlpha?"true":"false")<<","<<images[c].width<<", "<<images[c].height<<", "<<images[c].id<<", "<<(char *)images[c].data<<"},";
- cout<<"\n";
- }
- cout<<"\t{0, 0, 0, 0, 0}\n";
- cout<<"};\n\n";
-
- cout<<"class KeramikImageDb\n";
- cout<<"{\n";
- cout<<"public:\n";
- cout<<"\tstatic KeramikImageDb* getInstance()\n";
- cout<<"\t{\n";
- cout<<"\t\tif (!instance) instance = new KeramikImageDb;\n";
- cout<<"\t\treturn instance;\n";
- cout<<"\t}\n\n";
- cout<<"\tstatic void release()\n";
- cout<<"\t{\n";
- cout<<"\t\tdelete instance;\n";
- cout<<"\t\tinstance=0;\n";
- cout<<"\t}\n\n";
- cout<<"\tKeramikEmbedImage* getImage(int id)\n";
- cout<<"\t{\n";
- cout<<"\t\treturn images[id];\n";
- cout<<"\t}\n\n";
- cout<<"private:\n";
- cout<<"\tKeramikImageDb():images(503)\n";
- cout<<"\t{\n";
- cout<<"\t\tfor (int c=0; image_db[c].width; c++)\n";
- cout<<"\t\t\timages.insert(image_db[c].id, &image_db[c]);\n";
- cout<<"\t}\n";
- cout<<"\tstatic KeramikImageDb* instance;\n";
- cout<<"\tTQIntDict<KeramikEmbedImage> images;\n";
- cout<<"};\n\n";
- cout<<"KeramikImageDb* KeramikImageDb::instance = 0;\n\n";
-
- cout<<"KeramikEmbedImage* KeramikGetDbImage(int id)\n";
- cout<<"{\n";
- cout<<"\treturn KeramikImageDb::getInstance()->getImage(id);\n";
- cout<<"}\n\n";
-
- cout<<"void KeramikDbCleanup()\n";
- cout<<"{\n";
- cout<<"\t\tKeramikImageDb::release();\n";
- cout<<"}\n";
-
-
-
-
- TQFile file("keramikrc.h");
- file.open(IO_WriteOnly);
- TQTextStream ts( &file);
- ts<<"#ifndef KERAMIK_RC_H\n";
- ts<<"#define KERAMIK_RC_H\n";
-
- ts<<"enum KeramikWidget {\n";
- for (TQMap<TQString, int>::iterator i = assignID.begin(); i != assignID.end(); ++i)
- {
- TQString name = "keramik_"+i.key();
- name.replace("-","_");
- ts<<"\t"<<name<<" = "<<i.data()<<",\n";
- }
- ts<<"\tkeramik_last\n";
- ts<<"};\n";
-
- ts<<"#endif\n";
-
- return 0;
-}
-
-// vim: ts=4 sw=4 noet
diff --git a/kstyles/keramik/gradients.cpp b/kstyles/keramik/gradients.cpp
deleted file mode 100644
index ab804d117..000000000
--- a/kstyles/keramik/gradients.cpp
+++ /dev/null
@@ -1,179 +0,0 @@
-/* Keramik Style for KDE3, gradient routines..
- Copyright (c) 2002 Malte Starostik <malte@kde.org>
- (c) 2002 Maksim Orlovich <mo002j@mail.rochester.edu>
-
- 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.
-*/
-// $Id$
-
-#include <tqpainter.h>
-#include <tqrect.h>
-#include <tqcolor.h>
-
-#include "gradients.h"
-#include "colorutil.h"
-
-#include <tqimage.h>
-#include <tqintcache.h>
-#include <kimageeffect.h>
-
-namespace
-{
- struct GradientCacheEntry
- {
- TQPixmap* m_pixmap;
- QRgb m_color;
- bool m_menu;
- int m_width;
- int m_height;
-
- GradientCacheEntry(int width, int height, const TQColor& color, bool menu):
- m_pixmap(0), m_color(color.rgb()), m_menu(menu), m_width(width), m_height(height)
- {}
-
- int key()
- {
- return (int)m_menu ^ m_width ^ (m_height << 16) ^ ((m_color)<<8);
- }
-
- bool operator == (const GradientCacheEntry& other)
- {
- return ((m_width == other.m_width) &&
- (m_height == other.m_height) &&
- (m_menu == other.m_menu) &&
- (m_color == other.m_color));
- }
-
- ~GradientCacheEntry()
- {
- delete m_pixmap;
- }
-
- };
-
-
- TQIntCache<GradientCacheEntry> cache(65636, 17);
-
-}
-
-using namespace Keramik;
-
-void GradientPainter::releaseCache()
-{
- cache.clear();
-}
-
-void GradientPainter::renderGradient( TQPainter* p, const TQRect& r, TQColor c,
- bool horizontal, bool menu, int px, int py,
- int pwidth, int pheight)
-{
- int width = r.width(), height = r.height();
- if (pwidth != -1) width = pwidth;
- if (pheight != -1) height = pheight;
-
- if (horizontal)
- width = 18;
- else
- height = 18;
-
- GradientCacheEntry entry (width, height, c, menu);
- GradientCacheEntry* cacheEntry = 0;
-
- cache.setAutoDelete(true);
-
- int key = entry.key();
-
- if ((cacheEntry = cache.find(key, false)))
- {
- if (entry == *cacheEntry)
- {
- p->drawTiledPixmap(r, *cacheEntry->m_pixmap, horizontal? TQPoint(0,py): TQPoint(px,0));
- return;
- }
- else
- cache.remove(key);
- //Remove old entry in case of conflicts.. otherwise we end up w/unreachable items in cache
- }
-
-
- if (horizontal)
- {
- TQPixmap* pix = new TQPixmap(18, height);
-
- if (menu)
- {
- TQImage gr = KImageEffect::gradient(TQSize(4,height), c.light(93), ColorUtil::lighten(c,109), KImageEffect::VerticalGradient );
- TQPixmap grT(gr);
- TQPainter p2(pix);
- p2.drawTiledPixmap(0,0, 18, height, grT);
- p2.end();
- }
- else
- {
- int h1 = 3 * height/4;
- int h2 = height - h1;
-
- TQImage top = KImageEffect::gradient(TQSize(4,h1), ColorUtil::lighten(c,110), c.light(94), KImageEffect::VerticalGradient );
- TQImage bot = KImageEffect::gradient(TQSize(4,h2), c.light(94), ColorUtil::lighten(c,109), KImageEffect::VerticalGradient );
-
- TQPixmap topT(top);
- TQPixmap botT(bot);
-
- TQPainter p2(pix);
- p2.drawTiledPixmap(0, 0, 18, h1, topT);
- p2.drawTiledPixmap(0, h1, 18, h2, botT);
- p2.end();
- }
-
- entry.m_pixmap = pix;
- }
- else
- {
- TQPixmap* pix = new TQPixmap(width, 18);
-
- int h1 = 3 * width/4;
- int h2 = width - h1;
-
- TQImage top = KImageEffect::gradient(TQSize(h1,4), ColorUtil::lighten(c,110), c.light(94), KImageEffect::HorizontalGradient );
- TQImage bot = KImageEffect::gradient(TQSize(h2,4), c.light(94), ColorUtil::lighten(c,109), KImageEffect::HorizontalGradient );
-
- TQPixmap topT(top);
- TQPixmap botT(bot);
-
- TQPainter p2(pix);
- p2.drawTiledPixmap(0, 0, h1, 18, topT);
- p2.drawTiledPixmap(h1, 0, h2, 18, botT);
- p2.end();
-
- entry.m_pixmap = pix;
-
- }
-
- bool cacheOK = false;
- GradientCacheEntry* imgToAdd = new GradientCacheEntry(entry);
- cacheOK = cache.insert(imgToAdd->key(), imgToAdd,
- imgToAdd->m_pixmap->width() * imgToAdd->m_pixmap->height()*
- imgToAdd->m_pixmap->depth()/8);
-
- p->drawTiledPixmap(r, *imgToAdd->m_pixmap, horizontal? TQPoint(0,py): TQPoint(px,0));
-
- if (!cacheOK)
- delete imgToAdd;
-
- entry.m_pixmap = 0;//Don't free too early..
-}
-
-// vim: ts=4 sw=4 noet
diff --git a/kstyles/keramik/gradients.h b/kstyles/keramik/gradients.h
deleted file mode 100644
index 8a9a17425..000000000
--- a/kstyles/keramik/gradients.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/* Keramik Style for KDE3, gradient routines..
- Copyright (c) 2002 Malte Starostik <malte@kde.org>
- (c) 2002 Maksim Orlovich <mo002j@mail.rochester.edu>
-
- 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.
-*/
-// $Id$
-
-#ifndef KERAMIK_GRADIENTS_H
-#define KERAMIK_GRADIENTS_H
-
-class TQPainter;
-
-
-namespace Keramik
-{
- class GradientPainter
- {
- public:
- static void renderGradient( TQPainter* p, const TQRect& r, TQColor cr,
- bool horizontal, bool menu = false,
- int px = 0, int py = 0, int pwidth = -1, int pheight = -1 );
-
- static void releaseCache();
- };
-}
-
-#endif
diff --git a/kstyles/keramik/keramik.cpp b/kstyles/keramik/keramik.cpp
deleted file mode 100644
index fa1848203..000000000
--- a/kstyles/keramik/keramik.cpp
+++ /dev/null
@@ -1,3004 +0,0 @@
-/* Keramik Style for KDE3
- Copyright (c) 2002 Malte Starostik <malte@kde.org>
- (c) 2002,2003 Maksim Orlovich <mo002j@mail.rochester.edu>
-
- based on the KDE3 HighColor Style
-
- Copyright (C) 2001-2002 Karol Szwed <gallium@kde.org>
- (C) 2001-2002 Fredrik H�glund <fredrik@kde.org>
-
- Drawing routines adapted from the KDE2 HCStyle,
- Copyright (C) 2000 Daniel M. Duley <mosfet@kde.org>
- (C) 2000 Dirk Mueller <mueller@kde.org>
- (C) 2001 Martijn Klingens <klingens@kde.org>
-
- Progressbar code based on TDEStyle, Copyright (C) 2001-2002 Karol Szwed <gallium@kde.org>,
- Improvements to progressbar animation from Plastik, Copyright (C) 2003 Sandro Giessl <sandro@giessl.com>
-
- 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.
-*/
-
-// $Id$
-
-#include <tqapplication.h>
-#include <tqbitmap.h>
-#include <tqcheckbox.h>
-#include <tqcombobox.h>
-#include <tqdrawutil.h>
-#include <tqframe.h>
-#include <tqheader.h>
-#include <tqintdict.h>
-#include <tqlineedit.h>
-#include <tqlistbox.h>
-#include <tqmenubar.h>
-#include <tqpainter.h>
-#include <tqpointarray.h>
-#include <tqprogressbar.h>
-#include <tqpushbutton.h>
-#include <tqsettings.h>
-#include <tqslider.h>
-#include <tqstyleplugin.h>
-#include <tqtabbar.h>
-#include <tqtimer.h>
-#include <tqtoolbar.h>
-#include <tqtoolbutton.h>
-
-#include <kpixmap.h>
-#include <kpixmapeffect.h>
-
-#include "keramik.moc"
-
-#include "gradients.h"
-#include "colorutil.h"
-#include "keramikrc.h"
-#include "keramikimage.h"
-
-#include "bitmaps.h"
-#include "pixmaploader.h"
-
-#define loader Keramik::PixmapLoader::the()
-
-// -- Style Plugin Interface -------------------------
-class KeramikStylePlugin : public TQStylePlugin
-{
-public:
- KeramikStylePlugin() {}
- ~KeramikStylePlugin() {}
-
- TQStringList keys() const
- {
- if (TQPixmap::defaultDepth() > 8)
- return TQStringList() << "Keramik";
- else
- return TQStringList();
- }
-
- TQStyle* create( const TQString& key )
- {
- if ( key == "keramik" ) return new KeramikStyle();
- return 0;
- }
-};
-
-KDE_Q_EXPORT_PLUGIN( KeramikStylePlugin )
-// ---------------------------------------------------
-
-
-// ### Remove globals
-/*
-TQBitmap lightBmp;
-TQBitmap grayBmp;
-TQBitmap dgrayBmp;
-TQBitmap centerBmp;
-TQBitmap maskBmp;
-TQBitmap xBmp;
-*/
-namespace
-{
- const int itemFrame = 2;
- const int itemHMargin = 6;
- const int itemVMargin = 0;
- const int arrowHMargin = 6;
- const int rightBorder = 12;
- const char* kdeToolbarWidget = "kde toolbar widget";
-
- const int smallButMaxW = 27;
- const int smallButMaxH = 20;
- const int titleBarH = 22;
-}
-// ---------------------------------------------------------------------------
-
-namespace
-{
- void drawKeramikArrow(TQPainter* p, TQColorGroup cg, TQRect r, TQStyle::TQ_PrimitiveElement pe, bool down, bool enabled)
- {
- TQPointArray a;
-
- switch(pe)
- {
- case TQStyle::PE_ArrowUp:
- a.setPoints(TQCOORDARRLEN(keramik_up_arrow), keramik_up_arrow);
- break;
-
- case TQStyle::PE_ArrowDown:
- a.setPoints(TQCOORDARRLEN(keramik_down_arrow), keramik_down_arrow);
- break;
-
- case TQStyle::PE_ArrowLeft:
- a.setPoints(TQCOORDARRLEN(keramik_left_arrow), keramik_left_arrow);
- break;
-
- default:
- a.setPoints(TQCOORDARRLEN(keramik_right_arrow), keramik_right_arrow);
- }
-
- p->save();
- /*if ( down )
- p->translate( pixelMetric( PM_ButtonShiftHorizontal, ceData, elementFlags ),
- pixelMetric( PM_ButtonShiftVertical, ceData, elementFlags ) );
- */
-
- if ( enabled ) {
- //CHECKME: Why is the -1 needed?
- a.translate( r.x() + r.width() / 2 - 1, r.y() + r.height() / 2 );
-
- if (!down)
- p->setPen( cg.buttonText() );
- else
- p->setPen ( cg.button() );
- p->drawLineSegments( a );
- } else {
- a.translate( r.x() + r.width() / 2, r.y() + r.height() / 2 + 1 );
- p->setPen( cg.light() );
- p->drawLineSegments( a );
- a.translate( -1, -1 );
- p->setPen( cg.mid() );
- p->drawLineSegments( a );
- }
- p->restore();
- }
-}
-
-// XXX
-/* reimp. */
-void KeramikStyle::renderMenuBlendPixmap( KPixmap& pix, const TQColorGroup &cg,
- const TQPopupMenu* /* popup */ ) const
-{
- TQColor col = cg.button();
-
-#ifdef Q_WS_X11 // Only draw menu gradients on TrueColor, X11 visuals
- if ( TQPaintDevice::x11AppDepth() >= 24 )
- KPixmapEffect::gradient( pix, col.light(120), col.dark(115),
- KPixmapEffect::HorizontalGradient );
- else
-#endif
- pix.fill( col );
-}
-
-// XXX
-TQRect KeramikStyle::subRect(SubRect r, const TQStyleControlElementData &ceData, const ControlElementFlags elementFlags, const TQWidget *widget) const
-{
- // We want the focus rect for buttons to be adjusted from
- // the Qt3 defaults to be similar to Qt 2's defaults.
- // -------------------------------------------------------------------
- switch ( r )
- {
- case SR_PushButtonFocusRect:
- {
- TQRect wrect(ceData.rect);
-
- if ((elementFlags & CEF_IsDefault) || (elementFlags & CEF_AutoDefault))
- {
- return TQRect(wrect.x() + 6, wrect.y() + 5, wrect.width() - 12, wrect.height() - 10);
- }
- else
- {
- return TQRect(wrect.x() + 3, wrect.y() + 5, wrect.width() - 8, wrect.height() - 10);
- }
-
- break;
- }
-
- case SR_ComboBoxFocusRect:
- {
- return querySubControlMetrics( CC_ComboBox, ceData, elementFlags, SC_ComboBoxEditField, TQStyleOption::Default, widget );
- }
-
- case SR_CheckBoxFocusRect:
- {
- //Only checkbox, no label
- if (ceData.text.isEmpty() && (ceData.fgPixmap.isNull()) )
- {
- TQRect bounding = ceData.rect;
- TQSize checkDim = loader.size( keramik_checkbox_on);
- int cw = checkDim.width();
- int ch = checkDim.height();
-
- TQRect checkbox(bounding.x() + 1, bounding.y() + 1 + (bounding.height() - ch)/2,
- cw - 3, ch - 4);
-
- return checkbox;
- }
-
- //Fallthrough intentional
- }
-
- default:
- return TDEStyle::subRect( r, ceData, elementFlags, widget );
- }
-}
-
-
-TQPixmap KeramikStyle::stylePixmap(StylePixmap stylepixmap,
- const TQStyleControlElementData &ceData,
- ControlElementFlags elementFlags,
- const TQStyleOption& opt,
- const TQWidget* widget) const
-{
- switch (stylepixmap) {
- case SP_TitleBarMinButton:
- return Keramik::PixmapLoader::the().pixmap(keramik_title_iconify,
- Qt::black, Qt::black, false, false);
- //return qpixmap_from_bits( iconify_bits, "title-iconify.png" );
- case SP_TitleBarMaxButton:
- return Keramik::PixmapLoader::the().pixmap(keramik_title_maximize,
- Qt::black, Qt::black, false, false);
- case SP_TitleBarCloseButton:
- if (widget && widget->inherits("KDockWidgetHeader"))
- return Keramik::PixmapLoader::the().pixmap(keramik_title_close_tiny,
- Qt::black, Qt::black, false, false);
- else return Keramik::PixmapLoader::the().pixmap(keramik_title_close,
- Qt::black, Qt::black, false, false);
- case SP_TitleBarNormalButton:
- return Keramik::PixmapLoader::the().pixmap(keramik_title_restore,
- Qt::black, Qt::black, false, false);
- default:
- break;
- }
-
- return TDEStyle::stylePixmap(stylepixmap, ceData, elementFlags, opt, widget);
-}
-
-
-
-
-KeramikStyle::KeramikStyle()
- :TDEStyle( AllowMenuTransparency | FilledFrameWorkaround, ThreeButtonScrollBar ),
- maskMode(false), formMode(false),
- toolbarBlendWidget(0), titleBarMode(None), flatMode(false), customScrollMode(false), kickerMode(false)
-{
- forceSmallMode = false;
-
- TQSettings settings;
-
- highlightScrollBar = settings.readBoolEntry("/keramik/Settings/highlightScrollBar", true);
- animateProgressBar = settings.readBoolEntry("/keramik/Settings/animateProgressBar", false);
-
- if (animateProgressBar)
- {
- animationTimer = new TQTimer( this );
- connect( animationTimer, TQT_SIGNAL(timeout()), this, TQT_SLOT(updateProgressPos()) );
- }
-
- firstComboPopupRelease = false;
-}
-
-void KeramikStyle::updateProgressPos()
-{
- //Update the registered progressbars.
- TQMap<TQProgressBar*, int>::iterator iter;
- bool visible = false;
- for (iter = progAnimWidgets.begin(); iter != progAnimWidgets.end(); ++iter)
- {
- TQProgressBar* pbar = iter.key();
- if (pbar->isVisible() && pbar->isEnabled() &&
- pbar->progress() != pbar->totalSteps())
- {
- ++iter.data();
- if (iter.data() == 28)
- iter.data() = 0;
- iter.key()->update();
- }
- if (iter.key()->isVisible())
- visible = true;
-
- }
- if (!visible)
- animationTimer->stop();
-}
-
-KeramikStyle::~KeramikStyle()
-{
- Keramik::PixmapLoader::release();
- Keramik::GradientPainter::releaseCache();
- KeramikDbCleanup();
-}
-
-void KeramikStyle::applicationPolish(const TQStyleControlElementData &ceData, ControlElementFlags, void *ptr)
-{
- if (ceData.widgetObjectTypes.contains(TQAPPLICATION_OBJECT_NAME_STRING)) {
- TQApplication *app = reinterpret_cast<TQApplication*>(ptr);
- if (!qstrcmp(app->argv()[0], "kicker")) {
- kickerMode = true;
- }
- }
-}
-
-void KeramikStyle::polish(const TQStyleControlElementData &ceData, ControlElementFlags elementFlags, void *ptr)
-{
- if (ceData.widgetObjectTypes.contains(TQWIDGET_OBJECT_NAME_STRING)) {
- TQWidget *widget = reinterpret_cast<TQWidget*>(ptr);
-
- // Put in order of highest occurrence to maximise hit rate
- if ( widget->inherits( TQPUSHBUTTON_OBJECT_NAME_STRING ) || widget->inherits( TQCOMBOBOX_OBJECT_NAME_STRING ) || widget->inherits(TQTOOLBUTTON_OBJECT_NAME_STRING) )
- {
- installObjectEventHandler(ceData, elementFlags, ptr, this);
- if ( widget->inherits( TQCOMBOBOX_OBJECT_NAME_STRING ) )
- widget->setBackgroundMode( NoBackground );
- }
- else if ( widget->inherits( TQMENUBAR_OBJECT_NAME_STRING ) || widget->inherits( TQPOPUPMENU_OBJECT_NAME_STRING ) )
- widget->setBackgroundMode( NoBackground );
-
- else if ( widget->parentWidget() &&
- ( ( widget->inherits( TQLISTBOX_OBJECT_NAME_STRING ) && widget->parentWidget()->inherits( TQCOMBOBOX_OBJECT_NAME_STRING ) ) ||
- widget->inherits( "TDECompletionBox" ) ) ) {
- TQListBox* listbox = (TQListBox*) widget;
- listbox->setLineWidth( 4 );
- listbox->setBackgroundMode( NoBackground );
- installObjectEventHandler(ceData, elementFlags, ptr, this);
-
- } else if (widget->inherits("QToolBarExtensionWidget")) {
- installObjectEventHandler(ceData, elementFlags, ptr, this);
- //widget->setBackgroundMode( NoBackground );
- }
- else if ( !qstrcmp( widget->name(), kdeToolbarWidget ) ) {
- widget->setBackgroundMode( NoBackground );
- installObjectEventHandler(ceData, elementFlags, ptr, this);
- }
-
- if (animateProgressBar && ::tqqt_cast<TQProgressBar*>(widget))
- {
- installObjectEventHandler(ceData, elementFlags, ptr, this);
- progAnimWidgets[static_cast<TQProgressBar*>(widget)] = 0;
- connect(widget, TQT_SIGNAL(destroyed(TQObject*)), this, TQT_SLOT(progressBarDestroyed(TQObject*)));
- if (!animationTimer->isActive())
- animationTimer->start( 50, false );
- }
- }
-
- TDEStyle::polish(ceData, elementFlags, ptr);
-}
-
-void KeramikStyle::unPolish(const TQStyleControlElementData &ceData, ControlElementFlags elementFlags, void *ptr)
-{
- if (ceData.widgetObjectTypes.contains(TQWIDGET_OBJECT_NAME_STRING)) {
- TQWidget *widget = reinterpret_cast<TQWidget*>(ptr);
-
- //### TODO: This needs major cleanup (and so does polish() )
- if ( widget->inherits( TQPUSHBUTTON_OBJECT_NAME_STRING ) || widget->inherits( TQCOMBOBOX_OBJECT_NAME_STRING ) )
- {
- if ( widget->inherits( TQCOMBOBOX_OBJECT_NAME_STRING ) )
- widget->setBackgroundMode( PaletteButton );
- removeObjectEventHandler(ceData, elementFlags, ptr, this);
- }
- else if ( widget->inherits( TQMENUBAR_OBJECT_NAME_STRING ) || widget->inherits( TQPOPUPMENU_OBJECT_NAME_STRING ) )
- widget->setBackgroundMode( PaletteBackground );
-
- else if ( widget->parentWidget() &&
- ( ( widget->inherits( TQLISTBOX_OBJECT_NAME_STRING ) && widget->parentWidget()->inherits( TQCOMBOBOX_OBJECT_NAME_STRING ) ) ||
- widget->inherits( "TDECompletionBox" ) ) ) {
- TQListBox* listbox = (TQListBox*) widget;
- listbox->setLineWidth( 1 );
- listbox->setBackgroundMode( PaletteBackground );
- removeObjectEventHandler(ceData, elementFlags, ptr, this);
- widget->clearMask();
- } else if (widget->inherits("QToolBarExtensionWidget")) {
- removeObjectEventHandler(ceData, elementFlags, ptr, this);
- }
- else if ( !qstrcmp( widget->name(), kdeToolbarWidget ) ) {
- widget->setBackgroundMode( PaletteBackground );
- removeObjectEventHandler(ceData, elementFlags, ptr, this);
- }
- else if ( ::tqqt_cast<TQProgressBar*>(widget) )
- {
- progAnimWidgets.remove(static_cast<TQProgressBar*>(widget));
- }
- }
-
- TDEStyle::unPolish(ceData, elementFlags, ptr);
-}
-
-void KeramikStyle::progressBarDestroyed(TQObject* obj)
-{
- progAnimWidgets.remove(static_cast<TQProgressBar*>(TQT_TQWIDGET(obj)));
-}
-
-
-void KeramikStyle::polish( TQPalette& )
-{
- loader.clear();
-}
-
-/**
- Draws gradient background for toolbar buttons, handles and spacers
-*/
-static void renderToolbarEntryBackground(TQPainter* paint,
- const TQToolBar* parent, TQRect r, const TQColorGroup& cg, bool horiz)
-{
- int toolWidth, toolHeight;
-
- //Do we have a parent toolbar to use?
- if (parent)
- {
- //Calculate the toolbar geometry.
- //The initial guess is the size of the parent widget
- toolWidth = parent->width();
- toolHeight = parent->height();
-
- //If we're floating, however, wee need to fiddle
- //with height to skip the titlebar
- if (parent->place() == TQDockWindow::OutsideDock)
- {
- toolHeight = toolHeight - titleBarH - 2*parent->frameWidth() + 2;
- //2 at the end = the 2 pixels of border of a "regular"
- //toolbar we normally paint over.
- }
- }
- else
- {
- //No info, make a guess.
- //We take the advantage of the fact that the non-major
- //sizing direction parameter is ignored
- toolWidth = r.width () + 2;
- toolHeight = r.height() + 2;
- }
-
- //Calculate where inside the toolbar we're
- int xoff = 0, yoff = 0;
- if (horiz)
- yoff = (toolHeight - r.height())/2;
- else
- xoff = (toolWidth - r.width())/2;
-
- Keramik::GradientPainter::renderGradient( paint, r, cg.button(),
- horiz, false /*Not a menubar*/,
- xoff, yoff,
- toolWidth, toolHeight);
-}
-
-static void renderToolbarWidgetBackground(TQPainter* painter, const TQStyleControlElementData &ceData, const TQStyle::ControlElementFlags elementFlags, const TQWidget* widget)
-{
- // Draw a gradient background for custom widgets in the toolbar
- // that have specified a "kde toolbar widget" name, or
- // are caught as toolbar widgets otherwise
-
- // Find the top-level toolbar of this widget, since it may be nested in other
- // widgets that are on the toolbar.
- TQWidget *parent = (widget)?TQT_TQWIDGET(widget->parentWidget()):(TQWidget*)NULL;
- int x_offset = ceData.rect.x(), y_offset = ceData.rect.y();
- while (parent && parent->parent() && !qstrcmp( parent->name(), kdeToolbarWidget ) )
- {
- x_offset += parent->x();
- y_offset += parent->y();
- parent = TQT_TQWIDGET(parent->parent());
- }
-
- TQRect pr = ceData.parentWidgetData.rect;
- bool horiz_grad = pr.width() > pr.height();
-
- int toolHeight = ceData.parentWidgetData.rect.height();
- int toolWidth = ceData.parentWidgetData.rect.width ();
-
- // Check if the parent is a QToolbar, and use its orientation, else guess.
- //Also, get the height to use in the gradient from it.
- TQToolBar* tb = dynamic_cast<TQToolBar*>(parent);
- if (tb)
- {
- horiz_grad = ceData.orientation == TQt::Horizontal;
-
- //If floating, we need to skip the titlebar.
- if (tb->place() == TQDockWindow::OutsideDock)
- {
- toolHeight = tb->height() - titleBarH - 2*tb->frameWidth() + 2;
- //Calculate offset here by looking at the bottom edge difference, and height.
- //First, calculate by how much the widget needs to be extended to touch
- //the bottom edge, minus the frame (except we use the current y_offset
- // to map to parent coordinates)
- int needToTouchBottom = tb->height() - tb->frameWidth() -
- (ceData.rect.bottom() + y_offset);
-
- //Now, with that, we can see which portion to skip in the full-height
- //gradient -- which is the stuff other than the extended
- //widget
- y_offset = toolHeight - (ceData.rect.height() + needToTouchBottom) - 1;
- }
- }
-
- if (painter)
- {
- Keramik::GradientPainter::renderGradient( painter, ceData.rect,
- ceData.colorGroup.button(), horiz_grad, false,
- x_offset, y_offset, toolWidth, toolHeight);
- }
- else
- {
- TQPainter p( widget );
- Keramik::GradientPainter::renderGradient( &p, ceData.rect,
- ceData.colorGroup.button(), horiz_grad, false,
- x_offset, y_offset, toolWidth, toolHeight);
- }
-}
-
-// This function draws primitive elements as well as their masks.
-void KeramikStyle::drawPrimitive( TQ_PrimitiveElement pe,
- TQPainter *p,
- const TQStyleControlElementData &ceData,
- ControlElementFlags elementFlags,
- const TQRect &r,
- const TQColorGroup &cg,
- SFlags flags,
- const TQStyleOption& opt ) const
-{
- bool down = flags & Style_Down;
- bool on = flags & Style_On;
- bool active = flags & Style_Active;
- bool disabled = ( flags & Style_Enabled ) == 0;
- int x, y, w, h;
- r.rect(&x, &y, &w, &h);
-
- int x2 = x+w-1;
- int y2 = y+h-1;
-
- switch(pe)
- {
- // BUTTONS
- // -------------------------------------------------------------------
- case PE_ButtonDefault:
- {
- bool sunken = on || down;
-
- int id;
- if ( sunken ) id = keramik_pushbutton_default_pressed;
- else id = keramik_pushbutton_default;
-
- if (flags & Style_MouseOver && id == keramik_pushbutton_default )
- id = keramik_pushbutton_default_hov;
-
-
- //p->fillRect( r, cg.background() );
- Keramik::RectTilePainter( id, false ).draw(p, r, cg.button(), cg.background(), disabled, pmode() );
- break;
- }
-
- case PE_ButtonDropDown:
- case PE_ButtonTool:
- {
- if (titleBarMode)
- {
- TQRect nr;
- if (titleBarMode == Maximized)
- {
- //### What should we draw at sides?
- nr = TQRect(r.x(), r.y(), r.width()-1, r.height() );
- }
- else
- {
- int offX = (r.width() - 15)/2;
- int offY = (r.height() - 15)/2;
-
- if (flags & Style_Down)
- offY += 1;
-
- nr = TQRect(r.x()+offX, r.y()+offY, 15, 15);
- }
-
- Keramik::ScaledPainter(flags & Style_Down ? keramik_titlebutton_pressed : keramik_titlebutton,
- Keramik::ScaledPainter::Both).draw( p, nr, cg.button(), cg.background());
- return;
- }
-
- if (on)
- {
- Keramik::RectTilePainter(keramik_toolbar_clk).draw(p, r, cg.button(), cg.background());
- p->setPen(cg.dark());
- p->drawLine(x, y, x2, y);
- p->drawLine(x, y, x, y2);
- }
- else if (down)
- {
- Keramik::RectTilePainter(keramik_toolbar_clk).draw(p, r, cg.button(), cg.background());
- }
- else {
- if (flags & Style_MouseOver)
- {
- Keramik::GradientPainter::renderGradient( p,
- TQRect(r.x(), 0, r.width(), r.height()),
- Keramik::ColorUtil::lighten(cg.button(), 115), flags & Style_Horizontal, false );
- }
- else
- Keramik::GradientPainter::renderGradient( p,
- TQRect(r.x(), 0, r.width(), r.height()),
- cg.button(), flags & Style_Horizontal, false );
-
- p->setPen(cg.button().light(70));
- p->drawLine(x, y, x2-1, y);
- p->drawLine(x, y, x, y2-1);
- p->drawLine(x+2, y2-1, x2-1, y2-1);
- p->drawLine(x2-1, y+2, x2-1, y2-2);
-
- p->setPen(Keramik::ColorUtil::lighten(cg.button(), 115) );
- p->drawLine(x+1, y+1, x2-1, y+1);
- p->drawLine(x+1, y+1, x+1, y2);
- p->drawLine(x, y2, x2, y2);
- p->drawLine(x2, y, x2, y2);
- }
-
- break;
- }
-
- // PUSH BUTTON
- // -------------------------------------------------------------------
- case PE_ButtonCommand:
- {
- bool sunken = on || down;
-
- int name;
-
- if ( w <= smallButMaxW || h <= smallButMaxH || forceSmallMode)
- {
- if (sunken)
- name = keramik_pushbutton_small_pressed;
- else
- name = keramik_pushbutton_small;
- forceSmallMode = false;
- }
- else
- {
- if (sunken)
- name = keramik_pushbutton_pressed;
- else
- name = keramik_pushbutton;
- }
-
- if (flags & Style_MouseOver && name == keramik_pushbutton )
- name = keramik_pushbutton_hov;
-
- if (toolbarBlendWidget && !flatMode )
- {
- //Render the toolbar gradient.
- renderToolbarWidgetBackground(p, ceData, elementFlags, toolbarBlendWidget);
-
- //Draw and blend the actual bevel..
- Keramik::RectTilePainter( name, false ).draw(p, r, cg.button(), cg.background(),
- disabled, Keramik::TilePainter::PaintFullBlend );
- }
- else if (!flatMode)
- Keramik::RectTilePainter( name, false ).draw(p, r, cg.button(), cg.background(), disabled, pmode() );
- else {
- Keramik::ScaledPainter( name + KeramikTileCC, Keramik::ScaledPainter::Vertical).draw(
- p, r, cg.button(), cg.background(), disabled, pmode() );
-
- p->setPen(cg.button().light(75));
-
- p->drawLine(x, y, x2, y);
- p->drawLine(x, y, x, y2);
- p->drawLine(x, y2, x2, y2);
- p->drawLine(x2, y, x2, y2);
- flatMode = false;
- }
-
- break;
-
- }
-
- // BEVELS
- // -------------------------------------------------------------------
- case PE_ButtonBevel:
- {
- int x,y,w,h;
- r.rect(&x, &y, &w, &h);
- bool sunken = on || down;
- int x2 = x+w-1;
- int y2 = y+h-1;
-
- // Outer frame
- p->setPen(cg.shadow());
- p->drawRect(r);
-
- // Bevel
- p->setPen(sunken ? cg.mid() : cg.light());
- p->drawLine(x+1, y+1, x2-1, y+1);
- p->drawLine(x+1, y+1, x+1, y2-1);
- p->setPen(sunken ? cg.light() : cg.mid());
- p->drawLine(x+2, y2-1, x2-1, y2-1);
- p->drawLine(x2-1, y+2, x2-1, y2-1);
-
- if (w > 4 && h > 4)
- {
- if (sunken)
- p->fillRect(x+2, y+2, w-4, h-4, cg.button());
- else
- Keramik::GradientPainter::renderGradient( p, TQRect(x+2, y+2, w-4, h-4),
- cg.button(), flags & Style_Horizontal );
- }
- break;
- }
-
-
- // FOCUS RECT
- // -------------------------------------------------------------------
- case PE_FocusRect:
- //Qt may pass the background color to use for the focus indicator
- //here. This particularly happens within the iconview.
- //If that happens, pass it on to drawWinFocusRect() so it can
- //honor it
- if ( opt.isDefault() )
- p->drawWinFocusRect( r );
- else
- p->drawWinFocusRect( r, opt.color() );
- break;
-
- // HEADER SECTION
- // -------------------------------------------------------------------
- case PE_HeaderSectionMenu:
- case PE_HeaderSection:
- if ( flags & Style_Down )
- Keramik::RectTilePainter( keramik_listview_pressed, false ).draw( p, r, cg.button(), cg.background() );
- else
- Keramik::RectTilePainter( keramik_listview, false ).draw( p, r, cg.button(), cg.background() );
- break;
-
- case PE_HeaderArrow:
- if ( flags & Style_Up )
- drawPrimitive( PE_ArrowUp, p, ceData, elementFlags, r, cg, Style_Enabled );
- else drawPrimitive( PE_ArrowDown, p, ceData, elementFlags, r, cg, Style_Enabled );
- break;
-
-
- // // SCROLLBAR
- // -------------------------------------------------------------------
-
- case PE_ScrollBarSlider:
- {
- bool horizontal = flags & Style_Horizontal;
- bool active = ( flags & Style_Active ) || ( flags & Style_Down );
- int name = KeramikSlider1;
- unsigned int count = 3;
-
-
-
- if ( horizontal )
- {
- if ( w > ( loader.size( keramik_scrollbar_hbar+KeramikSlider1 ).width() +
- loader.size( keramik_scrollbar_hbar+KeramikSlider4 ).width() +
- loader.size( keramik_scrollbar_hbar+KeramikSlider3 ).width() + 2 ) )
- count = 5;
- }
- else if ( h > ( loader.size( keramik_scrollbar_vbar+KeramikSlider1 ).height() +
- loader.size( keramik_scrollbar_vbar+KeramikSlider4 ).height() +
- loader.size( keramik_scrollbar_vbar+KeramikSlider3 ).height() + 2 ) )
- count = 5;
-
- TQColor col = cg.highlight();
-
- if (customScrollMode || !highlightScrollBar)
- col = cg.button();
-
- if (!active)
- Keramik::ScrollBarPainter( name, count, horizontal ).draw( p, r, col, cg.background(), false, pmode() );
- else
- Keramik::ScrollBarPainter( name, count, horizontal ).draw( p, r, Keramik::ColorUtil::lighten(col ,110),
- cg.background(), false, pmode() );
- break;
- }
-
- case PE_ScrollBarAddLine:
- {
- bool down = flags & Style_Down;
-
- if ( flags & Style_Horizontal )
- {
- Keramik::CenteredPainter painter( keramik_scrollbar_hbar_arrow2 );
- painter.draw( p, r, down? cg.buttonText() : cg.button(), cg.background(), disabled, pmode() );
-
- p->setPen( cg.buttonText() );
- p->drawLine(r.x()+r.width()/2 - 1, r.y() + r.height()/2 - 3,
- r.x()+r.width()/2 - 1, r.y() + r.height()/2 + 3);
-
-
- drawKeramikArrow(p, cg, TQRect(r.x(), r.y(), r.width()/2, r.height()), PE_ArrowLeft, down, !disabled);
-
- drawKeramikArrow(p, cg, TQRect(r.x()+r.width()/2, r.y(), r.width() - r.width()/2, r.height()),
- PE_ArrowRight, down, !disabled);
- }
- else
- {
- Keramik::CenteredPainter painter( keramik_scrollbar_vbar_arrow2 );
- painter.draw( p, r, down? cg.buttonText() : cg.button(), cg.background(), disabled, pmode() );
-
- p->setPen( cg.buttonText() );
- p->drawLine(r.x()+r.width()/2 - 4, r.y()+r.height()/2,
- r.x()+r.width()/2 + 2, r.y()+r.height()/2);
-
-
- drawKeramikArrow(p, cg, TQRect(r.x(), r.y(), r.width(), r.height()/2), PE_ArrowUp, down, !disabled);
-
- drawKeramikArrow(p, cg, TQRect(r.x(), r.y()+r.height()/2, r.width(), r.height() - r.height()/2),
- PE_ArrowDown, down, !disabled);
- //drawKeramikArrow(p, cg, r, PE_ArrowUp, down, !disabled);
- }
-
-
- break;
- }
-
- case PE_ScrollBarSubLine:
- {
- bool down = flags & Style_Down;
-
- if ( flags & Style_Horizontal )
- {
- Keramik::CenteredPainter painter(keramik_scrollbar_hbar_arrow1 );
- painter.draw( p, r, down? cg.buttonText() : cg.button(), cg.background(), disabled, pmode() );
- drawKeramikArrow(p, cg, r, PE_ArrowLeft, down, !disabled);
-
- }
- else
- {
- Keramik::CenteredPainter painter( keramik_scrollbar_vbar_arrow1 );
- painter.draw( p, r, down? cg.buttonText() : cg.button(), cg.background(), disabled, pmode() );
- drawKeramikArrow(p, cg, r, PE_ArrowUp, down, !disabled);
- }
- break;
- }
-
- // CHECKBOX (indicator)
- // -------------------------------------------------------------------
- case PE_Indicator:
- case PE_IndicatorMask:
-
- if (flags & Style_On)
- Keramik::ScaledPainter( keramik_checkbox_on ).draw( p, r, cg.button(), cg.background(), disabled, pmode() );
- else if (flags & Style_Off)
- Keramik::ScaledPainter( keramik_checkbox_off ).draw( p, r, cg.button(), cg.background(), disabled, pmode() );
- else
- Keramik::ScaledPainter( keramik_checkbox_tri ).draw( p, r, cg.button(), cg.background(), disabled, pmode() );
-
- break;
-
- // RADIOBUTTON (exclusive indicator)
- // -------------------------------------------------------------------
- case PE_ExclusiveIndicator:
- case PE_ExclusiveIndicatorMask:
- {
-
- Keramik::ScaledPainter( on ? keramik_radiobutton_on : keramik_radiobutton_off ).draw( p, r, cg.button(), cg.background(), disabled, pmode() );
- break;
- }
-
- // line edit frame
- case PE_PanelLineEdit:
- {
- if ( opt.isDefault() || opt.lineWidth() == 1 )
- {
- //1-pixel frames can not be simply clipped wider frames, as that would produce too little contrast on the lower border
- p->setPen( cg.dark() );
- p->drawLine( x, y, x + w - 1, y );
- p->drawLine( x, y, x, y + h - 1 );
-
- p->setPen( cg.light().dark( 110 ) );
- p->drawLine( x + w - 1, y, x + w - 1, y + h - 1 );
- p->drawLine( x, y + h - 1, x + w - 1, y + h - 1);
- }
- else
- {
- p->setPen( cg.dark() );
- p->drawLine( x, y, x + w - 1, y );
- p->drawLine( x, y, x, y + h - 1 );
- p->setPen( cg.mid() );
- p->drawLine( x + 1, y + 1, x + w - 1, y + 1 );
- p->drawLine( x + 1, y + 1, x + 1, y + h - 1 );
- p->setPen( cg.light() );
- p->drawLine( x + w - 1, y, x + w - 1, y + h - 1 );
- p->drawLine( x, y + h - 1, x + w - 1, y + h - 1);
- p->setPen( cg.light().dark( 110 ) );
- p->drawLine( x + w - 2, y + 1, x + w - 2, y + h - 2 );
- p->drawLine( x + 1, y + h - 2, x + w - 2, y + h - 2);
- }
- break;
- }
-
- // SPLITTER/DOCKWINDOW HANDLES
- // -------------------------------------------------------------------
- case PE_DockWindowResizeHandle:
- case PE_Splitter:
- {
- int x,y,w,h;
- r.rect(&x, &y, &w, &h);
- int x2 = x+w-1;
- int y2 = y+h-1;
-
- p->setPen(cg.dark());
- p->drawRect( r );
- p->setPen(cg.background());
- p->drawPoint(x, y);
- p->drawPoint(x2, y);
- p->drawPoint(x, y2);
- p->drawPoint(x2, y2);
- p->setPen(cg.light());
- p->drawLine(x+1, y+1, x+1, y2-1);
- p->drawLine(x+1, y+1, x2-1, y+1);
- p->setPen(cg.midlight());
- p->drawLine(x+2, y+2, x+2, y2-2);
- p->drawLine(x+2, y+2, x2-2, y+2);
- p->setPen(cg.mid());
- p->drawLine(x2-1, y+1, x2-1, y2-1);
- p->drawLine(x+1, y2-1, x2-1, y2-1);
- p->fillRect(x+3, y+3, w-5, h-5, cg.brush(TQColorGroup::Background));
- break;
- }
-
-
- //case PE_PanelPopup:
- //p->setPen (cg.light() );
- //p->setBrush( cg.background().light( 110 ) );
- //p->drawRect( r );
-
- //p->setPen( cg.shadow() );
- //p->drawRect( r.x()+1, r.y()+1, r.width()-2, r.height()-2);
- //p->fillRect( visualRect( TQRect( x + 1, y + 1, 23, h - 2 ), r ), cg.background().dark( 105 ) );
- //break;
-
- // GENERAL PANELS
- // -------------------------------------------------------------------
- case PE_Panel:
- {
- if (kickerMode)
- {
- if (p->device() && p->device()->devType() == TQInternal::Widget &&
- TQCString(TQT_TQWIDGET(static_cast<TQPaintDevice*>(p->device()))->className()) == "FittsLawFrame" )
- {
- int x2 = x + r.width() - 1;
- int y2 = y + r.height() - 1;
- p->setPen(cg.dark());
- p->drawLine(x+1,y2,x2-1,y2);
- p->drawLine(x2,y+1,x2,y2);
-
- p->setPen( cg.light() );
- p->drawLine(x, y, x2, y);
- p->drawLine(x, y, x, y2);
-
-
- return;
- }
- }
- TDEStyle::drawPrimitive(pe, p, ceData, elementFlags, r, cg, flags, opt);
- break;
- }
- case PE_WindowFrame:
- {
- bool sunken = flags & Style_Sunken;
- int lw = opt.isDefault() ? pixelMetric(PM_DefaultFrameWidth, ceData, elementFlags)
- : opt.lineWidth();
- if (lw == 2)
- {
- TQPen oldPen = p->pen();
- int x,y,w,h;
- r.rect(&x, &y, &w, &h);
- int x2 = x+w-1;
- int y2 = y+h-1;
- p->setPen(sunken ? cg.light() : cg.dark());
- p->drawLine(x, y2, x2, y2);
- p->drawLine(x2, y, x2, y2);
- p->setPen(sunken ? cg.mid() : cg.light());
- p->drawLine(x, y, x2, y);
- p->drawLine(x, y, x, y2);
- p->setPen(sunken ? cg.midlight() : cg.mid());
- p->drawLine(x+1, y2-1, x2-1, y2-1);
- p->drawLine(x2-1, y+1, x2-1, y2-1);
- p->setPen(sunken ? cg.dark() : cg.midlight());
- p->drawLine(x+1, y+1, x2-1, y+1);
- p->drawLine(x+1, y+1, x+1, y2-1);
- p->setPen(oldPen);
- } else
- TDEStyle::drawPrimitive(pe, p, ceData, elementFlags, r, cg, flags, opt);
-
- break;
- }
-
-
- // MENU / TOOLBAR PANEL
- // -------------------------------------------------------------------
- case PE_PanelMenuBar: // Menu
- {
- Keramik::GradientPainter::renderGradient( p, r, cg.button(), true, true);
- //Keramik::ScaledPainter( keramik_menubar , Keramik::ScaledPainter::Vertical).draw( p, r, cg.button(), cg.background() );
-
- int x2 = r.x()+r.width()-1;
- int y2 = r.y()+r.height()-1;
- int lw = opt.isDefault() ? pixelMetric(PM_DefaultFrameWidth, ceData, elementFlags)
- : opt.lineWidth();
- if (lw)
- {
- p->setPen(cg.mid());
- p->drawLine(x2, y, x2, y2);
- }
-
- break;
- }
-
- case PE_PanelDockWindow: // Toolbar
- {
- bool horiz = r.width() > r.height();
-
- //Here, we just draw the border.
- int x = r.x();
- int y = r.y();
- int x2 = r.x() + r.width() - 1;
- int y2 = r.y() + r.height() - 1;
- int lw = opt.isDefault() ? pixelMetric(PM_DefaultFrameWidth, ceData, elementFlags)
- : opt.lineWidth();
-
- if (lw)
- {
- //Gradient border colors.
- //(Same as in gradients.cpp)
- TQColor gradTop = Keramik::ColorUtil::lighten(cg.button(),110);
- TQColor gradBot = Keramik::ColorUtil::lighten(cg.button(),109);
- if (horiz)
- {
- //Top line
- p->setPen(gradTop);
- p->drawLine(x, y, x2, y);
-
- //Bottom line
- p->setPen(gradBot);
- p->drawLine(x, y2, x2, y2);
-
- //Left line
- Keramik::GradientPainter::renderGradient(
- p, TQRect(r.x(), r.y(), 1, r.height()),
- cg.button(), true);
-
- //Right end-line
- p->setPen(cg.mid());
- p->drawLine(x2, y, x2, y2);
- }
- else
- {
- //Left line
- p->setPen(gradTop);
- p->drawLine(x, y, x, y2);
-
- //Right line
- p->setPen(gradBot);
- p->drawLine(x2, y, x2, y2);
-
- //Top line
- Keramik::GradientPainter::renderGradient(
- p, TQRect(r.x(), r.y(), r.width(), 1),
- cg.button(), false);
-
- //Bottom end-line
- p->setPen(cg.mid());
- p->drawLine(x, y2, x2, y2);
- }
- }
- break;
- }
-
- // TOOLBAR SEPARATOR
- // -------------------------------------------------------------------
- case PE_DockWindowSeparator:
- {
- TQWidget* paintWidget = dynamic_cast<TQWidget*>(p->device());
- TQToolBar* parent = 0;
- if (paintWidget)
- parent = ::tqqt_cast<TQToolBar*>(paintWidget->parentWidget());
-
- renderToolbarEntryBackground(p, parent, r, cg, (flags & Style_Horizontal) );
- if ( !(flags & Style_Horizontal) )
- {
- p->setPen(cg.mid());
- p->drawLine(4, r.height()/2-1, r.width()-5, r.height()/2-1);
- p->setPen(cg.light());
- p->drawLine(4, r.height()/2, r.width()-5, r.height()/2);
- }
- else
- {
- p->setPen(cg.mid());
- p->drawLine(r.width()/2-1, 4, r.width()/2-1, r.height()-5);
- p->setPen(cg.light());
- p->drawLine(r.width()/2, 4, r.width()/2, r.height()-5);
- }
- break;
- }
-
- case PE_PanelScrollBar:
- {
- Keramik::ScrollBarPainter( KeramikGroove1, 2, (ceData.orientation == TQt::Horizontal)?true:false ).draw( p, r, cg.button(), cg.background(), (( flags & Style_Enabled ) == 0)?true:false );
- break;
- }
-
- case PE_MenuItemIndicatorFrame:
- {
- int x, y, w, h;
- r.rect( &x, &y, &w, &h );
- int checkcol = styleHint(SH_MenuIndicatorColumnWidth, ceData, elementFlags, opt, NULL, NULL);
- TQRect cr = visualRect( TQRect( x + 2, y + 2, checkcol - 1, h - 4 ), r );
- qDrawShadePanel( p, cr.x(), cr.y(), cr.width(), cr.height(), cg, true, 1, &cg.brush(TQColorGroup::Midlight) );
- }
- break;
- case PE_MenuItemIndicatorIconFrame:
- {
- int x, y, w, h;
- r.rect( &x, &y, &w, &h );
- int checkcol = styleHint(SH_MenuIndicatorColumnWidth, ceData, elementFlags, opt, NULL, NULL);
- TQRect cr = visualRect( TQRect( x + 2, y + 2, checkcol - 1, h - 4 ), r );
- qDrawShadePanel( p, cr.x(), cr.y(), cr.width(), cr.height(), cg, true, 1, &cg.brush(TQColorGroup::Midlight) );
- }
- break;
- case PE_MenuItemIndicatorCheck:
- {
- int x, y, w, h;
- r.rect( &x, &y, &w, &h );
- int checkcol = styleHint(SH_MenuIndicatorColumnWidth, ceData, elementFlags, opt, NULL, NULL);
- TQRect cr = visualRect( TQRect( x + 2, y + 2, checkcol - 1, h - 4 ), r );
-
- SFlags cflags = Style_Default;
- cflags |= active ? Style_Enabled : Style_On;
-
- drawPrimitive( PE_CheckMark, p, ceData, elementFlags, cr, cg, cflags );
- }
- break;
-
- default:
- {
- // ARROWS
- // -------------------------------------------------------------------
- if (pe >= PE_ArrowUp && pe <= PE_ArrowLeft)
- {
- TQPointArray a;
-
- switch(pe)
- {
- case PE_ArrowUp:
- a.setPoints(TQCOORDARRLEN(u_arrow), u_arrow);
- break;
-
- case PE_ArrowDown:
- a.setPoints(TQCOORDARRLEN(d_arrow), d_arrow);
- break;
-
- case PE_ArrowLeft:
- a.setPoints(TQCOORDARRLEN(l_arrow), l_arrow);
- break;
-
- default:
- a.setPoints(TQCOORDARRLEN(r_arrow), r_arrow);
- }
-
- p->save();
- if ( flags & Style_Down )
- p->translate( pixelMetric( PM_ButtonShiftHorizontal, ceData, elementFlags ),
- pixelMetric( PM_ButtonShiftVertical, ceData, elementFlags ) );
-
- if ( flags & Style_Enabled )
- {
- a.translate( r.x() + r.width() / 2, r.y() + r.height() / 2 );
- p->setPen( cg.buttonText() );
- p->drawLineSegments( a );
- }
- else
- {
- a.translate( r.x() + r.width() / 2 + 1, r.y() + r.height() / 2 + 1 );
- p->setPen( cg.light() );
- p->drawLineSegments( a );
- a.translate( -1, -1 );
- p->setPen( cg.mid() );
- p->drawLineSegments( a );
- }
- p->restore();
-
- }
- else
- TDEStyle::drawPrimitive( pe, p, ceData, elementFlags, r, cg, flags, opt );
- }
- }
-}
-
-void KeramikStyle::drawTDEStylePrimitive( TDEStylePrimitive kpe,
- TQPainter* p,
- const TQStyleControlElementData &ceData,
- ControlElementFlags elementFlags,
- const TQRect &r,
- const TQColorGroup &cg,
- SFlags flags,
- const TQStyleOption &opt,
- const TQWidget* widget ) const
-{
- bool disabled = ( flags & Style_Enabled ) == 0;
- int x, y, w, h;
- r.rect( &x, &y, &w, &h );
-
- switch ( kpe )
- {
- // SLIDER GROOVE
- // -------------------------------------------------------------------
- case KPE_SliderGroove:
- {
- bool horizontal = ceData.orientation == TQt::Horizontal;
-
- Keramik::TilePainter::PaintMode pmod = Keramik::TilePainter::PaintNormal;
-
- if (!ceData.bgPixmap.isNull())
- pmod = Keramik::TilePainter::PaintFullBlend;
-
- if ( horizontal )
- Keramik::RectTilePainter( keramik_slider_hgroove, false ).draw(p, r, cg.button(), cg.background(), disabled, pmod);
- else
- Keramik::RectTilePainter( keramik_slider_vgroove, true, false ).draw( p, r, cg.button(), cg.background(), disabled, pmod);
-
- break;
- }
-
- // SLIDER HANDLE
- // -------------------------------------------------------------------
- case KPE_SliderHandle:
- {
- bool horizontal = ceData.orientation == TQt::Horizontal;
-
- TQColor hl = cg.highlight();
- if (!disabled && flags & Style_Active)
- hl = Keramik::ColorUtil::lighten(cg.highlight(),110);
-
- if (horizontal)
- Keramik::ScaledPainter( keramik_slider ).draw( p, r, disabled ? cg.button() : hl,
- Qt::black, disabled, Keramik::TilePainter::PaintFullBlend );
- else
- Keramik::ScaledPainter( keramik_vslider ).draw( p, r, disabled ? cg.button() : hl,
- Qt::black, disabled, Keramik::TilePainter::PaintFullBlend );
- break;
- }
-
- // TOOLBAR HANDLE
- // -------------------------------------------------------------------
- case KPE_ToolBarHandle: {
- int x = r.x(); int y = r.y();
- int x2 = r.x() + r.width()-1;
- int y2 = r.y() + r.height()-1;
-
- TQToolBar* parent = 0;
-
- if (widget && widget->parent() && widget->parent()->inherits(TQTOOLBAR_OBJECT_NAME_STRING))
- parent = static_cast<TQToolBar*>(TQT_TQWIDGET(widget->parent()));
-
- renderToolbarEntryBackground(p, parent, r, cg, (flags & Style_Horizontal));
- if (flags & Style_Horizontal) {
- p->setPen(cg.light());
- p->drawLine(x+1, y+4, x+1, y2-4);
- p->drawLine(x+3, y+4, x+3, y2-4);
- p->drawLine(x+5, y+4, x+5, y2-4);
-
- p->setPen(cg.mid());
- p->drawLine(x+2, y+4, x+2, y2-4);
- p->drawLine(x+4, y+4, x+4, y2-4);
- p->drawLine(x+6, y+4, x+6, y2-4);
- } else {
- p->setPen(cg.light());
- p->drawLine(x+4, y+1, x2-4, y+1);
- p->drawLine(x+4, y+3, x2-4, y+3);
- p->drawLine(x+4, y+5, x2-4, y+5);
-
- p->setPen(cg.mid());
- p->drawLine(x+4, y+2, x2-4, y+2);
- p->drawLine(x+4, y+4, x2-4, y+4);
- p->drawLine(x+4, y+6, x2-4, y+6);
-
- }
- break;
- }
-
-
- // GENERAL/KICKER HANDLE
- // -------------------------------------------------------------------
- case KPE_GeneralHandle: {
- int x = r.x(); int y = r.y();
- int x2 = r.x() + r.width()-1;
- int y2 = r.y() + r.height()-1;
-
- if (flags & Style_Horizontal) {
-
- p->setPen(cg.light());
- p->drawLine(x+1, y, x+1, y2);
- p->drawLine(x+3, y, x+3, y2);
- p->drawLine(x+5, y, x+5, y2);
-
- p->setPen(cg.mid());
- p->drawLine(x+2, y, x+2, y2);
- p->drawLine(x+4, y, x+4, y2);
- p->drawLine(x+6, y, x+6, y2);
-
- } else {
-
- p->setPen(cg.light());
- p->drawLine(x, y+1, x2, y+1);
- p->drawLine(x, y+3, x2, y+3);
- p->drawLine(x, y+5, x2, y+5);
-
- p->setPen(cg.mid());
- p->drawLine(x, y+2, x2, y+2);
- p->drawLine(x, y+4, x2, y+4);
- p->drawLine(x, y+6, x2, y+6);
-
- }
- break;
- }
-
-
- default:
- TDEStyle::drawTDEStylePrimitive( kpe, p, ceData, elementFlags, r, cg, flags, opt, widget);
- }
-}
-
-bool KeramikStyle::isFormWidget(const TQStyleControlElementData &ceData, const ControlElementFlags elementFlags, const TQWidget* widget) const
-{
- if (widget) {
- //Form widgets are in the TDEHTMLView, but that has 2 further inner levels
- //of widgets - QClipperWidget, and outside of that, QViewportWidget
- TQWidget* potentialClipPort = widget->parentWidget();
- if ((ceData.parentWidgetData.widgetObjectTypes.isEmpty()) && (ceData.parentWidgetFlags & CEF_IsTopLevel)) {
- return false;
- }
-
- TQWidget* potentialViewPort = potentialClipPort->parentWidget();
- if (!potentialViewPort || potentialViewPort->isTopLevel() ||
- qstrcmp(potentialViewPort->name(), "qt_viewport") )
- return false;
-
- TQWidget* potentialTDEHTML = potentialViewPort->parentWidget();
- if (!potentialTDEHTML || potentialTDEHTML->isTopLevel() ||
- qstrcmp(potentialTDEHTML->className(), "TDEHTMLView") )
- return false;
-
-
- return true;
- }
-}
-
-void KeramikStyle::drawControl( TQ_ControlElement element,
- TQPainter *p,
- const TQStyleControlElementData &ceData,
- ControlElementFlags elementFlags,
- const TQRect &r,
- const TQColorGroup &cg,
- SFlags flags,
- const TQStyleOption& opt,
- const TQWidget *widget ) const
-{
- bool disabled = ( flags & Style_Enabled ) == 0;
- int x, y, w, h;
- r.rect( &x, &y, &w, &h );
-
- switch (element)
- {
- // PUSHBUTTON
- // -------------------------------------------------------------------
- case CE_PushButton:
- {
- const TQPushButton* btn = dynamic_cast< const TQPushButton* >( widget );
-
- if (isFormWidget(ceData, elementFlags, btn))
- formMode = true;
-
- if ( elementFlags & CEF_IsFlat )
- flatMode = true;
-
- if ( (elementFlags & CEF_IsDefault) && !flatMode )
- {
- drawPrimitive( PE_ButtonDefault, p, ceData, elementFlags, r, cg, flags );
- }
- else
- {
- if (ceData.parentWidgetData.widgetObjectTypes.contains(TQTOOLBAR_OBJECT_NAME_STRING))
- toolbarBlendWidget = widget;
-
- drawPrimitive( PE_ButtonCommand, p, ceData, elementFlags, r, cg, flags );
- toolbarBlendWidget = 0;
- }
-
- formMode = false;
- break;
- }
-
-
- // PUSHBUTTON LABEL
- // -------------------------------------------------------------------
- case CE_PushButtonLabel:
- {
- const TQPushButton* button = dynamic_cast<const TQPushButton *>( widget );
- bool active = ((elementFlags & CEF_IsOn) || (elementFlags & CEF_IsDown));
- bool cornArrow = false;
-
- // Shift button contents if pushed.
- if ( active )
- {
- x += pixelMetric(PM_ButtonShiftHorizontal, ceData, elementFlags, widget);
- y += pixelMetric(PM_ButtonShiftVertical, ceData, elementFlags, widget);
- flags |= Style_Sunken;
- }
-
- // Does the button have a popup menu?
- if (elementFlags & CEF_IsMenuWidget)
- {
- int dx = pixelMetric( PM_MenuButtonIndicator, ceData, elementFlags, widget );
- if ( !ceData.iconSet.isNull() &&
- (dx + ceData.iconSet.pixmap (TQIconSet::Small, TQIconSet::Normal, TQIconSet::Off ).width()) >= w )
- {
- cornArrow = true; //To little room. Draw the arrow in the corner, don't adjust the widget
- }
- else
- {
- drawPrimitive( PE_ArrowDown, p, ceData, elementFlags, visualRect( TQRect(x + w - dx - 8, y + 2, dx, h - 4), r ),
- cg, flags, opt );
- w -= dx;
- }
- }
-
- // Draw the icon if there is one
- if ( !ceData.iconSet.isNull() )
- {
- TQIconSet::Mode mode = TQIconSet::Disabled;
- TQIconSet::State state = TQIconSet::Off;
-
- if (elementFlags & CEF_IsEnabled)
- mode = (elementFlags & CEF_HasFocus) ? TQIconSet::Active : TQIconSet::Normal;
- if ((elementFlags & CEF_BiState) && (elementFlags & CEF_IsOn))
- state = TQIconSet::On;
-
- TQPixmap icon = ceData.iconSet.pixmap( TQIconSet::Small, mode, state );
-
- if (!ceData.text.isEmpty())
- {
- const int TextToIconMargin = 6;
- //Center text + icon w/margin in between..
-
- //Calculate length of both.
- int length = icon.width() + TextToIconMargin
- + p->fontMetrics().size(ShowPrefix, ceData.text).width();
-
- //Calculate offset.
- int offset = (w - length)/2;
-
- //draw icon
- p->drawPixmap( x + offset, y + h / 2 - icon.height() / 2, icon );
-
- //new bounding rect for the text
- x += offset + icon.width() + TextToIconMargin;
- w = length - icon.width() - TextToIconMargin;
- }
- else
- {
- //Icon only. Center it.
- if (ceData.fgPixmap.isNull())
- p->drawPixmap( x + w/2 - icon.width()/2, y + h / 2 - icon.height() / 2,
- icon );
- else //icon + pixmap. Ugh.
- p->drawPixmap( x + (elementFlags & CEF_IsDefault) ? 8 : 4 , y + h / 2 - icon.height() / 2, icon );
- }
-
- if (cornArrow) //Draw over the icon
- drawPrimitive( PE_ArrowDown, p, ceData, elementFlags, visualRect( TQRect(x + w - 6, x + h - 6, 7, 7), r ),
- cg, flags, opt );
- }
-
- // Make the label indicate if the button is a default button or not
- drawItem( p, TQRect(x, y, w, h), AlignCenter | ShowPrefix, ceData.colorGroup,
- (elementFlags & CEF_IsEnabled), (ceData.fgPixmap.isNull())?NULL:&ceData.fgPixmap, ceData.text, -1,
- &ceData.colorGroup.buttonText() );
-
- if ( flags & Style_HasFocus )
- drawPrimitive( PE_FocusRect, p, ceData, elementFlags,
- visualRect( subRect( SR_PushButtonFocusRect, ceData, elementFlags, widget ), ceData, elementFlags ),
- cg, flags );
- break;
- }
-
- case CE_ToolButtonLabel:
- {
- bool onToolbar = ceData.parentWidgetData.widgetObjectTypes.contains( TQTOOLBAR_OBJECT_NAME_STRING );
- TQRect nr = r;
-
- if (!onToolbar)
- {
- if (!qstrcmp(ceData.parentWidgetData.name.ascii(),"qt_maxcontrols" ) )
- {
- //Make sure we don't cut into the endline
- if (!qstrcmp(ceData.name.ascii(), "close"))
- {
- nr.addCoords(0,0,-1,0);
- p->setPen(cg.dark());
- p->drawLine(r.x() + r.width() - 1, r.y(),
- r.x() + r.width() - 1, r.y() + r.height() - 1 );
- }
- }
- //else if ( w > smallButMaxW && h > smallButMaxH )
- // nr.setWidth(r.width()-2); //Account for shadow
- }
-
- TDEStyle::drawControl(element, p, ceData, elementFlags, nr, cg, flags, opt, widget);
- break;
- }
-
- case CE_TabBarTab:
- {
- bool bottom = ceData.tabBarData.shape == TQTabBar::RoundedBelow ||
- ceData.tabBarData.shape == TQTabBar::TriangularBelow;
-
- if ( flags & Style_Selected )
- {
- TQRect tabRect = r;
- //If not the right-most tab, readjust the painting to be one pixel wider
- //to avoid a doubled line
- int rightMost = TQApplication::reverseLayout() ? 0 : ceData.tabBarData.tabCount - 1;
-
- if (ceData.tabBarData.identIndexMap[opt.tab()->identifier()] != rightMost)
- tabRect.setWidth( tabRect.width() + 1);
- Keramik::ActiveTabPainter( bottom ).draw( p, tabRect, cg.button().light(110), cg.background(), !(elementFlags & CEF_IsEnabled), pmode());
- }
- else
- {
- Keramik::InactiveTabPainter::Mode mode;
- int index = ceData.tabBarData.identIndexMap[opt.tab()->identifier()];
- if ( index == 0 ) mode = Keramik::InactiveTabPainter::First;
- else if ( index == ceData.tabBarData.tabCount - 1 ) mode = Keramik::InactiveTabPainter::Last;
- else mode = Keramik::InactiveTabPainter::Middle;
-
- if ( bottom )
- {
- Keramik::InactiveTabPainter( mode, bottom ).draw( p, x, y, w, h - 3, cg.button(), cg.background(), disabled, pmode() );
- p->setPen( cg.dark() );
- p->drawLine( x, y, x + w, y );
- }
- else
- {
- Keramik::InactiveTabPainter( mode, bottom ).draw( p, x, y + 3, w, h - 3, cg.button(), cg.background(), disabled, pmode() );
- p->setPen( cg.light() );
- p->drawLine( x, y + h - 1, x + w, y + h - 1 );
- }
- }
-
- break;
- }
-
- case CE_DockWindowEmptyArea:
- {
- TQRect pr = r;
- if (ceData.widgetObjectTypes.contains(TQTOOLBAR_OBJECT_NAME_STRING))
- {
- const TQToolBar* tb = static_cast<const TQToolBar*>(widget);
- if (tb->place() == TQDockWindow::OutsideDock)
- {
- //Readjust the paint rectangle to skip the titlebar
- pr = TQRect(r.x(), titleBarH + tb->frameWidth(),
- r.width(), tb->height() - titleBarH - 2 * tb->frameWidth() + 2);
- //2 at the end = the 2 pixels of border of a "regular"
- //toolbar we normally paint over.
- }
- Keramik::GradientPainter::renderGradient( p, pr, cg.button(),
- tb->orientation() == Qt::Horizontal);
- }
- else
- TDEStyle::drawControl( (TQ_ControlElement)CE_DockWindowEmptyArea, p, ceData, elementFlags,
- r, cg, flags, opt, widget );
- break;
- }
- case CE_MenuBarEmptyArea:
- {
- Keramik::GradientPainter::renderGradient( p, r, cg.button(), true, true);
- break;
- }
- // MENUBAR ITEM (sunken panel on mouse over)
- // -------------------------------------------------------------------
- case CE_MenuBarItem:
- {
- TQMenuBar *mb = (TQMenuBar*)widget;
- TQMenuItem *mi = opt.menuItem();
- TQRect pr = mb->rect();
-
- bool active = flags & Style_Active;
- bool focused = flags & Style_HasFocus;
-
- if ( active && focused )
- qDrawShadePanel(p, r.x(), r.y(), r.width(), r.height(),
- cg, true, 1, &cg.brush(TQColorGroup::Midlight));
- else
- Keramik::GradientPainter::renderGradient( p, pr, cg.button(), true, true);
-
- drawItem( p, r, AlignCenter | AlignVCenter | ShowPrefix
- | DontClip | SingleLine, cg, flags & Style_Enabled,
- mi->pixmap(), mi->text() );
-
- break;
- }
-
-
- // POPUPMENU ITEM
- // -------------------------------------------------------------------
- case CE_PopupMenuItem: {
- TQRect main = r;
-
- TQMenuItem *mi = opt.menuItem();
-
- if ( !mi )
- {
- // Don't leave blank holes if we set NoBackground for the TQPopupMenu.
- // This only happens when the popupMenu spans more than one column.
- if (! ( !ceData.bgPixmap.isNull() ) )
- p->fillRect( r, cg.background().light( 105 ) );
-
- break;
- }
- int tab = opt.tabWidth();
- int checkcol = opt.maxIconWidth();
- bool enabled = mi->isEnabled();
- bool checkable = (elementFlags & CEF_IsCheckable);
- bool active = flags & Style_Active;
- bool etchtext = styleHint( SH_EtchDisabledText, ceData, elementFlags );
- bool reverse = TQApplication::reverseLayout();
- if ( checkable )
- checkcol = QMAX( checkcol, 20 );
-
- // Draw the menu item background
- if ( active )
- {
- if ( enabled )
- Keramik::RowPainter( keramik_menuitem ).draw( p, main, cg.highlight(), cg.background() );
- else {
- if ( !ceData.bgPixmap.isNull() )
- p->drawPixmap( main.topLeft(), ceData.bgPixmap, main );
- else p->fillRect( main, cg.background().light( 105 ) );
- p->drawWinFocusRect( r );
- }
- }
- // Draw the transparency pixmap
- else if ( !ceData.bgPixmap.isNull() )
- p->drawPixmap( main.topLeft(), ceData.bgPixmap, main );
- // Draw a solid background
- else
- p->fillRect( main, cg.background().light( 105 ) );
- // Are we a menu item separator?
-
- if ( mi->isSeparator() )
- {
- p->setPen( cg.mid() );
- p->drawLine( main.x()+5, main.y() + 1, main.right()-5, main.y() + 1 );
- p->setPen( cg.light() );
- p->drawLine( main.x()+5, main.y() + 2, main.right()-5, main.y() + 2 );
- break;
- }
-
- TQRect cr = visualRect( TQRect( x + 2, y + 2, checkcol - 1, h - 4 ), r );
- // Do we have an icon?
- if ( mi->iconSet() )
- {
- TQIconSet::Mode mode;
-
-
-
- // Select the correct icon from the iconset
- if ( active )
- mode = enabled ? TQIconSet::Active : TQIconSet::Disabled;
- else
- mode = enabled ? TQIconSet::Normal : TQIconSet::Disabled;
-
- // Do we have an icon and are checked at the same time?
- // Then draw a "pressed" background behind the icon
- if ( checkable && /*!active &&*/ mi->isChecked() )
- drawPrimitive(PE_MenuItemIndicatorIconFrame, p, ceData, elementFlags, r, cg, flags, opt);
- // Draw the icon
- TQPixmap pixmap = mi->iconSet()->pixmap( TQIconSet::Small, mode );
- TQRect pmr( 0, 0, pixmap.width(), pixmap.height() );
- pmr.moveCenter( cr.center() );
- p->drawPixmap( pmr.topLeft(), pixmap );
- }
-
- // Are we checked? (This time without an icon)
- else if ( checkable && mi->isChecked() )
- {
- // We only have to draw the background if the menu item is inactive -
- // if it's active the "pressed" background is already drawn
- // if ( ! active )
- drawPrimitive(PE_MenuItemIndicatorFrame, p, ceData, elementFlags, r, cg, flags, opt);
- // Draw the checkmark
- drawPrimitive(PE_MenuItemIndicatorCheck, p, ceData, elementFlags, r, cg, flags, opt);
- }
-
- // Time to draw the menu item label...
- int xm = itemFrame + checkcol + itemHMargin; // X position margin
-
- int xp = reverse ? // X position
- x + tab + rightBorder + itemHMargin + itemFrame - 1 :
- x + xm;
-
- int offset = reverse ? -1 : 1; // Shadow offset for etched text
-
- // Label width (minus the width of the accelerator portion)
- int tw = w - xm - tab - arrowHMargin - itemHMargin * 3 - itemFrame + 1;
-
- // Set the color for enabled and disabled text
- // (used for both active and inactive menu items)
- p->setPen( enabled ? cg.buttonText() : cg.mid() );
-
- // This color will be used instead of the above if the menu item
- // is active and disabled at the same time. (etched text)
- TQColor discol = cg.mid();
-
- // Does the menu item draw it's own label?
- if ( mi->custom() ) {
- int m = itemVMargin;
- // Save the painter state in case the custom
- // paint method changes it in some way
- p->save();
-
- // Draw etched text if we're inactive and the menu item is disabled
- if ( etchtext && !enabled && !active ) {
- p->setPen( cg.light() );
- mi->custom()->paint( p, cg, active, enabled, xp+offset, y+m+1, tw, h-2*m );
- p->setPen( discol );
- }
- mi->custom()->paint( p, cg, active, enabled, xp, y+m, tw, h-2*m );
- p->restore();
- }
- else {
- // The menu item doesn't draw it's own label
- TQString s = mi->text();
- // Does the menu item have a text label?
- if ( !s.isNull() ) {
- int t = s.find( '\t' );
- int m = itemVMargin;
- int text_flags = AlignVCenter | ShowPrefix | DontClip | SingleLine;
- text_flags |= reverse ? AlignRight : AlignLeft;
-
- //TQColor draw = cg.text();
- TQColor draw = (active && enabled) ? cg.highlightedText () : cg.text();
- p->setPen(draw);
-
-
- // Does the menu item have a tabstop? (for the accelerator text)
- if ( t >= 0 ) {
- int tabx = reverse ? x + rightBorder + itemHMargin + itemFrame :
- x + w - tab - rightBorder - itemHMargin - itemFrame;
-
- // Draw the right part of the label (accelerator text)
- if ( etchtext && !enabled ) {
- // Draw etched text if we're inactive and the menu item is disabled
- p->setPen( cg.light() );
- p->drawText( tabx+offset, y+m+1, tab, h-2*m, text_flags, s.mid( t+1 ) );
- p->setPen( discol );
- }
- p->drawText( tabx, y+m, tab, h-2*m, text_flags, s.mid( t+1 ) );
- s = s.left( t );
- }
-
- // Draw the left part of the label (or the whole label
- // if there's no accelerator)
- if ( etchtext && !enabled ) {
- // Etched text again for inactive disabled menu items...
- p->setPen( cg.light() );
- p->drawText( xp+offset, y+m+1, tw, h-2*m, text_flags, s, t );
- p->setPen( discol );
- }
-
-
- p->drawText( xp, y+m, tw, h-2*m, text_flags, s, t );
-
- p->setPen(cg.text());
-
- }
-
- // The menu item doesn't have a text label
- // Check if it has a pixmap instead
- else if ( mi->pixmap() ) {
- TQPixmap *pixmap = mi->pixmap();
-
- // Draw the pixmap
- if ( pixmap->depth() == 1 )
- p->setBackgroundMode( Qt::OpaqueMode );
-
- int diffw = ( ( w - pixmap->width() ) / 2 )
- + ( ( w - pixmap->width() ) % 2 );
- p->drawPixmap( x+diffw, y+itemFrame, *pixmap );
-
- if ( pixmap->depth() == 1 )
- p->setBackgroundMode( Qt::TransparentMode );
- }
- }
-
- // Does the menu item have a submenu?
- if ( mi->popup() ) {
- TQ_PrimitiveElement arrow = reverse ? PE_ArrowLeft : PE_ArrowRight;
- int dim = pixelMetric(PM_MenuButtonIndicator, ceData, elementFlags) - itemFrame;
- TQRect vr = visualRect( TQRect( x + w - arrowHMargin - itemFrame - dim,
- y + h / 2 - dim / 2, dim, dim), r );
-
- // Draw an arrow at the far end of the menu item
- if ( active ) {
- if ( enabled )
- discol = cg.buttonText();
-
- TQColorGroup g2( discol, cg.highlight(), white, white,
- enabled ? white : discol, discol, white );
-
- drawPrimitive( arrow, p, ceData, elementFlags, vr, g2, Style_Enabled );
- } else
- drawPrimitive( arrow, p, ceData, elementFlags, vr, cg,
- enabled ? Style_Enabled : Style_Default );
- }
- break;
- }
- case CE_ProgressBarContents: {
- TQRect cr = subRect(SR_ProgressBarContents, ceData, elementFlags, widget);
- double progress = ceData.currentStep;
- bool reverse = TQApplication::reverseLayout();
- int steps = ceData.totalSteps;
-
- if (!cr.isValid())
- return;
-
- // Draw progress bar
- if (progress > 0 || steps == 0) {
- double pg = (steps == 0) ? 0.1 : progress / steps;
- int width = QMIN(cr.width(), (int)(pg * cr.width()));
- if (steps == 0)
- width = QMIN(width,20); //Don't cross squares
-
- if (steps == 0) { //Busy indicator
-
- if (width < 1) width = 1; //A busy indicator with width 0 is kind of useless
-
- int remWidth = cr.width() - width; //Never disappear completely
- if (remWidth <= 0) remWidth = 1; //Do something non-crashy when too small...
-
- int pstep = int(progress) % ( 2 * remWidth );
-
- if ( pstep > remWidth ) {
- //Bounce about.. We're remWidth + some delta, we want to be remWidth - delta...
- // - ( (remWidth + some delta) - 2* remWidth ) = - (some deleta - remWidth) = remWidth - some delta..
- pstep = - (pstep - 2 * remWidth );
- }
-
- //Store the progress rect.
- TQRect progressRect;
- if (reverse)
- progressRect = TQRect(cr.x() + cr.width() - width - pstep, cr.y(),
- width, cr.height());
- else
- progressRect = TQRect(cr.x() + pstep, cr.y(), width, cr.height());
-
- Keramik::RowPainter(keramik_progressbar).draw(p, progressRect,
- cg.highlight(), cg.background() );
- return;
- }
-
- TQRect progressRect;
-
- if (reverse)
- progressRect = TQRect(cr.x()+(cr.width()-width), cr.y(), width, cr.height());
- else
- progressRect = TQRect(cr.x(), cr.y(), width, cr.height());
-
- //Apply the animation rectangle.
- //////////////////////////////////////
- if (animateProgressBar)
- {
- const TQProgressBar* pb = (const TQProgressBar*)widget;
- int progAnimShift = progAnimWidgets[const_cast<TQProgressBar*>(pb)];
- if (reverse)
- {
- //Here, we can't simply shift, as the painter code calculates everything based
- //on the left corner, so we need to draw the 2 portions ourselves.
-
- //Start off by checking the geometry of the end pixmap - it introduces a bit of an offset
- TQSize endDim = loader.size(keramik_progressbar + 3); //3 = 3*1 + 0 = (1,0) = cl
-
- //We might not have anything to animate at all, though, if the ender is the only thing to paint
- if (endDim.width() < progressRect.width())
- {
- //OK, so we do have some stripes.
- // Render the endline now - the clip region below will protect it from getting overwriten
- TQPixmap endline = loader.scale(keramik_progressbar + 3, endDim.width(), progressRect.height(),
- cg.highlight(), cg.background());
- p->drawPixmap(progressRect.x(), progressRect.y(), endline);
-
- //Now, calculate where the stripes should be, and set a clip region to that
- progressRect.setLeft(progressRect.x() + endline.width());
- p->setClipRect(progressRect, TQPainter::CoordPainter);
-
- //Expand the paint region slightly to get the animation offset.
- progressRect.setLeft(progressRect.x() - progAnimShift);
-
- //Paint the stripes.
- TQPixmap stripe = loader.scale(keramik_progressbar + 4, 28, progressRect.height(),
- cg.highlight(), cg.background());
- //4 = 3*1 + 1 = (1,1) = cc
-
- p->drawTiledPixmap(progressRect, stripe);
- //Exit out here to skip the regular paint path
- return;
- }
- }
- else
- {
- //Clip to the old rectangle
- p->setClipRect(progressRect, TQPainter::CoordPainter);
- //Expand the paint region
- progressRect.setLeft(progressRect.x() - 28 + progAnimShift);
- }
- }
-
- Keramik::ProgressBarPainter(keramik_progressbar, reverse).draw( p,
- progressRect , cg.highlight(), cg.background());
- }
- break;
- }
-
-
- default:
- TDEStyle::drawControl(element, p, ceData, elementFlags, r, cg, flags, opt, widget);
- }
-}
-
-void KeramikStyle::drawControlMask( TQ_ControlElement element,
- TQPainter *p,
- const TQStyleControlElementData &ceData,
- ControlElementFlags elementFlags,
- const TQRect &r,
- const TQStyleOption& opt,
- const TQWidget *widget ) const
-{
- p->fillRect(r, color1);
- maskMode = true;
- drawControl( element, p, ceData, elementFlags, r, TQApplication::palette().active(), TQStyle::Style_Default, opt, widget);
- maskMode = false;
-}
-
-bool KeramikStyle::isSizeConstrainedCombo(const TQStyleControlElementData &ceData, const ControlElementFlags elementFlags, const TQComboBox* combo) const
-{
- if (ceData.rect.width() >= 80)
- return false;
-
- if (combo) {
- int suggestedWidth = combo->sizeHint().width();
-
- if (ceData.rect.width() - suggestedWidth < -5)
- return true;
-
- return false;
- }
- else {
- return true;
- }
-}
-
-void KeramikStyle::drawComplexControl( TQ_ComplexControl control,
- TQPainter *p,
- const TQStyleControlElementData &ceData,
- ControlElementFlags elementFlags,
- const TQRect &r,
- const TQColorGroup &cg,
- SFlags flags,
- SCFlags controls,
- SCFlags active,
- const TQStyleOption& opt,
- const TQWidget *widget ) const
-{
- bool disabled = ( flags & Style_Enabled ) == 0;
- switch(control)
- {
- // COMBOBOX
- // -------------------------------------------------------------------
- case CC_ComboBox:
- {
- bool toolbarMode = false;
- const TQComboBox* cb = dynamic_cast< const TQComboBox* >( widget );
- bool compact = isSizeConstrainedCombo(ceData, elementFlags, cb);
-
- if (isFormWidget(ceData, elementFlags, cb))
- formMode = true;
-
- TQPixmap * buf = 0;
- TQPainter* p2 = p;
-
- TQRect br = r;
-
- if (controls == SC_All)
- {
- //Double-buffer only when we are in the slower full-blend mode
- if ( ceData.parentWidgetData.widgetObjectTypes.contains(TQTOOLBAR_OBJECT_NAME_STRING) || !qstrcmp(ceData.parentWidgetData.name.ascii(), kdeToolbarWidget) )
- {
- buf = new TQPixmap( r.width(), r.height() );
- br.setX(0);
- br.setY(0);
- p2 = new TQPainter(buf);
-
- //Ensure that we have clipping on, and have a sane base.
- //If need be, Qt will shrink us to the paint region.
- p->setClipRect(r);
- toolbarMode = true;
- }
- }
-
-
- if ( br.width() >= 28 && br.height() > 20 && !compact )
- br.addCoords( 0, -2, 0, 0 );
-
- //When in compact mode, we force the shadow-less bevel mode,
- //but that also alters height and not just width.
- //readjust height to fake the other metrics (plus clear
- //the other areas, as appropriate). The automasker
- //will take care of the overall shape.
- if ( compact )
- {
- forceSmallMode = true;
- br.setHeight( br.height() - 2);
- p->fillRect ( r.x(), r.y() + br.height(), r.width(), 2, cg.background());
- }
-
-
- if ( controls & SC_ComboBoxFrame )
- {
- if (toolbarMode)
- toolbarBlendWidget = widget;
-
- drawPrimitive( PE_ButtonCommand, p2, ceData, elementFlags, br, cg, flags );
-
- toolbarBlendWidget = 0;
- }
-
- // don't draw the focus rect etc. on the mask
- if ( cg.button() == color1 && cg.background() == color0 )
- break;
-
- if ( controls & SC_ComboBoxArrow )
- {
- if ( active )
- flags |= Style_On;
-
- TQRect ar = querySubControlMetrics( CC_ComboBox, ceData, elementFlags,
- SC_ComboBoxArrow, TQStyleOption::Default, widget );
- if (!compact)
- {
- ar.setWidth(ar.width()-13);
- TQRect rr = visualRect( TQRect( ar.x(), ar.y() + 4,
- loader.size(keramik_ripple ).width(), ar.height() - 8 ),
- ceData, elementFlags );
-
- ar = visualRect( TQRect( ar.x() + loader.size( keramik_ripple ).width() + 4, ar.y(),
- 11, ar.height() ),
- ceData, elementFlags );
-
- TQPointArray a;
-
- a.setPoints(TQCOORDARRLEN(keramik_combo_arrow), keramik_combo_arrow);
-
- a.translate( ar.x() + ar.width() / 2, ar.y() + ar.height() / 2 );
- p2->setPen( cg.buttonText() );
- p2->drawLineSegments( a );
-
- Keramik::ScaledPainter( keramik_ripple ).draw( p2, rr, cg.button(), Qt::black, disabled, Keramik::TilePainter::PaintFullBlend );
- }
- else //Size-constrained combo -- loose the ripple.
- {
- ar.setWidth(ar.width() - 7);
- ar = visualRect( TQRect( ar.x(), ar.y(), 11, ar.height() ), ceData, elementFlags);
- TQPointArray a;
-
- a.setPoints(TQCOORDARRLEN(keramik_combo_arrow), keramik_combo_arrow);
-
- a.translate( ar.x() + ar.width() / 2, ar.y() + ar.height() / 2 );
- p2->setPen( cg.buttonText() );
- p2->drawLineSegments( a );
- }
- }
-
- if ( controls & SC_ComboBoxEditField )
- {
- if ( elementFlags & CEF_IsEditable )
- {
- TQRect er = visualRect( querySubControlMetrics( CC_ComboBox, ceData, elementFlags, SC_ComboBoxEditField, TQStyleOption::Default, widget ), ceData, elementFlags );
- er.addCoords( -2, -2, 2, 2 );
- p2->fillRect( er, cg.base() );
- drawPrimitive( PE_PanelLineEdit, p2, ceData, elementFlags, er, cg );
- Keramik::RectTilePainter( keramik_frame_shadow, false, false, 2, 2 ).draw( p2, er, cg.button(),
- Qt::black, false, pmodeFullBlend() );
- }
- else if ( elementFlags & CEF_HasFocus )
- {
- TQRect re = TQStyle::visualRect(subRect(SR_ComboBoxFocusRect, ceData, elementFlags, cb), ceData, elementFlags);
- if ( compact )
- re.addCoords( 3, 3, 0, -3 );
- p2->fillRect( re, cg.brush( TQColorGroup::Highlight ) );
- drawPrimitive( PE_FocusRect, p2, ceData, elementFlags, re, cg,
- Style_FocusAtBorder, TQStyleOption( cg.highlight() ) );
- }
- // TQComboBox draws the text on its own and uses the painter's current colors
- if ( elementFlags & CEF_HasFocus )
- {
- p->setPen( cg.highlightedText() );
- p->setBackgroundColor( cg.highlight() );
- }
- else
- {
- p->setPen( cg.text() );
- p->setBackgroundColor( cg.button() );
- }
- }
-
- if (p2 != p)
- {
- p2->end();
- delete p2;
- p->drawPixmap(r.x(), r.y(), *buf);
- delete buf;
- }
-
- formMode = false;
- break;
- }
-
- case CC_SpinWidget:
- {
- const TQSpinWidget* sw = static_cast< const TQSpinWidget* >( widget );
- TQRect br = visualRect( querySubControlMetrics( (TQ_ComplexControl)CC_SpinWidget, ceData, elementFlags, SC_SpinWidgetButtonField, TQStyleOption::Default, widget ), ceData, elementFlags );
- if ( controls & SC_SpinWidgetButtonField )
- {
- Keramik::SpinBoxPainter().draw( p, br, cg.button(), cg.background(), !sw->isEnabled() );
- if ( active & SC_SpinWidgetUp )
- Keramik::CenteredPainter( keramik_spinbox_pressed_arrow_up ).draw( p, br.x(), br.y() + 3, br.width(), br.height() / 2, cg.button(), cg.background() );
- else
- Keramik::CenteredPainter( keramik_spinbox_arrow_up ).draw( p, br.x(), br.y() + 3, br.width(), br.height() / 2, cg.button(), cg.background(), !sw->isUpEnabled() );
- if ( active & SC_SpinWidgetDown )
- Keramik::CenteredPainter( keramik_spinbox_pressed_arrow_down ).draw( p, br.x(), br.y() + br.height() / 2 , br.width(), br.height() / 2 - 8, cg.button(), cg.background() );
- else
- Keramik::CenteredPainter( keramik_spinbox_arrow_down ).draw( p, br.x(), br.y() + br.height() / 2, br.width(), br.height() / 2 - 8, cg.background(), cg.button(), !sw->isDownEnabled() );
- }
-
- if ( controls & SC_SpinWidgetFrame )
- drawPrimitive( PE_PanelLineEdit, p, ceData, elementFlags, r, cg );
-
- break;
- }
- case CC_ScrollBar:
- {
- if (highlightScrollBar && (elementFlags & CEF_HasParentWidget)) //Don't do the check if not highlighting anyway
- {
- if (ceData.parentWidgetData.colorGroup.button() != ceData.colorGroup.button())
- customScrollMode = true;
- }
- bool horizontal = ceData.orientation == TQt::Horizontal;
- TQRect slider, subpage, addpage, subline, addline;
- if ( ceData.minSteps == ceData.maxSteps ) flags &= ~Style_Enabled;
-
- slider = querySubControlMetrics( control, ceData, elementFlags, SC_ScrollBarSlider, opt, widget );
- subpage = querySubControlMetrics( control, ceData, elementFlags, SC_ScrollBarSubPage, opt, widget );
- addpage = querySubControlMetrics( control, ceData, elementFlags, SC_ScrollBarAddPage, opt, widget );
- subline = querySubControlMetrics( control, ceData, elementFlags, SC_ScrollBarSubLine, opt, widget );
- addline = querySubControlMetrics( control, ceData, elementFlags, SC_ScrollBarAddLine, opt, widget );
-
- if ( controls & SC_ScrollBarSubLine )
- drawPrimitive( PE_ScrollBarSubLine, p, ceData, elementFlags, subline, cg,
- flags | ( ( active & SC_ScrollBarSubLine ) ? Style_Down : 0 ) );
-
- TQRegion clip;
- if ( controls & SC_ScrollBarSubPage ) clip |= subpage;
- if ( controls & SC_ScrollBarAddPage ) clip |= addpage;
- if ( horizontal )
- clip |= TQRect( slider.x(), 0, slider.width(), ceData.rect.height() );
- else
- clip |= TQRect( 0, slider.y(), ceData.rect.width(), slider.height() );
- clip ^= slider;
-
- p->setClipRegion( clip );
- Keramik::ScrollBarPainter( KeramikGroove1, 2, horizontal ).draw( p, slider | subpage | addpage, cg.button(), cg.background(), disabled );
-
- if ( controls & SC_ScrollBarSlider )
- {
- if ( horizontal )
- p->setClipRect( slider.x(), slider.y(), addpage.right() - slider.x() + 1, slider.height() );
- else
- p->setClipRect( slider.x(), slider.y(), slider.width(), addpage.bottom() - slider.y() + 1 );
- drawPrimitive( PE_ScrollBarSlider, p, ceData, elementFlags, slider, cg,
- flags | ( ( active == SC_ScrollBarSlider ) ? Style_Down : 0 ) );
- }
- p->setClipping( false );
-
- if ( controls & ( SC_ScrollBarSubLine | SC_ScrollBarAddLine ) )
- {
- drawPrimitive( PE_ScrollBarAddLine, p, ceData, elementFlags, addline, cg, flags );
- if ( active & SC_ScrollBarSubLine )
- {
- if ( horizontal )
- p->setClipRect( TQRect( addline.x(), addline.y(), addline.width() / 2, addline.height() ) );
- else
- p->setClipRect( TQRect( addline.x(), addline.y(), addline.width(), addline.height() / 2 ) );
- drawPrimitive( PE_ScrollBarAddLine, p, ceData, elementFlags, addline, cg, flags | Style_Down );
- }
- else if ( active & SC_ScrollBarAddLine )
- {
- if ( horizontal )
- p->setClipRect( TQRect( addline.x() + addline.width() / 2, addline.y(), addline.width() / 2, addline.height() ) );
- else
- p->setClipRect( TQRect( addline.x(), addline.y() + addline.height() / 2, addline.width(), addline.height() / 2 ) );
- drawPrimitive( PE_ScrollBarAddLine, p, ceData, elementFlags, addline, cg, flags | Style_Down );
- }
- }
-
- customScrollMode = false;
-
-
- break;
- }
-
- // TOOLBUTTON
- // -------------------------------------------------------------------
- case CC_ToolButton: {
- bool onToolbar = ceData.parentWidgetData.widgetObjectTypes.contains(TQTOOLBAR_OBJECT_NAME_STRING);
- bool onExtender = !onToolbar &&
- ceData.parentWidgetData.widgetObjectTypes.contains( "QToolBarExtensionWidget") &&
- widget && widget->parentWidget()->parentWidget()->inherits( TQTOOLBAR_OBJECT_NAME_STRING );
-
- bool onControlButtons = false;
- if (!onToolbar && !onExtender && !ceData.parentWidgetData.widgetObjectTypes.isEmpty() &&
- !qstrcmp(ceData.parentWidgetData.name.ascii(),"qt_maxcontrols" ) )
- {
- onControlButtons = true;
- titleBarMode = Maximized;
- }
-
- TQRect button, menuarea;
- button = querySubControlMetrics(control, ceData, elementFlags, SC_ToolButton, opt, widget);
- menuarea = querySubControlMetrics(control, ceData, elementFlags, SC_ToolButtonMenu, opt, widget);
-
- SFlags bflags = flags,
- mflags = flags;
-
- if (active & SC_ToolButton)
- bflags |= Style_Down;
- if (active & SC_ToolButtonMenu)
- mflags |= Style_Down;
-
- if (onToolbar && ceData.toolBarData.orientation == TQt::Horizontal)
- bflags |= Style_Horizontal;
-
- if (controls & SC_ToolButton)
- {
- // If we're pressed, on, or raised...
- if (bflags & (Style_Down | Style_On | Style_Raised) || onControlButtons)
- {
- //Make sure the standalone toolbuttons have a gradient in the right direction
- if (!onToolbar && !onControlButtons)
- bflags |= Style_Horizontal;
-
- drawPrimitive( PE_ButtonTool, p, ceData, elementFlags, button, cg,
- bflags, opt);
- }
-
- // Check whether to draw a background pixmap
- else if ( !ceData.parentWidgetData.bgPixmap.isNull() )
- {
- TQPixmap pixmap = ceData.parentWidgetData.bgPixmap;
- p->drawTiledPixmap( r, pixmap, ceData.pos );
- }
- else if (onToolbar)
- {
- renderToolbarWidgetBackground(p, ceData, elementFlags, widget);
- }
- else if (onExtender)
- {
- // This assumes floating toolbars can't have extenders,
- //(so if we're on an extender, we're not floating)
- TQWidget* parent = static_cast<TQWidget*> (TQT_TQWIDGET(widget->parent()));
- TQToolBar* toolbar = static_cast<TQToolBar*>(TQT_TQWIDGET(parent->parent()));
- TQRect tr = ceData.parentWidgetData.rect;
- bool horiz = ceData.toolBarData.orientation == TQt::Horizontal;
-
- //Calculate offset. We do this by translating our coordinates,
- //which are relative to the parent, to be relative to the toolbar.
- int xoff = 0, yoff = 0;
- if (horiz)
- yoff = parent->mapToParent(ceData.pos).y();
- else
- xoff = parent->mapToParent(ceData.pos).x();
-
- Keramik::GradientPainter::renderGradient( p, r, cg.button(),
- horiz, false, /*Not a menubar*/
- xoff, yoff,
- tr.width(), tr.height());
- }
- }
-
- // Draw a toolbutton menu indicator if required
- if (controls & SC_ToolButtonMenu)
- {
- if (mflags & (Style_Down | Style_On | Style_Raised))
- drawPrimitive(PE_ButtonDropDown, p, ceData, elementFlags, menuarea, cg, mflags, opt);
- drawPrimitive(PE_ArrowDown, p, ceData, elementFlags, menuarea, cg, mflags, opt);
- }
-
- if ((elementFlags & CEF_HasFocus) && !(elementFlags & CEF_HasFocusProxy)) {
- TQRect fr = ceData.rect;
- fr.addCoords(3, 3, -3, -3);
- drawPrimitive(PE_FocusRect, p, ceData, elementFlags, fr, cg);
- }
-
- titleBarMode = None;
-
- break;
- }
-
- case CC_TitleBar:
- titleBarMode = Regular; //Handle buttons on titlebar different from toolbuttons
- default:
- TDEStyle::drawComplexControl( control, p, ceData, elementFlags,
- r, cg, flags, controls, active, opt, widget );
-
- titleBarMode = None;
- }
-}
-
-void KeramikStyle::drawComplexControlMask( TQ_ComplexControl control,
- TQPainter *p,
- const TQStyleControlElementData &ceData,
- const ControlElementFlags elementFlags,
- const TQRect &r,
- const TQStyleOption& opt,
- const TQWidget *widget ) const
-{
- if (control == CC_ComboBox)
- {
- maskMode = true;
- drawComplexControl(CC_ComboBox, p, ceData, elementFlags, r,
- TQApplication::palette().active(), Style_Default,
- SC_ComboBoxFrame,SC_None, opt, widget);
- maskMode = false;
-
- }
- else
- p->fillRect(r, color1);
-
-}
-
-int KeramikStyle::pixelMetric(PixelMetric m, const TQStyleControlElementData &ceData, ControlElementFlags elementFlags, const TQWidget *widget) const
-{
- switch(m)
- {
- // BUTTONS
- // -------------------------------------------------------------------
- case PM_ButtonMargin: // Space btw. frame and label
- return 4;
-
- case PM_SliderLength:
- return 12;
- case PM_SliderControlThickness:
- return loader.size( keramik_slider ).height() - 4;
- case PM_SliderThickness:
- return loader.size( keramik_slider ).height();
-
- case PM_ButtonShiftHorizontal:
- return 0;
- case PM_ButtonShiftVertical: // Offset by 1
- return 1;
-
-
- // CHECKBOXES / RADIO BUTTONS
- // -------------------------------------------------------------------
- case PM_ExclusiveIndicatorWidth: // Radiobutton size
- return loader.size( keramik_radiobutton_on ).width();
- case PM_ExclusiveIndicatorHeight:
- return loader.size( keramik_radiobutton_on ).height();
- case PM_IndicatorWidth: // Checkbox size
- return loader.size( keramik_checkbox_on ).width();
- case PM_IndicatorHeight:
- return loader.size( keramik_checkbox_on) .height();
-
- case PM_ScrollBarExtent:
- return loader.size( keramik_scrollbar_vbar + KeramikGroove1).width();
- case PM_ScrollBarSliderMin:
- return loader.size( keramik_scrollbar_vbar + KeramikSlider1 ).height() +
- loader.size( keramik_scrollbar_vbar + KeramikSlider3 ).height();
-
- case PM_SpinBoxFrameWidth:
- case PM_DefaultFrameWidth:
- return 1;
-
- case PM_MenuButtonIndicator:
- return 13;
-
- case PM_TabBarTabVSpace:
- return 12;
-
- case PM_TabBarTabOverlap:
- return 0;
-
- case PM_TabBarTabShiftVertical:
- {
- if (ceData.widgetObjectTypes.contains(TQTABBAR_OBJECT_NAME_STRING))
- {
- if (ceData.tabBarData.shape == TQTabBar::RoundedBelow ||
- ceData.tabBarData.shape == TQTabBar::TriangularBelow)
- return 0;
- }
-
- return 2; //For top, or if not sure
- }
-
-
- case PM_TitleBarHeight:
- return titleBarH;
-
- case PM_MenuIndicatorFrameHBorder:
- case PM_MenuIndicatorFrameVBorder:
- case PM_MenuIconIndicatorFrameHBorder:
- case PM_MenuIconIndicatorFrameVBorder:
- return 2;
-
- default:
- return TDEStyle::pixelMetric(m, ceData, elementFlags, widget);
- }
-}
-
-
-TQSize KeramikStyle::sizeFromContents( ContentsType contents,
- const TQStyleControlElementData &ceData,
- ControlElementFlags elementFlags,
- const TQSize &contentSize,
- const TQStyleOption& opt,
- const TQWidget* widget ) const
-{
- switch (contents)
- {
- // PUSHBUTTON SIZE
- // ------------------------------------------------------------------
- case CT_PushButton:
- {
- const TQPushButton* btn = dynamic_cast< const TQPushButton* >( widget );
-
- int w = contentSize.width() + 2 * pixelMetric( PM_ButtonMargin, ceData, elementFlags, widget );
- int h = contentSize.height() + 2 * pixelMetric( PM_ButtonMargin, ceData, elementFlags, widget );
- if ( ceData.text.isEmpty() && contentSize.width() < 32 ) return TQSize( w, h );
-
-
- //For some reason kcontrol no longer does this...
- //if ( (elementFlags & CEF_IsDefault) || (elementFlags & CEF_AutoDefault) )
- // w = QMAX( w, 40 );
-
- return TQSize( w + 30, h + 5 ); //MX: No longer blank space -- can make a bit smaller
- }
-
- case CT_ToolButton:
- {
- bool onToolbar = widget->parentWidget() && widget->parentWidget()->inherits( TQTOOLBAR_OBJECT_NAME_STRING );
- if (!onToolbar) //Behaves like a button, so scale appropriately to the border
- {
- int w = contentSize.width();
- int h = contentSize.height();
- return TQSize( w + 12, h + 10 );
- }
- else
- {
- return TDEStyle::sizeFromContents( contents, ceData, elementFlags, contentSize, opt, widget );
- }
- }
-
- case CT_ComboBox: {
- int arrow = 11 + loader.size( keramik_ripple ).width();
- return TQSize( contentSize.width() + arrow + ((elementFlags & CEF_IsEditable) ? 26 : 22),
- contentSize.height() + 10 );
- }
-
- // POPUPMENU ITEM SIZE
- // -----------------------------------------------------------------
- case CT_PopupMenuItem: {
- if ( ! widget || opt.isDefault() )
- return contentSize;
-
- const TQPopupMenu *popup = (const TQPopupMenu *) widget;
- bool checkable = popup->isCheckable();
- TQMenuItem *mi = opt.menuItem();
- int maxpmw = opt.maxIconWidth();
- int w = contentSize.width(), h = contentSize.height();
-
- if ( mi->custom() ) {
- w = mi->custom()->sizeHint().width();
- h = mi->custom()->sizeHint().height();
- if ( ! mi->custom()->fullSpan() )
- h += 2*itemVMargin + 2*itemFrame;
- }
- else if ( mi->widget() ) {
- } else if ( mi->isSeparator() ) {
- w = 30; // Arbitrary
- h = 3;
- }
- else {
- if ( mi->pixmap() )
- h = QMAX( h, mi->pixmap()->height() + 2*itemFrame );
- else {
- // Ensure that the minimum height for text-only menu items
- // is the same as the icon size used by KDE.
- h = QMAX( h, 16 + 2*itemFrame );
- h = QMAX( h, popup->fontMetrics().height()
- + 2*itemVMargin + 2*itemFrame );
- }
-
- if ( mi->iconSet() )
- h = QMAX( h, mi->iconSet()->pixmap(
- TQIconSet::Small, TQIconSet::Normal).height() +
- 2 * itemFrame );
- }
-
- if ( ! mi->text().isNull() && mi->text().find('\t') >= 0 )
- w += itemHMargin + itemFrame*2 + 7;
- else if ( mi->popup() )
- w += 2 * arrowHMargin;
-
- if ( maxpmw )
- w += maxpmw + 6;
- if ( checkable && maxpmw < 20 )
- w += 20 - maxpmw;
- if ( checkable || maxpmw > 0 )
- w += 12;
-
- w += rightBorder;
-
- return TQSize( w, h );
- }
-
- default:
- return TDEStyle::sizeFromContents( contents, ceData, elementFlags, contentSize, opt, widget );
- }
-}
-
-
-TQStyle::SubControl KeramikStyle::querySubControl( TQ_ComplexControl control,
- const TQStyleControlElementData &ceData,
- ControlElementFlags elementFlags,
- const TQPoint& point,
- const TQStyleOption& opt,
- const TQWidget* widget ) const
-{
- SubControl result = TDEStyle::querySubControl( control, ceData, elementFlags, point, opt, widget );
- if ( control == CC_ScrollBar && result == SC_ScrollBarAddLine )
- {
- TQRect addline = querySubControlMetrics( control, ceData, elementFlags, result, opt, widget );
- if ( static_cast< const TQScrollBar* >( widget )->orientation() == Qt::Horizontal )
- {
- if ( point.x() < addline.center().x() ) result = SC_ScrollBarSubLine;
- }
- else if ( point.y() < addline.center().y() ) result = SC_ScrollBarSubLine;
- }
- return result;
-}
-
-TQRect KeramikStyle::querySubControlMetrics( TQ_ComplexControl control,
- const TQStyleControlElementData &ceData,
- ControlElementFlags elementFlags,
- SubControl subcontrol,
- const TQStyleOption& opt,
- const TQWidget* widget ) const
-{
- switch ( control )
- {
- case CC_ComboBox:
- {
- int arrow;
- bool compact = false;
- if ( isSizeConstrainedCombo(ceData, elementFlags, dynamic_cast<const TQComboBox*>(widget)) ) //### constant
- compact = true;
-
- if ( compact )
- arrow = 11;
- else
- arrow = 11 + loader.size( keramik_ripple ).width();
-
- switch ( subcontrol )
- {
- case SC_ComboBoxArrow:
- if ( compact )
- return TQRect( ceData.rect.width() - arrow - 7, 0, arrow + 6, ceData.rect.height() );
- else
- return TQRect( ceData.rect.width() - arrow - 14, 0, arrow + 13, ceData.rect.height() );
-
- case SC_ComboBoxEditField:
- {
- if ( compact )
- return TQRect( 2, 4, ceData.rect.width() - arrow - 2 - 7, ceData.rect.height() - 8 );
- else if ( ceData.rect.width() < 36 || ceData.rect.height() < 22 )
- return TQRect( 4, 3, ceData.rect.width() - arrow - 20, ceData.rect.height() - 6 );
- else if ( elementFlags & CEF_IsEditable )
- return TQRect( 8, 4, ceData.rect.width() - arrow - 26, ceData.rect.height() - 11 );
- else
- return TQRect( 6, 4, ceData.rect.width() - arrow - 22, ceData.rect.height() - 9 );
- }
-
- case SC_ComboBoxListBoxPopup:
- {
- //Note that the widget here == the combo, not the completion
- //box, so we don't get any recursion
- int suggestedWidth = widget->sizeHint().width();
- TQRect def = opt.rect();
- def.addCoords( 4, -4, -6, 4 );
-
- if ((def.width() - suggestedWidth < -12) && (def.width() < 80))
- def.setWidth(QMIN(80, suggestedWidth - 10));
-
- return def;
- }
-
- default: break;
- }
- break;
- }
-
- case CC_ScrollBar:
- {
- bool horizontal = ceData.orientation == TQt::Horizontal;
- int addline, subline, sliderpos, sliderlen, maxlen, slidermin;
- if ( horizontal )
- {
- subline = loader.size( keramik_scrollbar_hbar_arrow1 ).width();
- addline = loader.size( keramik_scrollbar_hbar_arrow2 ).width();
- maxlen = ceData.rect.width() - subline - addline + 2;
- }
- else
- {
- subline = loader.size( keramik_scrollbar_vbar_arrow1 ).height();
- addline = loader.size( keramik_scrollbar_vbar_arrow2 ).height();
- maxlen = ceData.rect.height() - subline - addline + 2;
- }
- sliderpos = ceData.startStep;
- if ( ceData.minSteps != ceData.maxSteps )
- {
- int range = ceData.maxSteps - ceData.minSteps;
- sliderlen = ( ceData.pageStep * maxlen ) / ( range + ceData.pageStep );
- slidermin = pixelMetric( PM_ScrollBarSliderMin, ceData, elementFlags, widget );
- if ( sliderlen < slidermin ) sliderlen = slidermin;
- if ( sliderlen > maxlen ) sliderlen = maxlen;
- }
- else sliderlen = maxlen;
-
- switch ( subcontrol )
- {
- case SC_ScrollBarGroove:
- if ( horizontal ) return TQRect( subline, 0, maxlen, ceData.rect.height() );
- else return TQRect( 0, subline, ceData.rect.width(), maxlen );
-
- case SC_ScrollBarSlider:
- if (horizontal) return TQRect( sliderpos, 0, sliderlen, ceData.rect.height() );
- else return TQRect( 0, sliderpos, ceData.rect.width(), sliderlen );
-
- case SC_ScrollBarSubLine:
- if ( horizontal ) return TQRect( 0, 0, subline, ceData.rect.height() );
- else return TQRect( 0, 0, ceData.rect.width(), subline );
-
- case SC_ScrollBarAddLine:
- if ( horizontal ) return TQRect( ceData.rect.width() - addline, 0, addline, ceData.rect.height() );
- else return TQRect( 0, ceData.rect.height() - addline, ceData.rect.width(), addline );
-
- case SC_ScrollBarSubPage:
- if ( horizontal ) return TQRect( subline, 0, sliderpos - subline, ceData.rect.height() );
- else return TQRect( 0, subline, ceData.rect.width(), sliderpos - subline );
-
- case SC_ScrollBarAddPage:
- if ( horizontal ) return TQRect( sliderpos + sliderlen, 0, ceData.rect.width() - addline - (sliderpos + sliderlen) , ceData.rect.height() );
- else return TQRect( 0, sliderpos + sliderlen, ceData.rect.width(), ceData.rect.height() - addline - (sliderpos + sliderlen)
- /*maxlen - sliderpos - sliderlen + subline - 5*/ );
-
- default: break;
- };
- break;
- }
- case CC_Slider:
- {
- bool horizontal = ceData.orientation == TQt::Horizontal;
- TQSlider::TickSetting ticks = (TQSlider::TickSetting)ceData.tickMarkSetting;
- int pos = ceData.startStep;
- int size = pixelMetric( PM_SliderControlThickness, ceData, elementFlags, widget );
- int handleSize = pixelMetric( PM_SliderThickness, ceData, elementFlags, widget );
- int len = pixelMetric( PM_SliderLength, ceData, elementFlags, widget );
-
- //Shrink the metrics if the widget is too small
- //to fit our normal values for them.
- if (horizontal)
- handleSize = QMIN(handleSize, ceData.rect.height());
- else
- handleSize = QMIN(handleSize, ceData.rect.width());
-
- size = QMIN(size, handleSize);
-
- switch ( subcontrol )
- {
- case SC_SliderGroove:
- if ( horizontal )
- {
- if ( ticks == TQSlider::Both )
- return TQRect( 0, ( ceData.rect.height() - size ) / 2, ceData.rect.width(), size );
- else if ( ticks == TQSlider::Above )
- return TQRect( 0, ceData.rect.height() - size - ( handleSize - size ) / 2, ceData.rect.width(), size );
- return TQRect( 0, ( handleSize - size ) / 2, ceData.rect.width(), size );
- }
- else
- {
- if ( ticks == TQSlider::Both )
- return TQRect( ( ceData.rect.width() - size ) / 2, 0, size, ceData.rect.height() );
- else if ( ticks == TQSlider::Above )
- return TQRect( ceData.rect.width() - size - ( handleSize - size ) / 2, 0, size, ceData.rect.height() );
- return TQRect( ( handleSize - size ) / 2, 0, size, ceData.rect.height() );
- }
- case SC_SliderHandle:
- if ( horizontal )
- {
- if ( ticks == TQSlider::Both )
- return TQRect( pos, ( ceData.rect.height() - handleSize ) / 2, len, handleSize );
- else if ( ticks == TQSlider::Above )
- return TQRect( pos, ceData.rect.height() - handleSize, len, handleSize );
- return TQRect( pos, 0, len, handleSize );
- }
- else
- {
- if ( ticks == TQSlider::Both )
- return TQRect( ( ceData.rect.width() - handleSize ) / 2, pos, handleSize, len );
- else if ( ticks == TQSlider::Above )
- return TQRect( ceData.rect.width() - handleSize, pos, handleSize, len );
- return TQRect( 0, pos, handleSize, len );
- }
- default: break;
- }
- break;
- }
- default: break;
- }
- return TDEStyle::querySubControlMetrics( control, ceData, elementFlags, subcontrol, opt, widget );
-}
-
-
-#include <config.h>
-
-#if !defined Q_WS_X11 || defined K_WS_QTONLY
-#undef HAVE_X11_EXTENSIONS_SHAPE_H
-#endif
-
-#ifdef HAVE_X11_EXTENSIONS_SHAPE_H
-//Xlib headers are a mess -> include them down here (any way to ensure that we go second in enable-final order?)
-#include <X11/Xlib.h>
-#include <X11/extensions/shape.h>
-#undef KeyPress
-#undef KeyRelease
-#endif
-
-bool KeramikStyle::objectEventHandler( const TQStyleControlElementData &ceData, ControlElementFlags elementFlags, void* source, TQEvent *event )
-{
- if (TDEStyle::objectEventHandler( ceData, elementFlags, source, event ))
- return true;
-
- if (ceData.widgetObjectTypes.contains(TQOBJECT_OBJECT_NAME_STRING)) {
- TQObject* object = reinterpret_cast<TQObject*>(source);
-
- if ( !object->isWidgetType() ) return false;
-
- //Combo line edits get special frames
- if ( event->type() == TQEvent::Paint && ::tqqt_cast<TQLineEdit*>(object) )
- {
- static bool recursion = false;
- if (recursion )
- return false;
-
- recursion = true;
- object->event( TQT_TQPAINTEVENT( event ) );
- TQWidget* widget = TQT_TQWIDGET( object );
- TQPainter p( widget );
- Keramik::RectTilePainter( keramik_frame_shadow, false, false, 2, 2 ).draw( &p, ceData.rect,
- widget->palette().color( TQPalette::Normal, TQColorGroup::Button ),
- Qt::black, false, Keramik::TilePainter::PaintFullBlend);
- recursion = false;
- return true;
- }
- else if ( ::tqqt_cast<TQListBox*>(object) )
- {
- //Handle combobox drop downs
- switch (event->type())
- {
-#ifdef HAVE_X11_EXTENSIONS_SHAPE_H
- //Combo dropdowns are shaped
- case TQEvent::Resize:
- {
- TQListBox* listbox = static_cast<TQListBox*>(TQT_TQWIDGET(object));
- TQResizeEvent* resize = TQT_TQRESIZEEVENT(event);
- if (resize->size().height() < 6)
- return false;
-
- //CHECKME: Not sure the rects are perfect..
- XRectangle rects[5] = {
- {0, 0, resize->size().width()-2, resize->size().height()-6},
- {0, resize->size().height()-6, resize->size().width()-2, 1},
- {1, resize->size().height()-5, resize->size().width()-3, 1},
- {2, resize->size().height()-4, resize->size().width()-5, 1},
- {3, resize->size().height()-3, resize->size().width()-7, 1}
- };
-
- XShapeCombineRectangles(tqt_xdisplay(), listbox->handle(), ShapeBounding, 0, 0,
- rects, 5, ShapeSet, YXSorted);
- }
- break;
-#endif
- //Combo dropdowns get fancy borders
- case TQEvent::Paint:
- {
- static bool recursion = false;
- if (recursion )
- return false;
- TQListBox* listbox = (TQListBox*) object;
- TQPaintEvent* paint = (TQPaintEvent*) event;
-
-
- if ( !listbox->contentsRect().contains( paint->rect() ) )
- {
- TQPainter p( listbox );
- Keramik::RectTilePainter( keramik_combobox_list, false, false ).draw( &p, 0, 0, listbox->width(), listbox->height(),
- listbox->palette().color( TQPalette::Normal, TQColorGroup::Button ),
- listbox->palette().color( TQPalette::Normal, TQColorGroup::Background ) );
-
- TQPaintEvent newpaint( paint->region().intersect( listbox->contentsRect() ), paint->erased() );
- recursion = true;
- object->event( &newpaint );
- recursion = false;
- return true;
- }
- }
- break;
-
- /**
- Since our popup is shown a bit overlapping the combo body, a mouse click at the bottom of the
- widget will result in the release going to the popup, which will cause it to close (#56435).
- We solve it by filtering out the first release, if it's in the right area. To do this, we notices shows,
- move ourselves to front of event filter list, and then capture the first release event, and if it's
- in the overlap area, filter it out.
- */
- case TQEvent::Show:
- //Prioritize ourselves to see the mouse events first
- removeObjectEventHandler(ceData, elementFlags, source, this);
- installObjectEventHandler(ceData, elementFlags, source, this);
- firstComboPopupRelease = true;
- break;
-
- //We need to filter some clicks out.
- case TQEvent::MouseButtonRelease:
- if (firstComboPopupRelease)
- {
- firstComboPopupRelease = false;
-
- TQMouseEvent* mev = TQT_TQMOUSEEVENT(event);
- TQListBox* box = static_cast<TQListBox*>(TQT_TQWIDGET(object));
-
- TQWidget* parent = box->parentWidget();
- if (!parent)
- return false;
-
- TQPoint inParCoords = parent->mapFromGlobal(mev->globalPos());
- if (parent->rect().contains(inParCoords))
- return true;
- }
- break;
- case TQEvent::MouseButtonPress:
- case TQEvent::MouseButtonDblClick:
- case TQEvent::Wheel:
- case TQEvent::KeyPress:
- case TQEvent::KeyRelease:
- firstComboPopupRelease = false;
- default:
- return false;
- }
- }
- //Toolbar background gradient handling
- else if (event->type() == TQEvent::Paint &&
- object->parent() && !qstrcmp(object->name(), kdeToolbarWidget) )
- {
- // Draw a gradient background for custom widgets in the toolbar
- // that have specified a "kde toolbar widget" name.
- renderToolbarWidgetBackground(0, ceData, elementFlags, TQT_TQWIDGET(object));
-
- return false; // Now draw the contents
- }
-#if 0 // FIXME
- // This does not work on modern systems
- // Rather than resorting to hacks like this, which can stop working at any time, the required functionality should simply be added to TQt3!
- else if (event->type() == TQEvent::Paint && object->parent() && ::tqqt_cast<TQToolBar*>(object->parent())
- && !::tqqt_cast<TQPopupMenu*>(object) )
- {
- // We need to override the paint event to draw a
- // gradient on a QToolBarExtensionWidget.
- TQToolBar* toolbar = static_cast<TQToolBar*>(TQT_TQWIDGET(object->parent()));
- TQWidget* widget = TQT_TQWIDGET(object);
- TQRect wr = widget->rect (), tr = toolbar->rect();
- TQPainter p( widget );
-
- if ( toolbar->orientation() == Qt::Horizontal )
- {
- Keramik::GradientPainter::renderGradient( &p, wr, widget->colorGroup().button(),
- true /*horizontal*/, false /*not a menu*/,
- 0, widget->y(), wr.width(), tr.height());
- }
- else
- {
- Keramik::GradientPainter::renderGradient( &p, wr, widget->colorGroup().button(),
- false /*vertical*/, false /*not a menu*/,
- widget->x(), 0, tr.width(), wr.height());
- }
-
-
- //Draw terminator line, too
- p.setPen( toolbar->colorGroup().mid() );
- if ( toolbar->orientation() == Qt::Horizontal )
- p.drawLine( wr.width()-1, 0, wr.width()-1, wr.height()-1 );
- else
- p.drawLine( 0, wr.height()-1, wr.width()-1, wr.height()-1 );
- return true;
-
- }
-#endif
- // Track show events for progress bars
- if ( animateProgressBar && ::tqqt_cast<TQProgressBar*>(object) )
- {
- if ((event->type() == TQEvent::Show) && !animationTimer->isActive())
- {
- animationTimer->start( 50, false );
- }
- }
- }
-
- return false;
-}
-
-/*! \reimp */
-int KeramikStyle::styleHint(StyleHint sh, const TQStyleControlElementData &ceData, ControlElementFlags elementFlags, const TQStyleOption &opt, TQStyleHintReturn *returnData, const TQWidget *w) const
-{
- int ret;
-
- switch (sh) {
- case SH_MenuIndicatorColumnWidth:
- {
- int checkcol = opt.maxIconWidth();
- bool checkable = (elementFlags & CEF_IsCheckable);
-
- if ( checkable )
- checkcol = QMAX( checkcol, 20 );
-
- ret = checkcol;
- }
- break;
- case SH_ScrollBar_CombineAddLineRegionDrawingAreas:
- ret = 1;
- break;
- default:
- ret = TDEStyle::styleHint(sh, ceData, elementFlags, opt, returnData, w);
- break;
- }
-
- return ret;
-}
-
-// vim: ts=4 sw=4 noet
-// kate: indent-width 4; replace-tabs off; tab-width 4; space-indent off;
diff --git a/kstyles/keramik/keramik.h b/kstyles/keramik/keramik.h
deleted file mode 100644
index 7bf8cd3d4..000000000
--- a/kstyles/keramik/keramik.h
+++ /dev/null
@@ -1,226 +0,0 @@
-/* Keramik Style for KDE3
- Copyright (c) 2002 Malte Starostik <malte@kde.org>
-
- based on the KDE3 HighColor Style
-
- Copyright (C) 2001-2002 Karol Szwed <gallium@kde.org>
- (C) 2001-2002 Fredrik H�glund <fredrik@kde.org>
-
- Drawing routines adapted from the KDE2 HCStyle,
- Copyright (C) 2000 Daniel M. Duley <mosfet@kde.org>
- (C) 2000 Dirk Mueller <mueller@kde.org>
- (C) 2001 Martijn Klingens <klingens@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.
-*/
-
-// $Id$
-
-#ifndef __keramik_h__
-#define __keramik_h__
-
-#include <tqframe.h>
-#include <tdestyle.h>
-
-#include "pixmaploader.h"
-
-class TQProgressBar;
-
-class KeramikStyle : public TDEStyle
-{
- Q_OBJECT
-
-public:
- KeramikStyle();
- virtual ~KeramikStyle();
-
- void renderMenuBlendPixmap( KPixmap& pix, const TQColorGroup &cg, const TQPopupMenu* ) const;
- TQPixmap stylePixmap(StylePixmap stylepixmap, const TQStyleControlElementData &ceData, ControlElementFlags elementFlags, const TQStyleOption& opt, const TQWidget* widget = 0) const;
-
- void polish( const TQStyleControlElementData &ceData, ControlElementFlags elementFlags, void * );
- void unPolish( const TQStyleControlElementData &ceData, ControlElementFlags elementFlags, void * );
- void polish( TQPalette& );
- void applicationPolish( const TQStyleControlElementData &ceData, ControlElementFlags elementFlags, void * );
-
- void drawTDEStylePrimitive( TDEStylePrimitive kpe,
- TQPainter* p,
- const TQStyleControlElementData &ceData,
- ControlElementFlags elementFlags,
- const TQRect& r,
- const TQColorGroup& cg,
- SFlags flags = Style_Default,
- const TQStyleOption& = TQStyleOption::Default,
- const TQWidget* widget = 0 ) const;
-
- void drawPrimitive( TQ_PrimitiveElement pe,
- TQPainter* p,
- const TQStyleControlElementData &ceData,
- ControlElementFlags elementFlags,
- const TQRect& r,
- const TQColorGroup& cg,
- SFlags flags = Style_Default,
- const TQStyleOption& = TQStyleOption::Default ) const;
-
- void drawControl( TQ_ControlElement element,
- TQPainter* p,
- const TQStyleControlElementData &ceData,
- ControlElementFlags elementFlags,
- const TQRect& r,
- const TQColorGroup& cg,
- SFlags flags = Style_Default,
- const TQStyleOption& opt = TQStyleOption::Default,
- const TQWidget* widget = 0 ) const;
-
- void drawControlMask( TQ_ControlElement element,
- TQPainter* p,
- const TQStyleControlElementData &ceData,
- ControlElementFlags elementFlags,
- const TQRect& r,
- const TQStyleOption& opt = TQStyleOption::Default,
- const TQWidget* widget = 0 ) const;
-
- void drawComplexControl( TQ_ComplexControl control,
- TQPainter* p,
- const TQStyleControlElementData &ceData,
- ControlElementFlags elementFlags,
- const TQRect& r,
- const TQColorGroup& cg,
- SFlags flags = Style_Default,
- SCFlags controls = SC_All,
- SCFlags active = SC_None,
- const TQStyleOption& = TQStyleOption::Default,
- const TQWidget* widget = 0 ) const;
-
- void drawComplexControlMask( TQ_ComplexControl control,
- TQPainter* p,
- const TQStyleControlElementData &ceData,
- const ControlElementFlags elementFlags,
- const TQRect& r,
- const TQStyleOption& = TQStyleOption::Default,
- const TQWidget* widget = 0 ) const;
-
- int pixelMetric( PixelMetric m, const TQStyleControlElementData &ceData, ControlElementFlags elementFlags, const TQWidget* widget = 0 ) const;
-
- TQSize sizeFromContents( ContentsType contents,
- const TQStyleControlElementData &ceData,
- ControlElementFlags elementFlags,
- const TQSize& contentSize,
- const TQStyleOption& opt,
- const TQWidget* widget = 0 ) const;
-
- SubControl querySubControl( TQ_ComplexControl control,
- const TQStyleControlElementData &ceData,
- ControlElementFlags elementFlags,
- const TQPoint& point,
- const TQStyleOption& opt = TQStyleOption::Default,
- const TQWidget* widget = 0 ) const;
-
- TQRect querySubControlMetrics( TQ_ComplexControl control,
- const TQStyleControlElementData &ceData,
- ControlElementFlags elementFlags,
- SubControl subcontrol,
- const TQStyleOption& opt = TQStyleOption::Default,
- const TQWidget* widget = 0 ) const;
-
- int styleHint(TQ_StyleHint, const TQStyleControlElementData &ceData, ControlElementFlags elementFlags,
- const TQStyleOption & = TQStyleOption::Default,
- TQStyleHintReturn * = 0, const TQWidget * = 0 ) const;
-
-private slots:
- //Animation slots.
- void updateProgressPos();
- void progressBarDestroyed(TQObject* bar);
-
-private:
-
- bool isSizeConstrainedCombo(const TQStyleControlElementData &ceData, const ControlElementFlags elementFlags, const TQComboBox* widget) const;
- bool isFormWidget (const TQStyleControlElementData &ceData, const ControlElementFlags elementFlags, const TQWidget* widget) const;
-
- ///Configuration settings
- bool animateProgressBar;
- bool highlightScrollBar;
-
- //Rendering flags
- mutable bool forceSmallMode;
- mutable bool maskMode; //Ugly round trip flag to permit masking with little code;
- mutable bool formMode; //Set when rendering form widgets
-
- mutable const TQWidget* toolbarBlendWidget; //Ditto for blending with toolbars
-
- enum TitleBarMode
- {
- None = 0,
- Regular,
- Maximized
- };
-
- mutable TitleBarMode titleBarMode; //Set when passing back CC_TilteBar modes to handle
- //PE_ButtonTool properly for them, as well as when handling CC_ToolButton from
- //The maximized window controls.
-
- mutable bool flatMode; //Set when calling PE_PushButton or PE_ButtonDefault
- // on a flat button.
-
- mutable bool customScrollMode; //Set when drawing scrollbars with custom colors.
-
- bool firstComboPopupRelease;
-
- //Animation support.
- TQMap<TQProgressBar*, int> progAnimWidgets;
-
- virtual bool objectEventHandler( const TQStyleControlElementData &ceData, ControlElementFlags elementFlags, void* source, TQEvent *e );
-
- Keramik::TilePainter::PaintMode pmode() const
- {
- if (formMode)
- {
- //If we're a form widget, we blend on painting, and consider ourselves
- //not to have a mask (so we don't get clipped to it)
- if (maskMode)
- return Keramik::TilePainter::PaintTrivialMask;
- else
- return Keramik::TilePainter::PaintFullBlend;
- }
- else
- {
- if (maskMode)
- return Keramik::TilePainter::PaintMask;
- else
- return Keramik::TilePainter::PaintNormal;
- }
- }
-
- Keramik::TilePainter::PaintMode pmodeFullBlend() const
- {
- return maskMode?Keramik::TilePainter::PaintMask : Keramik::TilePainter::PaintFullBlend;
- }
-
- bool kickerMode;
-
- // For progress bar animation
- TQTimer *animationTimer;
-
- TQRect subRect(SubRect r, const TQStyleControlElementData &ceData, const ControlElementFlags elementFlags, const TQWidget *widget) const;
-
- // Disable copy constructor and = operator
- KeramikStyle( const KeramikStyle& );
- KeramikStyle& operator=( const KeramikStyle& );
-};
-
-#endif
-
-// vim: ts=4 sw=4 noet
-// kate: indent-width 4; replace-tabs off; tab-width 4;
diff --git a/kstyles/keramik/keramikimage.h b/kstyles/keramik/keramikimage.h
deleted file mode 100644
index 05bc75900..000000000
--- a/kstyles/keramik/keramikimage.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/* Keramik Style for KDE3
- Copyright (c) 2002 Malte Starostik <malte@kde.org>
- (c) 2002 Maksim Orlovich <mo002j@mail.rochester.edu>
-
- based on the KDE3 HighColor Style
-
- Copyright (C) 2001-2002 Karol Szwed <gallium@kde.org>
- (C) 2001-2002 Fredrik Höglund <fredrik@kde.org>
-
- Drawing routines adapted from the KDE2 HCStyle,
- Copyright (C) 2000 Daniel M. Duley <mosfet@kde.org>
- (C) 2000 Dirk Mueller <mueller@kde.org>
- (C) 2001 Martijn Klingens <klingens@kde.org>
-
- Progressbar code based on TDEStyle, Copyright (C) 2001-2002 Karol Szwed <gallium@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.
-*/
-
-
-#ifndef KERAMIK_IMAGE_H
-#define KERAMIK_IMAGE_H
-
-struct KeramikEmbedImage
-{
- bool haveAlpha;
- int width;
- int height;
- int id;
- const unsigned char* data;
-};
-
-extern KeramikEmbedImage* KeramikGetDbImage(int id);
-extern void KeramikDbCleanup();
-
-enum KeramikTileType
-{
- KeramikTileTL = 0,
- KeramikTileTC = 1,
- KeramikTileTR = 2,
- KeramikTileCL = 3,
- KeramikTileCC = 4,
- KeramikTileCR = 5,
- KeramikTileRL = 6,
- KeramikTileRC = 7,
- KeramikTileRR = 8,
- KeramikTileSeparator = 16,
- KeramikSlider1 = 32,
- KeramikSlider2 = 48,
- KeramikSlider3 = 64,
- KeramikSlider4 = 80,
- KeramikGroove1 = 96,
- KeramikGroove2 = 112
-};
-
-#endif
diff --git a/kstyles/keramik/pics/checkbox-off.png b/kstyles/keramik/pics/checkbox-off.png
deleted file mode 100644
index 0cade1079..000000000
--- a/kstyles/keramik/pics/checkbox-off.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/checkbox-on.png b/kstyles/keramik/pics/checkbox-on.png
deleted file mode 100644
index 69c1a7d83..000000000
--- a/kstyles/keramik/pics/checkbox-on.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/checkbox-tri.png b/kstyles/keramik/pics/checkbox-tri.png
deleted file mode 100644
index c73ca8124..000000000
--- a/kstyles/keramik/pics/checkbox-tri.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/combobox-list-bc.png b/kstyles/keramik/pics/combobox-list-bc.png
deleted file mode 100644
index 609a72627..000000000
--- a/kstyles/keramik/pics/combobox-list-bc.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/combobox-list-bl.png b/kstyles/keramik/pics/combobox-list-bl.png
deleted file mode 100644
index 512bbeafe..000000000
--- a/kstyles/keramik/pics/combobox-list-bl.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/combobox-list-br.png b/kstyles/keramik/pics/combobox-list-br.png
deleted file mode 100644
index 93151ffa6..000000000
--- a/kstyles/keramik/pics/combobox-list-br.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/combobox-list-cl.png b/kstyles/keramik/pics/combobox-list-cl.png
deleted file mode 100644
index e0b29c26d..000000000
--- a/kstyles/keramik/pics/combobox-list-cl.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/combobox-list-cr.png b/kstyles/keramik/pics/combobox-list-cr.png
deleted file mode 100644
index 33b9b7224..000000000
--- a/kstyles/keramik/pics/combobox-list-cr.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/combobox-list-tc.png b/kstyles/keramik/pics/combobox-list-tc.png
deleted file mode 100644
index a3f5d7225..000000000
--- a/kstyles/keramik/pics/combobox-list-tc.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/combobox-list-tl.png b/kstyles/keramik/pics/combobox-list-tl.png
deleted file mode 100644
index 89d4b48d2..000000000
--- a/kstyles/keramik/pics/combobox-list-tl.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/combobox-list-tr.png b/kstyles/keramik/pics/combobox-list-tr.png
deleted file mode 100644
index 54e5d6032..000000000
--- a/kstyles/keramik/pics/combobox-list-tr.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/frame-shadow-cl.png b/kstyles/keramik/pics/frame-shadow-cl.png
deleted file mode 100644
index d9b5edb1f..000000000
--- a/kstyles/keramik/pics/frame-shadow-cl.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/frame-shadow-tc.png b/kstyles/keramik/pics/frame-shadow-tc.png
deleted file mode 100644
index 408e07314..000000000
--- a/kstyles/keramik/pics/frame-shadow-tc.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/frame-shadow-tl.png b/kstyles/keramik/pics/frame-shadow-tl.png
deleted file mode 100644
index 8e6e3a147..000000000
--- a/kstyles/keramik/pics/frame-shadow-tl.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/listview-bc.png b/kstyles/keramik/pics/listview-bc.png
deleted file mode 100644
index fc615ea8a..000000000
--- a/kstyles/keramik/pics/listview-bc.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/listview-bl.png b/kstyles/keramik/pics/listview-bl.png
deleted file mode 100644
index efd68101a..000000000
--- a/kstyles/keramik/pics/listview-bl.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/listview-br.png b/kstyles/keramik/pics/listview-br.png
deleted file mode 100644
index 7e35a14c8..000000000
--- a/kstyles/keramik/pics/listview-br.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/listview-cc.png b/kstyles/keramik/pics/listview-cc.png
deleted file mode 100644
index 9fa204bf4..000000000
--- a/kstyles/keramik/pics/listview-cc.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/listview-cl.png b/kstyles/keramik/pics/listview-cl.png
deleted file mode 100644
index 41850b2e6..000000000
--- a/kstyles/keramik/pics/listview-cl.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/listview-cr.png b/kstyles/keramik/pics/listview-cr.png
deleted file mode 100644
index 69b1cf8c6..000000000
--- a/kstyles/keramik/pics/listview-cr.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/listview-pressed-bc.png b/kstyles/keramik/pics/listview-pressed-bc.png
deleted file mode 100644
index 283fe7329..000000000
--- a/kstyles/keramik/pics/listview-pressed-bc.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/listview-pressed-bl.png b/kstyles/keramik/pics/listview-pressed-bl.png
deleted file mode 100644
index a457f83a6..000000000
--- a/kstyles/keramik/pics/listview-pressed-bl.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/listview-pressed-br.png b/kstyles/keramik/pics/listview-pressed-br.png
deleted file mode 100644
index a49203f89..000000000
--- a/kstyles/keramik/pics/listview-pressed-br.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/listview-pressed-cc.png b/kstyles/keramik/pics/listview-pressed-cc.png
deleted file mode 100644
index 63265116e..000000000
--- a/kstyles/keramik/pics/listview-pressed-cc.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/listview-pressed-cl.png b/kstyles/keramik/pics/listview-pressed-cl.png
deleted file mode 100644
index 7dcc0540c..000000000
--- a/kstyles/keramik/pics/listview-pressed-cl.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/listview-pressed-cr.png b/kstyles/keramik/pics/listview-pressed-cr.png
deleted file mode 100644
index 3a0b74f9a..000000000
--- a/kstyles/keramik/pics/listview-pressed-cr.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/listview-pressed-tc.png b/kstyles/keramik/pics/listview-pressed-tc.png
deleted file mode 100644
index 1fa2e6905..000000000
--- a/kstyles/keramik/pics/listview-pressed-tc.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/listview-pressed-tl.png b/kstyles/keramik/pics/listview-pressed-tl.png
deleted file mode 100644
index e58e62306..000000000
--- a/kstyles/keramik/pics/listview-pressed-tl.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/listview-pressed-tr.png b/kstyles/keramik/pics/listview-pressed-tr.png
deleted file mode 100644
index bc33f3823..000000000
--- a/kstyles/keramik/pics/listview-pressed-tr.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/listview-tc.png b/kstyles/keramik/pics/listview-tc.png
deleted file mode 100644
index 09434cebb..000000000
--- a/kstyles/keramik/pics/listview-tc.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/listview-tl.png b/kstyles/keramik/pics/listview-tl.png
deleted file mode 100644
index d2ca26d7a..000000000
--- a/kstyles/keramik/pics/listview-tl.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/listview-tr.png b/kstyles/keramik/pics/listview-tr.png
deleted file mode 100644
index 42c49a597..000000000
--- a/kstyles/keramik/pics/listview-tr.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/menuitem-cc.png b/kstyles/keramik/pics/menuitem-cc.png
deleted file mode 100644
index 29362ccc8..000000000
--- a/kstyles/keramik/pics/menuitem-cc.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/menuitem-cl.png b/kstyles/keramik/pics/menuitem-cl.png
deleted file mode 100644
index c742516f4..000000000
--- a/kstyles/keramik/pics/menuitem-cl.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/menuitem-cr.png b/kstyles/keramik/pics/menuitem-cr.png
deleted file mode 100644
index c742516f4..000000000
--- a/kstyles/keramik/pics/menuitem-cr.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/progressbar-cc.png b/kstyles/keramik/pics/progressbar-cc.png
deleted file mode 100644
index e7881df47..000000000
--- a/kstyles/keramik/pics/progressbar-cc.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/progressbar-cl.png b/kstyles/keramik/pics/progressbar-cl.png
deleted file mode 100644
index 66824c873..000000000
--- a/kstyles/keramik/pics/progressbar-cl.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/progressbar-cr.png b/kstyles/keramik/pics/progressbar-cr.png
deleted file mode 100644
index c6d61e75d..000000000
--- a/kstyles/keramik/pics/progressbar-cr.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/pushbutton-bc.png b/kstyles/keramik/pics/pushbutton-bc.png
deleted file mode 100644
index 62f169aa2..000000000
--- a/kstyles/keramik/pics/pushbutton-bc.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/pushbutton-bl.png b/kstyles/keramik/pics/pushbutton-bl.png
deleted file mode 100644
index ea17ef991..000000000
--- a/kstyles/keramik/pics/pushbutton-bl.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/pushbutton-br.png b/kstyles/keramik/pics/pushbutton-br.png
deleted file mode 100644
index 91703e742..000000000
--- a/kstyles/keramik/pics/pushbutton-br.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/pushbutton-cc.png b/kstyles/keramik/pics/pushbutton-cc.png
deleted file mode 100644
index ac5a2fdc0..000000000
--- a/kstyles/keramik/pics/pushbutton-cc.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/pushbutton-cl.png b/kstyles/keramik/pics/pushbutton-cl.png
deleted file mode 100644
index 0a9c56630..000000000
--- a/kstyles/keramik/pics/pushbutton-cl.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/pushbutton-cr.png b/kstyles/keramik/pics/pushbutton-cr.png
deleted file mode 100644
index 68449467f..000000000
--- a/kstyles/keramik/pics/pushbutton-cr.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/pushbutton-default-bc.png b/kstyles/keramik/pics/pushbutton-default-bc.png
deleted file mode 100644
index 308020237..000000000
--- a/kstyles/keramik/pics/pushbutton-default-bc.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/pushbutton-default-bl.png b/kstyles/keramik/pics/pushbutton-default-bl.png
deleted file mode 100644
index 97c69cd1c..000000000
--- a/kstyles/keramik/pics/pushbutton-default-bl.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/pushbutton-default-br.png b/kstyles/keramik/pics/pushbutton-default-br.png
deleted file mode 100644
index e084dca00..000000000
--- a/kstyles/keramik/pics/pushbutton-default-br.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/pushbutton-default-cc.png b/kstyles/keramik/pics/pushbutton-default-cc.png
deleted file mode 100644
index 51e655302..000000000
--- a/kstyles/keramik/pics/pushbutton-default-cc.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/pushbutton-default-cl.png b/kstyles/keramik/pics/pushbutton-default-cl.png
deleted file mode 100644
index 5c4c001b1..000000000
--- a/kstyles/keramik/pics/pushbutton-default-cl.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/pushbutton-default-cr.png b/kstyles/keramik/pics/pushbutton-default-cr.png
deleted file mode 100644
index 0b1ea243b..000000000
--- a/kstyles/keramik/pics/pushbutton-default-cr.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/pushbutton-default-hov-bc.png b/kstyles/keramik/pics/pushbutton-default-hov-bc.png
deleted file mode 100644
index 1c3f23766..000000000
--- a/kstyles/keramik/pics/pushbutton-default-hov-bc.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/pushbutton-default-hov-bl.png b/kstyles/keramik/pics/pushbutton-default-hov-bl.png
deleted file mode 100644
index 5072df3a7..000000000
--- a/kstyles/keramik/pics/pushbutton-default-hov-bl.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/pushbutton-default-hov-br.png b/kstyles/keramik/pics/pushbutton-default-hov-br.png
deleted file mode 100644
index 827df317d..000000000
--- a/kstyles/keramik/pics/pushbutton-default-hov-br.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/pushbutton-default-hov-cc.png b/kstyles/keramik/pics/pushbutton-default-hov-cc.png
deleted file mode 100644
index ec57f7ed7..000000000
--- a/kstyles/keramik/pics/pushbutton-default-hov-cc.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/pushbutton-default-hov-cl.png b/kstyles/keramik/pics/pushbutton-default-hov-cl.png
deleted file mode 100644
index 09fdf4dfa..000000000
--- a/kstyles/keramik/pics/pushbutton-default-hov-cl.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/pushbutton-default-hov-cr.png b/kstyles/keramik/pics/pushbutton-default-hov-cr.png
deleted file mode 100644
index 131c96f55..000000000
--- a/kstyles/keramik/pics/pushbutton-default-hov-cr.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/pushbutton-default-hov-tc.png b/kstyles/keramik/pics/pushbutton-default-hov-tc.png
deleted file mode 100644
index 45f4e86c3..000000000
--- a/kstyles/keramik/pics/pushbutton-default-hov-tc.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/pushbutton-default-hov-tl.png b/kstyles/keramik/pics/pushbutton-default-hov-tl.png
deleted file mode 100644
index 13e2cdfa2..000000000
--- a/kstyles/keramik/pics/pushbutton-default-hov-tl.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/pushbutton-default-hov-tr.png b/kstyles/keramik/pics/pushbutton-default-hov-tr.png
deleted file mode 100644
index 0eb2d5f2d..000000000
--- a/kstyles/keramik/pics/pushbutton-default-hov-tr.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/pushbutton-default-pressed-bc.png b/kstyles/keramik/pics/pushbutton-default-pressed-bc.png
deleted file mode 100644
index 7d1f31b4b..000000000
--- a/kstyles/keramik/pics/pushbutton-default-pressed-bc.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/pushbutton-default-pressed-bl.png b/kstyles/keramik/pics/pushbutton-default-pressed-bl.png
deleted file mode 100644
index 05d432d3a..000000000
--- a/kstyles/keramik/pics/pushbutton-default-pressed-bl.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/pushbutton-default-pressed-br.png b/kstyles/keramik/pics/pushbutton-default-pressed-br.png
deleted file mode 100644
index 5ac4eb761..000000000
--- a/kstyles/keramik/pics/pushbutton-default-pressed-br.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/pushbutton-default-pressed-cc.png b/kstyles/keramik/pics/pushbutton-default-pressed-cc.png
deleted file mode 100644
index a29eb9b26..000000000
--- a/kstyles/keramik/pics/pushbutton-default-pressed-cc.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/pushbutton-default-pressed-cl.png b/kstyles/keramik/pics/pushbutton-default-pressed-cl.png
deleted file mode 100644
index 1732ab586..000000000
--- a/kstyles/keramik/pics/pushbutton-default-pressed-cl.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/pushbutton-default-pressed-cr.png b/kstyles/keramik/pics/pushbutton-default-pressed-cr.png
deleted file mode 100644
index 3e52fd79f..000000000
--- a/kstyles/keramik/pics/pushbutton-default-pressed-cr.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/pushbutton-default-pressed-tc.png b/kstyles/keramik/pics/pushbutton-default-pressed-tc.png
deleted file mode 100644
index a2774ed4d..000000000
--- a/kstyles/keramik/pics/pushbutton-default-pressed-tc.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/pushbutton-default-pressed-tl.png b/kstyles/keramik/pics/pushbutton-default-pressed-tl.png
deleted file mode 100644
index 209673d91..000000000
--- a/kstyles/keramik/pics/pushbutton-default-pressed-tl.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/pushbutton-default-pressed-tr.png b/kstyles/keramik/pics/pushbutton-default-pressed-tr.png
deleted file mode 100644
index 4b4d8bed1..000000000
--- a/kstyles/keramik/pics/pushbutton-default-pressed-tr.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/pushbutton-default-tc.png b/kstyles/keramik/pics/pushbutton-default-tc.png
deleted file mode 100644
index e71531f73..000000000
--- a/kstyles/keramik/pics/pushbutton-default-tc.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/pushbutton-default-tl.png b/kstyles/keramik/pics/pushbutton-default-tl.png
deleted file mode 100644
index 02c8adb38..000000000
--- a/kstyles/keramik/pics/pushbutton-default-tl.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/pushbutton-default-tr.png b/kstyles/keramik/pics/pushbutton-default-tr.png
deleted file mode 100644
index 741dd67cb..000000000
--- a/kstyles/keramik/pics/pushbutton-default-tr.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/pushbutton-hov-bc.png b/kstyles/keramik/pics/pushbutton-hov-bc.png
deleted file mode 100644
index 1b7731085..000000000
--- a/kstyles/keramik/pics/pushbutton-hov-bc.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/pushbutton-hov-bl.png b/kstyles/keramik/pics/pushbutton-hov-bl.png
deleted file mode 100644
index 29f066774..000000000
--- a/kstyles/keramik/pics/pushbutton-hov-bl.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/pushbutton-hov-br.png b/kstyles/keramik/pics/pushbutton-hov-br.png
deleted file mode 100644
index c7b045337..000000000
--- a/kstyles/keramik/pics/pushbutton-hov-br.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/pushbutton-hov-cc.png b/kstyles/keramik/pics/pushbutton-hov-cc.png
deleted file mode 100644
index f57781d87..000000000
--- a/kstyles/keramik/pics/pushbutton-hov-cc.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/pushbutton-hov-cl.png b/kstyles/keramik/pics/pushbutton-hov-cl.png
deleted file mode 100644
index 1540ef437..000000000
--- a/kstyles/keramik/pics/pushbutton-hov-cl.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/pushbutton-hov-cr.png b/kstyles/keramik/pics/pushbutton-hov-cr.png
deleted file mode 100644
index e105ae6f8..000000000
--- a/kstyles/keramik/pics/pushbutton-hov-cr.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/pushbutton-hov-tc.png b/kstyles/keramik/pics/pushbutton-hov-tc.png
deleted file mode 100644
index fa2a00270..000000000
--- a/kstyles/keramik/pics/pushbutton-hov-tc.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/pushbutton-hov-tl.png b/kstyles/keramik/pics/pushbutton-hov-tl.png
deleted file mode 100644
index 9eddbf5f9..000000000
--- a/kstyles/keramik/pics/pushbutton-hov-tl.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/pushbutton-hov-tr.png b/kstyles/keramik/pics/pushbutton-hov-tr.png
deleted file mode 100644
index c4ea2e1ae..000000000
--- a/kstyles/keramik/pics/pushbutton-hov-tr.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/pushbutton-pressed-bc.png b/kstyles/keramik/pics/pushbutton-pressed-bc.png
deleted file mode 100644
index 1e9097faa..000000000
--- a/kstyles/keramik/pics/pushbutton-pressed-bc.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/pushbutton-pressed-bl.png b/kstyles/keramik/pics/pushbutton-pressed-bl.png
deleted file mode 100644
index ae8ad9ba3..000000000
--- a/kstyles/keramik/pics/pushbutton-pressed-bl.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/pushbutton-pressed-br.png b/kstyles/keramik/pics/pushbutton-pressed-br.png
deleted file mode 100644
index 8d1a62e7e..000000000
--- a/kstyles/keramik/pics/pushbutton-pressed-br.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/pushbutton-pressed-cc.png b/kstyles/keramik/pics/pushbutton-pressed-cc.png
deleted file mode 100644
index 09cb446ba..000000000
--- a/kstyles/keramik/pics/pushbutton-pressed-cc.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/pushbutton-pressed-cl.png b/kstyles/keramik/pics/pushbutton-pressed-cl.png
deleted file mode 100644
index 1291cf33f..000000000
--- a/kstyles/keramik/pics/pushbutton-pressed-cl.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/pushbutton-pressed-cr.png b/kstyles/keramik/pics/pushbutton-pressed-cr.png
deleted file mode 100644
index 6e35bd28b..000000000
--- a/kstyles/keramik/pics/pushbutton-pressed-cr.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/pushbutton-pressed-tc.png b/kstyles/keramik/pics/pushbutton-pressed-tc.png
deleted file mode 100644
index ab1ccf476..000000000
--- a/kstyles/keramik/pics/pushbutton-pressed-tc.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/pushbutton-pressed-tl.png b/kstyles/keramik/pics/pushbutton-pressed-tl.png
deleted file mode 100644
index 41df0033f..000000000
--- a/kstyles/keramik/pics/pushbutton-pressed-tl.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/pushbutton-pressed-tr.png b/kstyles/keramik/pics/pushbutton-pressed-tr.png
deleted file mode 100644
index fc83cfdef..000000000
--- a/kstyles/keramik/pics/pushbutton-pressed-tr.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/pushbutton-small-bc.png b/kstyles/keramik/pics/pushbutton-small-bc.png
deleted file mode 100644
index b55ed441c..000000000
--- a/kstyles/keramik/pics/pushbutton-small-bc.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/pushbutton-small-bl.png b/kstyles/keramik/pics/pushbutton-small-bl.png
deleted file mode 100644
index fc14a94c1..000000000
--- a/kstyles/keramik/pics/pushbutton-small-bl.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/pushbutton-small-br.png b/kstyles/keramik/pics/pushbutton-small-br.png
deleted file mode 100644
index f24b47af1..000000000
--- a/kstyles/keramik/pics/pushbutton-small-br.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/pushbutton-small-cc.png b/kstyles/keramik/pics/pushbutton-small-cc.png
deleted file mode 100644
index 8f8d49964..000000000
--- a/kstyles/keramik/pics/pushbutton-small-cc.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/pushbutton-small-cl.png b/kstyles/keramik/pics/pushbutton-small-cl.png
deleted file mode 100644
index 9ce9e492f..000000000
--- a/kstyles/keramik/pics/pushbutton-small-cl.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/pushbutton-small-cr.png b/kstyles/keramik/pics/pushbutton-small-cr.png
deleted file mode 100644
index db05257b2..000000000
--- a/kstyles/keramik/pics/pushbutton-small-cr.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/pushbutton-small-pressed-bc.png b/kstyles/keramik/pics/pushbutton-small-pressed-bc.png
deleted file mode 100644
index 560f17c5d..000000000
--- a/kstyles/keramik/pics/pushbutton-small-pressed-bc.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/pushbutton-small-pressed-bl.png b/kstyles/keramik/pics/pushbutton-small-pressed-bl.png
deleted file mode 100644
index 36e39f88d..000000000
--- a/kstyles/keramik/pics/pushbutton-small-pressed-bl.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/pushbutton-small-pressed-br.png b/kstyles/keramik/pics/pushbutton-small-pressed-br.png
deleted file mode 100644
index d269e61bf..000000000
--- a/kstyles/keramik/pics/pushbutton-small-pressed-br.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/pushbutton-small-pressed-cc.png b/kstyles/keramik/pics/pushbutton-small-pressed-cc.png
deleted file mode 100644
index abab3832c..000000000
--- a/kstyles/keramik/pics/pushbutton-small-pressed-cc.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/pushbutton-small-pressed-cl.png b/kstyles/keramik/pics/pushbutton-small-pressed-cl.png
deleted file mode 100644
index 8049bee04..000000000
--- a/kstyles/keramik/pics/pushbutton-small-pressed-cl.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/pushbutton-small-pressed-cr.png b/kstyles/keramik/pics/pushbutton-small-pressed-cr.png
deleted file mode 100644
index ef13139c2..000000000
--- a/kstyles/keramik/pics/pushbutton-small-pressed-cr.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/pushbutton-small-pressed-tc.png b/kstyles/keramik/pics/pushbutton-small-pressed-tc.png
deleted file mode 100644
index d10fc26a8..000000000
--- a/kstyles/keramik/pics/pushbutton-small-pressed-tc.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/pushbutton-small-pressed-tl.png b/kstyles/keramik/pics/pushbutton-small-pressed-tl.png
deleted file mode 100644
index 7f189e50d..000000000
--- a/kstyles/keramik/pics/pushbutton-small-pressed-tl.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/pushbutton-small-pressed-tr.png b/kstyles/keramik/pics/pushbutton-small-pressed-tr.png
deleted file mode 100644
index 5262f63a2..000000000
--- a/kstyles/keramik/pics/pushbutton-small-pressed-tr.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/pushbutton-small-tc.png b/kstyles/keramik/pics/pushbutton-small-tc.png
deleted file mode 100644
index 216126077..000000000
--- a/kstyles/keramik/pics/pushbutton-small-tc.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/pushbutton-small-tl.png b/kstyles/keramik/pics/pushbutton-small-tl.png
deleted file mode 100644
index 75d8052b1..000000000
--- a/kstyles/keramik/pics/pushbutton-small-tl.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/pushbutton-small-tr.png b/kstyles/keramik/pics/pushbutton-small-tr.png
deleted file mode 100644
index 18ac1208d..000000000
--- a/kstyles/keramik/pics/pushbutton-small-tr.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/pushbutton-tc.png b/kstyles/keramik/pics/pushbutton-tc.png
deleted file mode 100644
index 0d0e396d2..000000000
--- a/kstyles/keramik/pics/pushbutton-tc.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/pushbutton-tl.png b/kstyles/keramik/pics/pushbutton-tl.png
deleted file mode 100644
index 6904db252..000000000
--- a/kstyles/keramik/pics/pushbutton-tl.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/pushbutton-tr.png b/kstyles/keramik/pics/pushbutton-tr.png
deleted file mode 100644
index b3e34dec2..000000000
--- a/kstyles/keramik/pics/pushbutton-tr.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/radiobutton-off.png b/kstyles/keramik/pics/radiobutton-off.png
deleted file mode 100644
index 6eefc781c..000000000
--- a/kstyles/keramik/pics/radiobutton-off.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/radiobutton-on.png b/kstyles/keramik/pics/radiobutton-on.png
deleted file mode 100644
index ab4dc6798..000000000
--- a/kstyles/keramik/pics/radiobutton-on.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/ripple.png b/kstyles/keramik/pics/ripple.png
deleted file mode 100644
index 6b7d04ef3..000000000
--- a/kstyles/keramik/pics/ripple.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/scrollbar-hbar-arrow1.png b/kstyles/keramik/pics/scrollbar-hbar-arrow1.png
deleted file mode 100644
index af21cb269..000000000
--- a/kstyles/keramik/pics/scrollbar-hbar-arrow1.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/scrollbar-hbar-arrow2.png b/kstyles/keramik/pics/scrollbar-hbar-arrow2.png
deleted file mode 100644
index 231520d12..000000000
--- a/kstyles/keramik/pics/scrollbar-hbar-arrow2.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/scrollbar-hbar-groove1.png b/kstyles/keramik/pics/scrollbar-hbar-groove1.png
deleted file mode 100644
index 0219f2e28..000000000
--- a/kstyles/keramik/pics/scrollbar-hbar-groove1.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/scrollbar-hbar-groove2.png b/kstyles/keramik/pics/scrollbar-hbar-groove2.png
deleted file mode 100644
index 990b5b06d..000000000
--- a/kstyles/keramik/pics/scrollbar-hbar-groove2.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/scrollbar-hbar-slider1.png b/kstyles/keramik/pics/scrollbar-hbar-slider1.png
deleted file mode 100644
index 6f0896ed9..000000000
--- a/kstyles/keramik/pics/scrollbar-hbar-slider1.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/scrollbar-hbar-slider2.png b/kstyles/keramik/pics/scrollbar-hbar-slider2.png
deleted file mode 100644
index c13ecc00c..000000000
--- a/kstyles/keramik/pics/scrollbar-hbar-slider2.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/scrollbar-hbar-slider3.png b/kstyles/keramik/pics/scrollbar-hbar-slider3.png
deleted file mode 100644
index 105718ba7..000000000
--- a/kstyles/keramik/pics/scrollbar-hbar-slider3.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/scrollbar-hbar-slider4.png b/kstyles/keramik/pics/scrollbar-hbar-slider4.png
deleted file mode 100644
index 9d56a784c..000000000
--- a/kstyles/keramik/pics/scrollbar-hbar-slider4.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/scrollbar-vbar-arrow1.png b/kstyles/keramik/pics/scrollbar-vbar-arrow1.png
deleted file mode 100644
index cb2f70aeb..000000000
--- a/kstyles/keramik/pics/scrollbar-vbar-arrow1.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/scrollbar-vbar-arrow2.png b/kstyles/keramik/pics/scrollbar-vbar-arrow2.png
deleted file mode 100644
index 4d36f077e..000000000
--- a/kstyles/keramik/pics/scrollbar-vbar-arrow2.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/scrollbar-vbar-groove1.png b/kstyles/keramik/pics/scrollbar-vbar-groove1.png
deleted file mode 100644
index 62ed6491d..000000000
--- a/kstyles/keramik/pics/scrollbar-vbar-groove1.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/scrollbar-vbar-groove2.png b/kstyles/keramik/pics/scrollbar-vbar-groove2.png
deleted file mode 100644
index 219781e23..000000000
--- a/kstyles/keramik/pics/scrollbar-vbar-groove2.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/scrollbar-vbar-slider1.png b/kstyles/keramik/pics/scrollbar-vbar-slider1.png
deleted file mode 100644
index 29b85856c..000000000
--- a/kstyles/keramik/pics/scrollbar-vbar-slider1.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/scrollbar-vbar-slider2.png b/kstyles/keramik/pics/scrollbar-vbar-slider2.png
deleted file mode 100644
index ebacc8e67..000000000
--- a/kstyles/keramik/pics/scrollbar-vbar-slider2.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/scrollbar-vbar-slider3.png b/kstyles/keramik/pics/scrollbar-vbar-slider3.png
deleted file mode 100644
index 197be82c5..000000000
--- a/kstyles/keramik/pics/scrollbar-vbar-slider3.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/scrollbar-vbar-slider4.png b/kstyles/keramik/pics/scrollbar-vbar-slider4.png
deleted file mode 100644
index fdb931f4f..000000000
--- a/kstyles/keramik/pics/scrollbar-vbar-slider4.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/slider-hgroove-bc.png b/kstyles/keramik/pics/slider-hgroove-bc.png
deleted file mode 100644
index d509e8357..000000000
--- a/kstyles/keramik/pics/slider-hgroove-bc.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/slider-hgroove-bl.png b/kstyles/keramik/pics/slider-hgroove-bl.png
deleted file mode 100644
index 12cb99a5b..000000000
--- a/kstyles/keramik/pics/slider-hgroove-bl.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/slider-hgroove-br.png b/kstyles/keramik/pics/slider-hgroove-br.png
deleted file mode 100644
index c540bd09b..000000000
--- a/kstyles/keramik/pics/slider-hgroove-br.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/slider-hgroove-cc.png b/kstyles/keramik/pics/slider-hgroove-cc.png
deleted file mode 100644
index cad18f802..000000000
--- a/kstyles/keramik/pics/slider-hgroove-cc.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/slider-hgroove-cl.png b/kstyles/keramik/pics/slider-hgroove-cl.png
deleted file mode 100644
index a261a086f..000000000
--- a/kstyles/keramik/pics/slider-hgroove-cl.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/slider-hgroove-cr.png b/kstyles/keramik/pics/slider-hgroove-cr.png
deleted file mode 100644
index 601ff7d20..000000000
--- a/kstyles/keramik/pics/slider-hgroove-cr.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/slider-hgroove-tc.png b/kstyles/keramik/pics/slider-hgroove-tc.png
deleted file mode 100644
index f8ee8d90b..000000000
--- a/kstyles/keramik/pics/slider-hgroove-tc.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/slider-hgroove-tl.png b/kstyles/keramik/pics/slider-hgroove-tl.png
deleted file mode 100644
index 525242cf5..000000000
--- a/kstyles/keramik/pics/slider-hgroove-tl.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/slider-hgroove-tr.png b/kstyles/keramik/pics/slider-hgroove-tr.png
deleted file mode 100644
index 7fcd449ad..000000000
--- a/kstyles/keramik/pics/slider-hgroove-tr.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/slider-vgroove-bc.png b/kstyles/keramik/pics/slider-vgroove-bc.png
deleted file mode 100644
index d81815cbf..000000000
--- a/kstyles/keramik/pics/slider-vgroove-bc.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/slider-vgroove-bl.png b/kstyles/keramik/pics/slider-vgroove-bl.png
deleted file mode 100644
index 5f7063525..000000000
--- a/kstyles/keramik/pics/slider-vgroove-bl.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/slider-vgroove-br.png b/kstyles/keramik/pics/slider-vgroove-br.png
deleted file mode 100644
index 80fbb0c38..000000000
--- a/kstyles/keramik/pics/slider-vgroove-br.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/slider-vgroove-cc.png b/kstyles/keramik/pics/slider-vgroove-cc.png
deleted file mode 100644
index 56c3e1665..000000000
--- a/kstyles/keramik/pics/slider-vgroove-cc.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/slider-vgroove-cl.png b/kstyles/keramik/pics/slider-vgroove-cl.png
deleted file mode 100644
index cca74d7e3..000000000
--- a/kstyles/keramik/pics/slider-vgroove-cl.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/slider-vgroove-cr.png b/kstyles/keramik/pics/slider-vgroove-cr.png
deleted file mode 100644
index 5e0bba54f..000000000
--- a/kstyles/keramik/pics/slider-vgroove-cr.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/slider-vgroove-tc.png b/kstyles/keramik/pics/slider-vgroove-tc.png
deleted file mode 100644
index d381a1672..000000000
--- a/kstyles/keramik/pics/slider-vgroove-tc.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/slider-vgroove-tl.png b/kstyles/keramik/pics/slider-vgroove-tl.png
deleted file mode 100644
index e2bb6ca4e..000000000
--- a/kstyles/keramik/pics/slider-vgroove-tl.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/slider-vgroove-tr.png b/kstyles/keramik/pics/slider-vgroove-tr.png
deleted file mode 100644
index 03fe46405..000000000
--- a/kstyles/keramik/pics/slider-vgroove-tr.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/slider.png b/kstyles/keramik/pics/slider.png
deleted file mode 100644
index 6949eec33..000000000
--- a/kstyles/keramik/pics/slider.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/spinbox-1.png b/kstyles/keramik/pics/spinbox-1.png
deleted file mode 100644
index 728959423..000000000
--- a/kstyles/keramik/pics/spinbox-1.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/spinbox-2.png b/kstyles/keramik/pics/spinbox-2.png
deleted file mode 100644
index 8dcebdc47..000000000
--- a/kstyles/keramik/pics/spinbox-2.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/spinbox-3.png b/kstyles/keramik/pics/spinbox-3.png
deleted file mode 100644
index 43cdaf21d..000000000
--- a/kstyles/keramik/pics/spinbox-3.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/spinbox-arrow-down.png b/kstyles/keramik/pics/spinbox-arrow-down.png
deleted file mode 100644
index 58d326e01..000000000
--- a/kstyles/keramik/pics/spinbox-arrow-down.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/spinbox-arrow-up.png b/kstyles/keramik/pics/spinbox-arrow-up.png
deleted file mode 100644
index 1e1f7a72b..000000000
--- a/kstyles/keramik/pics/spinbox-arrow-up.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/spinbox-pressed-arrow-down.png b/kstyles/keramik/pics/spinbox-pressed-arrow-down.png
deleted file mode 100644
index 71ce2ff98..000000000
--- a/kstyles/keramik/pics/spinbox-pressed-arrow-down.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/spinbox-pressed-arrow-up.png b/kstyles/keramik/pics/spinbox-pressed-arrow-up.png
deleted file mode 100644
index 7fd277c26..000000000
--- a/kstyles/keramik/pics/spinbox-pressed-arrow-up.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/spinbox-pressed-down.png b/kstyles/keramik/pics/spinbox-pressed-down.png
deleted file mode 100644
index 47ac06d41..000000000
--- a/kstyles/keramik/pics/spinbox-pressed-down.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/spinbox-pressed-up.png b/kstyles/keramik/pics/spinbox-pressed-up.png
deleted file mode 100644
index ed499f6ef..000000000
--- a/kstyles/keramik/pics/spinbox-pressed-up.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/tab-bottom-active-bc.png b/kstyles/keramik/pics/tab-bottom-active-bc.png
deleted file mode 100644
index 2cc3e597a..000000000
--- a/kstyles/keramik/pics/tab-bottom-active-bc.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/tab-bottom-active-bl.png b/kstyles/keramik/pics/tab-bottom-active-bl.png
deleted file mode 100644
index 2f28a1cfa..000000000
--- a/kstyles/keramik/pics/tab-bottom-active-bl.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/tab-bottom-active-br.png b/kstyles/keramik/pics/tab-bottom-active-br.png
deleted file mode 100644
index 8d086710a..000000000
--- a/kstyles/keramik/pics/tab-bottom-active-br.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/tab-bottom-active-cc.png b/kstyles/keramik/pics/tab-bottom-active-cc.png
deleted file mode 100644
index 29fa285ef..000000000
--- a/kstyles/keramik/pics/tab-bottom-active-cc.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/tab-bottom-active-cl.png b/kstyles/keramik/pics/tab-bottom-active-cl.png
deleted file mode 100644
index 54c629b55..000000000
--- a/kstyles/keramik/pics/tab-bottom-active-cl.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/tab-bottom-active-cr.png b/kstyles/keramik/pics/tab-bottom-active-cr.png
deleted file mode 100644
index f36039005..000000000
--- a/kstyles/keramik/pics/tab-bottom-active-cr.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/tab-bottom-inactive-bc.png b/kstyles/keramik/pics/tab-bottom-inactive-bc.png
deleted file mode 100644
index 538b0e20e..000000000
--- a/kstyles/keramik/pics/tab-bottom-inactive-bc.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/tab-bottom-inactive-bl.png b/kstyles/keramik/pics/tab-bottom-inactive-bl.png
deleted file mode 100644
index 14e04519d..000000000
--- a/kstyles/keramik/pics/tab-bottom-inactive-bl.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/tab-bottom-inactive-br.png b/kstyles/keramik/pics/tab-bottom-inactive-br.png
deleted file mode 100644
index 79298a562..000000000
--- a/kstyles/keramik/pics/tab-bottom-inactive-br.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/tab-bottom-inactive-cc.png b/kstyles/keramik/pics/tab-bottom-inactive-cc.png
deleted file mode 100644
index e7fbaf864..000000000
--- a/kstyles/keramik/pics/tab-bottom-inactive-cc.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/tab-bottom-inactive-cl.png b/kstyles/keramik/pics/tab-bottom-inactive-cl.png
deleted file mode 100644
index 9d3aaed8f..000000000
--- a/kstyles/keramik/pics/tab-bottom-inactive-cl.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/tab-bottom-inactive-cr.png b/kstyles/keramik/pics/tab-bottom-inactive-cr.png
deleted file mode 100644
index e873688c8..000000000
--- a/kstyles/keramik/pics/tab-bottom-inactive-cr.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/tab-bottom-inactive-separator.png b/kstyles/keramik/pics/tab-bottom-inactive-separator.png
deleted file mode 100644
index 525341543..000000000
--- a/kstyles/keramik/pics/tab-bottom-inactive-separator.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/tab-top-active-cc.png b/kstyles/keramik/pics/tab-top-active-cc.png
deleted file mode 100644
index 494659c77..000000000
--- a/kstyles/keramik/pics/tab-top-active-cc.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/tab-top-active-cl.png b/kstyles/keramik/pics/tab-top-active-cl.png
deleted file mode 100644
index b369f9570..000000000
--- a/kstyles/keramik/pics/tab-top-active-cl.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/tab-top-active-cr.png b/kstyles/keramik/pics/tab-top-active-cr.png
deleted file mode 100644
index 6cbf4238e..000000000
--- a/kstyles/keramik/pics/tab-top-active-cr.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/tab-top-active-tc.png b/kstyles/keramik/pics/tab-top-active-tc.png
deleted file mode 100644
index 44cf7d16d..000000000
--- a/kstyles/keramik/pics/tab-top-active-tc.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/tab-top-active-tl.png b/kstyles/keramik/pics/tab-top-active-tl.png
deleted file mode 100644
index 437f95bc2..000000000
--- a/kstyles/keramik/pics/tab-top-active-tl.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/tab-top-active-tr.png b/kstyles/keramik/pics/tab-top-active-tr.png
deleted file mode 100644
index 74cbc48e3..000000000
--- a/kstyles/keramik/pics/tab-top-active-tr.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/tab-top-inactive-cc.png b/kstyles/keramik/pics/tab-top-inactive-cc.png
deleted file mode 100644
index 1c2f0d47f..000000000
--- a/kstyles/keramik/pics/tab-top-inactive-cc.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/tab-top-inactive-cl.png b/kstyles/keramik/pics/tab-top-inactive-cl.png
deleted file mode 100644
index 3f4a23136..000000000
--- a/kstyles/keramik/pics/tab-top-inactive-cl.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/tab-top-inactive-cr.png b/kstyles/keramik/pics/tab-top-inactive-cr.png
deleted file mode 100644
index 477af0bc7..000000000
--- a/kstyles/keramik/pics/tab-top-inactive-cr.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/tab-top-inactive-separator.png b/kstyles/keramik/pics/tab-top-inactive-separator.png
deleted file mode 100644
index fc03d5dbb..000000000
--- a/kstyles/keramik/pics/tab-top-inactive-separator.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/tab-top-inactive-tc.png b/kstyles/keramik/pics/tab-top-inactive-tc.png
deleted file mode 100644
index 41eda7245..000000000
--- a/kstyles/keramik/pics/tab-top-inactive-tc.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/tab-top-inactive-tl.png b/kstyles/keramik/pics/tab-top-inactive-tl.png
deleted file mode 100644
index 114d9e99a..000000000
--- a/kstyles/keramik/pics/tab-top-inactive-tl.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/tab-top-inactive-tr.png b/kstyles/keramik/pics/tab-top-inactive-tr.png
deleted file mode 100644
index 04a9019f8..000000000
--- a/kstyles/keramik/pics/tab-top-inactive-tr.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/title-close-tiny.png b/kstyles/keramik/pics/title-close-tiny.png
deleted file mode 100644
index 1e497547b..000000000
--- a/kstyles/keramik/pics/title-close-tiny.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/title-close.png b/kstyles/keramik/pics/title-close.png
deleted file mode 100644
index b9a7a8f45..000000000
--- a/kstyles/keramik/pics/title-close.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/title-iconify.png b/kstyles/keramik/pics/title-iconify.png
deleted file mode 100644
index 6c87e05f3..000000000
--- a/kstyles/keramik/pics/title-iconify.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/title-maximize.png b/kstyles/keramik/pics/title-maximize.png
deleted file mode 100644
index 6a47ce12d..000000000
--- a/kstyles/keramik/pics/title-maximize.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/title-restore.png b/kstyles/keramik/pics/title-restore.png
deleted file mode 100644
index 12d48df42..000000000
--- a/kstyles/keramik/pics/title-restore.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/titlebutton-pressed.png b/kstyles/keramik/pics/titlebutton-pressed.png
deleted file mode 100644
index 23587dd2f..000000000
--- a/kstyles/keramik/pics/titlebutton-pressed.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/titlebutton.png b/kstyles/keramik/pics/titlebutton.png
deleted file mode 100644
index bb99c9b30..000000000
--- a/kstyles/keramik/pics/titlebutton.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/toolbar-clk-bc.png b/kstyles/keramik/pics/toolbar-clk-bc.png
deleted file mode 100644
index 4d8acdcde..000000000
--- a/kstyles/keramik/pics/toolbar-clk-bc.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/toolbar-clk-bl.png b/kstyles/keramik/pics/toolbar-clk-bl.png
deleted file mode 100644
index 891f380ed..000000000
--- a/kstyles/keramik/pics/toolbar-clk-bl.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/toolbar-clk-br.png b/kstyles/keramik/pics/toolbar-clk-br.png
deleted file mode 100644
index d2493b18e..000000000
--- a/kstyles/keramik/pics/toolbar-clk-br.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/toolbar-clk-cc.png b/kstyles/keramik/pics/toolbar-clk-cc.png
deleted file mode 100644
index 0ae970f6b..000000000
--- a/kstyles/keramik/pics/toolbar-clk-cc.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/toolbar-clk-cl.png b/kstyles/keramik/pics/toolbar-clk-cl.png
deleted file mode 100644
index 12467b4e7..000000000
--- a/kstyles/keramik/pics/toolbar-clk-cl.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/toolbar-clk-cr.png b/kstyles/keramik/pics/toolbar-clk-cr.png
deleted file mode 100644
index 75bea2f4c..000000000
--- a/kstyles/keramik/pics/toolbar-clk-cr.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/toolbar-clk-tc.png b/kstyles/keramik/pics/toolbar-clk-tc.png
deleted file mode 100644
index fcd0e8cd2..000000000
--- a/kstyles/keramik/pics/toolbar-clk-tc.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/toolbar-clk-tl.png b/kstyles/keramik/pics/toolbar-clk-tl.png
deleted file mode 100644
index 13625cf8e..000000000
--- a/kstyles/keramik/pics/toolbar-clk-tl.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/toolbar-clk-tr.png b/kstyles/keramik/pics/toolbar-clk-tr.png
deleted file mode 100644
index 1b8c8f33d..000000000
--- a/kstyles/keramik/pics/toolbar-clk-tr.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pics/vslider.png b/kstyles/keramik/pics/vslider.png
deleted file mode 100644
index e43857388..000000000
--- a/kstyles/keramik/pics/vslider.png
+++ /dev/null
Binary files differ
diff --git a/kstyles/keramik/pixmaploader.cpp b/kstyles/keramik/pixmaploader.cpp
deleted file mode 100644
index 00b4626fd..000000000
--- a/kstyles/keramik/pixmaploader.cpp
+++ /dev/null
@@ -1,629 +0,0 @@
-/*
- Copyright (c) 2002 Malte Starostik <malte@kde.org>
- (c) 2002,2003 Maksim Orlovich <maksim@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.
-*/
-
-// $Id$
-
-#include <tqapplication.h>
-#include <tqbitmap.h>
-#include <tqglobal.h>
-#include <tqimage.h>
-#include <tqpainter.h>
-#include <tqpixmap.h>
-#include <tqpixmapcache.h>
-
-#include "pixmaploader.h"
-
-
-#include "pixmaps.keramik"
-
-using namespace Keramik;
-
-PixmapLoader* PixmapLoader::s_instance = 0;
-
-PixmapLoader::PixmapLoader(): m_pixmapCache(327680, 2017)
-
-{
- m_pixmapCache.setAutoDelete(true);
-
- for (int c=0; c<256; c++)
- clamp[c]=static_cast<unsigned char>(c);
-
- for (int c=256; c<540; c++)
- clamp[c] = 255;
-
-}
-
-void PixmapLoader::clear()
-{
- //m_cache.clear();
-}
-
-TQImage* PixmapLoader::getDisabled(int name, const TQColor& color, const TQColor& back, bool blend)
-{
- KeramikEmbedImage* edata = KeramikGetDbImage(name);
- if (!edata)
- return 0;
-
- //Like getColored, but desaturate a bit, and lower gamma..
-
- //Create a real image...
- TQImage* img = new TQImage(edata->width, edata->height, 32);
-
-
-
- //OK, now, fill it in, using the color..
- TQ_UINT32 r, g,b;
- TQ_UINT32 i = tqGray(color.rgb());
- r = (3*color.red()+i)>>2;
- g = (3*color.green()+i)>>2;
- b = (3*color.blue()+i)>>2;
-
- TQ_UINT32 br = back.red(), bg = back.green(), bb = back.blue();
-
-
- if (edata->haveAlpha)
- {
- if (blend)
- {
- img->setAlphaBuffer(false);
- TQ_UINT32* write = reinterpret_cast< TQ_UINT32* >(img->bits() );
- int size = img->width()*img->height() * 3;
-
- for (int pos = 0; pos < size; pos+=3)
- {
- TQ_UINT32 scale = edata->data[pos];
- TQ_UINT32 add = (edata->data[pos+1]*i+127)>>8;
- TQ_UINT32 alpha = edata->data[pos+2];
- TQ_UINT32 destAlpha = 256 - alpha;
-
- TQ_UINT32 rr = clamp[((r*scale+127)>>8) + add];
- TQ_UINT32 rg = clamp[((g*scale+127)>>8) + add];
- TQ_UINT32 rb = clamp[((b*scale+127)>>8) + add];
-
- *write =tqRgb(((rr*alpha+127)>>8) + ((br*destAlpha+127)>>8),
- ((rg*alpha+127)>>8) + ((bg*destAlpha+127)>>8),
- ((rb*alpha+127)>>8) + ((bb*destAlpha+127)>>8));
-
- write++;
- }
- }
- else
- {
- img->setAlphaBuffer(true);
- TQ_UINT32* write = reinterpret_cast< TQ_UINT32* >(img->bits() );
- int size = img->width()*img->height() * 3;
-
- for (int pos = 0; pos < size; pos+=3)
- {
- TQ_UINT32 scale = edata->data[pos];
- TQ_UINT32 add = (edata->data[pos+1]*i+127)>>8;
- TQ_UINT32 alpha = edata->data[pos+2];
-
- TQ_UINT32 rr = clamp[((r*scale+127)>>8) + add];
- TQ_UINT32 rg = clamp[((g*scale+127)>>8) + add];
- TQ_UINT32 rb = clamp[((b*scale+127)>>8) + add];
-
- *write =tqRgba(rr, rg, rb, alpha);
-
- write++;
- }
-
- }
- }
- else
- {
- img->setAlphaBuffer(false);
- TQ_UINT32* write = reinterpret_cast< TQ_UINT32* >(img->bits() );
- int size = img->width()*img->height() * 2;
-
- for (int pos = 0; pos < size; pos+=2)
- {
- TQ_UINT32 scale = edata->data[pos];
- TQ_UINT32 add = (edata->data[pos+1]*i+127)>>8;
- TQ_UINT32 rr = clamp[((r*scale+127)>>8) + add];
- TQ_UINT32 rg = clamp[((g*scale+127)>>8) + add];
- TQ_UINT32 rb = clamp[((b*scale+127)>>8) + add];
- *write =tqRgb(rr, rg, rb);
- write++;
- }
- }
-
- return img;
-}
-
-TQImage* PixmapLoader::getColored(int name, const TQColor& color, const TQColor& back, bool blend)
-{
- KeramikEmbedImage* edata = KeramikGetDbImage(name);
- if (!edata)
- return 0;
-
- //Create a real image...
- TQImage* img = new TQImage(edata->width, edata->height, 32);
-
- //OK, now, fill it in, using the color..
- TQ_UINT32 r, g,b;
- r = color.red() + 2;
- g = color.green() + 2;
- b = color.blue() + 2;
-
-// int i = tqGray(color.rgb());
-
- TQ_UINT32 br = back.red(), bg = back.green(), bb = back.blue();
-
- if (edata->haveAlpha)
- {
- if (blend)
- {
- img->setAlphaBuffer(false);
-
- TQ_UINT32* write = reinterpret_cast< TQ_UINT32* >(img->bits() );
- int size = img->width()*img->height() * 3;
- for (int pos = 0; pos < size; pos+=3)
- {
- TQ_UINT32 scale = edata->data[pos];
- TQ_UINT32 add = edata->data[pos+1];
- TQ_UINT32 alpha = edata->data[pos+2];
- TQ_UINT32 destAlpha = 256 - alpha;
-
- if (scale != 0)
- add = add*5/4;
-
- TQ_UINT32 rr = clamp[((r*scale+127)>>8) + add];
- TQ_UINT32 rg = clamp[((g*scale+127)>>8) + add];
- TQ_UINT32 rb = clamp[((b*scale+127)>>8) + add];
-
- *write =tqRgb(((rr*alpha+127)>>8) + ((br*destAlpha+127)>>8),
- ((rg*alpha+127)>>8) + ((bg*destAlpha+127)>>8),
- ((rb*alpha+127)>>8) + ((bb*destAlpha+127)>>8));
-
- write++;
- }
- }
- else
- {
- img->setAlphaBuffer(true);
-
- TQ_UINT32* write = reinterpret_cast< TQ_UINT32* >(img->bits() );
- int size = img->width()*img->height() * 3;
-
- for (int pos = 0; pos < size; pos+=3)
- {
- TQ_UINT32 scale = edata->data[pos];
- TQ_UINT32 add = edata->data[pos+1];
- TQ_UINT32 alpha = edata->data[pos+2];
- if (scale != 0)
- add = add*5/4;
-
- TQ_UINT32 rr = clamp[((r*scale+127)>>8) + add];
- TQ_UINT32 rg = clamp[((g*scale+127)>>8) + add];
- TQ_UINT32 rb = clamp[((b*scale+127)>>8) + add];
-
- *write =tqRgba(rr, rg, rb, alpha);
- write++;
- }
- }
- }
- else
- {
- img->setAlphaBuffer(false);
-
- TQ_UINT32* write = reinterpret_cast< TQ_UINT32* >(img->bits() );
- int size = img->width()*img->height() * 2;
-
- for (int pos = 0; pos < size; pos+=2)
- {
- TQ_UINT32 scale = edata->data[pos];
- TQ_UINT32 add = edata->data[pos+1];
- if (scale != 0)
- add = add*5/4;
-
- TQ_UINT32 rr = clamp[((r*scale+127)>>8) + add];
- TQ_UINT32 rg = clamp[((g*scale+127)>>8) + add];
- TQ_UINT32 rb = clamp[((b*scale+127)>>8) + add];
-
-
- *write =tqRgb(rr, rg, rb);
- write++;
- }
- }
-
- return img;
-}
-
-TQPixmap PixmapLoader::pixmap( int name, const TQColor& color, const TQColor& bg, bool disabled, bool blend )
-{
- return scale(name, 0, 0, color, bg, disabled, blend);
-}
-
-
-TQPixmap PixmapLoader::scale( int name, int width, int height, const TQColor& color, const TQColor& bg, bool disabled, bool blend )
-{
- KeramikCacheEntry entry(name, color, bg, disabled, blend, width, height);
- KeramikCacheEntry* cacheEntry;
-
- int key = entry.key();
-
- if ((cacheEntry = m_pixmapCache.find(key, true)))
- {
- if (entry == *cacheEntry) //True match!
- return *cacheEntry->m_pixmap;
- else //Remove old entry in case of a conflict!
- m_pixmapCache.remove(key);
- }
-
-
- TQImage* img = 0;
- TQPixmap* result = 0;
-
- if (disabled)
- img = getDisabled(name, color, bg, blend);
- else
- img = getColored(name, color, bg, blend);
-
- if (!img)
- {
- KeramikCacheEntry* toAdd = new KeramikCacheEntry(entry);
- toAdd->m_pixmap = new TQPixmap();
- m_pixmapCache.insert(key, toAdd, 16);
- return TQPixmap();
- }
-
- if (width == 0 && height == 0)
- result = new TQPixmap(*img);
- else
- result = new TQPixmap(img->smoothScale( width ? width : img->width(),
- height ? height: img->height()));
- delete img;
-
- KeramikCacheEntry* toAdd = new KeramikCacheEntry(entry);
- toAdd->m_pixmap = result;
-
- if (!m_pixmapCache.insert(key, toAdd, result->width()*result->height()*result->depth()/8)) {
- TQPixmap toRet = *result;
- delete toAdd;
- return toRet;
- }
-
- return *result;
-}
-
-TQSize PixmapLoader::size( int id )
-{
- KeramikEmbedImage* edata = KeramikGetDbImage(id);
- if (!edata)
- return TQSize(0,0);
- return TQSize(edata->width, edata->height);
-}
-
-void TilePainter::draw( TQPainter *p, int x, int y, int width, int height, const TQColor& color, const TQColor& bg, bool disabled, PaintMode mode )
-{
- if (mode == PaintTrivialMask)
- {
- p->fillRect(x, y, width, height, Qt::color1);
- return;
- }
-
- bool swBlend = (mode != PaintFullBlend);
- unsigned int scaledColumns = 0, scaledRows = 0, lastScaledColumn = 0, lastScaledRow = 0;
- int scaleWidth = width, scaleHeight = height;
-
- //scaleWidth, scaleHeight are calculated to contain the area available
- //for all tiled and stretched columns/rows respectively.
- //This is need to redistribute the area remaining after painting
- //the "fixed" elements. We also keep track of the last col and row
- //being scaled so rounding errors don't cause us to be short a pixel or so.
- for ( unsigned int col = 0; col < columns(); ++col )
- if ( columnMode( col ) != Fixed )
- {
- scaledColumns++;
- lastScaledColumn = col;
- }
- else scaleWidth -= PixmapLoader::the().size (absTileName( col, 0 ) ).width();
-
- for ( unsigned int row = 0; row < rows(); ++row )
- if ( rowMode( row ) != Fixed )
- {
- scaledRows++;
- lastScaledRow = row;
- }
- else scaleHeight -= PixmapLoader::the().size (absTileName( 0, row ) ).height();
-
-
- if ( scaleWidth < 0 ) scaleWidth = 0;
- if ( scaleHeight < 0 ) scaleHeight = 0;
-
-
- int ypos = y;
-
- //Center vertically if everything is fixed but there is extra room remaining
- if ( scaleHeight && !scaledRows )
- ypos += scaleHeight / 2;
-
- for ( unsigned int row = 0; row < rows(); ++row )
- {
- int xpos = x;
-
- //Center horizontally if extra space and no where to redistribute it to...
- if ( scaleWidth && !scaledColumns )
- xpos += scaleWidth / 2;
-
- //If not fixed vertically, calculate our share of space available
- //for scalable rows.
- int h = rowMode( row ) == Fixed ? 0 : scaleHeight / scaledRows;
-
- //Redistribute any "extra" pixels to the last scaleable row.
- if ( scaledRows && row == lastScaledRow )
- {
- int allocatedEvenly = scaleHeight / scaledRows * scaledRows;
- h += scaleHeight - allocatedEvenly;
- }
-
-
- //If we're fixed, get the height from the pixmap itself.
- int realH = h ? h : PixmapLoader::the().size (absTileName( 0, row ) ).height();
-
- //Skip non-fitting stretched/tiled rows, too.
- if (rowMode( row ) != Fixed && h == 0)
- continue;
-
-
- //Set h to 0 to denote that we aren't scaling
- if ( rowMode( row ) == Tiled )
- h = 0;
-
- for ( unsigned int col = 0; col < columns(); ++col )
- {
- //Calculate width for rows that aren't fixed.
- int w = columnMode( col ) == Fixed ? 0 : scaleWidth / scaledColumns;
-
- //Get the width of the pixmap..
- int tileW = PixmapLoader::the().size (absTileName( col, row ) ).width();
-
- //Redistribute any extra pixels..
- if ( scaledColumns && col == lastScaledColumn ) w += scaleWidth - scaleWidth / scaledColumns * scaledColumns;
-
- //The width to use...
- int realW = w ? w : tileW;
-
- //Skip any non-fitting stretched/tiled columns
- if (columnMode( col ) != Fixed && w == 0)
- continue;
-
- //Set w to 0 to denote that we aren't scaling
- if ( columnMode( col ) == Tiled )
- w = 0;
-
- //If we do indeed have a pixmap..
- if ( tileW )
- {
- //If scaling in either direction.
- if ( w || h )
- {
- if (mode != PaintMask)
- {
- p->drawTiledPixmap( xpos, ypos, realW, realH, scale( col, row, w, h, color, bg, disabled, swBlend ) );
- }
- else
- {
- const TQBitmap* mask = scale( col, row, w, h, color, bg, disabled, false ).mask();
- if (mask)
- {
- p->setBackgroundColor(Qt::color0);
- p->setPen(Qt::color1);
- p->drawTiledPixmap( xpos, ypos, realW, realH, *mask);
- }
- else
- p->fillRect ( xpos, ypos, realW, realH, Qt::color1);
- }
- }
- else
- {
- //Tiling (or fixed, the same really)
- if (mode != PaintMask)
- {
- p->drawTiledPixmap( xpos, ypos, realW, realH, tile( col, row, color, bg, disabled, swBlend ) );
- }
- else
- {
- const TQBitmap* mask = tile( col, row, color, bg, disabled, false ).mask();
- if (mask)
- {
- p->setBackgroundColor(Qt::color0);
- p->setPen(Qt::color1);
- p->drawTiledPixmap( xpos, ypos, realW, realH, *mask);
- }
- else
- p->fillRect ( xpos, ypos, realW, realH, Qt::color1);
-
- }
- }
- }
-
- //Advance horizontal position
- xpos += realW;
- }
-
- //Advance vertical position
- ypos += realH;
- }
-}
-
-RectTilePainter::RectTilePainter( int name,
- bool scaleH, bool scaleV,
- unsigned int columns, unsigned int rows )
- : TilePainter( name ),
- m_scaleH( scaleH ),
- m_scaleV( scaleV )
-{
- m_columns = columns;
- m_rows = rows;
-
- TileMode mh = m_scaleH ? Scaled : Tiled;
- TileMode mv = m_scaleV ? Scaled : Tiled;
- for (int c=0; c<4; c++)
- {
- if (c != 1)
- colMde[c] = Fixed;
- else
- colMde[c] = mh;
- }
-
- for (int c=0; c<4; c++)
- {
- if (c != 1)
- rowMde[c] = Fixed;
- else
- rowMde[c] = mv;
- }
-
-}
-
-int RectTilePainter::tileName( unsigned int column, unsigned int row ) const
-{
- return row *3 + column;
-}
-
-ActiveTabPainter::ActiveTabPainter( bool bottom )
- : RectTilePainter( bottom? keramik_tab_bottom_active: keramik_tab_top_active, false),
- m_bottom( bottom )
-{
- m_rows = 2;
- if (m_bottom)
- {
- rowMde[0] = rowMde[2] = rowMde[3] = Scaled;
- rowMde[1] = Fixed;
- }
- else
- {
- rowMde[0] = rowMde[2] = rowMde[3] = Fixed;
- rowMde[1] = Scaled;
- }
-}
-
-int ActiveTabPainter::tileName( unsigned int column, unsigned int row ) const
-{
- if ( m_bottom )
- return RectTilePainter::tileName( column, row + 1 );
- return RectTilePainter::tileName( column, row );
-}
-
-InactiveTabPainter::InactiveTabPainter( Mode mode, bool bottom )
- : RectTilePainter( bottom? keramik_tab_bottom_inactive: keramik_tab_top_inactive, false),
- m_mode( mode ), m_bottom( bottom )
-{
- m_rows = 2;
- if (m_bottom)
- {
- rowMde[0] = Scaled;
- rowMde[1] = Fixed;
- }
- else
- {
- rowMde[0] = Fixed;
- rowMde[1] = Scaled;
- }
-
- /**
- Most fully, inactive tabs look like this:
- L C R
- / --- \
- | === |
-
- Where L,C, and R denote the tile positions. Of course, we don't want to draw all of the rounding for all the tabs.
-
- We want the left-most tab to look like this:
-
- L C
- / --
- | ==
-
- "Middle" tabs look like this:
-
- L C
- | --
- | ==
-
- And the right most tab looks like this:
-
- L C R
- | -- \
- | == |
-
- So we have to vary the number of columns, and for everything but left-most tab, the L tab gets the special separator
- tile.
- */
-
- Mode rightMost = TQApplication::reverseLayout() ? First : Last;
- m_columns = (m_mode == rightMost ? 3 : 2);
-}
-
-int InactiveTabPainter::tileName( unsigned int column, unsigned int row ) const
-{
- Mode leftMost = TQApplication::reverseLayout() ? Last : First;
- if ( column == 0 && m_mode != leftMost )
- return KeramikTileSeparator;
- if ( m_bottom )
- return RectTilePainter::tileName( column, row + 1 );
- return RectTilePainter::tileName( column, row );
-}
-
-ScrollBarPainter::ScrollBarPainter( int type, int count, bool horizontal )
- : TilePainter( name( horizontal ) ),
- m_type( type ),
- m_count( count ),
- m_horizontal( horizontal )
-{
- for (int c=0; c<5; c++)
- {
- if ( !m_horizontal || !( c % 2 ) ) colMde[c] = Fixed;
- else colMde[c] = Tiled;
-
- if ( m_horizontal || !( c % 2 ) ) rowMde[c] = Fixed;
- else rowMde[c] = Tiled;
- }
-
- m_columns = m_horizontal ? m_count : 1;
- m_rows = m_horizontal ? 1 : m_count;
-
-}
-
-int ScrollBarPainter::name( bool horizontal )
-{
- return horizontal? keramik_scrollbar_hbar: keramik_scrollbar_vbar;
-}
-
-int ScrollBarPainter::tileName( unsigned int column, unsigned int row ) const
-{
- unsigned int num = ( column ? column : row ) + 1;
- if ( m_count == 5 )
- if ( num == 3 ) num = 4;
- else if ( num == 4 ) num = 2;
- else if ( num == 5 ) num = 3;
-
- return m_type + (num-1)*16;
-}
-
-int SpinBoxPainter::tileName( unsigned int column, unsigned int ) const
-{
- return column + 1;
-}
-
-// vim: ts=4 sw=4 noet
-// kate: indent-width 4; replace-tabs off; tab-width 4; space-indent off;
diff --git a/kstyles/keramik/pixmaploader.h b/kstyles/keramik/pixmaploader.h
deleted file mode 100644
index ab0bb4223..000000000
--- a/kstyles/keramik/pixmaploader.h
+++ /dev/null
@@ -1,367 +0,0 @@
-/*
- Copyright (c) 2002 Malte Starostik <malte@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.
-*/
-
-// $Id$
-
-#ifndef __pixmaploader_h__
-#define __pixmaploader_h__
-
-#include <tqintcache.h>
-#include <tqdict.h>
-#include <tqimage.h>
-
-class TQPixmap;
-class TQImage;
-
-#include "keramikrc.h"
-
-namespace Keramik
-{
- class PixmapLoader
- {
- public:
- PixmapLoader();
-
- TQPixmap pixmap( int name, const TQColor& color, const TQColor& bg,
- bool disabled = false, bool blend = true );
-
- TQPixmap scale( int name, int width, int height, const TQColor& color, const TQColor& bg,
- bool disabled = false, bool blend = true );
- TQSize size( int id );
-
- void clear();
-
- static PixmapLoader& the()
- {
- if (!s_instance)
- s_instance = new PixmapLoader;
- return *s_instance;
- }
-
- static void release()
- {
- delete s_instance;
- s_instance = 0;
- }
-
- private:
-
- struct KeramikCacheEntry
- {
- int m_id;
- int m_width;
- int m_height;
- QRgb m_colorCode;
- QRgb m_bgCode;
- bool m_disabled;
- bool m_blended;
-
- TQPixmap* m_pixmap;
-
- KeramikCacheEntry(int id, const TQColor& color, const TQColor& bg, bool disabled,
- bool blended, int width, int height, TQPixmap* pixmap = 0 ):
- m_id(id), m_width(width), m_height(height), m_colorCode(color.rgb()),m_bgCode(bg.rgb()),
- m_disabled(disabled), m_blended(blended), m_pixmap(pixmap)
- {}
-
- int key()
- {
- return (int)m_disabled ^ (m_blended << 1) ^ (m_id<<2) ^ (m_width<<14) ^ (m_height<<24) ^ m_colorCode ^ (m_bgCode<<8);
- }
-
- bool operator == (const KeramikCacheEntry& other)
- {
- return (m_id == other.m_id) &&
- (m_width == other.m_width) &&
- (m_height == other.m_height) &&
- (m_blended == other.m_blended) &&
- (m_bgCode == other.m_bgCode) &&
- (m_colorCode == other.m_colorCode) &&
- (m_disabled == other.m_disabled);
- }
-
- ~KeramikCacheEntry()
- {
- delete m_pixmap;
- }
- };
-
-
-
- TQImage* getColored(int id, const TQColor& color, const TQColor& bg, bool blended);
- TQImage* getDisabled(int id, const TQColor& color, const TQColor& bg, bool blended);
- TQIntCache <KeramikCacheEntry> m_pixmapCache;
-
-
- unsigned char clamp[540];
-
- static PixmapLoader* s_instance;
- };
-
- class TilePainter
- {
- public:
- TilePainter( int name ) : m_columns(1),m_rows(1),m_name( name ) {};
- virtual ~TilePainter() {};
-
- enum PaintMode
- {
- PaintNormal,
- PaintMask,
- PaintFullBlend,
- PaintTrivialMask
- };
-
- void draw( TQPainter *p, int x, int y, int width, int height, const TQColor& color, const TQColor& bg,
- bool disabled = false, PaintMode mode = PaintNormal );
- void draw( TQPainter *p, const TQRect& rect, const TQColor& color, const TQColor& bg, bool disabled = false, PaintMode mode = PaintNormal )
- {
- draw( p, rect.x(), rect.y(), rect.width(), rect.height(), color, bg, disabled, mode );
- }
-
- protected:
- enum TileMode { Fixed, Scaled, Tiled };
-
- unsigned int columns() const { return m_columns; }
- unsigned int rows() const { return m_rows; }
-
- /**
- The idea behind all this stuff is that for performance reasons, we want to
- use only integers to refer to widgets. So we give each widget a base ID
- that's divisible by 256, and have all the various tiles be referred to as that ID +
- some small number.
-
- genembed generates and assigns the base widget IDs, and maps various pixmaps suffixes
- into the adjustment numbers; using that info it writes out the tables mapping
- the IDs to pixmaps, and keramikrc.h, which provides nice symbolic constants for base IDs.
-
- When painting, however, we essentially represent the widget as a table, providing
- fixed/tiled/stretched modes for each column and row. So to draw the widget knowing its
- base ID, we need to know how many rows and columns there, what the scaling modes
- are, and how to get to each of the tiles -- i.e. the tiles' offset from the base ID.
-
- The various painter subclasses simply fill in most of that info into the members
- here during their construction, and implement the virtual tileName to get the offsets.
-
- Note that the IDs and offsets are separated since we can reuse the same code in many
- cases by splitting the widget identify from tile identity (as there are many
- different widgets that have the same or similar tile layout)
- */
- virtual int tileName( unsigned int, unsigned int ) const { return 0; }
-
- TileMode columnMode( unsigned int col) const
- {
- return colMde[col];
- }
-
- TileMode rowMode( unsigned int row) const
- {
- return rowMde[row];
- }
-
- protected:
- TileMode colMde[5], rowMde[5];
- unsigned int m_columns;
- unsigned int m_rows;
- private:
-
- int absTileName( unsigned int column, unsigned int row ) const
- {
- int name = tileName( column, row );
- return m_name + name;
- }
-
-
- TQPixmap tile( unsigned int column, unsigned int row, const TQColor& color, const TQColor& bg, bool disabled, bool blend)
- { return PixmapLoader::the().pixmap( absTileName( column, row ), color, bg, disabled, blend ); }
- TQPixmap scale( unsigned int column, unsigned int row, int width, int height, const TQColor& color, const TQColor& bg,
- bool disabled, bool blend )
- { return PixmapLoader::the().scale( absTileName( column, row ), width, height, color,
- bg, disabled, blend ); }
-
- int m_name;
-
- };
-
- class ScaledPainter : public TilePainter
- {
- public:
- enum Direction { Horizontal = 1, Vertical = 2, Both = Horizontal | Vertical };
- ScaledPainter( int name, Direction direction = Both )
- : TilePainter( name ), m_direction( direction )
- {
- colMde[0] = ( m_direction & Horizontal ) ? Scaled : Tiled;
- rowMde[0] = ( m_direction & Vertical ) ? Scaled : Tiled;
- }
-
- virtual ~ScaledPainter() {};
-
- private:
- Direction m_direction;
- };
-
- class CenteredPainter : public TilePainter
- {
- public:
- CenteredPainter( int name ) : TilePainter( name ) {
- colMde[0] = colMde[1] = colMde[2] = colMde[3] = Fixed;
- rowMde[0] = rowMde[1] = rowMde[2] = rowMde[3] = Fixed;
- };
- virtual ~CenteredPainter() {};
-
- protected:
- };
-
- class RectTilePainter : public TilePainter
- {
- public:
- RectTilePainter( int name,
- bool scaleH = true, bool scaleV = true,
- unsigned int columns = 3, unsigned int rows = 3 );
-
- virtual ~RectTilePainter() {};
-
- protected:
- virtual int tileName( unsigned int column, unsigned int row ) const;
- private:
- bool m_scaleH;
- bool m_scaleV;
- };
-
- class RowPainter: public TilePainter
- {
- public:
- RowPainter(int name): TilePainter(name)
- {
- colMde[0] = colMde[2] = Fixed;
- colMde[1] = Tiled;
- rowMde[0] = Scaled;
- m_columns = 3;
- }
-
- virtual ~RowPainter() {};
- protected:
- virtual int tileName( unsigned int column, unsigned int /*row*/) const
- {
- return column + 3; //So can use cl, cc, cr
- }
- };
-
- class ProgressBarPainter: public TilePainter
- {
- public:
- ProgressBarPainter(int name, bool reverse): TilePainter(name), m_reverse(reverse)
- {
- //We use only of the tip bitmaps..
- if (reverse)
- {
- colMde[0] = Fixed;
- colMde[1] = Tiled;
- }
- else
- {
- colMde[0] = Tiled;
- colMde[1] = Fixed;
- }
- rowMde[0] = Scaled;
-
- m_columns = 2;
- }
-
- virtual ~ProgressBarPainter() {};
- protected:
- virtual int tileName( unsigned int column, unsigned int /*row*/ ) const
- {
- if (m_reverse)
- {
- return column + 3; //So can use cl, cc, cr
- }
- else
- return column + 4; //So can use cl, cc, cr + we start from cc.
-
- }
-
- bool m_reverse;
- };
-
-
- class ActiveTabPainter : public RectTilePainter
- {
- public:
- ActiveTabPainter( bool bottom );
- virtual ~ActiveTabPainter() {};
-
- protected:
- virtual int tileName( unsigned int column, unsigned int row ) const;
-
- private:
- bool m_bottom;
- };
-
- class InactiveTabPainter : public RectTilePainter
- {
- public:
- enum Mode { First, Middle, Last };
- InactiveTabPainter( Mode mode, bool bottom );
- virtual ~InactiveTabPainter() {};
-
- protected:
- virtual int tileName( unsigned int column, unsigned int row ) const;
-
- private:
- Mode m_mode;
- bool m_bottom;
- };
-
- class ScrollBarPainter : public TilePainter
- {
- public:
- ScrollBarPainter( int type, int count, bool horizontal );
- virtual ~ScrollBarPainter() {};
-
- static int name( bool horizontal );
-
- protected:
- virtual int tileName( unsigned int column, unsigned int row ) const;
- private:
- int m_type;
- int m_count;
- bool m_horizontal;
- };
-
- class SpinBoxPainter : public TilePainter
- {
- public:
- SpinBoxPainter() : TilePainter( keramik_spinbox ) {
- colMde[0] = colMde[2] = Fixed;
- colMde[1] = Scaled;
- rowMde[0]=rowMde[1]=rowMde[2] = Scaled;
- m_columns = 3;
- };
- virtual ~SpinBoxPainter() {};
-
- protected:
- virtual int tileName( unsigned int column, unsigned int row ) const;
- };
-}
-
-#endif
-
-// vim: ts=4 sw=4 noet
-// kate: indent-width 4; replace-tabs off; tab-width 4;