Hello community,

here is the log from the commit of package kdepim4 for openSUSE:Factory
checked in at Thu Aug 11 15:56:55 CEST 2011.



--------
--- KDE/kdepim4/kdepim4.changes 2011-04-21 22:20:48.000000000 +0200
+++ /mounts/work_src_done/STABLE/kdepim4/kdepim4.changes        2011-08-09 
15:09:58.000000000 +0200
@@ -1,0 +2,51 @@
+Tue Aug  9 13:09:15 UTC 2011 - idon...@novell.com
+
+- kmail & korganizer are licensed under GPLv2 only because they
+  link to GPLv2 only libraries, bnc #710584
+
+-------------------------------------------------------------------
+Fri Aug  5 21:10:16 UTC 2011 - idon...@novell.com
+
+- Drop kalarm-disable-rtcwake.patch, we are now whitelisted 
+
+-------------------------------------------------------------------
+Thu Aug  4 09:58:50 UTC 2011 - idon...@novell.com
+
+- Add kalarm-disable-rtcwake.patch to disable kalarm rtcwake support
+  until bnc #707723 is resolved 
+
+-------------------------------------------------------------------
+Thu Aug  4 08:53:59 UTC 2011 - idon...@novell.com
+
+- Add kdepim4-4.7-branch.patch, sync with 4.7 branch
+  * Memory leak fixes
+  * Crash fixes
+- Drop fix-progressmanager.diff, already in branch update
+
+-------------------------------------------------------------------
+Wed Jul 27 12:47:49 UTC 2011 - cgiboude...@gmx.com
+
+- Update fix-progressmanager.diff. Add commit db0f6aba which is also needed
+
+-------------------------------------------------------------------
+Mon Jul 25 10:16:10 UTC 2011 - cgiboude...@gmx.com
+
+- Add fix-progressmanager.diff
+Fixes kde#278112, kde#278235
+(will be part of kdepim 4.7.1)
+
+
+-------------------------------------------------------------------
+Fri Jul 22 20:20:31 CEST 2011 - dmuel...@suse.de
+
+- update to 4.7.0
+  * Small fixes over KDE 4.7 RC2
+  *  see http://kde.org/announcements/4.7 for details
+  
+
+-------------------------------------------------------------------
+Thu Jul 21 12:57:29 UTC 2011 - idon...@novell.com
+
+- Update to 4.6.95 
+
+-------------------------------------------------------------------

calling whatdependson for head-i586


Old:
----
  4_4_BRANCH.diff
  assuan2.diff
  kdepim-4.4.11.1.tar.bz2
  ktimetracker_bnc651155.diff

New:
----
  kdepim-4.7.0.tar.bz2
  kdepim4-4.7-branch.patch
  make-kmail-faster.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ kdepim4.spec ++++++
++++ 702 lines (skipped)
++++ between KDE/kdepim4/kdepim4.spec
++++ and /mounts/work_src_done/STABLE/kdepim4/kdepim4.spec

++++++ akregator-useragent.diff ++++++
--- /var/tmp/diff_new_pack.Q75Iy9/_old  2011-08-11 15:56:27.000000000 +0200
+++ /var/tmp/diff_new_pack.Q75Iy9/_new  2011-08-11 15:56:27.000000000 +0200
@@ -1,13 +1,11 @@
-Index: akregator/src/akregator_part.cpp
-===================================================================
---- akregator/src/akregator_part.cpp.orig
+--- akregator/src/akregator_part.cpp
 +++ akregator/src/akregator_part.cpp
-@@ -182,7 +182,7 @@ Part::Part( QWidget *parentWidget, QObje
+@@ -264,7 +264,7 @@ Part::Part( QWidget *parentWidget, QObje
      connect(m_autosaveTimer, SIGNAL(timeout()), this, 
SLOT(slotSaveFeedList()));
      m_autosaveTimer->start(5*60*1000); // 5 minutes
  
--    QString useragent = QString( "Akregator/%1; syndication" ).arg( 
AKREGATOR_VERSION );
-+    QString useragent = QString( "Akregator/%1; syndication SUSE" ).arg( 
AKREGATOR_VERSION );
+-    QString useragent = QString( "Akregator/%1; syndication" ).arg( 
KDEPIM_VERSION );
++    QString useragent = QString( "Akregator/%1; syndication SUSE" ).arg( 
KDEPIM_VERSION );
  
      if( !Settings::customUserAgent().isEmpty() )
          useragent = Settings::customUserAgent();

++++++ desktop-files.diff ++++++
--- /var/tmp/diff_new_pack.Q75Iy9/_old  2011-08-11 15:56:27.000000000 +0200
+++ /var/tmp/diff_new_pack.Q75Iy9/_new  2011-08-11 15:56:27.000000000 +0200
@@ -1,22 +1,28 @@
---- akonadiconsole/akonadiconsole.desktop.sav  2009-12-14 11:54:45.000000000 
+0100
-+++ akonadiconsole/akonadiconsole.desktop      2009-12-19 21:23:12.000000000 
+0100
-@@ -77,4 +77,5 @@ Comment[x-test]=xxAkonadi Management and
+Index: akonadiconsole/akonadiconsole.desktop
+===================================================================
+--- akonadiconsole/akonadiconsole.desktop.orig
++++ akonadiconsole/akonadiconsole.desktop
+@@ -90,4 +90,5 @@ Comment[x-test]=xxAkonadi Management and
  Comment[zh_CN]=用于管理和调试 Akonadi 的控制台
  Comment[zh_TW]=Akonadi 管理與除錯主控台
  Terminal=false
 -Categories=Qt;KDE;Development;
 +Categories=Qt;KDE;Development;Debugger;X-KDE-Utilities-PIM;
 +Hidden=true
---- ktimetracker/support/ktimetracker.desktop.sav      2009-12-11 
00:14:26.000000000 +0100
-+++ ktimetracker/support/ktimetracker.desktop  2009-12-19 21:10:07.000000000 
+0100
-@@ -104,4 +104,4 @@ Type=Application
+Index: ktimetracker/support/ktimetracker.desktop
+===================================================================
+--- ktimetracker/support/ktimetracker.desktop.orig
++++ ktimetracker/support/ktimetracker.desktop
+@@ -111,4 +111,4 @@ Type=Application
  Terminal=false
  X-KDE-StartupNotify=true
  X-DBUS-StartupType=Multi
 -Categories=Qt;KDE;Utility;Office;Monitor;X-KDE-Utilities-PIM;
 +Categories=Qt;KDE;Utility;X-KDE-Utilities-PIM;
---- kleopatra/kleopatra.desktop.sav    2009-12-14 11:54:41.000000000 +0100
-+++ kleopatra/kleopatra.desktop        2009-12-19 21:10:07.000000000 +0100
+Index: kleopatra/kleopatra.desktop
+===================================================================
+--- kleopatra/kleopatra.desktop.orig
++++ kleopatra/kleopatra.desktop
 @@ -1,8 +1,7 @@
  [Desktop Entry]
  Type=Application

++++++ kdepim-4.4.11.1.tar.bz2 -> kdepim-4.7.0.tar.bz2 ++++++
KDE/kdepim4/kdepim-4.4.11.1.tar.bz2 
/mounts/work_src_done/STABLE/kdepim4/kdepim-4.7.0.tar.bz2 differ: char 11, line 
1

++++++ kdepim4-4.7-branch.patch ++++++
++++ 7718 lines (skipped)

++++++ make-kmail-faster.patch ++++++
diff --git a/messagelist/core/themedelegate.cpp 
b/messagelist/core/themedelegate.cpp
--- a/messagelist/core/themedelegate.cpp
+++ b/messagelist/core/themedelegate.cpp
@@ -51,8 +51,11 @@ ThemeDelegate::ThemeDelegate( QAbstractItemView * parent )
 {
   mItemView = parent;
   mTheme = 0;
+  connect( KGlobalSettings::self(), SIGNAL( kdisplayFontChanged() ), this,  
SLOT( slotGeneralFontChanged() ) );
 }
 
+QString ThemeDelegate::mGeneralFontKey = KGlobalSettings::generalFont().key();
+
 ThemeDelegate::~ThemeDelegate()
 {
 }
@@ -87,6 +90,7 @@ void ThemeDelegate::setTheme( const Theme * theme )
     break;
   }
   mItemView->reset();
+
 }
 
 // FIXME: gcc will refuse to inline these functions loudly complaining
@@ -118,6 +122,18 @@ static int cachedFontHeight( const QFont &font )
   return fontHeightCache[ fontKey ];
 }
 
+static int cachedFontHeightKey( const QFont &font, const QString &fontKey )
+{
+  static QHash<QString, int> fontHeightCache;
+
+  if ( !fontHeightCache.contains( fontKey ) ) {
+    fontHeightCache.insert( fontKey, cachedFontMetrics( font ).height() );
+  }
+
+  return fontHeightCache[ fontKey ];
+}
+
+
 static inline void paint_right_aligned_elided_text( const QString &text, 
Theme::ContentItem * ci, QPainter * painter, int &left, int top, int &right, 
Qt::LayoutDirection layoutDir, const QFont &font )
 {
   painter->setFont( font );
@@ -501,7 +517,8 @@ static inline void compute_size_hint_for_item( 
Theme::ContentItem * ci,
   if ( ci->displaysText() )
   {
     const QFont font = ThemeDelegate::itemFont( ci, item );
-    const int fontHeight = cachedFontHeight( font );
+    const QString fontKey = ThemeDelegate::itemFontKey( ci, item );
+    const int fontHeight = cachedFontHeightKey( font, fontKey );
     if ( fontHeight > maxh )
       maxh = fontHeight;
     totalw += ci->displaysLongText() ? 128 : 64;
@@ -1670,3 +1687,20 @@ QFont ThemeDelegate::itemFont( const Theme::ContentItem 
*ci, const Item *item )
   return KGlobalSettings::generalFont();
 }
 
+QString ThemeDelegate::itemFontKey( const Theme::ContentItem *ci, const Item 
*item )
+{
+  if ( ci && ci->useCustomFont() )
+    return ci->fontKey();
+
+  if ( item && ( item->type() == Item::Message ) )
+    return static_cast< const MessageItem * >( item )->fontKey();
+
+  return mGeneralFontKey;
+}
+
+// Store the new fontKey when the generalFont changes.
+void ThemeDelegate::slotGeneralFontChanged()
+{
+  ThemeDelegate::mGeneralFontKey = KGlobalSettings::generalFont().key();
+}
+
diff --git a/messagelist/core/themedelegate.h b/messagelist/core/themedelegate.h
--- a/messagelist/core/themedelegate.h
+++ b/messagelist/core/themedelegate.h
@@ -44,6 +44,8 @@ class Item;
  */
 class ThemeDelegate : public QStyledItemDelegate
 {
+  Q_OBJECT
+
 public:
   ThemeDelegate( QAbstractItemView * parent );
   ~ThemeDelegate();
@@ -51,6 +53,7 @@ public:
 private:
   const Theme * mTheme; ///< Shallow pointer to the current theme
   QAbstractItemView * mItemView;
+  static QString mGeneralFontKey;
 
   QColor mGroupHeaderBackgroundColor; // cache
 
@@ -194,6 +197,9 @@ public:
   /// return the font to paint given item with, checking global kmail settings 
and theme settings
   static QFont itemFont( const Theme::ContentItem *ci, const Item *item );
 
+  /// return the font key to paint given item with, checking global kmail 
settings and theme settings
+  static QString itemFontKey( const Theme::ContentItem *ci, const Item *item );
+
 protected:
   /**
    * Returns the Item for the specified model index. Pure virtual: must be 
reimplemented
@@ -211,6 +217,11 @@ protected:
    */
   QSize sizeHint( const QStyleOptionViewItem & option, const QModelIndex & 
index ) const;
 
+private slots:
+  /**
+   * Called when the global fonts change (from systemsettings)
+   */
+  void slotGeneralFontChanged();
 };
 
 } // namespace Core
diff --git a/messagelist/core/theme.cpp b/messagelist/core/theme.cpp
--- a/messagelist/core/theme.cpp
+++ b/messagelist/core/theme.cpp
@@ -167,6 +167,7 @@ bool Theme::ContentItem::applicableToGroupHeaderItems( Type 
type )
 void Theme::ContentItem::setFont( const QFont &font )
 {
   mFont = font;
+  mFontKey = font.key();
 }
 
 void Theme::ContentItem::save( QDataStream &stream ) const
diff --git a/messagelist/core/theme.h b/messagelist/core/theme.h
--- a/messagelist/core/theme.h
+++ b/messagelist/core/theme.h
@@ -242,6 +242,7 @@ public:
      unsigned int mFlags;             ///< The flags of the item
 
      QFont mFont;                     ///< The font to use with this content 
item, meaningful only if displaysText() returns true.
+     QString mFontKey;                ///< The font key to speedup theme 
positioning. QFont.key() is called too many times otherwise.
      QColor mCustomColor;             ///< The color to use with this content 
item, meaningful only if canUseCustomColor() return true.
 
   public:
@@ -420,6 +421,16 @@ public:
       { return mFont; };
 
     /**
+     * Returns the font key used by this item. It may be a custom font key set 
by setFont()
+     * or the default application font (returned by 
KGlobalSettings::generalFont()).
+     * This setting is valid as long as you have called updateFontMetrics()
+     * with the appropriate paint device.
+     * It is primary used to avoid to calculate the key every time an item is 
displayed.
+     */
+    const QString & fontKey() const
+      { return mFontKey; };
+
+    /**
      * Returns the custom color set for this item.
      * The return value is meaningful only if canUseCustomColor() returns true
      * returns true and setUseCustomColor( true ) has been called.
diff --git a/messagelist/core/messageitem_p.h b/messagelist/core/messageitem_p.h
--- a/messagelist/core/messageitem_p.h
+++ b/messagelist/core/messageitem_p.h
@@ -80,6 +80,11 @@ public:
   static QFont mFontUnreadMessage;
   static QFont mFontImportantMessage;
   static QFont mFontToDoMessage;
+  static QString mFontKey;
+  static QString mFontNewMessageKey;
+  static QString mFontUnreadMessageKey;
+  static QString mFontImportantMessageKey;
+  static QString mFontToDoMessageKey;
 
 private:
 
diff --git a/messagelist/core/messageitem.h b/messagelist/core/messageitem.h
--- a/messagelist/core/messageitem.h
+++ b/messagelist/core/messageitem.h
@@ -134,6 +134,8 @@ public:
 
   QFont font() const;
 
+  QString fontKey() const;
+
   SignatureState signatureState() const;
 
   void setSignatureState( SignatureState state );
diff --git a/messagelist/core/messageitem.cpp b/messagelist/core/messageitem.cpp
--- a/messagelist/core/messageitem.cpp
+++ b/messagelist/core/messageitem.cpp
@@ -44,6 +44,7 @@ public:
   QColor mTextColor;
   QColor mBackgroundColor;
   QFont  mFont;
+  QString  mFontKey;
   int    mPriority;
 };
 
@@ -125,6 +126,11 @@ QFont MessageItemPrivate::mFontNewMessage;
 QFont MessageItemPrivate::mFontUnreadMessage;
 QFont MessageItemPrivate::mFontImportantMessage;
 QFont MessageItemPrivate::mFontToDoMessage;
+QString MessageItemPrivate::mFontKey;
+QString MessageItemPrivate::mFontNewMessageKey;
+QString MessageItemPrivate::mFontUnreadMessageKey;
+QString MessageItemPrivate::mFontImportantMessageKey;
+QString MessageItemPrivate::mFontToDoMessageKey;
 
 MessageItemPrivate::MessageItemPrivate( MessageItem* qq )
   : ItemPrivate( qq ),
@@ -405,6 +411,35 @@ QFont MessageItem::font() const
   return font;
 }
 
+QString MessageItem::fontKey() const
+{
+  Q_D( const MessageItem );
+
+  // for performance reasons we don't want font retrieval to trigger
+  // full tags loading, as the font is used for geometry calculation
+  // and thus this method called for each item
+  if ( d->tagListInitialized() ) {
+    const Tag *bestTag = d->bestTag();
+    if ( bestTag != 0 && bestTag->font() != QFont() ) {
+      return bestTag->font().key();
+    }
+  }
+
+  // from KDE3: "important" overrides "new" overrides "unread" overrides "todo"
+  Akonadi::MessageStatus messageStatus = status();
+  if ( messageStatus.isImportant() ) {
+    return d->mFontImportantMessageKey;
+  } else if ( !messageStatus.isRead() ) {
+    return d->mFontUnreadMessageKey;
+  } else if ( messageStatus.isToAct() ) {
+    return d->mFontToDoMessageKey;
+  } else {
+    return d->mFontKey;
+  }
+
+}
+
+
 MessageItem::SignatureState MessageItem::signatureState() const
 {
   Q_D( const MessageItem );
@@ -580,26 +615,31 @@ void MessageItem::setToDoMessageColor( const QColor 
&color )
 void MessageItem::setGeneralFont( const QFont &font )
 {
   MessageItemPrivate::mFont = font;
+  MessageItemPrivate::mFontKey = font.key();
 }
 
 void MessageItem::setNewMessageFont( const QFont &font )
 {
   MessageItemPrivate::mFontNewMessage = font;
+  MessageItemPrivate::mFontNewMessageKey = font.key();
 }
 
 void MessageItem::setUnreadMessageFont( const QFont &font )
 {
   MessageItemPrivate::mFontUnreadMessage = font;
+  MessageItemPrivate::mFontUnreadMessageKey = font.key();
 }
 
 void MessageItem::setImportantMessageFont( const QFont &font )
 {
   MessageItemPrivate::mFontImportantMessage = font;
+  MessageItemPrivate::mFontImportantMessageKey = font.key();
 }
 
 void MessageItem::setToDoMessageFont( const QFont &font )
 {
   MessageItemPrivate::mFontToDoMessage = font;
+  MessageItemPrivate::mFontToDoMessageKey = font.key();
 }
 
 FakeItemPrivate::FakeItemPrivate( FakeItem *qq ) : MessageItemPrivate( qq )

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++



Remember to have fun...

-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to