Browse Source

Initial import

r14.0.x
Timothy Pearson 10 years ago
commit
7506cadc8d
  1. 178
      Makefile
  2. 271
      plugin/Makefile
  3. 28
      plugin/plugin.pro
  4. 1586
      plugin/simplestyle.cpp
  5. 75
      plugin/simplestyle.h
  6. 64
      plugin/simplestyleplugin.cpp
  7. 64
      plugin/simplestyleplugin.h
  8. 772
      plugin/tdeqt4painter.cpp
  9. 49
      plugin/tdeqt4painter.h
  10. 13
      styleplugin.pro
  11. BIN
      styles/libsimplestyleplugin.so
  12. 239
      stylewindow/Makefile
  13. 57
      stylewindow/main.cpp
  14. 91
      stylewindow/stylewindow.cpp
  15. 54
      stylewindow/stylewindow.h
  16. 19
      stylewindow/stylewindow.pro
  17. 47
      thingstofix.txt
  18. 167
      tqt3reference/Makefile
  19. 56
      tqt3reference/main.cpp
  20. 114
      tqt3reference/stylewindow.cpp
  21. 54
      tqt3reference/stylewindow.h
  22. 24
      tqt3reference/stylewindow.pro
  23. 239
      unstyledwindow/Makefile
  24. 57
      unstyledwindow/main.cpp
  25. 87
      unstyledwindow/stylewindow.cpp
  26. 54
      unstyledwindow/stylewindow.h
  27. 19
      unstyledwindow/unstyledwindow.pro

178
Makefile

@ -0,0 +1,178 @@
#############################################################################
# Makefile for building: styleplugin
# Generated by qmake (2.01a) (Qt 4.7.0) on: Sat Mar 10 16:06:16 2012
# Project: styleplugin.pro
# Template: subdirs
# Command: /usr/bin/qmake-qt4 -o Makefile styleplugin.pro
#############################################################################
first: make_default
MAKEFILE = Makefile
QMAKE = /usr/bin/qmake-qt4
DEL_FILE = rm -f
CHK_DIR_EXISTS= test -d
MKDIR = mkdir -p
COPY = cp -f
COPY_FILE = $(COPY)
COPY_DIR = $(COPY) -r
INSTALL_FILE = install -m 644 -p
INSTALL_PROGRAM = install -m 755 -p
INSTALL_DIR = $(COPY_DIR)
DEL_FILE = rm -f
SYMLINK = ln -f -s
DEL_DIR = rmdir
MOVE = mv -f
CHK_DIR_EXISTS= test -d
MKDIR = mkdir -p
SUBTARGETS = \
sub-stylewindow \
sub-plugin \
sub-unstyledwindow
stylewindow//$(MAKEFILE):
@$(CHK_DIR_EXISTS) stylewindow/ || $(MKDIR) stylewindow/
cd stylewindow/ && $(QMAKE) /home/eldarion/experimental/qt4-tqt-theme-engine/stylewindow/stylewindow.pro -o $(MAKEFILE)
sub-stylewindow-qmake_all: FORCE
@$(CHK_DIR_EXISTS) stylewindow/ || $(MKDIR) stylewindow/
cd stylewindow/ && $(QMAKE) /home/eldarion/experimental/qt4-tqt-theme-engine/stylewindow/stylewindow.pro -o $(MAKEFILE)
sub-stylewindow: stylewindow//$(MAKEFILE) FORCE
cd stylewindow/ && $(MAKE) -f $(MAKEFILE)
sub-stylewindow-make_default: stylewindow//$(MAKEFILE) FORCE
cd stylewindow/ && $(MAKE) -f $(MAKEFILE)
sub-stylewindow-make_first: stylewindow//$(MAKEFILE) FORCE
cd stylewindow/ && $(MAKE) -f $(MAKEFILE) first
sub-stylewindow-all: stylewindow//$(MAKEFILE) FORCE
cd stylewindow/ && $(MAKE) -f $(MAKEFILE) all
sub-stylewindow-clean: stylewindow//$(MAKEFILE) FORCE
cd stylewindow/ && $(MAKE) -f $(MAKEFILE) clean
sub-stylewindow-distclean: stylewindow//$(MAKEFILE) FORCE
cd stylewindow/ && $(MAKE) -f $(MAKEFILE) distclean
sub-stylewindow-install_subtargets: stylewindow//$(MAKEFILE) FORCE
cd stylewindow/ && $(MAKE) -f $(MAKEFILE) install
sub-stylewindow-uninstall_subtargets: stylewindow//$(MAKEFILE) FORCE
cd stylewindow/ && $(MAKE) -f $(MAKEFILE) uninstall
plugin//$(MAKEFILE):
@$(CHK_DIR_EXISTS) plugin/ || $(MKDIR) plugin/
cd plugin/ && $(QMAKE) /home/eldarion/experimental/qt4-tqt-theme-engine/plugin/plugin.pro -o $(MAKEFILE)
sub-plugin-qmake_all: FORCE
@$(CHK_DIR_EXISTS) plugin/ || $(MKDIR) plugin/
cd plugin/ && $(QMAKE) /home/eldarion/experimental/qt4-tqt-theme-engine/plugin/plugin.pro -o $(MAKEFILE)
sub-plugin: plugin//$(MAKEFILE) FORCE
cd plugin/ && $(MAKE) -f $(MAKEFILE)
sub-plugin-make_default: plugin//$(MAKEFILE) FORCE
cd plugin/ && $(MAKE) -f $(MAKEFILE)
sub-plugin-make_first: plugin//$(MAKEFILE) FORCE
cd plugin/ && $(MAKE) -f $(MAKEFILE) first
sub-plugin-all: plugin//$(MAKEFILE) FORCE
cd plugin/ && $(MAKE) -f $(MAKEFILE) all
sub-plugin-clean: plugin//$(MAKEFILE) FORCE
cd plugin/ && $(MAKE) -f $(MAKEFILE) clean
sub-plugin-distclean: plugin//$(MAKEFILE) FORCE
cd plugin/ && $(MAKE) -f $(MAKEFILE) distclean
sub-plugin-install_subtargets: plugin//$(MAKEFILE) FORCE
cd plugin/ && $(MAKE) -f $(MAKEFILE) install
sub-plugin-uninstall_subtargets: plugin//$(MAKEFILE) FORCE
cd plugin/ && $(MAKE) -f $(MAKEFILE) uninstall
unstyledwindow//$(MAKEFILE):
@$(CHK_DIR_EXISTS) unstyledwindow/ || $(MKDIR) unstyledwindow/
cd unstyledwindow/ && $(QMAKE) /home/eldarion/experimental/qt4-tqt-theme-engine/unstyledwindow/unstyledwindow.pro -o $(MAKEFILE)
sub-unstyledwindow-qmake_all: FORCE
@$(CHK_DIR_EXISTS) unstyledwindow/ || $(MKDIR) unstyledwindow/
cd unstyledwindow/ && $(QMAKE) /home/eldarion/experimental/qt4-tqt-theme-engine/unstyledwindow/unstyledwindow.pro -o $(MAKEFILE)
sub-unstyledwindow: unstyledwindow//$(MAKEFILE) FORCE
cd unstyledwindow/ && $(MAKE) -f $(MAKEFILE)
sub-unstyledwindow-make_default: unstyledwindow//$(MAKEFILE) FORCE
cd unstyledwindow/ && $(MAKE) -f $(MAKEFILE)
sub-unstyledwindow-make_first: unstyledwindow//$(MAKEFILE) FORCE
cd unstyledwindow/ && $(MAKE) -f $(MAKEFILE) first
sub-unstyledwindow-all: unstyledwindow//$(MAKEFILE) FORCE
cd unstyledwindow/ && $(MAKE) -f $(MAKEFILE) all
sub-unstyledwindow-clean: unstyledwindow//$(MAKEFILE) FORCE
cd unstyledwindow/ && $(MAKE) -f $(MAKEFILE) clean
sub-unstyledwindow-distclean: unstyledwindow//$(MAKEFILE) FORCE
cd unstyledwindow/ && $(MAKE) -f $(MAKEFILE) distclean
sub-unstyledwindow-install_subtargets: unstyledwindow//$(MAKEFILE) FORCE
cd unstyledwindow/ && $(MAKE) -f $(MAKEFILE) install
sub-unstyledwindow-uninstall_subtargets: unstyledwindow//$(MAKEFILE) FORCE
cd unstyledwindow/ && $(MAKE) -f $(MAKEFILE) uninstall
Makefile: styleplugin.pro /usr/share/qt4/mkspecs/linux-g++/qmake.conf /usr/share/qt4/mkspecs/common/g++.conf \
/usr/share/qt4/mkspecs/common/unix.conf \
/usr/share/qt4/mkspecs/common/linux.conf \
/usr/share/qt4/mkspecs/qconfig.pri \
/usr/share/qt4/mkspecs/features/qt_functions.prf \
/usr/share/qt4/mkspecs/features/qt_config.prf \
/usr/share/qt4/mkspecs/features/exclusive_builds.prf \
/usr/share/qt4/mkspecs/features/default_pre.prf \
/usr/share/qt4/mkspecs/features/release.prf \
/usr/share/qt4/mkspecs/features/default_post.prf \
/usr/share/qt4/mkspecs/features/warn_on.prf \
/usr/share/qt4/mkspecs/features/qt.prf \
/usr/share/qt4/mkspecs/features/unix/thread.prf \
/usr/share/qt4/mkspecs/features/moc.prf \
/usr/share/qt4/mkspecs/features/resources.prf \
/usr/share/qt4/mkspecs/features/uic.prf \
/usr/share/qt4/mkspecs/features/yacc.prf \
/usr/share/qt4/mkspecs/features/lex.prf \
/usr/share/qt4/mkspecs/features/include_source_dir.prf
$(QMAKE) -o Makefile styleplugin.pro
/usr/share/qt4/mkspecs/common/g++.conf:
/usr/share/qt4/mkspecs/common/unix.conf:
/usr/share/qt4/mkspecs/common/linux.conf:
/usr/share/qt4/mkspecs/qconfig.pri:
/usr/share/qt4/mkspecs/features/qt_functions.prf:
/usr/share/qt4/mkspecs/features/qt_config.prf:
/usr/share/qt4/mkspecs/features/exclusive_builds.prf:
/usr/share/qt4/mkspecs/features/default_pre.prf:
/usr/share/qt4/mkspecs/features/release.prf:
/usr/share/qt4/mkspecs/features/default_post.prf:
/usr/share/qt4/mkspecs/features/warn_on.prf:
/usr/share/qt4/mkspecs/features/qt.prf:
/usr/share/qt4/mkspecs/features/unix/thread.prf:
/usr/share/qt4/mkspecs/features/moc.prf:
/usr/share/qt4/mkspecs/features/resources.prf:
/usr/share/qt4/mkspecs/features/uic.prf:
/usr/share/qt4/mkspecs/features/yacc.prf:
/usr/share/qt4/mkspecs/features/lex.prf:
/usr/share/qt4/mkspecs/features/include_source_dir.prf:
qmake: qmake_all FORCE
@$(QMAKE) -o Makefile styleplugin.pro
qmake_all: sub-stylewindow-qmake_all sub-plugin-qmake_all sub-unstyledwindow-qmake_all FORCE
make_default: sub-stylewindow-make_default sub-plugin-make_default sub-unstyledwindow-make_default FORCE
make_first: sub-stylewindow-make_first sub-plugin-make_first sub-unstyledwindow-make_first FORCE
all: sub-stylewindow-all sub-plugin-all sub-unstyledwindow-all FORCE
clean: sub-stylewindow-clean sub-plugin-clean sub-unstyledwindow-clean FORCE
distclean: sub-stylewindow-distclean sub-plugin-distclean sub-unstyledwindow-distclean FORCE
-$(DEL_FILE) Makefile
install_subtargets: sub-stylewindow-install_subtargets sub-plugin-install_subtargets sub-unstyledwindow-install_subtargets FORCE
uninstall_subtargets: sub-stylewindow-uninstall_subtargets sub-plugin-uninstall_subtargets sub-unstyledwindow-uninstall_subtargets FORCE
sub-stylewindow-check: stylewindow/$(MAKEFILE)
cd stylewindow/ && $(MAKE) check
sub-plugin-check: plugin/$(MAKEFILE)
cd plugin/ && $(MAKE) check
sub-unstyledwindow-check: unstyledwindow/$(MAKEFILE)
cd unstyledwindow/ && $(MAKE) check
check: sub-stylewindow-check sub-plugin-check sub-unstyledwindow-check
mocclean: compiler_moc_header_clean compiler_moc_source_clean
mocables: compiler_moc_header_make_all compiler_moc_source_make_all
install_sources: FORCE
@$(CHK_DIR_EXISTS) $(INSTALL_ROOT)/usr/lib/qt4/examples/tools/styleplugin/ || $(MKDIR) $(INSTALL_ROOT)/usr/lib/qt4/examples/tools/styleplugin/
-$(INSTALL_FILE) /home/eldarion/experimental/qt4-tqt-theme-engine/styleplugin.pro $(INSTALL_ROOT)/usr/lib/qt4/examples/tools/styleplugin/
uninstall_sources: FORCE
-$(DEL_FILE) -r $(INSTALL_ROOT)/usr/lib/qt4/examples/tools/styleplugin/styleplugin.pro
-$(DEL_DIR) $(INSTALL_ROOT)/usr/lib/qt4/examples/tools/styleplugin/
install: install_subtargets install_sources FORCE
uninstall: uninstall_sources uninstall_subtargets FORCE
FORCE:

271
plugin/Makefile

@ -0,0 +1,271 @@
#############################################################################
# Makefile for building: libsimplestyleplugin.so
# Generated by qmake (2.01a) (Qt 4.7.0) on: Sat Mar 10 16:06:19 2012
# Project: plugin.pro
# Template: lib
# Command: /usr/bin/qmake-qt4 -o Makefile plugin.pro
#############################################################################
####### Compiler, tools and options
CC = gcc
CXX = g++
DEFINES = -DQT_NO_DEBUG -DQT_PLUGIN -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED
CFLAGS = -pipe -O2 -Wall -W -D_REENTRANT -fPIC $(DEFINES)
CXXFLAGS = -pipe -O2 -Wall -W -D_REENTRANT -fPIC $(DEFINES)
INCPATH = -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I/usr/include/tqt3 -I/usr/include/tqt -I/opt/trinity/include -I.
LINK = g++
LFLAGS = -Wl,-O1 -shared
LIBS = $(SUBLIBS) -L/usr/lib -L/usr/lib -ltqt -ltqt-mt -L /opt/trinity/lib -lDCOP -ltdecore -lQtGui -lQtCore -lpthread
AR = ar cqs
RANLIB =
QMAKE = /usr/bin/qmake-qt4
TAR = tar -cf
COMPRESS = gzip -9f
COPY = cp -f
SED = sed
COPY_FILE = $(COPY)
COPY_DIR = $(COPY) -r
STRIP = strip
INSTALL_FILE = install -m 644 -p
INSTALL_DIR = $(COPY_DIR)
INSTALL_PROGRAM = install -m 755 -p
DEL_FILE = rm -f
SYMLINK = ln -f -s
DEL_DIR = rmdir
MOVE = mv -f
CHK_DIR_EXISTS= test -d
MKDIR = mkdir -p
####### Output directory
OBJECTS_DIR = ./
####### Files
SOURCES = simplestyle.cpp \
simplestyleplugin.cpp \
tdeqt4painter.cpp moc_simplestyle.cpp \
moc_simplestyleplugin.cpp
OBJECTS = simplestyle.o \
simplestyleplugin.o \
tdeqt4painter.o \
moc_simplestyle.o \
moc_simplestyleplugin.o
DIST = /usr/share/qt4/mkspecs/common/g++.conf \
/usr/share/qt4/mkspecs/common/unix.conf \
/usr/share/qt4/mkspecs/common/linux.conf \
/usr/share/qt4/mkspecs/qconfig.pri \
/usr/share/qt4/mkspecs/features/qt_functions.prf \
/usr/share/qt4/mkspecs/features/qt_config.prf \
/usr/share/qt4/mkspecs/features/exclusive_builds.prf \
/usr/share/qt4/mkspecs/features/default_pre.prf \
/usr/share/qt4/mkspecs/features/release.prf \
/usr/share/qt4/mkspecs/features/default_post.prf \
/usr/share/qt4/mkspecs/features/warn_on.prf \
/usr/share/qt4/mkspecs/features/qt.prf \
/usr/share/qt4/mkspecs/features/unix/thread.prf \
/usr/share/qt4/mkspecs/features/moc.prf \
/usr/share/qt4/mkspecs/features/resources.prf \
/usr/share/qt4/mkspecs/features/uic.prf \
/usr/share/qt4/mkspecs/features/yacc.prf \
/usr/share/qt4/mkspecs/features/lex.prf \
/usr/share/qt4/mkspecs/features/include_source_dir.prf \
plugin.pro
QMAKE_TARGET = simplestyleplugin
DESTDIR = ../styles/
TARGET = libsimplestyleplugin.so
TARGETD = libsimplestyleplugin.so
first: all
####### Implicit rules
.SUFFIXES: .o .c .cpp .cc .cxx .C
.cpp.o:
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
.cc.o:
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
.cxx.o:
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
.C.o:
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
.c.o:
$(CC) -c $(CFLAGS) $(INCPATH) -o "$@" "$<"
####### Build rules
all: Makefile ../styles/$(TARGET)
../styles/$(TARGET): $(OBJECTS) $(SUBLIBS) $(OBJCOMP)
@$(CHK_DIR_EXISTS) ../styles/ || $(MKDIR) ../styles/
-$(DEL_FILE) $(TARGET)
$(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(LIBS) $(OBJCOMP)
-$(MOVE) $(TARGET) ../styles/
Makefile: plugin.pro /usr/share/qt4/mkspecs/linux-g++/qmake.conf /usr/share/qt4/mkspecs/common/g++.conf \
/usr/share/qt4/mkspecs/common/unix.conf \
/usr/share/qt4/mkspecs/common/linux.conf \
/usr/share/qt4/mkspecs/qconfig.pri \
/usr/share/qt4/mkspecs/features/qt_functions.prf \
/usr/share/qt4/mkspecs/features/qt_config.prf \
/usr/share/qt4/mkspecs/features/exclusive_builds.prf \
/usr/share/qt4/mkspecs/features/default_pre.prf \
/usr/share/qt4/mkspecs/features/release.prf \
/usr/share/qt4/mkspecs/features/default_post.prf \
/usr/share/qt4/mkspecs/features/warn_on.prf \
/usr/share/qt4/mkspecs/features/qt.prf \
/usr/share/qt4/mkspecs/features/unix/thread.prf \
/usr/share/qt4/mkspecs/features/moc.prf \
/usr/share/qt4/mkspecs/features/resources.prf \
/usr/share/qt4/mkspecs/features/uic.prf \
/usr/share/qt4/mkspecs/features/yacc.prf \
/usr/share/qt4/mkspecs/features/lex.prf \
/usr/share/qt4/mkspecs/features/include_source_dir.prf \
/usr/lib/libQtGui.prl \
/usr/lib/libQtCore.prl
$(QMAKE) -o Makefile plugin.pro
/usr/share/qt4/mkspecs/common/g++.conf:
/usr/share/qt4/mkspecs/common/unix.conf:
/usr/share/qt4/mkspecs/common/linux.conf:
/usr/share/qt4/mkspecs/qconfig.pri:
/usr/share/qt4/mkspecs/features/qt_functions.prf:
/usr/share/qt4/mkspecs/features/qt_config.prf:
/usr/share/qt4/mkspecs/features/exclusive_builds.prf:
/usr/share/qt4/mkspecs/features/default_pre.prf:
/usr/share/qt4/mkspecs/features/release.prf:
/usr/share/qt4/mkspecs/features/default_post.prf:
/usr/share/qt4/mkspecs/features/warn_on.prf:
/usr/share/qt4/mkspecs/features/qt.prf:
/usr/share/qt4/mkspecs/features/unix/thread.prf:
/usr/share/qt4/mkspecs/features/moc.prf:
/usr/share/qt4/mkspecs/features/resources.prf:
/usr/share/qt4/mkspecs/features/uic.prf:
/usr/share/qt4/mkspecs/features/yacc.prf:
/usr/share/qt4/mkspecs/features/lex.prf:
/usr/share/qt4/mkspecs/features/include_source_dir.prf:
/usr/lib/libQtGui.prl:
/usr/lib/libQtCore.prl:
qmake: FORCE
@$(QMAKE) -o Makefile plugin.pro
dist:
@$(CHK_DIR_EXISTS) .tmp/simplestyleplugin1.0.0 || $(MKDIR) .tmp/simplestyleplugin1.0.0
$(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/simplestyleplugin1.0.0/ && $(COPY_FILE) --parents simplestyle.h simplestyleplugin.h tdeqt4painter.h .tmp/simplestyleplugin1.0.0/ && $(COPY_FILE) --parents simplestyle.cpp simplestyleplugin.cpp tdeqt4painter.cpp .tmp/simplestyleplugin1.0.0/ && (cd `dirname .tmp/simplestyleplugin1.0.0` && $(TAR) simplestyleplugin1.0.0.tar simplestyleplugin1.0.0 && $(COMPRESS) simplestyleplugin1.0.0.tar) && $(MOVE) `dirname .tmp/simplestyleplugin1.0.0`/simplestyleplugin1.0.0.tar.gz . && $(DEL_FILE) -r .tmp/simplestyleplugin1.0.0
clean:compiler_clean
-$(DEL_FILE) $(OBJECTS)
-$(DEL_FILE) *~ core *.core
####### Sub-libraries
distclean: clean
-$(DEL_FILE) $(TARGET)
-$(DEL_FILE) Makefile
check: first
mocclean: compiler_moc_header_clean compiler_moc_source_clean
mocables: compiler_moc_header_make_all compiler_moc_source_make_all
compiler_moc_header_make_all: moc_simplestyle.cpp moc_simplestyleplugin.cpp
compiler_moc_header_clean:
-$(DEL_FILE) moc_simplestyle.cpp moc_simplestyleplugin.cpp
moc_simplestyle.cpp: simplestyle.h
/usr/bin/moc-qt4 $(DEFINES) $(INCPATH) simplestyle.h -o moc_simplestyle.cpp
moc_simplestyleplugin.cpp: simplestyleplugin.h
/usr/bin/moc-qt4 $(DEFINES) $(INCPATH) simplestyleplugin.h -o moc_simplestyleplugin.cpp
compiler_rcc_make_all:
compiler_rcc_clean:
compiler_image_collection_make_all: qmake_image_collection.cpp
compiler_image_collection_clean:
-$(DEL_FILE) qmake_image_collection.cpp
compiler_moc_source_make_all: simplestyle.moc
compiler_moc_source_clean:
-$(DEL_FILE) simplestyle.moc
simplestyle.moc: simplestyle.h \
tdeqt4painter.h \
simplestyle.cpp
/usr/bin/moc-qt4 $(DEFINES) $(INCPATH) simplestyle.cpp -o simplestyle.moc
compiler_uic_make_all:
compiler_uic_clean:
compiler_yacc_decl_make_all:
compiler_yacc_decl_clean:
compiler_yacc_impl_make_all:
compiler_yacc_impl_clean:
compiler_lex_make_all:
compiler_lex_clean:
compiler_clean: compiler_moc_header_clean compiler_moc_source_clean
####### Compile
simplestyle.o: simplestyle.cpp simplestyle.h \
tdeqt4painter.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o simplestyle.o simplestyle.cpp
simplestyleplugin.o: simplestyleplugin.cpp simplestyleplugin.h \
simplestyle.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o simplestyleplugin.o simplestyleplugin.cpp
tdeqt4painter.o: tdeqt4painter.cpp tdeqt4painter.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o tdeqt4painter.o tdeqt4painter.cpp
moc_simplestyle.o: moc_simplestyle.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_simplestyle.o moc_simplestyle.cpp
moc_simplestyleplugin.o: moc_simplestyleplugin.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_simplestyleplugin.o moc_simplestyleplugin.cpp
####### Install
install_target: first FORCE
@$(CHK_DIR_EXISTS) $(INSTALL_ROOT)/usr/lib/qt4/examples/tools/styleplugin/styles/ || $(MKDIR) $(INSTALL_ROOT)/usr/lib/qt4/examples/tools/styleplugin/styles/
-$(INSTALL_PROGRAM) "../styles/$(TARGET)" "$(INSTALL_ROOT)/usr/lib/qt4/examples/tools/styleplugin/styles/$(TARGET)"
-$(STRIP) --strip-unneeded "$(INSTALL_ROOT)/usr/lib/qt4/examples/tools/styleplugin/styles/$(TARGET)"
uninstall_target: FORCE
-$(DEL_FILE) "$(INSTALL_ROOT)/usr/lib/qt4/examples/tools/styleplugin/styles/$(TARGET)"
-$(DEL_DIR) $(INSTALL_ROOT)/usr/lib/qt4/examples/tools/styleplugin/styles/
install_sources: first FORCE
@$(CHK_DIR_EXISTS) $(INSTALL_ROOT)/usr/lib/qt4/examples/tools/styleplugin/plugin/ || $(MKDIR) $(INSTALL_ROOT)/usr/lib/qt4/examples/tools/styleplugin/plugin/
-$(INSTALL_FILE) /home/eldarion/experimental/qt4-tqt-theme-engine/plugin/simplestyle.cpp $(INSTALL_ROOT)/usr/lib/qt4/examples/tools/styleplugin/plugin/
-$(INSTALL_FILE) /home/eldarion/experimental/qt4-tqt-theme-engine/plugin/simplestyleplugin.cpp $(INSTALL_ROOT)/usr/lib/qt4/examples/tools/styleplugin/plugin/
-$(INSTALL_FILE) /home/eldarion/experimental/qt4-tqt-theme-engine/plugin/tdeqt4painter.cpp $(INSTALL_ROOT)/usr/lib/qt4/examples/tools/styleplugin/plugin/
-$(INSTALL_FILE) /home/eldarion/experimental/qt4-tqt-theme-engine/plugin/simplestyle.h $(INSTALL_ROOT)/usr/lib/qt4/examples/tools/styleplugin/plugin/
-$(INSTALL_FILE) /home/eldarion/experimental/qt4-tqt-theme-engine/plugin/simplestyleplugin.h $(INSTALL_ROOT)/usr/lib/qt4/examples/tools/styleplugin/plugin/
-$(INSTALL_FILE) /home/eldarion/experimental/qt4-tqt-theme-engine/plugin/tdeqt4painter.h $(INSTALL_ROOT)/usr/lib/qt4/examples/tools/styleplugin/plugin/
-$(INSTALL_FILE) /home/eldarion/experimental/qt4-tqt-theme-engine/plugin/plugin.pro $(INSTALL_ROOT)/usr/lib/qt4/examples/tools/styleplugin/plugin/
uninstall_sources: FORCE
-$(DEL_FILE) -r $(INSTALL_ROOT)/usr/lib/qt4/examples/tools/styleplugin/plugin/simplestyle.cpp
-$(DEL_FILE) -r $(INSTALL_ROOT)/usr/lib/qt4/examples/tools/styleplugin/plugin/simplestyleplugin.cpp
-$(DEL_FILE) -r $(INSTALL_ROOT)/usr/lib/qt4/examples/tools/styleplugin/plugin/tdeqt4painter.cpp
-$(DEL_FILE) -r $(INSTALL_ROOT)/usr/lib/qt4/examples/tools/styleplugin/plugin/simplestyle.h
-$(DEL_FILE) -r $(INSTALL_ROOT)/usr/lib/qt4/examples/tools/styleplugin/plugin/simplestyleplugin.h
-$(DEL_FILE) -r $(INSTALL_ROOT)/usr/lib/qt4/examples/tools/styleplugin/plugin/tdeqt4painter.h
-$(DEL_FILE) -r $(INSTALL_ROOT)/usr/lib/qt4/examples/tools/styleplugin/plugin/plugin.pro
-$(DEL_DIR) $(INSTALL_ROOT)/usr/lib/qt4/examples/tools/styleplugin/plugin/
install: install_target install_sources FORCE
uninstall: uninstall_target uninstall_sources FORCE
FORCE:

28
plugin/plugin.pro

@ -0,0 +1,28 @@
#! [0]
TEMPLATE = lib
CONFIG += plugin
HEADERS = simplestyle.h \
simplestyleplugin.h \
tdeqt4painter.h
SOURCES = simplestyle.cpp \
simplestyleplugin.cpp \
tdeqt4painter.cpp
TARGET = simplestyleplugin
INCLUDEPATH += /usr/include/tqt3
INCLUDEPATH += /usr/include/tqt
INCLUDEPATH += /opt/trinity/include
LIBS += -L/usr/lib -ltqt -ltqt-mt -L /opt/trinity/lib -lDCOP -ltdecore
#! [0]
DESTDIR = ../styles/
# install
target.path = $$[QT_INSTALL_EXAMPLES]/tools/styleplugin/styles
sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS plugin.pro
sources.path = $$[QT_INSTALL_EXAMPLES]/tools/styleplugin/plugin
INSTALLS += target sources
symbian: include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri)
symbian:TARGET.EPOCALLOWDLLDATA = 1

1586
plugin/simplestyle.cpp
File diff suppressed because it is too large
View File

75
plugin/simplestyle.h

@ -0,0 +1,75 @@
/****************************************************************************
**
** Copyright (C) 2012 Timothy Pearson. All rights reserved.
**
** This file is part of the TDE Qt4 style interface
**
** This file may be used under the terms of the GNU General
** Public License versions 2.0 or 3.0 as published by the Free
** Software Foundation and appearing in the files LICENSE.GPL2
** and LICENSE.GPL3 included in the packaging of this file.
**
** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
** herein.
**
**********************************************************************/
#ifndef SIMPLESTYLE_H
#define SIMPLESTYLE_H
#include <QtGui/QWindowsStyle>
QT_BEGIN_NAMESPACE
class QPalette;
QT_END_NAMESPACE
class TQWidget;
class TQTabBar;
class TQRadioButton;
class TQProgressBar;
class TQPopupMenu;
class TQComboBox;
enum TQt3WidgetType {
TQT3WT_NONE,
TQT3WT_TQProgressBar,
TQT3WT_TQTabBar,
TQT3WT_TQRadioButton,
TQT3WT_TQPopupMenu,
TQT3WT_TQComboBox
};
class SimpleStyle : public QWindowsStyle
{
Q_OBJECT
public:
SimpleStyle();
~SimpleStyle();
void polish(QPalette &palette);
void polish(QWidget *widget);
void unpolish(QWidget *widget);
bool eventFilter(QObject *obj, QEvent *ev);
void drawPrimitive(PrimitiveElement pe, const QStyleOption *opt, QPainter *p, const QWidget *w = 0) const;
void drawControl(ControlElement element, const QStyleOption * option, QPainter * painter, const QWidget * widget = 0) const;
void drawComplexControl(ComplexControl control, const QStyleOptionComplex * option, QPainter * painter, const QWidget * widget = 0) const;
QRect subElementRect(SubElement element, const QStyleOption * option, const QWidget * widget = 0) const;
int pixelMetric(PixelMetric metric, const QStyleOption * option = 0, const QWidget * widget = 0) const;
private:
TQWidget* initializeInterfaceWidget(TQt3WidgetType wt, const QWidget * widget) const;
TQWidget* m_tqt3parent_widget;
TQTabBar* m_tqt3tabbar_widget;
TQRadioButton* m_tqt3radiobutton_widget;
TQProgressBar* m_tqt3progressbar_widget;
TQPopupMenu* m_tqt3popupmenu_widget;
TQComboBox* m_tqt3combobox_widget;
};
#endif

64
plugin/simplestyleplugin.cpp

@ -0,0 +1,64 @@
/****************************************************************************
**
** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the examples of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:BSD$
** You may use this file under the terms of the BSD license as follows:
**
** "Redistribution and use in source and binary forms, with or without
** modification, are permitted provided that the following conditions are
** met:
** * Redistributions of source code must retain the above copyright
** notice, this list of conditions and the following disclaimer.
** * Redistributions in binary form must reproduce the above copyright
** notice, this list of conditions and the following disclaimer in
** the documentation and/or other materials provided with the
** distribution.
** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
** the names of its contributors may be used to endorse or promote
** products derived from this software without specific prior written
** permission.
**
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
#include <QtGui/QtGui>
#include "simplestyleplugin.h"
#include "simplestyle.h"
//! [0]
QStringList SimpleStylePlugin::keys() const
{
return QStringList() << "SimpleStyle";
}
//! [0]
//! [1]
QStyle *SimpleStylePlugin::create(const QString &key)
{
if (key.toLower() == "simplestyle")
return new SimpleStyle;
return 0;
}
//! [1]
QT_BEGIN_NAMESPACE
Q_EXPORT_PLUGIN2(simplestyleplugin, SimpleStylePlugin)
QT_END_NAMESPACE

64
plugin/simplestyleplugin.h

@ -0,0 +1,64 @@
/****************************************************************************
**
** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the examples of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:BSD$
** You may use this file under the terms of the BSD license as follows:
**
** "Redistribution and use in source and binary forms, with or without
** modification, are permitted provided that the following conditions are
** met:
** * Redistributions of source code must retain the above copyright
** notice, this list of conditions and the following disclaimer.
** * Redistributions in binary form must reproduce the above copyright
** notice, this list of conditions and the following disclaimer in
** the documentation and/or other materials provided with the
** distribution.
** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
** the names of its contributors may be used to endorse or promote
** products derived from this software without specific prior written
** permission.
**
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
** $QT_END_LICENSE$
**
****************************************************************************/
#ifndef SIMPLESTYLEPLUGIN_H
#define SIMPLESTYLEPLUGIN_H
#include <QtGui/QStylePlugin>
QT_BEGIN_NAMESPACE
class QStringList;
class QStyle;
QT_END_NAMESPACE
//! [0]
class SimpleStylePlugin : public QStylePlugin
{
Q_OBJECT
public:
SimpleStylePlugin() {};
QStringList keys() const;
QStyle *create(const QString &key);
};
//! [0]
#endif

772
plugin/tdeqt4painter.cpp

@ -0,0 +1,772 @@
/****************************************************************************
**
** Implementation of TDEQt4PaintDevice class
**
** Copyright (C) 2012 Timothy Pearson. All rights reserved.
**
** This file is part of the TDE Qt4 style interface
**
** This file may be used under the terms of the GNU General
** Public License versions 2.0 or 3.0 as published by the Free
** Software Foundation and appearing in the files LICENSE.GPL2
** and LICENSE.GPL3 included in the packaging of this file.
**
** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
** herein.
**
**********************************************************************/
#include "tdeqt4painter.h"
#define TQT_NO_COMPAT_NAMES
#include "tqpainter.h"
#include "tqpixmap.h"
#include "tqbitmap.h"
#include "tqimage.h"
#include "tqfile.h"
#include "tqpaintdevicemetrics.h"
#undef Qt
/*!
\class TDEQt4PaintDevice ntqpicture.h
\brief The TDEQt4PaintDevice class is a paint device that records and
replays TQPainter commands.
\ingroup graphics
\ingroup images
\ingroup shared
A picture serializes painter commands to an IO device in a
platform-independent format. For example, a picture created under
Windows can be read on a Sun SPARC.
Pictures are called meta-files on some platforms.
TQt pictures use a proprietary binary format. Unlike native picture
(meta-file) formats on many window systems, TQt pictures have no
limitations regarding their contents. Everything that can be
painted can also be stored in a picture, e.g. fonts, pixmaps,
regions, transformed graphics, etc.
TDEQt4PaintDevice is an \link shclass.html implicitly shared\endlink class.
Example of how to record a picture:
\code
TDEQt4PaintDevice pic;
TQPainter p;
p.begin( &pic ); // paint in picture
p.drawEllipse( 10,20, 80,70 ); // draw an ellipse
p.end(); // painting done
pic.save( "drawing.pic" ); // save picture
\endcode
Example of how to replay a picture:
\code
TDEQt4PaintDevice pic;
pic.load( "drawing.pic" ); // load picture
TQPainter p;
p.begin( &myWidget ); // paint in myWidget
p.drawPicture( pic ); // draw the picture
p.end(); // painting done
\endcode
Pictures can also be drawn using play(). Some basic data about a
picture is available, for example, size(), isNull() and
boundingRect().
*/
/*!
Constructs an empty picture.
The \a formatVersion parameter may be used to \e create a TDEQt4PaintDevice
that can be read by applications that are compiled with earlier
versions of TQt.
\list
\i \a formatVersion == 1 is binary compatible with TQt 1.x and later.
\i \a formatVersion == 2 is binary compatible with TQt 2.0.x and later.
\i \a formatVersion == 3 is binary compatible with TQt 2.1.x and later.
\i \a formatVersion == 4 is binary compatible with TQt 3.0.x and later.
\i \a formatVersion == 5 is binary compatible with TQt 3.1.
\endlist
Note that the default formatVersion is -1 which signifies the
current release, i.e. for TQt 3.1 a formatVersion of 5 is the same
as the default formatVersion of -1.
Reading pictures generated by earlier versions of TQt is supported
and needs no special coding; the format is automatically detected.
*/
TDEQt4PaintDevice::TDEQt4PaintDevice( QPainter *qt4painter )
: TQPaintDevice( TQInternal::Picture | TQInternal::ExternalDevice )
{
m_qt4painter = qt4painter;
}
/*!
Destroys the picture.
*/
TDEQt4PaintDevice::~TDEQt4PaintDevice()
{
}
/*!
\internal
Implementation of the function forwarded above to the internal data struct.
*/
bool TDEQt4PaintDevice::cmd( int c, TQPainter *pt, TQPDevCmdParam *p )
{
Q_UNUSED(pt);
unsigned int i;
int x;
int y;
QPen qt4pen;
QRect qt4rect;
QBrush qt4brush;
QPoint qt4point1;
QPoint qt4point2;
QPolygon qt4polygon;
QFont qt4font;
QPixmap qt4pixmap;
QString qt4string;
QMatrix qt4matrix;
QRegion qt4region;
Qt::BGMode qt4bkmode = Qt::TransparentMode;
QPainter::CompositionMode qt4compositionmode = QPainter::CompositionMode_SourceOver;
int qt4formattedtextflags = 0;
if (p) {
if (c == PdcSetClipRegion) {
// FIXME
// Ellipses are not being handle correctly AT ALL
// Look at the Lipstik progress bar for an example of this...
#if 0
// IMPRECISE
const TQMemArray<TQRect> rects = p[0].rgn->rects();
for ( uint i = 0; i < rects.count(); i++ ) {
TQRect r = rects[(int)i];
qt4region = qt4region.united(QRegion(QRect(r.x(), r.y(), r.width(), r.height())));
}
#else
// SLOW
TQRect tqt3br = p[0].rgn->boundingRect();
TQBitmap regionMask(tqt3br.x()+tqt3br.width(), tqt3br.y()+tqt3br.height());
regionMask.fill(TQt::color0);
TQPainter tqt3brpainter(&regionMask);
tqt3brpainter.setClipRegion(*p[0].rgn);
tqt3brpainter.fillRect(0,0,regionMask.width(),regionMask.height(),TQt::color1);
tqt3brpainter.end();
QBitmap qt4RegionMask = QPixmap::fromX11Pixmap(regionMask.handle(), QPixmap::ImplicitlyShared);
qt4region = QRegion(qt4RegionMask);
#endif
TQPainter::CoordinateMode tqt3coordmode = (TQPainter::CoordinateMode)p[1].ival;
if ( tqt3coordmode == TQPainter::CoordDevice ) {
qt4region = qt4region;
}
else {
qt4region = m_qt4painter->transform().map(qt4region);
}
}
if (c == PdcSetWMatrix) {
const TQWMatrix* tqt3matrix = p[0].matrix;
qt4matrix = QMatrix(tqt3matrix->m11(), tqt3matrix->m12(), tqt3matrix->m21(), tqt3matrix->m22(), tqt3matrix->dx(), tqt3matrix->dy());
}
if (c == PdcSetROP) {
TQt::RasterOp rop = (TQt::RasterOp)p[0].ival;
switch (rop) {
case TQPainter::CopyROP:
qt4compositionmode=QPainter::CompositionMode_SourceOver;
break;
case TQPainter::OrROP:
qt4compositionmode=QPainter::RasterOp_SourceOrDestination;
break;
case TQPainter::XorROP:
qt4compositionmode=QPainter::RasterOp_SourceXorDestination;
break;
case TQPainter::NotAndROP:
qt4compositionmode=QPainter::RasterOp_NotSourceAndDestination;
break;
// case TQPainter::EraseROP:
// qt4compositionmode=QPainter::RasterOp_NotSourceAndDestination;
// break;
case TQPainter::NotCopyROP:
qt4compositionmode=QPainter::RasterOp_NotSource;
break;
case TQPainter::NotOrROP:
tqWarning("TDEQt4PaintDevice::cmd: Unhandled raster operation [Was attempting to use raster operation %d\n\r", rop);
break;
case TQPainter::NotXorROP:
qt4compositionmode=QPainter::RasterOp_NotSourceXorDestination;
break;
case TQPainter::AndROP:
qt4compositionmode=QPainter::RasterOp_SourceAndDestination;
break;
// case TQPainter::NotEraseROP:
// qt4compositionmode=QPainter::RasterOp_SourceAndDestination;
// break;
case TQPainter::NotROP:
qt4compositionmode=QPainter::RasterOp_SourceAndNotDestination; // [WARNING] This may not be a correct substitute for NotROP!
break;
case TQPainter::ClearROP:
qt4compositionmode=QPainter::CompositionMode_Clear;
break;
case TQPainter::SetROP:
tqWarning("TDEQt4PaintDevice::cmd: Unhandled raster operation [Was attempting to use raster operation %d\n\r", rop);
break;
case TQPainter::NopROP:
qt4compositionmode=QPainter::CompositionMode_Destination;
break;
case TQPainter::AndNotROP:
qt4compositionmode=QPainter::RasterOp_SourceAndNotDestination;
break;
case TQPainter::OrNotROP:
tqWarning("TDEQt4PaintDevice::cmd: Unhandled raster operation [Was attempting to use raster operation %d\n\r", rop);
break;
case TQPainter::NandROP:
qt4compositionmode=QPainter::RasterOp_NotSourceOrNotDestination;
break;
case TQPainter::NorROP:
qt4compositionmode=QPainter::RasterOp_NotSourceAndNotDestination;
break;
default:
qt4compositionmode=QPainter::CompositionMode_SourceOver;
#if defined(QT_CHECK_RANGE)
tqWarning( "TDEQt4PaintDevice::cmd: Unhandled raster operation %d", rop );
#endif
}
}
if (( c== PdcDrawTextFormatted) || (c == PdcDrawText2Formatted)) {
qt4rect = QRect(p[0].rect->x(), p[0].rect->y(), p[0].rect->width(), p[0].rect->height());
qt4formattedtextflags = 0;
// if (p[1].ival & TQt::AlignAuto) {
// qt4formattedtextflags = qt4formattedtextflags | Qt::AlignAuto;
// }
if ((p[1].ival & TQt::AlignLeft) == TQt::AlignLeft) {
qt4formattedtextflags = qt4formattedtextflags | Qt::AlignLeft;
}
if ((p[1].ival & TQt::AlignRight) == TQt::AlignRight) {
qt4formattedtextflags = qt4formattedtextflags | Qt::AlignRight;
}
if ((p[1].ival & TQt::AlignHCenter) == TQt::AlignHCenter) {
qt4formattedtextflags = qt4formattedtextflags | Qt::AlignHCenter;
}
if ((p[1].ival & TQt::AlignJustify) == TQt::AlignJustify) {
qt4formattedtextflags = qt4formattedtextflags | Qt::AlignJustify;
}
if ((p[1].ival & TQt::AlignTop) == TQt::AlignTop) {
qt4formattedtextflags = qt4formattedtextflags | Qt::AlignTop;
}
if ((p[1].ival & TQt::AlignBottom) == TQt::AlignBottom) {
qt4formattedtextflags = qt4formattedtextflags | Qt::AlignBottom;
}
if ((p[1].ival & TQt::AlignVCenter) == TQt::AlignVCenter) {
qt4formattedtextflags = qt4formattedtextflags | Qt::AlignVCenter;
}
if ((p[1].ival & TQt::AlignCenter) == TQt::AlignCenter) {
qt4formattedtextflags = qt4formattedtextflags | Qt::AlignCenter;
}
if ((p[1].ival & TQt::SingleLine) == TQt::SingleLine) {
qt4formattedtextflags = qt4formattedtextflags | Qt::TextSingleLine;
}
if ((p[1].ival & TQt::DontClip) == TQt::DontClip) {
qt4formattedtextflags = qt4formattedtextflags | Qt::TextDontClip;
}
if ((p[1].ival & TQt::ExpandTabs) == TQt::ExpandTabs) {
qt4formattedtextflags = qt4formattedtextflags | Qt::TextExpandTabs;
}
if ((p[1].ival & TQt::ShowPrefix) == TQt::ShowPrefix) {
qt4formattedtextflags = qt4formattedtextflags | Qt::TextShowMnemonic;
}
if ((p[1].ival & TQt::WordBreak) == TQt::WordBreak) {
qt4formattedtextflags = qt4formattedtextflags | Qt::TextWordWrap;
}
if ((p[1].ival & TQt::BreakAnywhere) == TQt::BreakAnywhere) {
qt4formattedtextflags = qt4formattedtextflags | Qt::TextWrapAnywhere;
}
if ((p[1].ival & TQt::NoAccel) == TQt::NoAccel) {
qt4formattedtextflags = qt4formattedtextflags | Qt::TextHideMnemonic;
}
qt4string = QString::fromUtf8(p[2].str->utf8().data());
}
if ((c == PdcDrawPoint) || (c == PdcMoveTo) || (c == PdcLineTo) || (c == PdcSetBrushOrigin)) {
qt4point1 = QPoint(p[0].point->x(), p[0].point->y());
}
if (c == PdcDrawLine) {
qt4point1 = QPoint(p[0].point->x(), p[0].point->y());
qt4point2 = QPoint(p[1].point->x(), p[1].point->y());
}
if ((c == PdcDrawPolyline) || (c == PdcDrawPolygon) || (c == PdcDrawLineSegments) || (c == PdcDrawCubicBezier)) {
TQPointArray qt3parray = *p[0].ptarr;
qt4polygon.resize(qt3parray.count());
for (i=0;i<qt3parray.count();i++) {
qt3parray.point(i, &x, &y );
qt4polygon.setPoint(i, x, y);
}
}
if ((c == PdcDrawRect) || (c == PdcDrawRoundRect) || (c == PdcDrawEllipse) || (c == PdcDrawArc) || (c == PdcDrawPie) || (c == PdcDrawChord)) {
qt4rect = QRect(p[0].rect->x(), p[0].rect->y(), p[0].rect->width(), p[0].rect->height());
}
if (c == PdcSetBrush) {
TQt::BrushStyle tqt3brushstyle = p[0].brush->style();
Qt::BrushStyle qt4brushstyle;
switch ( tqt3brushstyle ) {
case TQt::NoBrush:
qt4brushstyle = Qt::NoBrush;
break;
case TQt::SolidPattern:
qt4brushstyle = Qt::SolidPattern;
break;
case TQt::Dense1Pattern:
qt4brushstyle = Qt::Dense1Pattern;
break;
case TQt::Dense2Pattern:
qt4brushstyle = Qt::Dense2Pattern;
break;
case TQt::Dense3Pattern:
qt4brushstyle = Qt::Dense3Pattern;
break;
case TQt::Dense4Pattern:
qt4brushstyle = Qt::Dense4Pattern;
break;
case TQt::Dense5Pattern:
qt4brushstyle = Qt::Dense5Pattern;
break;
case TQt::Dense6Pattern:
qt4brushstyle = Qt::Dense6Pattern;
break;
case TQt::Dense7Pattern:
qt4brushstyle = Qt::Dense7Pattern;
break;
case TQt::HorPattern:
qt4brushstyle = Qt::HorPattern;
break;
case TQt::VerPattern:
qt4brushstyle = Qt::VerPattern;
break;
case TQt::CrossPattern:
qt4brushstyle = Qt::CrossPattern;
break;
case TQt::BDiagPattern:
qt4brushstyle = Qt::BDiagPattern;
break;
case TQt::FDiagPattern:
qt4brushstyle = Qt::FDiagPattern;
break;
case TQt::DiagCrossPattern:
qt4brushstyle = Qt::DiagCrossPattern;
break;
case TQt::CustomPattern:
qt4brushstyle = Qt::TexturePattern;
break;
default:
qt4brushstyle = Qt::NoBrush;
#if defined(QT_CHECK_RANGE)
tqWarning( "TDEQt4PaintDevice::cmd: Invalid brush style %d", tqt3brushstyle );
#endif
}
qt4brush.setStyle(qt4brushstyle);
TQColor qt3color = p[0].brush->color();
qt4brush.setColor(QColor(qt3color.red(), qt3color.green(), qt3color.blue(), 255));
if (qt4brushstyle == Qt::TexturePattern) {
TQPixmap tqtPM = *p[0].brush->pixmap();
QPixmap qtPM = QPixmap::fromX11Pixmap(tqtPM.handle(), QPixmap::ImplicitlyShared);
qt4brush.setTexture(qtPM);
}
}
if (c == PdcSetPen) {
bool customPenStyle = false;
TQt::PenStyle tqt3penstyle = p[0].pen->style();
Qt::PenStyle qt4penstyle;
QVector<qreal> dashes;
qreal mark;
qreal space;
switch ( tqt3penstyle ) {
case TQt::NoPen:
qt4penstyle = Qt::NoPen;
break;
case TQt::SolidLine:
qt4penstyle = Qt::SolidLine;
break;
case TQt::DashLine:
qt4penstyle = Qt::DashLine;
break;
case TQt::DotLine:
qt4penstyle = Qt::DotLine;
break;
case TQt::DashDotLine:
qt4penstyle = Qt::DashDotLine;
break;
case TQt::DashDotDotLine:
qt4penstyle = Qt::DashDotDotLine;
break;
case TQt::FineDotLine:
customPenStyle = true;
mark = 1;
space = 1;
dashes << mark << space;
qt4pen.setDashPattern(dashes);
break;
case TQt::MPenStyle:
qt4penstyle = Qt::MPenStyle;
break;
default:
qt4penstyle = Qt::NoPen;
#if defined(QT_CHECK_RANGE)
tqWarning( "TDEQt4PaintDevice::cmd: Invalid pen style %d", tqt3penstyle );
#endif
}
if (customPenStyle == false) {
qt4pen.setStyle(qt4penstyle);
}
TQt::PenCapStyle tqt3pencapstyle = p[0].pen->capStyle();
Qt::PenCapStyle qt4pencapstyle;
switch ( tqt3pencapstyle ) {
case TQt::FlatCap:
qt4pencapstyle = Qt::FlatCap;
break;
case TQt::SquareCap:
qt4pencapstyle = Qt::SquareCap;
break;
case TQt::RoundCap:
qt4pencapstyle = Qt::RoundCap;
break;
case TQt::MPenCapStyle:
qt4pencapstyle = Qt::MPenCapStyle;
default:
qt4pencapstyle = Qt::FlatCap;
#if defined(QT_CHECK_RANGE)
tqWarning( "TDEQt4PaintDevice::cmd: Invalid pen cap style %d", tqt3pencapstyle );
#endif
}
qt4pen.setCapStyle(qt4pencapstyle);
TQt::PenJoinStyle tqt3penjoinstyle = p[0].pen->joinStyle();
Qt::PenJoinStyle qt4penjoinstyle;
switch ( tqt3penjoinstyle ) {
case TQt::MiterJoin:
qt4penjoinstyle = Qt::MiterJoin;
break;
case TQt::BevelJoin:
qt4penjoinstyle = Qt::BevelJoin;
break;
case TQt::RoundJoin:
qt4penjoinstyle = Qt::RoundJoin;
break;
case TQt::MPenJoinStyle:
qt4penjoinstyle = Qt::MPenJoinStyle;
default:
qt4penjoinstyle = Qt::MiterJoin;
#if defined(QT_CHECK_RANGE)
tqWarning( "TDEQt4PaintDevice::cmd: Invalid pen join style %d", tqt3penjoinstyle );
#endif
}
qt4pen.setJoinStyle(qt4penjoinstyle);
TQColor qt3color = p[0].pen->color();
qt4pen.setColor(QColor(qt3color.red(), qt3color.green(), qt3color.blue(), 255));
qt4pen.setWidth(p[0].pen->width());
}
if (c == PdcSetBkMode) {
TQt::BGMode qt3bkmode = (TQt::BGMode)p[0].ival;
switch ( qt3bkmode ) {
case TQt::TransparentMode:
qt4bkmode = Qt::TransparentMode;
break;
case TQt::OpaqueMode:
qt4bkmode = Qt::OpaqueMode;
break;
default:
qt4bkmode = Qt::TransparentMode;
#if defined(QT_CHECK_RANGE)
tqWarning( "TDEQt4PaintDevice::cmd: Invalid background mode %d", qt3bkmode );
#endif
}
}
if (c == PdcSetFont) {
// FIXME
printf("[WARNING] QFont conversion is NOT COMPLETE\n\r"); fflush(stdout);
TQFont qt3font = *p[0].font;
qt4font = QFont(QString::fromUtf8(qt3font.family().utf8().data()), qt3font.pointSize(), qt3font.weight(), qt3font.italic());
}
if (c == PdcDrawPixmap) {
qt4rect = QRect(p[0].rect->x(), p[0].rect->y(), p[0].rect->width(), p[0].rect->height());
TQPixmap qt3pixmap = *p[1].pixmap;
qt4pixmap = QPixmap::fromX11Pixmap(qt3pixmap.handle(), QPixmap::ImplicitlyShared);
}
if (c == PdcDrawText2) {
qt4point1 = QPoint(p[0].point->x(), p[0].point->y());
qt4string = QString::fromUtf8(p[1].str->utf8().data());
}
}
int index;
int count;
int lineCount;
QPainterPath path;
switch ( c ) { // exec cmd
case PdcNOP:
break;
case PdcDrawPoint:
m_qt4painter->drawPoint( qt4point1 );
break;
case PdcMoveTo:
curPt = qt4point1;
break;
case PdcLineTo:
prevPt = curPt;
curPt = qt4point1;
m_qt4painter->drawLine( prevPt, curPt );
break;
case PdcDrawLine:
m_qt4painter->drawLine( qt4point1, qt4point2 );
break;
case PdcDrawRect:
m_qt4painter->drawRect( qt4rect );
break;
case PdcDrawRoundRect:
m_qt4painter->drawRoundedRect( qt4rect, p[1].ival, p[2].ival );
break;
case PdcDrawEllipse:
m_qt4painter->drawEllipse( qt4rect );
break;
case PdcDrawArc:
m_qt4painter->drawArc( qt4rect, p[1].ival, p[2].ival );
break;
case PdcDrawPie:
m_qt4painter->drawPie( qt4rect, p[1].ival, p[2].ival );
break;
case PdcDrawChord:
m_qt4painter->drawChord( qt4rect, p[1].ival, p[2].ival );
break;
case PdcDrawLineSegments:
index = 0;
count = -1;
lineCount = (count == -1) ? (qt4polygon.size() - index) / 2 : count;
m_qt4painter->drawLines(qt4polygon.constData() + index * 2, lineCount);
break;
case PdcDrawPolyline:
m_qt4painter->drawPolyline( qt4polygon );
break;
case PdcDrawPolygon:
m_qt4painter->drawPolygon( qt4polygon, (p[1].ival == 0)?Qt::OddEvenFill:Qt::WindingFill );
break;
case PdcDrawCubicBezier:
index = 0;
path.moveTo(qt4polygon.at(index));
path.cubicTo(qt4polygon.at(index+1), qt4polygon.at(index+2), qt4polygon.at(index+3));
m_qt4painter->strokePath(path, m_qt4painter->pen());
break;
case PdcDrawText:
m_qt4painter->drawText( qt4point1, qt4string );
break;
case PdcDrawTextFormatted:
m_qt4painter->drawText( qt4rect, qt4formattedtextflags, qt4string );
break;
case PdcDrawText2:
m_qt4painter->drawText( qt4point1, qt4string );
break;
case PdcDrawText2Formatted:
m_qt4painter->drawText( qt4rect, qt4formattedtextflags, qt4string );
break;
case PdcDrawPixmap:
m_qt4painter->drawPixmap( qt4rect, qt4pixmap );
break;
#if 0
case PdcDrawImage: {
TQImage image;
if ( d->formatMajor < 4 ) {
s >> p >> image;
painter->drawImage( p, image );
} else {
s >> r >> image;
painter->drawImage( r, image );
}
}
break;
#endif
case PdcBegin:
if (m_qt4painter->isActive()) {
// KEEP THIS DEACTIVATED
// QPaintDevice* pd = m_qt4painter->device();
// m_qt4painter->end();
// m_qt4painter->begin(pd);
}
#if defined(QT_CHECK_RANGE)
else {
tqWarning( "TDEQt4PaintDevice::cmd: Painter has no paint device available" );
}
#endif
break;
case PdcEnd:
// KEEP THIS DEACTIVATED
// m_qt4painter->end();
break;
case PdcSave:
m_qt4painter->save();
break;
case PdcRestore:
m_qt4painter->restore();
break;
case PdcSetBkColor:
m_qt4painter->setBackground( QBrush(QColor(p[0].color->red(), p[0].color->green(), p[0].color->blue())) );
break;
case PdcSetBkMode:
m_qt4painter->setBackgroundMode( qt4bkmode );
break;
case PdcSetROP:
m_qt4painter->setCompositionMode(qt4compositionmode);
break;
case PdcSetBrushOrigin:
m_qt4painter->setBrushOrigin( qt4point1 );
break;
case PdcSetFont:
m_qt4painter->setFont( qt4font );
break;
case PdcSetPen:
m_qt4painter->setPen( qt4pen );
break;
case PdcSetBrush:
m_qt4painter->setBrush( qt4brush );
break;
#if 0
case PdcSetTabStops:
s >> i_16;
painter->setTabStops( i_16 );
break;
case PdcSetTabArray:
s >> i_16;
if ( i_16 == 0 ) {
painter->setTabArray( 0 );
} else {
int *ta = new int[i_16];
TQ_CHECK_PTR( ta );
for ( int i=0; i<i_16; i++ ) {
s >> i1_16;
ta[i] = i1_16;
}
painter->setTabArray( ta );
delete [] ta;
}
break;
case PdcSetVXform:
s >> i_8;
#ifndef QT_NO_TRANSFORMATIONS
painter->setViewXForm( i_8 );
#endif
break;
case PdcSetWindow:
s >> r;
#ifndef QT_NO_TRANSFORMATIONS
painter->setWindow( r );
#endif
break;
case PdcSetViewport:
s >> r;
#ifndef QT_NO_TRANSFORMATIONS
painter->setViewport( r );
#endif
break;
#endif
case PdcSetWXform:
m_qt4painter->setWorldMatrixEnabled( p[0].ival );
break;
case PdcSetWMatrix:
m_qt4painter->setWorldMatrix( qt4matrix, p[1].ival );
break;
#if 0
#ifndef QT_NO_TRANSFORMATIONS
case PdcSaveWMatrix:
painter->saveWorldMatrix();
break;
case PdcRestoreWMatrix:
painter->restoreWorldMatrix();
break;
#endif
#endif
case PdcSetClip:
m_qt4painter->setClipping( p[0].ival );
break;
case PdcSetClipRegion:
m_qt4painter->setClipRegion( qt4region, Qt::ReplaceClip );
break;
default:
#if defined(QT_CHECK_RANGE)
tqWarning( "TDEQt4PaintDevice::cmd: Invalid command %d", c );
#endif
}
return TRUE;
}
/*!
Internal implementation of the virtual TQPaintDevice::metric()
function.
Use the TQPaintDeviceMetrics class instead.
A picture has the following hard-coded values: dpi=72,
numcolors=16777216 and depth=24.
\a m is the metric to get.
*/
int TDEQt4PaintDevice::metric( int m ) const
{
int val;
QPaintDevice* qt4pd = m_qt4painter->device();
if (qt4pd) {
switch ( m ) {
// ### hard coded dpi and color depth values !
case TQPaintDeviceMetrics::PdmWidth:
val = qt4pd->width();
break;
case TQPaintDeviceMetrics::PdmHeight:
val = qt4pd->height();
break;
case TQPaintDeviceMetrics::PdmWidthMM:
val = qt4pd->widthMM();
break;
case TQPaintDeviceMetrics::PdmHeightMM:
val = qt4pd->heightMM();
break;
case TQPaintDeviceMetrics::PdmDpiX:
val = qt4pd->logicalDpiX();
break;
case TQPaintDeviceMetrics::PdmPhysicalDpiX:
val = qt4pd->physicalDpiX();
break;
case TQPaintDeviceMetrics::PdmDpiY:
val = qt4pd->logicalDpiY();
break;
case TQPaintDeviceMetrics::PdmPhysicalDpiY:
val = qt4pd->physicalDpiY();
break;
case TQPaintDeviceMetrics::PdmNumColors:
val = qt4pd->colorCount();
break;
case TQPaintDeviceMetrics::PdmDepth:
val = qt4pd->depth();
break;
default:
val = 0;
#if defined(QT_CHECK_RANGE)
tqWarning( "TDEQt4PaintDevice::metric: Invalid metric command" );
#endif
}
}
else {
val = 0;
#if defined(QT_CHECK_RANGE)
tqWarning( "TDEQt4PaintDevice::metric: No Qt4 paint device available" );
#endif
}
return val;
}

49
plugin/tdeqt4painter.h

@ -0,0 +1,49 @@
/****************************************************************************
**
** Definition of TDEQt4PaintDevice class
**
** Copyright (C) 2012 Timothy Pearson. All rights reserved.
**
** This file is part of the TDE Qt4 style interface
**
** This file may be used under the terms of the GNU General
** Public License versions 2.0 or 3.0 as published by the Free
** Software Foundation and appearing in the files LICENSE.GPL2
** and LICENSE.GPL3 included in the packaging of this file.
**
** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
** herein.
**
**********************************************************************/
#ifndef TDEQT4PAINTER_H
#define TDEQT4PAINTER_H
#define TQT_NO_COMPAT_NAMES
#include "ntqpaintdevice.h"
#include "ntqbuffer.h"
#undef Qt
#include <QtGui/QPainter>
#include <QtGui/QBitmap>
class Q_EXPORT TDEQt4PaintDevice : public TQPaintDevice // picture class
{
public:
TDEQt4PaintDevice( QPainter * );
~TDEQt4PaintDevice();
protected:
bool cmd( int, TQPainter *, TQPDevCmdParam * );
int metric( int ) const;
private:
QPainter *m_qt4painter;
QPoint prevPt;
QPoint curPt;
};
#endif // TDEQT4PAINTER_H

13
styleplugin.pro

@ -0,0 +1,13 @@
TEMPLATE = subdirs
SUBDIRS = stylewindow \
plugin \
unstyledwindow
# install
target.path = $$[QT_INSTALL_EXAMPLES]/tools/styleplugin
sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS styleplugin.pro
sources.path = $$[QT_INSTALL_EXAMPLES]/tools/styleplugin
INSTALLS += target sources
symbian: include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri)

BIN
styles/libsimplestyleplugin.so

239
stylewindow/Makefile

@ -0,0 +1,239 @@
#############################################################################
# Makefile for building: ../styleplugin
# Generated by qmake (2.01a) (Qt 4.7.0) on: Sat Mar 10 16:06:19 2012
# Project: stylewindow.pro
# Template: app
# Command: /usr/bin/qmake-qt4 -o Makefile stylewindow.pro
#############################################################################
####### Compiler, tools and options
CC = gcc
CXX = g++
DEFINES = -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED
CFLAGS = -pipe -O2 -Wall -W -D_REENTRANT $(DEFINES)
CXXFLAGS = -pipe -O2 -Wall -W -D_REENTRANT $(DEFINES)
INCPATH = -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I.
LINK = g++
LFLAGS = -Wl,-O1
LIBS = $(SUBLIBS) -L/usr/lib -lQtGui -lQtCore -lpthread
AR = ar cqs
RANLIB =
QMAKE = /usr/bin/qmake-qt4
TAR = tar -cf