From de9aa982847ea40eaf9defa0da25e93201559d5d Mon Sep 17 00:00:00 2001 From: Timothy Pearson Date: Fri, 16 Mar 2012 18:16:40 -0500 Subject: [PATCH] Add support for a number of new complex controls --- Makefile | 18 +- plugin/Makefile | 43 ++- plugin/plugin.pro | 3 +- plugin/simplestyle.cpp | 658 ++++++++++++++++++++++++++++----- plugin/simplestyle.h | 21 +- styles/libsimplestyleplugin.so | Bin 144021 -> 158852 bytes stylewindow/Makefile | 25 +- unstyledwindow/Makefile | 25 +- 8 files changed, 641 insertions(+), 152 deletions(-) diff --git a/Makefile b/Makefile index 780c5e8..b0e3c20 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ ############################################################################# # Makefile for building: styleplugin -# Generated by qmake (2.01a) (Qt 4.7.0) on: Sat Mar 10 16:06:16 2012 +# Generated by qmake (2.01a) (Qt 4.7.4) on: Tue Mar 6 12:52:20 2012 # Project: styleplugin.pro # Template: subdirs # Command: /usr/bin/qmake-qt4 -o Makefile styleplugin.pro @@ -31,10 +31,10 @@ SUBTARGETS = \ stylewindow//$(MAKEFILE): @$(CHK_DIR_EXISTS) stylewindow/ || $(MKDIR) stylewindow/ - cd stylewindow/ && $(QMAKE) /home/eldarion/experimental/qt4-tqt-theme-engine/stylewindow/stylewindow.pro -o $(MAKEFILE) + cd stylewindow/ && $(QMAKE) /root/tdeqt4styleplugin/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) + cd stylewindow/ && $(QMAKE) /root/tdeqt4styleplugin/stylewindow/stylewindow.pro -o $(MAKEFILE) sub-stylewindow: stylewindow//$(MAKEFILE) FORCE cd stylewindow/ && $(MAKE) -f $(MAKEFILE) sub-stylewindow-make_default: stylewindow//$(MAKEFILE) FORCE @@ -53,10 +53,10 @@ 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) + cd plugin/ && $(QMAKE) /root/tdeqt4styleplugin/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) + cd plugin/ && $(QMAKE) /root/tdeqt4styleplugin/plugin/plugin.pro -o $(MAKEFILE) sub-plugin: plugin//$(MAKEFILE) FORCE cd plugin/ && $(MAKE) -f $(MAKEFILE) sub-plugin-make_default: plugin//$(MAKEFILE) FORCE @@ -75,10 +75,10 @@ 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) + cd unstyledwindow/ && $(QMAKE) /root/tdeqt4styleplugin/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) + cd unstyledwindow/ && $(QMAKE) /root/tdeqt4styleplugin/unstyledwindow/unstyledwindow.pro -o $(MAKEFILE) sub-unstyledwindow: unstyledwindow//$(MAKEFILE) FORCE cd unstyledwindow/ && $(MAKE) -f $(MAKEFILE) sub-unstyledwindow-make_default: unstyledwindow//$(MAKEFILE) FORCE @@ -100,6 +100,7 @@ Makefile: styleplugin.pro /usr/share/qt4/mkspecs/linux-g++/qmake.conf /usr/shar /usr/share/qt4/mkspecs/common/unix.conf \ /usr/share/qt4/mkspecs/common/linux.conf \ /usr/share/qt4/mkspecs/qconfig.pri \ + /usr/share/qt4/mkspecs/modules/qt_webkit_version.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 \ @@ -120,6 +121,7 @@ Makefile: styleplugin.pro /usr/share/qt4/mkspecs/linux-g++/qmake.conf /usr/shar /usr/share/qt4/mkspecs/common/unix.conf: /usr/share/qt4/mkspecs/common/linux.conf: /usr/share/qt4/mkspecs/qconfig.pri: +/usr/share/qt4/mkspecs/modules/qt_webkit_version.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: @@ -162,7 +164,7 @@ 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/ + -$(INSTALL_FILE) /root/tdeqt4styleplugin/styleplugin.pro $(INSTALL_ROOT)/usr/lib/qt4/examples/tools/styleplugin/ uninstall_sources: FORCE diff --git a/plugin/Makefile b/plugin/Makefile index a128159..e394c79 100644 --- a/plugin/Makefile +++ b/plugin/Makefile @@ -1,6 +1,6 @@ ############################################################################# # Makefile for building: libsimplestyleplugin.so -# Generated by qmake (2.01a) (Qt 4.7.0) on: Sat Mar 10 16:06:19 2012 +# Generated by qmake (2.01a) (Qt 4.7.4) on: Tue Mar 13 13:25:48 2012 # Project: plugin.pro # Template: lib # Command: /usr/bin/qmake-qt4 -o Makefile plugin.pro @@ -10,13 +10,13 @@ CC = gcc CXX = g++ -DEFINES = -DQT_NO_DEBUG -DQT_PLUGIN -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED +DEFINES = -DQT_WEBKIT -DQT_NO_DEBUG -DQT_PLUGIN -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -DQT_TABLET_SUPPORT -DQT_THREAD_SUPPORT 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 +LIBS = $(SUBLIBS) -L/usr/lib/i386-linux-gnu -L/usr/lib -ltqt -ltqt-mt -L /opt/trinity/lib -lDCOP -ltdecore -lQtGui -lQtCore -lpthread AR = ar cqs RANLIB = QMAKE = /usr/bin/qmake-qt4 @@ -56,6 +56,7 @@ 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/modules/qt_webkit_version.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 \ @@ -113,6 +114,7 @@ Makefile: plugin.pro /usr/share/qt4/mkspecs/linux-g++/qmake.conf /usr/share/qt4 /usr/share/qt4/mkspecs/common/unix.conf \ /usr/share/qt4/mkspecs/common/linux.conf \ /usr/share/qt4/mkspecs/qconfig.pri \ + /usr/share/qt4/mkspecs/modules/qt_webkit_version.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 \ @@ -128,13 +130,15 @@ Makefile: plugin.pro /usr/share/qt4/mkspecs/linux-g++/qmake.conf /usr/share/qt4 /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 + /usr/lib/libtqt-mt.prl \ + /usr/lib/i386-linux-gnu/libQtGui.prl \ + /usr/lib/i386-linux-gnu/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/modules/qt_webkit_version.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: @@ -150,8 +154,9 @@ Makefile: plugin.pro /usr/share/qt4/mkspecs/linux-g++/qmake.conf /usr/share/qt4 /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: +/usr/lib/libtqt-mt.prl: +/usr/lib/i386-linux-gnu/libQtGui.prl: +/usr/lib/i386-linux-gnu/libQtCore.prl: qmake: FORCE @$(QMAKE) -o Makefile plugin.pro @@ -232,24 +237,24 @@ 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)" + @$(CHK_DIR_EXISTS) $(INSTALL_ROOT)/usr/lib/i386-linux-gnu/qt4/plugins/styles/ || $(MKDIR) $(INSTALL_ROOT)/usr/lib/i386-linux-gnu/qt4/plugins/styles/ + -$(INSTALL_PROGRAM) "../styles/$(TARGET)" "$(INSTALL_ROOT)/usr/lib/i386-linux-gnu/qt4/plugins/styles/$(TARGET)" + -$(STRIP) --strip-unneeded "$(INSTALL_ROOT)/usr/lib/i386-linux-gnu/qt4/plugins/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/ + -$(DEL_FILE) "$(INSTALL_ROOT)/usr/lib/i386-linux-gnu/qt4/plugins/styles/$(TARGET)" + -$(DEL_DIR) $(INSTALL_ROOT)/usr/lib/i386-linux-gnu/qt4/plugins/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/ + -$(INSTALL_FILE) /root/tdeqt4styleplugin/plugin/simplestyle.cpp $(INSTALL_ROOT)/usr/lib/qt4/examples/tools/styleplugin/plugin/ + -$(INSTALL_FILE) /root/tdeqt4styleplugin/plugin/simplestyleplugin.cpp $(INSTALL_ROOT)/usr/lib/qt4/examples/tools/styleplugin/plugin/ + -$(INSTALL_FILE) /root/tdeqt4styleplugin/plugin/tdeqt4painter.cpp $(INSTALL_ROOT)/usr/lib/qt4/examples/tools/styleplugin/plugin/ + -$(INSTALL_FILE) /root/tdeqt4styleplugin/plugin/simplestyle.h $(INSTALL_ROOT)/usr/lib/qt4/examples/tools/styleplugin/plugin/ + -$(INSTALL_FILE) /root/tdeqt4styleplugin/plugin/simplestyleplugin.h $(INSTALL_ROOT)/usr/lib/qt4/examples/tools/styleplugin/plugin/ + -$(INSTALL_FILE) /root/tdeqt4styleplugin/plugin/tdeqt4painter.h $(INSTALL_ROOT)/usr/lib/qt4/examples/tools/styleplugin/plugin/ + -$(INSTALL_FILE) /root/tdeqt4styleplugin/plugin/plugin.pro $(INSTALL_ROOT)/usr/lib/qt4/examples/tools/styleplugin/plugin/ uninstall_sources: FORCE diff --git a/plugin/plugin.pro b/plugin/plugin.pro index 26e8615..600f729 100644 --- a/plugin/plugin.pro +++ b/plugin/plugin.pro @@ -18,7 +18,8 @@ LIBS += -L/usr/lib -ltqt -ltqt-mt -L /opt/trinity/lib -lDCOP -ltdecore DESTDIR = ../styles/ # install -target.path = $$[QT_INSTALL_EXAMPLES]/tools/styleplugin/styles +# target.path = $$[QT_INSTALL_EXAMPLES]/tools/styleplugin/styles +target.path = $$[QT_INSTALL_PLUGINS]/styles sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS plugin.pro sources.path = $$[QT_INSTALL_EXAMPLES]/tools/styleplugin/plugin INSTALLS += target sources diff --git a/plugin/simplestyle.cpp b/plugin/simplestyle.cpp index 08299dc..dcba17a 100644 --- a/plugin/simplestyle.cpp +++ b/plugin/simplestyle.cpp @@ -27,7 +27,12 @@ #include #include #include +#include +#include +#include #include +#include +#include #undef Qt #include @@ -50,6 +55,50 @@ #define DEBUG_WARNINGS 1 // #define DEBUG_SPEW 1 +inline TQt::Orientation convertQt4ToTQt3Orientation(Qt::Orientation qt4orient) +{ + TQt::Orientation tqt3orient; + + switch ( qt4orient ) { + case Qt::Horizontal: + tqt3orient = TQt::Horizontal; + break; + case Qt::Vertical: + tqt3orient = TQt::Vertical; + break; + } + + return tqt3orient; +} + +inline TQSlider::TickSetting convertQt4ToTQt3TickSetting(QSlider::TickPosition qt4ts) +{ + TQSlider::TickSetting tqt3ts; + + switch ( qt4ts ) { + case QSlider::NoTicks: + tqt3ts = TQSlider::NoMarks; + break; + case QSlider::TicksBothSides: + tqt3ts = TQSlider::Both; + break; + case QSlider::TicksAbove: + tqt3ts = TQSlider::Above; + break; + case QSlider::TicksBelow: + tqt3ts = TQSlider::Below; + break; +// case QSlider::TicksLeft: +// tqt3ts = TQSlider::Left; +// break; +// case QSlider::TicksRight: +// tqt3ts = TQSlider::Right; +// break; + } + + return tqt3ts; +} + inline QColor convertTQt3ToQt4Color(TQColor tqt3color) { return QColor(tqt3color.red(), tqt3color.green(), tqt3color.blue()); @@ -422,7 +471,7 @@ inline TQStyle::SFlags convertQt4ToTQt3SFlags(QStyle::State qt4stateflags, TQt3W TQStyle::SFlags sflags = 0; if (qt4stateflags & QStyle::State_Active) { - if (wt != TQT3WT_TQPopupMenu) { + if ((wt != TQT3WT_TQPopupMenu) && (wt != TQT3WT_TQMenuBar)) { sflags = sflags | TQStyle::Style_Active; } } @@ -472,7 +521,7 @@ inline TQStyle::SFlags convertQt4ToTQt3SFlags(QStyle::State qt4stateflags, TQt3W // sflags = sflags | TQStyle::; // } if (qt4stateflags & QStyle::State_Selected) { - if (wt == TQT3WT_TQPopupMenu) { + if ((wt == TQT3WT_TQPopupMenu) || (wt == TQT3WT_TQMenuBar)) { sflags = sflags | TQStyle::Style_Active; } sflags = sflags | TQStyle::Style_Selected; @@ -487,6 +536,9 @@ inline TQStyle::SFlags convertQt4ToTQt3SFlags(QStyle::State qt4stateflags, TQt3W // sflags = sflags | TQStyle::; // } if (qt4stateflags & QStyle::State_Sunken) { + if ((wt == TQT3WT_TQPopupMenu) || (wt == TQT3WT_TQMenuBar)) { + sflags = sflags | TQStyle::Style_Down; + } sflags = sflags | TQStyle::Style_Sunken; } if (qt4stateflags & QStyle::State_UpArrow) { @@ -502,6 +554,9 @@ inline TQStyle::SFlags convertQt4ToTQt3SFlags(QStyle::State qt4stateflags, TQt3W return sflags; } +#define NO_QT3_EQUIVALENT can_override = false; +#define DO_NOT_DRAW can_override = false; do_not_draw = true; + SimpleStyle::SimpleStyle() { #ifdef INTEGRATE_WITH_TDE @@ -541,11 +596,18 @@ SimpleStyle::SimpleStyle() // Create interface widgets m_tqt3parent_widget = new TQWidget(); + m_tqt3generic_widget = new TQWidget(m_tqt3parent_widget); m_tqt3progressbar_widget = new TQProgressBar(m_tqt3parent_widget); m_tqt3tabbar_widget = new TQTabBar(m_tqt3parent_widget); m_tqt3radiobutton_widget = new TQRadioButton(m_tqt3parent_widget); m_tqt3popupmenu_widget = new TQPopupMenu(m_tqt3parent_widget); m_tqt3combobox_widget = new TQComboBox(m_tqt3parent_widget); + m_tqt3slider_widget = new TQSlider(m_tqt3parent_widget); + m_tqt3scrollbar_widget = new TQScrollBar(m_tqt3parent_widget); + m_tqt3spinbox_widget = new TQSpinBox(m_tqt3parent_widget); + m_tqt3window_widget = new TQWidget(m_tqt3parent_widget); + m_tqt3titlebar_widget = new TQTitleBar(m_tqt3window_widget, m_tqt3parent_widget); + m_tqt3menubar_widget = new TQMenuBar(m_tqt3parent_widget); } SimpleStyle::~SimpleStyle() @@ -554,11 +616,18 @@ SimpleStyle::~SimpleStyle() // Delete interface widgets // Widgets are deleted when their parent is deleted...these lines will cause a crash on exit +// delete m_tqt3generic_widget; // delete m_tqt3progressbar_widget; // delete m_tqt3tabbar_widget; // delete m_tqt3radiobutton_widget; // delete m_tqt3popupmenu_widget; // delete m_tqt3combobox_widget; +// delete m_tqt3slider_widget; +// delete m_tqt3scrollbar_widget; +// delete m_tqt3spinbox_widget; +// delete m_tqt3window_widget; +// delete m_tqt3titlebar_widget; +// delete m_tqt3menubar_widget; // FIXME // Verify I'm not leaking memory like a sieve when this is commented out!!! @@ -599,7 +668,7 @@ bool SimpleStyle::eventFilter(QObject *obj, QEvent *ev) return false; } - QWidget* widget = static_cast(obj); + QWidget* widget = dynamic_cast(obj); if ((ev->type() == QEvent::FocusIn) || (ev->type() == QEvent::FocusOut) || (ev->type() == QEvent::Enter) || (ev->type() == QEvent::Leave) || (ev->type() == QEvent::Wheel)) { @@ -681,14 +750,10 @@ int SimpleStyle::pixelMetric(PixelMetric metric, const QStyleOption *opt, const // tqt3pixelmetric = TQStyle::PM_ComboBoxFrameWidth; // retswitch = 1; // break; - case QStyle::PM_MDIFrameWidth: + case QStyle::PM_MdiSubWindowFrameWidth: tqt3pixelmetric = TQStyle::PM_MDIFrameWidth; retswitch = 1; break; -// case QStyle::PM_MdiSubWindowFrameWidth: -// tqt3pixelmetric = TQStyle::PM_MdiSubWindowFrameWidth; -// retswitch = 1; -// break; case QStyle::PM_MDIMinimizedWidth: tqt3pixelmetric = TQStyle::PM_MDIMinimizedWidth; retswitch = 1; @@ -697,30 +762,30 @@ int SimpleStyle::pixelMetric(PixelMetric metric, const QStyleOption *opt, const // tqt3pixelmetric = TQStyle::PM_MdiSubWindowMinimizedWidth; // retswitch = 1; // break; - case QStyle::PM_LayoutLeftMargin: - retval = 0; - retswitch = 2; - break; - case QStyle::PM_LayoutTopMargin: - retval = 0; - retswitch = 2; - break; - case QStyle::PM_LayoutRightMargin: - retval = 0; - retswitch = 2; - break; - case QStyle::PM_LayoutBottomMargin: - retval = 0; - retswitch = 2; - break; - case QStyle::PM_LayoutHorizontalSpacing: - retval = 0; - retswitch = 2; - break; - case QStyle::PM_LayoutVerticalSpacing: - retval = 0; - retswitch = 2; - break; +// case QStyle::PM_LayoutLeftMargin: +// retval = 0; +// retswitch = 2; +// break; +// case QStyle::PM_LayoutTopMargin: +// retval = 0; +// retswitch = 2; +// break; +// case QStyle::PM_LayoutRightMargin: +// retval = 0; +// retswitch = 2; +// break; +// case QStyle::PM_LayoutBottomMargin: +// retval = 0; +// retswitch = 2; +// break; +// case QStyle::PM_LayoutHorizontalSpacing: +// retval = 0; +// retswitch = 2; +// break; +// case QStyle::PM_LayoutVerticalSpacing: +// retval = 0; +// retswitch = 2; +// break; case QStyle::PM_MaximumDragDistance: tqt3pixelmetric = TQStyle::PM_MaximumDragDistance; retswitch = 1; @@ -859,6 +924,10 @@ int SimpleStyle::pixelMetric(PixelMetric metric, const QStyleOption *opt, const break; case QStyle::PM_TitleBarHeight: tqt3pixelmetric = TQStyle::PM_TitleBarHeight; + if (opt) { + m_tqt3generic_widget->setGeometry(0, 0, opt->rect.width(), opt->rect.height()); + interfaceWidget = m_tqt3generic_widget; + } retswitch = 1; break; case QStyle::PM_IndicatorWidth: @@ -881,14 +950,14 @@ int SimpleStyle::pixelMetric(PixelMetric metric, const QStyleOption *opt, const // retval = 0; // retswitch = 2; // break; - case QStyle::PM_MenuHMargin: - retval = 0; - retswitch = 2; - break; - case QStyle::PM_MenuVMargin: - retval = 0; - retswitch = 2; - break; +// case QStyle::PM_MenuHMargin: +// retval = 0; +// retswitch = 2; +// break; +// case QStyle::PM_MenuVMargin: +// retval = 0; +// retswitch = 2; +// break; // case QStyle::PM_MenuScrollerHeight: // tqt3pixelmetric = TQStyle::PM_MenuScrollerHeight; // retswitch = 1; @@ -1006,21 +1075,28 @@ int SimpleStyle::pixelMetric(PixelMetric metric, const QStyleOption *opt, const if (retswitch == 1) { retval = tqApp->style().pixelMetric(tqt3pixelmetric, interfaceWidget); + // HACK + // For some reason Qt4 tacks on a pixel to this by default + // FIXME + // Figure out why! + if (tqt3pixelmetric == TQStyle::PM_TabBarTabVSpace) { + retval = retval - 1; + } } else { -// if (retswitch == 2) { -// // retval was already set -// } -// else { + if (retswitch == 2) { + // retval was already set + } + else { // Tell Qt4 to get the information retval = QCommonStyle::pixelMetric(metric, opt, w); -// } + } } return retval; } -TQWidget* SimpleStyle::initializeInterfaceWidget(TQt3WidgetType wt, const QWidget* w) const +TQWidget* SimpleStyle::initializeInterfaceWidget(TQt3WidgetType wt, const QWidget* w, const QStyleOption* qt4styleoptions) const { int i; TQWidget* interfaceWidget = 0; @@ -1031,14 +1107,23 @@ TQWidget* SimpleStyle::initializeInterfaceWidget(TQt3WidgetType wt, const QWidge const QMenu* qt4menu_widget = 0; const QProgressBar* qt4progressbar_widget = 0; const QComboBox* qt4combobox_widget = 0; + const QSlider* qt4slider_widget = 0; + const QScrollBar* qt4scrollbar_widget = 0; + const QSpinBox* qt4spinbox_widget = 0; + const QMenuBar* qt4menubar_widget = 0; + + const QStyleOptionTitleBar* qt4titlebar_options = 0; TQTabBar::Shape tqt3tbshape = TQTabBar::RoundedAbove; + QList qt4menuactions; + QAction* currentAction; + switch (wt) { case TQT3WT_TQProgressBar: interfaceWidget = m_tqt3progressbar_widget; // Copy over all widget attributes - qt4progressbar_widget = static_cast(w); + qt4progressbar_widget = dynamic_cast(w); m_tqt3progressbar_widget->setGeometry(0, 0, qt4progressbar_widget->width(), qt4progressbar_widget->height()); m_tqt3progressbar_widget->setProgress(qt4progressbar_widget->value()-qt4progressbar_widget->minimum(),qt4progressbar_widget->maximum()-qt4progressbar_widget->minimum()); if (qt4progressbar_widget->orientation() != Qt::Horizontal) { @@ -1052,52 +1137,60 @@ TQWidget* SimpleStyle::initializeInterfaceWidget(TQt3WidgetType wt, const QWidge case TQT3WT_TQTabBar: interfaceWidget = m_tqt3tabbar_widget; // Copy over all widget attributes - qt4tabbar_widget = static_cast(w); - m_tqt3tabbar_widget->setGeometry(0, 0, qt4tabbar_widget->width(), qt4tabbar_widget->height()); - // Clear out tabbar - for (i=0;icount();i++) { - m_tqt3tabbar_widget->removeTab(m_tqt3tabbar_widget->tabAt(i)); - } - // Copy over all tabs - for (i=0;icount();i++) { - if (qt4tabbar_widget->tabIcon(i).isNull()) { - TQTab* newTab = new TQTab(convertQt4ToTQt3String(qt4tabbar_widget->tabText(i))); - m_tqt3tabbar_widget->insertTab(newTab, i); - newTab->setIdentifier(i); + qt4tabbar_widget = dynamic_cast(w); + if (qt4tabbar_widget) { + m_tqt3tabbar_widget->setGeometry(0, 0, qt4tabbar_widget->width(), qt4tabbar_widget->height()); + // Clear out tabbar + for (i=0;icount();i++) { + m_tqt3tabbar_widget->removeTab(m_tqt3tabbar_widget->tabAt(i)); } - else { - TQTab* newTab = new TQTab(convertQt4ToTQt3IconSet(qt4tabbar_widget->tabIcon(i)), convertQt4ToTQt3String(qt4tabbar_widget->tabText(i))); - m_tqt3tabbar_widget->insertTab(newTab, i); - newTab->setIdentifier(i); + // Copy over all tabs + for (i=0;icount();i++) { + if (qt4tabbar_widget->tabIcon(i).isNull()) { + TQTab* newTab = new TQTab(convertQt4ToTQt3String(qt4tabbar_widget->tabText(i))); + m_tqt3tabbar_widget->insertTab(newTab, i); + newTab->setIdentifier(i); + } + else { + TQTab* newTab = new TQTab(convertQt4ToTQt3IconSet(qt4tabbar_widget->tabIcon(i)), convertQt4ToTQt3String(qt4tabbar_widget->tabText(i))); + m_tqt3tabbar_widget->insertTab(newTab, i); + newTab->setIdentifier(i); + } + } + m_tqt3tabbar_widget->setCurrentTab(qt4tabbar_widget->currentIndex()); + switch (qt4tabbar_widget->shape()) { + case QTabBar::RoundedNorth: + tqt3tbshape = TQTabBar::RoundedAbove; + break; + case QTabBar::RoundedSouth: + tqt3tbshape = TQTabBar::RoundedBelow; + break; + case QTabBar::TriangularNorth: + tqt3tbshape = TQTabBar::TriangularAbove; + break; + case QTabBar::TriangularSouth: + tqt3tbshape = TQTabBar::TriangularBelow; + break; + default: + // Qt3 cannot draw other tab shapes +#ifdef DEBUG_WARNINGS + printf("No rules to draw Qt4 tab shape %d\n\r", qt4tabbar_widget->shape()); fflush(stdout); + interfaceWidget = 0; +#endif } + m_tqt3tabbar_widget->setShape(tqt3tbshape); } - m_tqt3tabbar_widget->setCurrentTab(qt4tabbar_widget->currentIndex()); - switch (qt4tabbar_widget->shape()) { - case QTabBar::RoundedNorth: - tqt3tbshape = TQTabBar::RoundedAbove; - break; - case QTabBar::RoundedSouth: - tqt3tbshape = TQTabBar::RoundedBelow; - break; - case QTabBar::TriangularNorth: - tqt3tbshape = TQTabBar::TriangularAbove; - break; - case QTabBar::TriangularSouth: - tqt3tbshape = TQTabBar::TriangularBelow; - break; - default: - // Qt3 cannot draw other tab shapes + else { #ifdef DEBUG_WARNINGS - printf("No rules to draw Qt4 tab shape %d\n\r", qt4tabbar_widget->shape()); fflush(stdout); - interfaceWidget = 0; + printf("Unable to draw Qt4 tabbar with no Qt4 object available\n\r"); fflush(stdout); + interfaceWidget = 0; #endif } - m_tqt3tabbar_widget->setShape(tqt3tbshape); break; case TQT3WT_TQRadioButton: interfaceWidget = m_tqt3radiobutton_widget; // Copy over all widget attributes - qt4radiobutton_widget = static_cast(w); + qt4radiobutton_widget = dynamic_cast(w); m_tqt3radiobutton_widget->setGeometry(0, 0, qt4radiobutton_widget->width(), qt4radiobutton_widget->height()); m_tqt3radiobutton_widget->setText(convertQt4ToTQt3String(qt4radiobutton_widget->text())); m_tqt3radiobutton_widget->setDown(qt4radiobutton_widget->isDown()); @@ -1105,7 +1198,7 @@ TQWidget* SimpleStyle::initializeInterfaceWidget(TQt3WidgetType wt, const QWidge case TQT3WT_TQComboBox: interfaceWidget = m_tqt3combobox_widget; // Copy over all widget attributes - qt4combobox_widget = static_cast(w); + qt4combobox_widget = dynamic_cast(w); m_tqt3combobox_widget->setGeometry(0, 0, qt4combobox_widget->width(), qt4combobox_widget->height()); // Clear out all combobox items m_tqt3combobox_widget->clear(); @@ -1123,14 +1216,14 @@ TQWidget* SimpleStyle::initializeInterfaceWidget(TQt3WidgetType wt, const QWidge case TQT3WT_TQPopupMenu: interfaceWidget = m_tqt3popupmenu_widget; // Copy over all widget attributes - qt4menu_widget = static_cast(w); + qt4menu_widget = dynamic_cast(w); m_tqt3popupmenu_widget->setGeometry(0, 0, qt4menu_widget->width(), qt4menu_widget->height()); // Clear out menu m_tqt3popupmenu_widget->clear(); m_tqt3popupmenu_widget->setCheckable(false); // Copy over all menu items - QList qt4menuactions = qt4menu_widget->actions(); - QAction* currentAction = 0; + qt4menuactions = qt4menu_widget->actions(); + currentAction = 0; for (i=0; i(w); + m_tqt3menubar_widget->setGeometry(0, 0, qt4menubar_widget->width(), qt4menubar_widget->height()); + // Clear out menu + m_tqt3menubar_widget->clear(); + // Copy over all menu items + qt4menuactions = qt4menubar_widget->actions(); + currentAction = 0; + for (i=0; iisSeparator()) { + m_tqt3menubar_widget->insertSeparator(i); + } + else { + if (currentAction->icon().isNull()) { + m_tqt3menubar_widget->insertItem(convertQt4ToTQt3String(currentAction->text()), i, i); + } + else { + m_tqt3menubar_widget->insertItem(convertQt4ToTQt3IconSet(currentAction->icon()), convertQt4ToTQt3String(currentAction->text()), i, i); + } + // FIXME + // Handle pixmaps, etc. + } + m_tqt3menubar_widget->setItemEnabled(i, currentAction->isEnabled()); + m_tqt3menubar_widget->setItemChecked(i, currentAction->isChecked()); + m_tqt3menubar_widget->setItemVisible(i, currentAction->isVisible()); + } + } + break; + case TQT3WT_TQSlider: + interfaceWidget = m_tqt3slider_widget; + // Copy over all widget attributes + qt4slider_widget = dynamic_cast(w); + if (qt4slider_widget) { + m_tqt3slider_widget->setGeometry(0, 0, qt4slider_widget->width(), qt4slider_widget->height()); + m_tqt3slider_widget->setOrientation(convertQt4ToTQt3Orientation(qt4slider_widget->orientation())); + m_tqt3slider_widget->setTracking(qt4slider_widget->hasTracking()); +// m_tqt3slider_widget->setPalette(); // FIXME + m_tqt3slider_widget->setTickmarks(convertQt4ToTQt3TickSetting(qt4slider_widget->tickPosition())); + m_tqt3slider_widget->setTickInterval(qt4slider_widget->tickInterval()); + m_tqt3slider_widget->setMinValue(qt4slider_widget->minimum()); + m_tqt3slider_widget->setMaxValue(qt4slider_widget->maximum()); + m_tqt3slider_widget->setLineStep(qt4slider_widget->singleStep()); + m_tqt3slider_widget->setPageStep(qt4slider_widget->pageStep()); + m_tqt3slider_widget->setValue(qt4slider_widget->value()); + } + else { +#ifdef DEBUG_WARNINGS + printf("Unable to draw Qt4 slider with no Qt4 object available\n\r"); fflush(stdout); + interfaceWidget = 0; +#endif + } + break; + case TQT3WT_TQScrollBar: + interfaceWidget = m_tqt3scrollbar_widget; + // Copy over all widget attributes + qt4scrollbar_widget = dynamic_cast(w); + if (qt4scrollbar_widget) { + m_tqt3scrollbar_widget->setGeometry(0, 0, qt4scrollbar_widget->width(), qt4scrollbar_widget->height()); + m_tqt3scrollbar_widget->setOrientation(convertQt4ToTQt3Orientation(qt4scrollbar_widget->orientation())); + m_tqt3scrollbar_widget->setTracking(qt4scrollbar_widget->hasTracking()); + m_tqt3scrollbar_widget->setMinValue(qt4scrollbar_widget->minimum()); + m_tqt3scrollbar_widget->setMaxValue(qt4scrollbar_widget->maximum()); + m_tqt3scrollbar_widget->setLineStep(qt4scrollbar_widget->singleStep()); + m_tqt3scrollbar_widget->setPageStep(qt4scrollbar_widget->pageStep()); + m_tqt3scrollbar_widget->setValue(qt4scrollbar_widget->value()); + } + else { +#ifdef DEBUG_WARNINGS + printf("Unable to draw Qt4 scrollbar with no Qt4 object available\n\r"); fflush(stdout); + interfaceWidget = 0; +#endif + } + break; + case TQT3WT_TQSpinBox: + interfaceWidget = m_tqt3spinbox_widget; + // Copy over all widget attributes + qt4spinbox_widget = dynamic_cast(w); + if (qt4spinbox_widget) { + m_tqt3spinbox_widget->setGeometry(0, 0, qt4spinbox_widget->width(), qt4spinbox_widget->height()); + m_tqt3spinbox_widget->setMinValue(qt4spinbox_widget->minimum()); + m_tqt3spinbox_widget->setMaxValue(qt4spinbox_widget->maximum()); + m_tqt3spinbox_widget->setLineStep(qt4spinbox_widget->singleStep()); + m_tqt3spinbox_widget->setValue(qt4spinbox_widget->value()); + } + else { +#ifdef DEBUG_WARNINGS + printf("Unable to draw Qt4 spinbox with no Qt4 object available\n\r"); fflush(stdout); + interfaceWidget = 0; +#endif + } + break; + case TQT3WT_TQTitleBar: + interfaceWidget = m_tqt3titlebar_widget; + qt4titlebar_options = static_cast(qt4styleoptions); + // Construct an internal TQTitleBar widget from the options and widget provided by Qt4 + m_tqt3titlebar_widget->setGeometry(qt4styleoptions->rect.x(), qt4styleoptions->rect.y(), qt4styleoptions->rect.width(), qt4styleoptions->rect.height()); + m_tqt3titlebar_widget->setCaption(convertQt4ToTQt3String(qt4titlebar_options->text)); + m_tqt3titlebar_widget->setIcon(convertQt4ToTQt3Pixmap(qt4titlebar_options->icon)); + m_tqt3titlebar_widget->setActive(qt4titlebar_options->titleBarState & Qt::WindowActive); } return interfaceWidget; @@ -1216,6 +1412,8 @@ void SimpleStyle::drawComplexControl(ComplexControl control, const QStyleOptionC TQWidget* interfaceWidget = 0; TQStyleOption tqt3opt(TQStyleOption::Default); + TQRect tqt3rect(opt->rect.x(), opt->rect.y(), opt->rect.width(), opt->rect.height()); + // Determine the correct color group sflags = convertQt4ToTQt3SFlags(opt->state, TQT3WT_NONE); TQPalette tqt3palette = convertQt4ToTQt3Palette(opt->palette); @@ -1232,6 +1430,15 @@ void SimpleStyle::drawComplexControl(ComplexControl control, const QStyleOptionC tqt3colorgroup = tqt3palette.disabled(); } + const QStyleOptionTitleBar* tbopt; + bool drawCloseButton; + bool drawMaxButton; + bool drawMinButton; + bool drawNormalButton; + bool drawShadeButton; + bool drawUnshadeButton; + bool drawSysMenuButton; + switch (control) { case CC_ComboBox: tqtCC = TQStyle::CC_ComboBox; @@ -1240,6 +1447,120 @@ void SimpleStyle::drawComplexControl(ComplexControl control, const QStyleOptionC can_override = false; } break; + case CC_Slider: + tqtCC = TQStyle::CC_Slider; + interfaceWidget = initializeInterfaceWidget(TQT3WT_TQSlider, w); + if (interfaceWidget == 0) { + can_override = false; + } + break; + case CC_ScrollBar: + tqtCC = TQStyle::CC_ScrollBar; + interfaceWidget = initializeInterfaceWidget(TQT3WT_TQScrollBar, w); + if (interfaceWidget == 0) { + can_override = false; + } + break; +// case CC_SpinBox: +// // FIXME FIXME FIXME +// // This is more complex to interface with +// // Under TQt3 there is an internal SpinWidget, and the SpinBox draws the editor through another call +// // Under Qt4 there is only the SpinBox, and we would need to draw both the SpinWidget and the editor +// tqtCC = TQStyle::CC_SpinWidget; +// interfaceWidget = initializeInterfaceWidget(TQT3WT_TQSpinBox, w); +// if (interfaceWidget == 0) { +// can_override = false; +// } +// break; + case CC_TitleBar: + tqtCC = TQStyle::CC_TitleBar; + interfaceWidget = initializeInterfaceWidget(TQT3WT_TQTitleBar, w, opt); + if (interfaceWidget == 0) { + can_override = false; + } + else { + // Select subcontrol(s) to be drawn + // Qt4 made this hard again (surprise surprise) + tbopt = static_cast(opt); + + // This logic is taken from Qt4 (qcommonstyle.cpp) + // It will need to be kept in sync with whatever Nokia does + drawCloseButton = (tbopt->subControls & SC_TitleBarCloseButton && tbopt->titleBarFlags & Qt::WindowSystemMenuHint); + drawMaxButton = (tbopt->subControls & SC_TitleBarMaxButton && tbopt->titleBarFlags & Qt::WindowMaximizeButtonHint && !(tbopt->titleBarState & Qt::WindowMaximized)); + drawMinButton = (tbopt->subControls & SC_TitleBarMinButton && tbopt->titleBarFlags & Qt::WindowMinimizeButtonHint && !(tbopt->titleBarState & Qt::WindowMinimized)); + drawNormalButton = (tbopt->subControls & SC_TitleBarNormalButton) && (((tbopt->titleBarFlags & Qt::WindowMinimizeButtonHint) && (tbopt->titleBarState & Qt::WindowMinimized)) || ((tbopt->titleBarFlags & Qt::WindowMaximizeButtonHint) && (tbopt->titleBarState & Qt::WindowMaximized))); + drawShadeButton = (tbopt->subControls & SC_TitleBarShadeButton && tbopt->titleBarFlags & Qt::WindowShadeButtonHint && !(tbopt->titleBarState & Qt::WindowMinimized)); + drawUnshadeButton = (tbopt->subControls & SC_TitleBarUnshadeButton && tbopt->titleBarFlags & Qt::WindowShadeButtonHint && tbopt->titleBarState & Qt::WindowMinimized); + drawSysMenuButton = (tbopt->subControls & SC_TitleBarSysMenu && tbopt->titleBarFlags & Qt::WindowSystemMenuHint); + // End logic taken from Qt4 + + // FIXME + // TQt3 has no idea how to draw the restore button on a maximized window!!! + // This needs to be fixed in qcommonstyle.cpp drawComplexControl, case CC_TitleBar + // Once this is fixed in TQt3, the logic below needs to be updated + + subControl = 0; + if (drawSysMenuButton) { + subControl = subControl | TQStyle::SC_TitleBarSysMenu; + } + if (drawMinButton) { + subControl = subControl | TQStyle::SC_TitleBarMinButton; + } + if (drawMaxButton) { + subControl = subControl | TQStyle::SC_TitleBarMaxButton; + } + if (drawCloseButton) { + subControl = subControl | TQStyle::SC_TitleBarCloseButton; + } + if (tbopt->subControls & SC_TitleBarLabel) { + subControl = subControl | TQStyle::SC_TitleBarLabel; + } + if (drawNormalButton && !(tbopt->titleBarState & Qt::WindowMaximized)) { + subControl = subControl | TQStyle::SC_TitleBarNormalButton; + } + if (drawShadeButton) { + subControl = subControl | TQStyle::SC_TitleBarShadeButton; + } + if (drawUnshadeButton) { + subControl = subControl | TQStyle::SC_TitleBarUnshadeButton; + } +// if (tbopt->subControls & SC_TitleBarContextHelpButton) { +// subControl = subControl | TQStyle::SC_TitleBarContextHelpButton; +// } + + subControlActive = 0; + if (tbopt->activeSubControls & SC_TitleBarSysMenu) { + subControlActive = subControlActive | TQStyle::SC_TitleBarSysMenu; + } + if (tbopt->activeSubControls & SC_TitleBarMinButton) { + subControlActive = subControlActive | TQStyle::SC_TitleBarMinButton; + } + if (tbopt->activeSubControls & SC_TitleBarMaxButton) { + subControlActive = subControlActive | TQStyle::SC_TitleBarMaxButton; + } + if (tbopt->activeSubControls & SC_TitleBarCloseButton) { + subControlActive = subControlActive | TQStyle::SC_TitleBarCloseButton; + } + if (tbopt->activeSubControls & SC_TitleBarLabel) { + subControlActive = subControlActive | TQStyle::SC_TitleBarLabel; + } + if (tbopt->activeSubControls & SC_TitleBarNormalButton) { + subControlActive = subControlActive | TQStyle::SC_TitleBarNormalButton; + } + if (tbopt->activeSubControls & SC_TitleBarShadeButton) { + subControlActive = subControlActive | TQStyle::SC_TitleBarShadeButton; + } + if (tbopt->activeSubControls & SC_TitleBarUnshadeButton) { + subControlActive = subControlActive | TQStyle::SC_TitleBarUnshadeButton; + } +// if (tbopt->activeSubControls & SC_TitleBarContextHelpButton) { +// subControlActive = subControlActive | TQStyle::SC_TitleBarContextHelpButton; +// } + } + break; + case CC_GroupBox: + NO_QT3_EQUIVALENT + break; default: #ifdef DEBUG_WARNINGS printf("No rules to draw Qt4 complex control %d\n\r", control); fflush(stdout); @@ -1253,8 +1574,20 @@ void SimpleStyle::drawComplexControl(ComplexControl control, const QStyleOptionC TQPainter tqtPainter(&qt4pd); + if (tqtCC == TQStyle::CC_TitleBar) { + // TQt3 is expecting to see a rect() from the titlebar that excludes the window frame, + // while Qt4 provides the entire rectangle (including the frame) via the widget/QStyleOptionTitleBar + // This is due to the fact that under TQt3 the titlebar is a correctly position widget, + // whereas under Qt4 the titlebar is part of the base widget itself. + // Compensate... + if (interfaceWidget) { + TQRect tbg = interfaceWidget->geometry(); + tqtPainter.translate(tbg.x(), tbg.y()); + } + } + // Instruct TQt3 to draw the complex control - tqApp->style().drawComplexControl(tqtCC, &tqtPainter, interfaceWidget, TQRect(opt->rect.x(), opt->rect.y(), opt->rect.width(), opt->rect.height()), tqt3colorgroup, sflags, subControl, subControlActive, tqt3opt); + tqApp->style().drawComplexControl(tqtCC, &tqtPainter, interfaceWidget, tqt3rect, tqt3colorgroup, sflags, subControl, subControlActive, tqt3opt); tqtPainter.end(); @@ -1356,7 +1689,7 @@ void SimpleStyle::drawControl(ControlElement element, const QStyleOption *opt, Q // Qt4 makes this really, really hard... // I have to guess based on the Qt4 position of the tab in the tab bar, which may or may not work 100% in all cases drawingTab = 0; - estimated_tab_index = static_cast(w)->tabAt(QPoint(opt->rect.x(), opt->rect.y())); + estimated_tab_index = dynamic_cast(w)->tabAt(QPoint(opt->rect.x(), opt->rect.y())); drawingTab = m_tqt3tabbar_widget->tabAt(estimated_tab_index); if (drawingTab) { @@ -1375,6 +1708,13 @@ void SimpleStyle::drawControl(ControlElement element, const QStyleOption *opt, Q if (tqt3tabwidth > 0) { tqt3elementrect = TQRect(tqt3elementrect.x()-tqt3tabwidth, tqt3elementrect.y(), tqt3elementrect.width()+(tqt3tabwidth*1), tqt3elementrect.height()); } + if (drawingTab) { + if (drawingTab->identifier() == 0) { + // This is the first tab in the tab bar + // We will end up clipping on the left edge if the rectangle is not adjusted + tqt3elementrect = TQRect(tqt3elementrect.x()+tqt3tabwidth, tqt3elementrect.y(), tqt3elementrect.width()-(tqt3tabwidth*1), tqt3elementrect.height()); + } + } } break; #if 0 @@ -1403,8 +1743,8 @@ void SimpleStyle::drawControl(ControlElement element, const QStyleOption *opt, Q // Qt4 makes this really, really hard... // I have to guess based on the Qt4 position of the item in the menu, which may or may not work 100% in all cases drawingItem = 0; - drawingAction = static_cast(w)->actionAt(QPoint(opt->rect.x(), opt->rect.y())); - qt4menuactions = static_cast(w)->actions(); + drawingAction = dynamic_cast(w)->actionAt(QPoint(opt->rect.x(), opt->rect.y())); + qt4menuactions = dynamic_cast(w)->actions(); for (i=0; ifindItem(m_tqt3popupmenu_widget->idAt(i)); @@ -1418,10 +1758,74 @@ void SimpleStyle::drawControl(ControlElement element, const QStyleOption *opt, Q } } break; + case QStyle::CE_MenuBarItem: + tqtCE = TQStyle::CE_MenuBarItem; + sflags = convertQt4ToTQt3SFlags(opt->state, TQT3WT_TQMenuBar); + interfaceWidget = initializeInterfaceWidget(TQT3WT_TQMenuBar, w); + if (interfaceWidget == 0) { + can_override = false; + } + else { + // Convert the QStyleOption to the proper TQStyleOption + // In other words, figure out which TQt3 menu item is currently being drawn + // Qt4 makes this really, really hard... + // I have to guess based on the Qt4 position of the item in the menu, which may or may not work 100% in all cases + drawingItem = 0; + drawingAction = dynamic_cast(w)->actionAt(QPoint(opt->rect.x(), opt->rect.y())); + qt4menuactions = dynamic_cast(w)->actions(); + for (i=0; ifindItem(m_tqt3menubar_widget->idAt(i)); + } + } + + if (drawingItem) { + tqt3opt = TQStyleOption(drawingItem); + } + } + break; + case QStyle::CE_MenuBarEmptyArea: + tqtCE = TQStyle::CE_MenuBarEmptyArea; + break; + case QStyle::CE_MenuEmptyArea: + tqtCE = TQStyle::CE_MenuBarEmptyArea; + break; + case QStyle::CE_ShapedFrame: + // Ignore request as Qt3 has no equivalent + can_override = false; + break; case QStyle::CE_TabBarTabShape: // Ignore request as Qt3 has no equivalent can_override = false; break; + case QStyle::CE_ScrollBarAddLine: + // Ignore request as Qt3 has no equivalent + can_override = false; + break; + case QStyle::CE_ScrollBarSubLine: + // Ignore request as Qt3 has no equivalent + can_override = false; + break; + case QStyle::CE_ScrollBarAddPage: + // Ignore request as Qt3 has no equivalent + can_override = false; + break; + case QStyle::CE_ScrollBarSubPage: + // Ignore request as Qt3 has no equivalent + can_override = false; + break; + case QStyle::CE_ScrollBarSlider: + // Ignore request as Qt3 has no equivalent + can_override = false; + break; + case QStyle::CE_ScrollBarFirst: + // Ignore request as Qt3 has no equivalent + can_override = false; + break; + case QStyle::CE_ScrollBarLast: + // Ignore request as Qt3 has no equivalent + can_override = false; + break; default: #ifdef DEBUG_WARNINGS printf("No rules to draw Qt4 control %d\n\r", element); fflush(stdout); @@ -1435,6 +1839,12 @@ void SimpleStyle::drawControl(ControlElement element, const QStyleOption *opt, Q TQPainter tqtPainter(&qt4pd); + if (element == QStyle::CE_TabBarTab) { + // CE_TabBarTab doesn't draw the base panel of the tab + tqt3tabwidth = tqApp->style().pixelMetric(TQStyle::PM_TabBarTabOverlap, interfaceWidget); + tqtPainter.fillRect(TQRect(tqt3elementrect.x()+tqt3tabwidth, tqt3elementrect.y(), tqt3elementrect.width()-(tqt3tabwidth*2), tqt3elementrect.height()), tqt3colorgroup.background()); + } + // Instruct TQt3 to draw the control // FIXME // Implement sflags and QStyleOption @@ -1460,8 +1870,6 @@ void SimpleStyle::drawControl(ControlElement element, const QStyleOption *opt, Q } } -#define NO_QT3_EQUIVALENT can_override = false; - void SimpleStyle::drawPrimitive(PrimitiveElement pe, const QStyleOption *opt, QPainter *p, const QWidget *w) const { // Construct a Qt3 paint device translator on the Qt4 painter @@ -1470,7 +1878,10 @@ void SimpleStyle::drawPrimitive(PrimitiveElement pe, const QStyleOption *opt, QP // Open a painter on the paint device translator TQPainter tqtPainter(&qt4pd); + TQRect tqt3paintrect = TQRect(opt->rect.x(), opt->rect.y(), opt->rect.width(), opt->rect.height()); + bool can_override = true; + bool do_not_draw = false; TQStyle::PrimitiveElement tqtPE; TQStyleOption tqt3opt(TQStyleOption::Default); @@ -1485,9 +1896,26 @@ void SimpleStyle::drawPrimitive(PrimitiveElement pe, const QStyleOption *opt, QP tqtPE = TQStyle::PE_PanelPopup; tqt3opt = TQStyleOption(static_cast(opt)->lineWidth, static_cast(opt)->midLineWidth); break; + case QStyle::PE_PanelMenuBar: + tqtPE = TQStyle::PE_PanelMenuBar; + tqt3opt = TQStyleOption(static_cast(opt)->lineWidth, static_cast(opt)->midLineWidth); + break; + case QStyle::PE_PanelMenu: + tqtPE = TQStyle::PE_PanelPopup; + tqt3opt = TQStyleOption(static_cast(opt)->lineWidth, static_cast(opt)->midLineWidth); + break; case QStyle::PE_PanelButtonBevel: tqtPE = TQStyle::PE_ButtonBevel; break; + case QStyle::PE_FrameLineEdit: + tqtPE = TQStyle::PE_PanelLineEdit; + break; + case QStyle::PE_PanelStatusBar: + tqtPE = TQStyle::PE_Panel; + break; + case QStyle::PE_PanelButtonTool: + tqtPE = TQStyle::PE_ButtonTool; + break; case QStyle::PE_FrameGroupBox: tqtPE = TQStyle::PE_GroupBoxFrame; tqt3opt = TQStyleOption(static_cast(opt)->lineWidth, static_cast(opt)->midLineWidth); @@ -1503,6 +1931,15 @@ void SimpleStyle::drawPrimitive(PrimitiveElement pe, const QStyleOption *opt, QP break; case QStyle::PE_FrameTabWidget: tqtPE = TQStyle::PE_PanelTabWidget; + // HACK + // For an unknown reason Qt4 paints the tab border 2 pixels lower and shorter than it should + // FIXME + // Figure out why that happens! + tqt3paintrect = TQRect(tqt3paintrect.x(), tqt3paintrect.y()-2, tqt3paintrect.width(), tqt3paintrect.height()+2); + p->setClipRect(QRect(tqt3paintrect.x(), tqt3paintrect.y(), tqt3paintrect.width(), tqt3paintrect.height())); + break; + case QStyle::PE_FrameDefaultButton: + tqtPE = TQStyle::PE_ButtonDefault; break; case QStyle::PE_PanelButtonCommand: tqtPE = TQStyle::PE_ButtonCommand; @@ -1528,15 +1965,34 @@ void SimpleStyle::drawPrimitive(PrimitiveElement pe, const QStyleOption *opt, QP case QStyle::PE_IndicatorRadioButton: tqtPE = TQStyle::PE_ExclusiveIndicator; break; - case QStyle::PE_PanelMenu: - tqtPE = TQStyle::PE_PanelPopup; + case QStyle::PE_IndicatorSpinDown: + tqtPE = TQStyle::PE_SpinWidgetDown; break; - case QStyle::PE_PanelButtonTool: - tqtPE = TQStyle::PE_ButtonTool; + case QStyle::PE_IndicatorSpinUp: + tqtPE = TQStyle::PE_SpinWidgetUp; + break; + case QStyle::PE_IndicatorSpinPlus: + tqtPE = TQStyle::PE_SpinWidgetPlus; + break; + case QStyle::PE_IndicatorSpinMinus: + tqtPE = TQStyle::PE_SpinWidgetMinus; + break; + case QStyle::PE_FrameWindow: + tqtPE = TQStyle::PE_WindowFrame; break; case QStyle::PE_IndicatorTabTear: NO_QT3_EQUIVALENT break; + case QStyle::PE_FrameStatusBarItem: + NO_QT3_EQUIVALENT + break; + case QStyle::PE_PanelLineEdit: + NO_QT3_EQUIVALENT + break; + // Qt3 support elements + case QStyle::PE_Q3Separator: + tqtPE = TQStyle::PE_Separator; + break; default: #ifdef DEBUG_WARNINGS printf("No rules to draw Qt4 element %d\n\r", pe); fflush(stdout); @@ -1570,7 +2026,7 @@ void SimpleStyle::drawPrimitive(PrimitiveElement pe, const QStyleOption *opt, QP TQPainter tqtPainter(&qt4pd); // Instruct TQt3 to draw the primitive - tqApp->style().drawPrimitive(tqtPE, &tqtPainter, TQRect(opt->rect.x(), opt->rect.y(), opt->rect.width(), opt->rect.height()), tqt3colorgroup, sflags, tqt3opt); + tqApp->style().drawPrimitive(tqtPE, &tqtPainter, tqt3paintrect, tqt3colorgroup, sflags, tqt3opt); tqtPainter.end(); #ifdef DEBUG_WARNINGS @@ -1580,7 +2036,9 @@ void SimpleStyle::drawPrimitive(PrimitiveElement pe, const QStyleOption *opt, QP #endif } else { - // Tell Qt4 to draw it - QCommonStyle::drawPrimitive(pe, opt, p, w); + if (do_not_draw == false) { + // Tell Qt4 to draw it + QCommonStyle::drawPrimitive(pe, opt, p, w); + } } } diff --git a/plugin/simplestyle.h b/plugin/simplestyle.h index 0b067b2..87c166c 100644 --- a/plugin/simplestyle.h +++ b/plugin/simplestyle.h @@ -31,6 +31,11 @@ class TQRadioButton; class TQProgressBar; class TQPopupMenu; class TQComboBox; +class TQSlider; +class TQScrollBar; +class TQSpinBox; +class TQTitleBar; +class TQMenuBar; enum TQt3WidgetType { TQT3WT_NONE, @@ -38,7 +43,12 @@ enum TQt3WidgetType { TQT3WT_TQTabBar, TQT3WT_TQRadioButton, TQT3WT_TQPopupMenu, - TQT3WT_TQComboBox + TQT3WT_TQComboBox, + TQT3WT_TQSlider, + TQT3WT_TQScrollBar, + TQT3WT_TQSpinBox, + TQT3WT_TQTitleBar, + TQT3WT_TQMenuBar }; class SimpleStyle : public QWindowsStyle @@ -62,14 +72,21 @@ public: int pixelMetric(PixelMetric metric, const QStyleOption * option = 0, const QWidget * widget = 0) const; private: - TQWidget* initializeInterfaceWidget(TQt3WidgetType wt, const QWidget * widget) const; + TQWidget* initializeInterfaceWidget(TQt3WidgetType wt, const QWidget * widget, const QStyleOption* qt4styleoptions = 0) const; TQWidget* m_tqt3parent_widget; + TQWidget* m_tqt3generic_widget; TQTabBar* m_tqt3tabbar_widget; TQRadioButton* m_tqt3radiobutton_widget; TQProgressBar* m_tqt3progressbar_widget; TQPopupMenu* m_tqt3popupmenu_widget; TQComboBox* m_tqt3combobox_widget; + TQSlider* m_tqt3slider_widget; + TQScrollBar* m_tqt3scrollbar_widget; + TQSpinBox* m_tqt3spinbox_widget; + TQWidget* m_tqt3window_widget; + TQTitleBar* m_tqt3titlebar_widget; + TQMenuBar* m_tqt3menubar_widget; }; #endif diff --git a/styles/libsimplestyleplugin.so b/styles/libsimplestyleplugin.so index 38b6bbe6240a6d4cafe1c871f5e1fd9796e6c6c9..f2085b34aecbad35bb16616c9abc37ff6244d8ff 100755 GIT binary patch literal 158852 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 ULOdO#^<%X?sGafpH=jWL-@tl*-T(jq literal 144021 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⋙`4zn8k<+~k?|=s> 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