Hello community,
here is the log from the commit of package qt
checked in at Wed May 24 02:49:38 CEST 2006.
--------
--- qt/qt-sql-plugins.changes 2006-05-21 02:12:49.000000000 +0200
+++ qt/qt-sql-plugins.changes 2006-05-24 02:49:08.000000000 +0200
@@ -1,0 +2,7 @@
+Tue May 23 08:25:13 CEST 2006 - adrian@suse.de
+
+- reapply the 0119-qaction-widgetfactory.diff and
+ 0112-ksyntaxhighlighter-rehighlight-document.diff patch to be
+ able to build KDE 4 again
+
+-------------------------------------------------------------------
qt.changes: same change
New:
----
0112-ksyntaxhighlighter-rehighlight-document.diff
0119-qaction-widgetfactory.diff
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ qt-sql-plugins.spec ++++++
--- /var/tmp/diff_new_pack.fhtIBH/_old 2006-05-24 02:49:14.000000000 +0200
+++ /var/tmp/diff_new_pack.fhtIBH/_new 2006-05-24 02:49:14.000000000 +0200
@@ -20,7 +20,7 @@
# COMMON-BEGIN
# COMMON-BEGIN
Version: 4.1.3
-Release: 1
+Release: 3
%define x11_free -x11-opensource-src-
%define rversion 4.1.3
Source: qt%x11_free%rversion.tar.bz2
@@ -40,6 +40,8 @@
Patch13: fix-plugin-loading.diff
Patch14: preproorder.patch
Patch15: 0116-qtoolbar-widgetforaction.diff
+Patch16: 0119-qaction-widgetfactory.diff
+Patch17: 0112-ksyntaxhighlighter-rehighlight-document.diff
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%define common_options -shared -xkb -tablet -xrender -xrandr -xinerama -xshape -sm -no-nas-sound -no-rpath -system-libjpeg -system-libpng -accessibility -cups -stl -nis -system-zlib -qt-gif -prefix /usr -L %_libdir -libdir %_libdir -docdir %_docdir/qt/ -examplesdir %_docdir/qt/examples -demosdir %_docdir/qt/demos -plugindir %plugindir -translationdir /usr/share/qt/translations -sysconfdir /etc/settings -datadir /usr/share/qt/
@@ -67,6 +69,8 @@
%patch13
%patch14
%patch15
+%patch16
+%patch17
# be sure not to use them
rm -rf src/3rdparty/{libjpeg,freetype,libpng,zlib}
# COMMON-END
@@ -209,6 +213,10 @@
%plugindir/sqldrivers/libqsqlmysql*.so
%changelog -n qt-sql-plugins
+* Tue May 23 2006 - adrian@suse.de
+- reapply the 0119-qaction-widgetfactory.diff and
+ 0112-ksyntaxhighlighter-rehighlight-document.diff patch to be
+ able to build KDE 4 again
* Sat May 20 2006 - adrian@suse.de
- update to version 4.1.3
Plenty of changes/bugfixes, but full forward and backward
++++++ qt.spec ++++++
--- /var/tmp/diff_new_pack.fhtIBH/_old 2006-05-24 02:49:15.000000000 +0200
+++ /var/tmp/diff_new_pack.fhtIBH/_new 2006-05-24 02:49:15.000000000 +0200
@@ -19,7 +19,7 @@
Summary: C++ Program Library, Core Components
# COMMON-BEGIN
Version: 4.1.3
-Release: 1
+Release: 3
%define x11_free -x11-opensource-src-
%define rversion 4.1.3
Source: qt%x11_free%rversion.tar.bz2
@@ -39,6 +39,8 @@
Patch13: fix-plugin-loading.diff
Patch14: preproorder.patch
Patch15: 0116-qtoolbar-widgetforaction.diff
+Patch16: 0119-qaction-widgetfactory.diff
+Patch17: 0112-ksyntaxhighlighter-rehighlight-document.diff
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%define common_options -shared -xkb -tablet -xrender -xrandr -xinerama -xshape -sm -no-nas-sound -no-rpath -system-libjpeg -system-libpng -accessibility -cups -stl -nis -system-zlib -qt-gif -prefix /usr -L %_libdir -libdir %_libdir -docdir %_docdir/qt/ -examplesdir %_docdir/qt/examples -demosdir %_docdir/qt/demos -plugindir %plugindir -translationdir /usr/share/qt/translations -sysconfdir /etc/settings -datadir /usr/share/qt/
@@ -68,6 +70,8 @@
%patch13
%patch14
%patch15
+%patch16
+%patch17
# be sure not to use them
rm -rf src/3rdparty/{libjpeg,freetype,libpng,zlib}
# COMMON-END
@@ -176,6 +180,8 @@
find $RPM_BUILD_ROOT/usr/share/qt/mkspecs -name 'qmake.conf' -exec chmod -x -- {} \;
find $RPM_BUILD_ROOT/usr/share/qt/mkspecs -name Info.plist.app -exec chmod -x -- {} \;
mkdir -p $RPM_BUILD_ROOT/%plugindir/sqldrivers
+cp -a changes-* \
+ $RPM_BUILD_ROOT/usr/share/doc/packages/%name/
#
# install menu entries
#
@@ -219,11 +225,11 @@
%files
%defattr(-,root,root,755)
-%doc changes.*
%dir %_libdir/qt
%dir %plugindir
%dir /usr/share/qt
%dir /usr/share/doc/packages/%name
+/usr/share/doc/packages/%name/changes-*
%_libdir/libQtCore*.so.*
%_libdir/libQtNetwork*.so.*
%_libdir/libQtXml*.so.*
@@ -298,6 +304,10 @@
%_libdir/libQtSql*.so.*
%changelog -n qt
+* Tue May 23 2006 - adrian@suse.de
+- reapply the 0119-qaction-widgetfactory.diff and
+ 0112-ksyntaxhighlighter-rehighlight-document.diff patch to be
+ able to build KDE 4 again
* Sat May 20 2006 - adrian@suse.de
- update to version 4.1.3
Plenty of changes/bugfixes, but full forward and backward
++++++ 0112-ksyntaxhighlighter-rehighlight-document.diff ++++++
qt-bugs@ issue : unknown
Trolltech task ID : unknown
applied: yes
author: Laurent Montel
Patch from Simon. Code from qt-4.2 to rehighlighting all document.
--- src/gui/text/qsyntaxhighlighter.cpp Wed Jan 25 08:53:55 CET 2006
+++ src/gui/text/qsyntaxhighlighter.cpp Wed Jan 25 08:53:55 CET 2006
@@ -32,8 +32,6 @@
QPointer<QTextDocument> doc;
- void _q_reformatDocument();
-
void _q_reformatBlocks(int from, int charsRemoved, int charsAdded);
void _q_reformatBlock(QTextBlock block);
@@ -42,18 +40,6 @@
QTextBlock currentBlock;
};
-void QSyntaxHighlighterPrivate::_q_reformatDocument()
-{
- if (!doc)
- return;
-
- QTextCursor cursor(doc);
- cursor.beginEditBlock();
- cursor.movePosition(QTextCursor::End);
- _q_reformatBlocks(0, 0, cursor.position());
- cursor.endEditBlock();
-}
-
void QSyntaxHighlighterPrivate::applyFormatChanges()
{
QListQTextLayout::FormatRange ranges;
@@ -330,7 +316,7 @@
if (d->doc) {
connect(d->doc, SIGNAL(contentsChange(int, int, int)),
this, SLOT(_q_reformatBlocks(int, int, int)));
- QTimer::singleShot(0, this, SLOT(_q_reformatDocument()));
+ QTimer::singleShot(0, this, SLOT(rehighlight()));
}
}
@@ -345,6 +331,22 @@
}
/*!
+ Redoes the highlighting of the whole document.
+*/
+void QSyntaxHighlighter::rehighlight()
+{
+ Q_D(QSyntaxHighlighter);
+ if (!d->doc)
+ return;
+
+ QTextCursor cursor(d->doc);
+ cursor.beginEditBlock();
+ cursor.movePosition(QTextCursor::End);
+ d->_q_reformatBlocks(0, 0, cursor.position());
+ cursor.endEditBlock();
+}
+
+/*!
\fn void QSyntaxHighlighter::highlightBlock(const QString &text)
Highlights the given text block. This function is called when
--- src/gui/text/qsyntaxhighlighter.h Wed Jan 25 08:53:55 CET 2006
+++ src/gui/text/qsyntaxhighlighter.h Wed Jan 25 08:53:55 CET 2006
@@ -44,6 +44,9 @@
void setDocument(QTextDocument *doc);
QTextDocument *document() const;
+public Q_SLOTS:
+ void rehighlight();
+
protected:
virtual void highlightBlock(const QString &text) = 0;
@@ -62,7 +65,6 @@
private:
Q_DISABLE_COPY(QSyntaxHighlighter)
Q_PRIVATE_SLOT(d_func(), void _q_reformatBlocks(int from, int charsRemoved, int charsAdded))
- Q_PRIVATE_SLOT(d_func(), void _q_reformatDocument())
};
#endif // QT_NO_SYNTAXHIGHLIGHTER
++++++ 0119-qaction-widgetfactory.diff ++++++
qt-bugs@ issue : none
Trolltech task ID : none
applied: yes
author: Hamish Rodda
Patch that allows QActions to provide custom widgets to be inserted into
toolbars, without having to use addWidget().
In principle support from Simon Hausmann.
Index: src/gui/kernel/qaction.h
===================================================================
--- src/gui/kernel/qaction.h (revision 536610)
+++ src/gui/kernel/qaction.h (working copy)
@@ -39,6 +39,20 @@ QT_MODULE(Gui)
class QMenu;
class QActionGroup;
class QActionPrivate;
+class QToolBar;
+
+class Q_GUI_EXPORT QActionWidgetFactory
+{
+public:
+ QActionWidgetFactory();
+ virtual ~QActionWidgetFactory();
+
+ virtual QWidget* createToolBarWidget(QToolBar* parent) = 0;
+
+ /// Here the factory has its widget returned... the default implementation
+ /// deletes it, but subclasses may prefer to keep it for next time
+ virtual void destroyToolBarWidget(QWidget* widget);
+};
class Q_GUI_EXPORT QAction : public QObject
{
@@ -147,6 +161,9 @@ public:
QWidget *parentWidget() const;
+ QActionWidgetFactory* toolBarWidgetFactory() const;
+ void setToolBarWidgetFactory(QActionWidgetFactory* factory);
+
protected:
bool event(QEvent *);
Index: src/gui/kernel/qaction_p.h
===================================================================
--- src/gui/kernel/qaction_p.h (revision 536610)
+++ src/gui/kernel/qaction_p.h (working copy)
@@ -91,6 +91,8 @@ public:
int id, param;
#endif
void sendDataChanged();
+
+ QActionWidgetFactory* factory;
};
#endif // QT_NO_ACTION
Index: src/gui/kernel/qaction.cpp
===================================================================
--- src/gui/kernel/qaction.cpp (revision 536610)
+++ src/gui/kernel/qaction.cpp (working copy)
@@ -53,7 +53,7 @@ static QString qt_strippedText(QString s
QActionPrivate::QActionPrivate() : group(0), enabled(1), forceDisabled(0),
- visible(1), forceInvisible(0), checkable(0), checked(0), separator(0), fontSet(false)
+ visible(1), forceInvisible(0), checkable(0), checked(0), separator(0), fontSet(false), factory(0)
{
#ifdef QT3_SUPPORT
static int qt_static_action_id = -1;
@@ -906,6 +906,31 @@ void QAction::activate(ActionEvent event
}
}
+QActionWidgetFactory* QAction::toolBarWidgetFactory() const
+{
+ Q_D(const QAction);
+ return d->factory;
+}
+
+void QAction::setToolBarWidgetFactory(QActionWidgetFactory* factory)
+{
+ Q_D(QAction);
+ d->factory = factory;
+}
+
+QActionWidgetFactory::QActionWidgetFactory()
+{
+}
+
+QActionWidgetFactory::~QActionWidgetFactory()
+{
+}
+
+void QActionWidgetFactory::destroyToolBarWidget(QWidget* widget)
+{
+ widget->deleteLater();
+}
+
/*!
\fn void QAction::triggered(bool checked)
Index: src/gui/widgets/qtoolbar.cpp
===================================================================
--- src/gui/widgets/qtoolbar.cpp (revision 536610)
+++ src/gui/widgets/qtoolbar.cpp (working copy)
@@ -262,6 +262,8 @@ QToolBarItem QToolBarPrivate::createItem
QToolBarWidgetAction *widgetAction = qobject_cast(action);
if (widgetAction) {
item.widget = widgetAction->widget();
+ } else if (action->toolBarWidgetFactory()) {
+ item.widget = action->toolBarWidgetFactory()->createToolBarWidget(q);
} else if (action->isSeparator()) {
item.widget = new QToolBarSeparator(q);
QObject::connect(q, SIGNAL(orientationChanged(Qt::Orientation)),
@@ -840,6 +842,9 @@ void QToolBar::actionEvent(QActionEvent
if (!widgetAction) {
// destroy the QToolButton/QToolBarSeparator
item.widget->hide();
+ if (action->toolBarWidgetFactory())
+ action->toolBarWidgetFactory()->destroyToolBarWidget(item.widget);
+ else
item.widget->deleteLater();
} else {
if (!isHidden() && item.widget->testAttribute(Qt::WA_WState_Created))
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...