diff options
author | Timothy Pearson <[email protected]> | 2011-10-06 13:29:55 -0500 |
---|---|---|
committer | Timothy Pearson <[email protected]> | 2011-10-06 13:29:55 -0500 |
commit | d71a83ef0d306b8e23b2be5baa3e347116ba8253 (patch) | |
tree | 7e97f8f0eaf491f1700e537a9c87b03863e2a8fa /src/dialogs | |
parent | b1444fa097ab72348e6b86526d2d7d7ab673529e (diff) | |
download | qt3-d71a83ef0d306b8e23b2be5baa3e347116ba8253.tar.gz qt3-d71a83ef0d306b8e23b2be5baa3e347116ba8253.zip |
Apply qtkdeintegration patches to Qt3v3.5.13
This partially resolves Bug #528
Diffstat (limited to 'src/dialogs')
-rw-r--r-- | src/dialogs/qcolordialog.cpp | 16 | ||||
-rw-r--r-- | src/dialogs/qfiledialog.cpp | 33 | ||||
-rw-r--r-- | src/dialogs/qfontdialog.cpp | 10 | ||||
-rw-r--r-- | src/dialogs/qmessagebox.cpp | 42 |
4 files changed, 96 insertions, 5 deletions
diff --git a/src/dialogs/qcolordialog.cpp b/src/dialogs/qcolordialog.cpp index 44bf70e..4ce83bb 100644 --- a/src/dialogs/qcolordialog.cpp +++ b/src/dialogs/qcolordialog.cpp @@ -63,6 +63,10 @@ QRgb macGetRgba( QRgb initial, bool *ok, QWidget *parent, const char* name ); QColor macGetColor( const QColor& initial, QWidget *parent, const char *name ); #endif +#ifdef Q_WS_X11 +#include "private/qtkdeintegration_x11_p.h" +#endif + //////////// QWellArray BEGIN struct QWellArrayData; @@ -1481,7 +1485,10 @@ QColorDialog::QColorDialog(QWidget* parent, const char* name, bool modal) : QColor QColorDialog::getColor( const QColor& initial, QWidget *parent, const char *name ) { -#if defined(Q_WS_MAC) +#if defined(Q_WS_X11) + if( QKDEIntegration::enabled()) + return QKDEIntegration::getColor( initial, parent, name ); +#elif defined(Q_WS_MAC) return macGetColor(initial, parent, name); #endif @@ -1519,6 +1526,13 @@ QRgb QColorDialog::getRgba( QRgb initial, bool *ok, QWidget *parent, const char* name ) { #if defined(Q_WS_MAC) + if( QKDEIntegration::enabled()) { + QColor color = QKDEIntegration::getColor( QColor( initial ), parent, name ); + if( ok ) + *ok = color.isValid(); + return color.rgba(); + } +#elif defined(Q_WS_MAC) return macGetRgba(initial, ok, parent, name); #endif diff --git a/src/dialogs/qfiledialog.cpp b/src/dialogs/qfiledialog.cpp index d696204..7d08986 100644 --- a/src/dialogs/qfiledialog.cpp +++ b/src/dialogs/qfiledialog.cpp @@ -95,6 +95,10 @@ #include "qvbox.h" #include "qwidgetstack.h" +#ifdef Q_WS_X11 +#include "private/qtkdeintegration_x11_p.h" +#endif + #ifdef Q_WS_WIN #ifdef QT_THREAD_SUPPORT # include <private/qmutexpool_p.h> @@ -3489,7 +3493,11 @@ QString QFileDialog::getOpenFileName( const QString & startWith, if ( workingDirectory->isNull() ) *workingDirectory = ::toRootIfNotExists( QDir::currentDirPath() ); -#if defined(Q_WS_WIN) +#if defined(Q_WS_X11) + if ( qt_use_native_dialogs && QKDEIntegration::enabled()) + return QKDEIntegration::getOpenFileNames( filter, workingDirectory, parent, name, + caption, selectedFilter, false ).first(); +#elif defined(Q_WS_WIN) if ( qt_use_native_dialogs && qApp->style().styleHint( QStyle::SH_GUIStyle ) == WindowsStyle ) return winGetOpenFileName( initialSelection, filter, workingDirectory, parent, name, caption, selectedFilter ); @@ -3610,7 +3618,11 @@ QString QFileDialog::getSaveFileName( const QString & startWith, if ( workingDirectory->isNull() ) *workingDirectory = ::toRootIfNotExists( QDir::currentDirPath() ); -#if defined(Q_WS_WIN) +#if defined(Q_WS_X11) + if ( qt_use_native_dialogs && QKDEIntegration::enabled()) + return QKDEIntegration::getSaveFileName( initialSelection, filter, workingDirectory, + parent, name, caption, selectedFilter ); +#elif defined(Q_WS_WIN) if ( qt_use_native_dialogs && qApp->style().styleHint( QStyle::SH_GUIStyle ) == WindowsStyle ) return winGetSaveFileName( initialSelection, filter, workingDirectory, parent, name, caption, selectedFilter ); @@ -4500,7 +4512,17 @@ QString QFileDialog::getExistingDirectory( const QString & dir, if ( workingDirectory ) wd = *workingDirectory; -#if defined(Q_WS_WIN) +#if defined(Q_WS_X11) + QString initialDir; + if ( !dir.isEmpty() ) { + QUrlOperator u( dir ); + if ( QFileInfo( u.path() ).isDir() ) + initialDir = dir; + } else + initialDir = QString::null; + if ( qt_use_native_dialogs && QKDEIntegration::enabled()) + return QKDEIntegration::getExistingDirectory( initialDir, parent, name, caption ); +#elif defined(Q_WS_WIN) QString initialDir; if ( !dir.isEmpty() ) { QUrlOperator u( dir ); @@ -5664,7 +5686,10 @@ QStringList QFileDialog::getOpenFileNames( const QString & filter, } } -#if defined(Q_WS_WIN) +#if defined(Q_WS_X11) + if ( qt_use_native_dialogs && QKDEIntegration::enabled()) + return QKDEIntegration::getOpenFileNames( filter, workingDirectory, parent, name, caption, selectedFilter, true ); +#elif defined(Q_WS_WIN) if ( qt_use_native_dialogs && qApp->style().styleHint( QStyle::SH_GUIStyle ) == WindowsStyle ) return winGetOpenFileNames( filter, workingDirectory, parent, name, caption, selectedFilter ); #elif defined(Q_WS_MAC) diff --git a/src/dialogs/qfontdialog.cpp b/src/dialogs/qfontdialog.cpp index 1deec00..d1c31fa 100644 --- a/src/dialogs/qfontdialog.cpp +++ b/src/dialogs/qfontdialog.cpp @@ -59,6 +59,10 @@ #include <private/qfontdata_p.h> #include <qvalidator.h> +#ifdef Q_WS_X11 +#include "private/qtkdeintegration_x11_p.h" +#endif + /*! \class QFontDialog qfontdialog.h \ingroup dialogs @@ -387,9 +391,15 @@ QFont QFontDialog::getFont( bool *ok, QWidget *parent,const char* name) return getFont( ok, 0, parent, name ); } +extern bool qt_use_native_dialogs; + QFont QFontDialog::getFont( bool *ok, const QFont *def, QWidget *parent, const char* name) { +#if defined(Q_WS_X11) + if ( qt_use_native_dialogs && QKDEIntegration::enabled()) + return QKDEIntegration::getFont( ok, def, parent, name ); +#endif QFont result; if ( def ) result = *def; diff --git a/src/dialogs/qmessagebox.cpp b/src/dialogs/qmessagebox.cpp index 848c008..37407b0 100644 --- a/src/dialogs/qmessagebox.cpp +++ b/src/dialogs/qmessagebox.cpp @@ -57,6 +57,12 @@ #endif +#ifdef Q_WS_X11 +#include "private/qtkdeintegration_x11_p.h" +#endif + +extern bool qt_use_native_dialogs; + // Internal class - don't touch class QMessageBoxLabel : public QLabel @@ -1114,6 +1120,10 @@ int QMessageBox::information( QWidget *parent, const QString& caption, const QString& text, int button0, int button1, int button2 ) { +#if defined(Q_WS_X11) + if ( qt_use_native_dialogs && QKDEIntegration::enabled()) + return QKDEIntegration::information( parent, caption, text, button0, button1, button2 ); +#endif QMessageBox *mb = new QMessageBox( caption, text, Information, button0, button1, button2, parent, "qt_msgbox_information", TRUE, @@ -1161,6 +1171,10 @@ int QMessageBox::question( QWidget *parent, const QString& caption, const QString& text, int button0, int button1, int button2 ) { +#if defined(Q_WS_X11) + if ( qt_use_native_dialogs && QKDEIntegration::enabled()) + return QKDEIntegration::question( parent, caption, text, button0, button1, button2 ); +#endif QMessageBox *mb = new QMessageBox( caption, text, Question, button0, button1, button2, parent, "qt_msgbox_information", TRUE, @@ -1209,6 +1223,10 @@ int QMessageBox::warning( QWidget *parent, const QString& caption, const QString& text, int button0, int button1, int button2 ) { +#if defined(Q_WS_X11) + if ( qt_use_native_dialogs && QKDEIntegration::enabled()) + return QKDEIntegration::warning( parent, caption, text, button0, button1, button2 ); +#endif QMessageBox *mb = new QMessageBox( caption, text, Warning, button0, button1, button2, parent, "qt_msgbox_warning", TRUE, @@ -1257,6 +1275,10 @@ int QMessageBox::critical( QWidget *parent, const QString& caption, const QString& text, int button0, int button1, int button2 ) { +#if defined(Q_WS_X11) + if ( qt_use_native_dialogs && QKDEIntegration::enabled()) + return QKDEIntegration::critical( parent, caption, text, button0, button1, button2 ); +#endif QMessageBox *mb = new QMessageBox( caption, text, Critical, button0, button1, button2, parent, "qt_msgbox_critical", TRUE, @@ -1404,6 +1426,11 @@ int QMessageBox::information( QWidget *parent, const QString &caption, int defaultButtonNumber, int escapeButtonNumber ) { +#if defined(Q_WS_X11) + if ( qt_use_native_dialogs && QKDEIntegration::enabled()) + return QKDEIntegration::information( parent, caption, text, + button0Text, button1Text, button2Text, defaultButtonNumber, escapeButtonNumber ); +#endif return textBox( parent, Information, caption, text, button0Text, button1Text, button2Text, defaultButtonNumber, escapeButtonNumber ); @@ -1446,6 +1473,11 @@ int QMessageBox::question( QWidget *parent, const QString &caption, int defaultButtonNumber, int escapeButtonNumber ) { +#if defined(Q_WS_X11) + if ( qt_use_native_dialogs && QKDEIntegration::enabled()) + return QKDEIntegration::question( parent, caption, text, + button0Text, button1Text, button2Text, defaultButtonNumber, escapeButtonNumber ); +#endif return textBox( parent, Question, caption, text, button0Text, button1Text, button2Text, defaultButtonNumber, escapeButtonNumber ); @@ -1490,6 +1522,11 @@ int QMessageBox::warning( QWidget *parent, const QString &caption, int defaultButtonNumber, int escapeButtonNumber ) { +#if defined(Q_WS_X11) + if ( qt_use_native_dialogs && QKDEIntegration::enabled()) + return QKDEIntegration::warning( parent, caption, text, + button0Text, button1Text, button2Text, defaultButtonNumber, escapeButtonNumber ); +#endif return textBox( parent, Warning, caption, text, button0Text, button1Text, button2Text, defaultButtonNumber, escapeButtonNumber ); @@ -1530,6 +1567,11 @@ int QMessageBox::critical( QWidget *parent, const QString &caption, int defaultButtonNumber, int escapeButtonNumber ) { +#if defined(Q_WS_X11) + if ( qt_use_native_dialogs && QKDEIntegration::enabled()) + return QKDEIntegration::critical( parent, caption, text, + button0Text, button1Text, button2Text, defaultButtonNumber, escapeButtonNumber ); +#endif return textBox( parent, Critical, caption, text, button0Text, button1Text, button2Text, defaultButtonNumber, escapeButtonNumber ); |