Hello community,

here is the log from the commit of package kdebase4 for openSUSE:Factory 
checked in at 2014-04-18 11:35:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kdebase4 (Old)
 and      /work/SRC/openSUSE:Factory/.kdebase4.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "kdebase4"

Changes:
--------
--- /work/SRC/openSUSE:Factory/kdebase4/kdebase4.changes        2014-03-30 
08:24:49.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.kdebase4.new/kdebase4.changes   2014-04-18 
12:37:35.000000000 +0200
@@ -1,0 +2,7 @@
+Fri Apr 11 16:44:10 UTC 2014 - [email protected]
+
+- Update to 4.13.0
+   * KDE 4.13  release
+   * See http://www.kde.org/announcements/4.13/
+
+-------------------------------------------------------------------

Old:
----
  kde-baseapps-4.12.97.tar.xz

New:
----
  kde-baseapps-4.13.0.tar.xz

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

Other differences:
------------------
++++++ kdebase4.spec ++++++
--- /var/tmp/diff_new_pack.Did3Kn/_old  2014-04-18 12:37:36.000000000 +0200
+++ /var/tmp/diff_new_pack.Did3Kn/_new  2014-04-18 12:37:36.000000000 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           kdebase4
-Version:        4.12.97
+Version:        4.13.0
 Release:        0
 Summary:        The Base KDE Apps
 License:        GPL-2.0+

++++++ kde-baseapps-4.12.97.tar.xz -> kde-baseapps-4.13.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kde-baseapps-4.12.97/dolphin/src/dolphinviewcontainer.cpp 
new/kde-baseapps-4.13.0/dolphin/src/dolphinviewcontainer.cpp
--- old/kde-baseapps-4.12.97/dolphin/src/dolphinviewcontainer.cpp       
2014-03-25 23:39:47.000000000 +0100
+++ new/kde-baseapps-4.13.0/dolphin/src/dolphinviewcontainer.cpp        
2014-04-03 09:03:47.000000000 +0200
@@ -314,36 +314,18 @@
     m_urlNavigator->setVisible(!enabled);
 
     if (enabled) {
-        KUrl url = m_urlNavigator->locationUrl();
-        m_searchBox->setText(QString());
-        m_searchBox->setReadOnly(isSearchUrl(url), url);
-
-        // Remember the most recent non-search URL as search path
-        // of the search-box, so that it can be restored
-        // when switching back to the URL navigator.
-        int index = m_urlNavigator->historyIndex();
-        const int historySize = m_urlNavigator->historySize();
-        while (isSearchUrl(url) && (index < historySize)) {
-            ++index;
-            url = m_urlNavigator->locationUrl(index);
-        }
-
-        if (!isSearchUrl(url)) {
-            m_searchBox->setSearchPath(url);
-        }
+        const KUrl& locationUrl = m_urlNavigator->locationUrl();
+        m_searchBox->fromSearchUrl(locationUrl);
     } else {
         m_view->setViewPropertiesContext(QString());
 
         // Restore the URL for the URL navigator. If Dolphin has been
         // started with a search-URL, the home URL is used as fallback.
-        const KUrl url = m_searchBox->searchPath();
-        if (url.isValid() && !url.isEmpty()) {
-            if (isSearchUrl(url)) {
-                m_urlNavigator->goHome();
-            } else {
-                m_urlNavigator->setLocationUrl(url);
-            }
+        KUrl url = m_searchBox->searchPath();
+        if (url.isEmpty() || !url.isValid() || isSearchUrl(url)) {
+            url = GeneralSettings::self()->homeUrl();
         }
+        m_urlNavigator->setLocationUrl(url);
     }
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kde-baseapps-4.12.97/dolphin/src/kitemviews/private/kdirectorycontentscounter.cpp
 
new/kde-baseapps-4.13.0/dolphin/src/kitemviews/private/kdirectorycontentscounter.cpp
--- 
old/kde-baseapps-4.12.97/dolphin/src/kitemviews/private/kdirectorycontentscounter.cpp
       2014-03-25 23:39:47.000000000 +0100
+++ 
new/kde-baseapps-4.13.0/dolphin/src/kitemviews/private/kdirectorycontentscounter.cpp
        2014-04-03 09:03:47.000000000 +0200
@@ -60,14 +60,23 @@
 {
     --m_workersCount;
 
-    if (m_workersCount == 0) {
+    if (m_workersCount > 0) {
+        // The worker thread will continue running. It could even be running
+        // a method of m_worker at the moment, so we delete it using
+        // deleteLater() to prevent a crash.
+        m_worker->deleteLater();
+    } else {
+        // There are no remaining workers -> stop the worker thread.
         m_workerThread->quit();
         m_workerThread->wait();
         delete m_workerThread;
         m_workerThread = 0;
-    }
 
-    delete m_worker;
+        // The worker thread has finished running now, so it's safe to delete
+        // m_worker. deleteLater() would not work at all because the event loop
+        // which would deliver the event to m_worker is not running any more.
+        delete m_worker;
+    }
 }
 
 void KDirectoryContentsCounter::addDirectory(const QString& path)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kde-baseapps-4.12.97/dolphin/src/search/dolphinfacetswidget.cpp 
new/kde-baseapps-4.13.0/dolphin/src/search/dolphinfacetswidget.cpp
--- old/kde-baseapps-4.12.97/dolphin/src/search/dolphinfacetswidget.cpp 
2014-03-25 23:39:47.000000000 +0100
+++ new/kde-baseapps-4.13.0/dolphin/src/search/dolphinfacetswidget.cpp  
2014-04-03 09:03:47.000000000 +0200
@@ -179,8 +179,117 @@
     return QString();
 }
 
+bool DolphinFacetsWidget::isRatingTerm(const Baloo::Term& term) const
+{
+    const QList<Baloo::Term> subTerms = term.subTerms();
+    if (subTerms.isEmpty()) {
+        // If term has no sub terms, then the term itself is either a "rating" 
term
+        // or a "modified" term.
+        return term.property() == QLatin1String("modified") ||
+               term.property() == QLatin1String("rating");
+
+    } else if (subTerms.size() == 2) {
+        // If term has sub terms, then the sub terms are always "rating" and 
"modified" terms.
+
+        QStringList properties;
+        foreach (const Baloo::Term& subTerm, subTerms) {
+            properties << subTerm.property();
+        }
+
+        return properties.contains(QLatin1String("modified")) &&
+               properties.contains(QLatin1String("rating"));
+    }
+
+    return false;
+}
+
+void DolphinFacetsWidget::setRatingTerm(const Baloo::Term& term)
+{
+    // If term has sub terms, then the sub terms are always "rating" and 
"modified" terms.
+    // If term has no sub terms, then the term itself is either a "rating" 
term or a "modified"
+    // term. To avoid code duplication we add term to subTerms list, if the 
list is empty.
+    QList<Baloo::Term> subTerms = term.subTerms();
+    if (subTerms.isEmpty()) {
+        subTerms << term;
+    }
+
+    foreach (const Baloo::Term& subTerm, subTerms) {
+        const QString property = subTerm.property();
+
+        if (property == QLatin1String("modified")) {
+            const QDate date = subTerm.value().toDate();
+            setTimespan(date);
+        } else if (property == QLatin1String("rating")) {
+            const int stars = subTerm.value().toInt() / 2;
+            setRating(stars);
+        }
+    }
+}
+
 #endif
 
+void DolphinFacetsWidget::setFacetType(const QString& type)
+{
+    if (type == QLatin1String("Document")) {
+        m_documents->setChecked(true);
+    } else if (type == QLatin1String("Image")) {
+        m_images->setChecked(true);
+    } else if (type == QLatin1String("Audio")) {
+        m_audio->setChecked(true);
+    } else if (type == QLatin1String("Video")) {
+        m_videos->setChecked(true);
+    } else {
+        m_anyType->setChecked(true);
+    }
+}
+
+void DolphinFacetsWidget::setRating(const int stars)
+{
+    switch (stars) {
+    case 5:
+        m_maxRating->setChecked(true);
+        break;
+
+    case 4:
+        m_fourOrMore->setChecked(true);
+        break;
+
+    case 3:
+        m_threeOrMore->setChecked(true);
+        break;
+
+    case 2:
+        m_twoOrMore->setChecked(true);
+        break;
+
+    case 1:
+        m_oneOrMore->setChecked(true);
+        break;
+
+    default:
+        m_anyRating->setChecked(true);
+    }
+}
+
+void DolphinFacetsWidget::setTimespan(const QDate& date)
+{
+    const QDate currentDate = QDate::currentDate();
+    const int days = date.daysTo(currentDate);
+
+    if (days <= 0) {
+        m_today->setChecked(true);
+    } else if (days <= 1) {
+        m_yesterday->setChecked(true);
+    } else if (days <= currentDate.dayOfWeek()) {
+        m_thisWeek->setChecked(true);
+    } else if (days <= currentDate.day()) {
+        m_thisMonth->setChecked(true);
+    } else if (days <= currentDate.dayOfYear()) {
+        m_thisYear->setChecked(true);
+    } else {
+        m_anytime->setChecked(true);
+    }
+}
 
 QRadioButton* DolphinFacetsWidget::createRadioButton(const QString& text,
                                                      QButtonGroup* group)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kde-baseapps-4.12.97/dolphin/src/search/dolphinfacetswidget.h 
new/kde-baseapps-4.13.0/dolphin/src/search/dolphinfacetswidget.h
--- old/kde-baseapps-4.12.97/dolphin/src/search/dolphinfacetswidget.h   
2014-03-25 23:39:47.000000000 +0100
+++ new/kde-baseapps-4.13.0/dolphin/src/search/dolphinfacetswidget.h    
2014-04-03 09:03:47.000000000 +0200
@@ -29,6 +29,7 @@
 
 class QButtonGroup;
 class QCheckBox;
+class QDate;
 class QRadioButton;
 
 /**
@@ -58,12 +59,20 @@
 #ifdef HAVE_BALOO
     Baloo::Term ratingTerm() const;
     QString facetType() const;
+
+    bool isRatingTerm(const Baloo::Term& term) const;
+    void setRatingTerm(const Baloo::Term& term);
 #endif
 
+    void setFacetType(const QString& type);
+
 signals:
     void facetChanged();
 
 private:
+    void setRating(const int stars);
+    void setTimespan(const QDate& date);
+
     /**
      * @return New radiobutton which is connected to the
      *         slotFacedChanged() slot whenever it has
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kde-baseapps-4.12.97/dolphin/src/search/dolphinsearchbox.cpp 
new/kde-baseapps-4.13.0/dolphin/src/search/dolphinsearchbox.cpp
--- old/kde-baseapps-4.12.97/dolphin/src/search/dolphinsearchbox.cpp    
2014-03-25 23:39:47.000000000 +0100
+++ new/kde-baseapps-4.13.0/dolphin/src/search/dolphinsearchbox.cpp     
2014-04-03 09:03:47.000000000 +0200
@@ -49,7 +49,6 @@
 DolphinSearchBox::DolphinSearchBox(QWidget* parent) :
     QWidget(parent),
     m_startedSearching(false),
-    m_readOnly(false),
     m_active(true),
     m_topLayout(0),
     m_searchLabel(0),
@@ -63,7 +62,6 @@
     m_facetsToggleButton(0),
     m_facetsWidget(0),
     m_searchPath(),
-    m_readOnlyQuery(),
     m_startSearchTimer(0)
 {
 }
@@ -102,7 +100,7 @@
     const QString elidedLocation = metrics.elidedText(location, 
Qt::ElideMiddle, maxWidth);
     m_fromHereButton->setText(i18nc("action:button", "From Here (%1)", 
elidedLocation));
 
-    const bool showSearchFromButtons = url.isLocalFile() && !m_readOnly;
+    const bool showSearchFromButtons = url.isLocalFile();
     m_separator->setVisible(showSearchFromButtons);
     m_fromHereButton->setVisible(showSearchFromButtons);
     m_everywhereButton->setVisible(showSearchFromButtons);
@@ -152,23 +150,24 @@
     return url;
 }
 
-void DolphinSearchBox::selectAll()
-{
-    m_searchInput->selectAll();
-}
-
-void DolphinSearchBox::setReadOnly(bool readOnly, const KUrl& query)
+void DolphinSearchBox::fromSearchUrl(const KUrl& url)
 {
-    if (m_readOnly != readOnly || m_readOnlyQuery != query) {
-        m_readOnly = readOnly;
-        m_readOnlyQuery = query;
-        applyReadOnlyState();
+    if (url.protocol() == "baloosearch") {
+        fromBalooSearchUrl(url);
+    } else if (url.protocol() == "filenamesearch") {
+        const QMap<QString, QString>& queryItems = url.queryItems();
+        setText(queryItems.value("search"));
+        setSearchPath(queryItems.value("url"));
+        m_contentButton->setChecked(queryItems.value("checkContent") == "yes");
+    } else {
+        setText(QString());
+        setSearchPath(url);
     }
 }
 
-bool DolphinSearchBox::isReadOnly() const
+void DolphinSearchBox::selectAll()
 {
-    return m_readOnly;
+    m_searchInput->selectAll();
 }
 
 void DolphinSearchBox::setActive(bool active)
@@ -426,7 +425,6 @@
     connect(m_startSearchTimer, SIGNAL(timeout()), this, 
SLOT(emitSearchRequest()));
 
     updateFacetsToggleButton();
-    applyReadOnlyState();
 }
 
 KUrl DolphinSearchBox::balooUrlForSearching() const
@@ -464,26 +462,46 @@
 #endif
 }
 
-void DolphinSearchBox::applyReadOnlyState()
+void DolphinSearchBox::fromBalooSearchUrl(const KUrl& url)
 {
 #ifdef HAVE_BALOO
-    if (m_readOnly) {
-        
m_searchLabel->setText(Baloo::Query::titleFromQueryUrl(m_readOnlyQuery));
+    const Baloo::Query query = Baloo::Query::fromSearchUrl(url);
+    const Baloo::Term term = query.term();
+
+    // Block all signals to avoid unnecessary "searchRequest" signals
+    // while we adjust the search text and the facet widget.
+    blockSignals(true);
+
+    const QVariantHash customOptions = query.customOptions();
+    if (customOptions.contains("includeFolder")) {
+        setSearchPath(customOptions.value("includeFolder").toString());
     } else {
-#else
-    {
-#endif
-        m_searchLabel->setText(i18nc("@label:textbox", "Find:"));
+        setSearchPath(QDir::homePath());
     }
 
-    m_searchInput->setVisible(!m_readOnly);
-    m_optionsScrollArea->setVisible(!m_readOnly);
+    if (!query.searchString().isEmpty()) {
+        setText(query.searchString());
+    }
 
-    if (m_readOnly) {
-        m_facetsWidget->hide();
-    } else {
-        m_facetsWidget->setVisible(SearchSettings::showFacetsWidget());
+    QStringList types = query.types();
+    types.removeOne("File"); // We are only interested in facet widget types
+    if (!types.isEmpty()) {
+        m_facetsWidget->setFacetType(types.first());
+    }
+
+    foreach (const Baloo::Term& subTerm, term.subTerms()) {
+        const QString property = subTerm.property();
+
+        if (property == QLatin1String("filename")) {
+            setText(subTerm.value().toString());
+        } else if (m_facetsWidget->isRatingTerm(subTerm)) {
+            m_facetsWidget->setRatingTerm(subTerm);
+        }
     }
+
+    m_startSearchTimer->stop();
+    blockSignals(false);
+#endif
 }
 
 void DolphinSearchBox::updateFacetsToggleButton()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kde-baseapps-4.12.97/dolphin/src/search/dolphinsearchbox.h 
new/kde-baseapps-4.13.0/dolphin/src/search/dolphinsearchbox.h
--- old/kde-baseapps-4.12.97/dolphin/src/search/dolphinsearchbox.h      
2014-03-25 23:39:47.000000000 +0100
+++ new/kde-baseapps-4.13.0/dolphin/src/search/dolphinsearchbox.h       
2014-04-03 09:03:47.000000000 +0200
@@ -72,20 +72,15 @@
     KUrl urlForSearching() const;
 
     /**
-     * Selects the whole text of the search box.
+     * Extracts information from the given search \a url to
+     * initialize the search box properly.
      */
-    void selectAll();
+    void fromSearchUrl(const KUrl& url);
 
     /**
-     * @param readOnly If set to true the searchbox cannot be modified
-     *                 by the user and acts as visual indicator for
-     *                 an externally triggered search query.
-     * @param query    If readOnly is true this URL will be used
-     *                 to show a human readable information about the
-     *                 query.
+     * Selects the whole text of the search box.
      */
-    void setReadOnly(bool readOnly, const KUrl& query = KUrl());
-    bool isReadOnly() const;
+    void selectAll();
 
     /**
      * Set the search box to the active mode, if \a active
@@ -155,12 +150,15 @@
      */
     KUrl balooUrlForSearching() const;
 
-    void applyReadOnlyState();
+    /**
+     * Extracts information from the given Baloo search \a url to
+     * initialize the search box properly.
+     */
+    void fromBalooSearchUrl(const KUrl& url);
 
     void updateFacetsToggleButton();
 private:
     bool m_startedSearching;
-    bool m_readOnly;
     bool m_active;
 
     QVBoxLayout* m_topLayout;
@@ -177,7 +175,6 @@
     DolphinFacetsWidget* m_facetsWidget;
 
     KUrl m_searchPath;
-    KUrl m_readOnlyQuery;
 
     QTimer* m_startSearchTimer;
 };
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kde-baseapps-4.12.97/konq-plugins/imagerotation/jpegorient.desktop 
new/kde-baseapps-4.13.0/konq-plugins/imagerotation/jpegorient.desktop
--- old/kde-baseapps-4.12.97/konq-plugins/imagerotation/jpegorient.desktop      
2014-03-25 23:39:47.000000000 +0100
+++ new/kde-baseapps-4.13.0/konq-plugins/imagerotation/jpegorient.desktop       
2014-04-03 09:03:47.000000000 +0200
@@ -80,7 +80,7 @@
 Name[ca@valencia]=Gira en sentit horari
 Name[cs]=Rotovat po směru hodin
 Name[da]=Rotér med uret
-Name[de]=Rechts drehen
+Name[de]=Mit dem Uhrzeigersinn drehen
 Name[el]=Περιστροφή με τη Φορά του Ρολογιού
 Name[en_GB]=Rotate Clockwise
 Name[es]=Girar en el sentido de las agujas del reloj
@@ -147,7 +147,7 @@
 Name[ca@valencia]=Gira en sentit antihorari
 Name[cs]=Rotovat proti směru hodin
 Name[da]=Rotér mod uret
-Name[de]=Links drehen
+Name[de]=Gegen den Uhrzeigersinn drehen
 Name[el]=Περιστροφή αριστερόστροφα
 Name[en_GB]=Rotate Anti-Clockwise
 Name[es]=Girar en sentido contrario a las agujas del reloj
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kde-baseapps-4.12.97/konqueror/settings/kio/proxy.desktop 
new/kde-baseapps-4.13.0/konqueror/settings/kio/proxy.desktop
--- old/kde-baseapps-4.12.97/konqueror/settings/kio/proxy.desktop       
2014-03-25 23:39:47.000000000 +0100
+++ new/kde-baseapps-4.13.0/konqueror/settings/kio/proxy.desktop        
2014-04-03 09:03:47.000000000 +0200
@@ -76,7 +76,7 @@
 Name[oc]=Proxy
 Name[or]=ପ୍ରକ୍ସି
 Name[pa]=ਪਰਾਕਸੀ
-Name[pl]=Pośrednik (Proxy)
+Name[pl]=Pośrednik
 Name[pt]=Proxy
 Name[pt_BR]=Proxy
 Name[ro]=Proxy

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to