[juk] /: Continued search widget cleanup; remove needless KToolBar usage.

Michael Pyne null at kde.org
Thu Dec 26 22:31:11 GMT 2019


Git commit 6367f3a3785f505112b2253de26afe7c19bcfd37 by Michael Pyne.
Committed on 26/12/2019 at 22:30.
Pushed by mpyne into branch 'master'.

Continued search widget cleanup; remove needless KToolBar usage.

Continuing on from the work in commit fc6fecd6394c where Carl Schwan
noticed that the SearchLine class (used as a base search input element
within the PlaylistSplitter and within the Advanced Search playlist
dialog) didn't really need to be a QWidget.

The resulting improvement to the search line's appearance above the list
of music tracks came very close to looking like a no-overhead widget,
but there was still a 1-pixel padding on the left/right between the line
that wasn't present for the playlist tracks themselves.

The cause was the nearby SearchWidget class (used in the
PlaylistSplitter), which is a thin wrapper around SearchLine, and for
some reason is a KToolBar. This may have been intended at some point in
JuK's prehistory (e.g. to allow for dockable/movable search line) but at
this point the search line always shows up in the same spot and isn't
even parented into the toolwindow where a toolbar normally would go.

As a result this doesn't need to be anything other than a QWidget
either, and making this change allows the search bar to line up
pixel-perfect with the list of music tracks as it should.

GUI:
CHANGELOG:Removes unintended padding between search line and rest of interface.

M  +7    -31   searchwidget.cpp
M  +4    -16   searchwidget.h

https://invent.kde.org/kde/juk/commit/6367f3a3785f505112b2253de26afe7c19bcfd37

diff --git a/searchwidget.cpp b/searchwidget.cpp
index f7186602..ae02c685 100644
--- a/searchwidget.cpp
+++ b/searchwidget.cpp
@@ -195,18 +195,14 @@ void SearchLine::updateColumns()
 ////////////////////////////////////////////////////////////////////////////////
 
 SearchWidget::SearchWidget(QWidget *parent)
-    : KToolBar(parent),
-    m_searchLine(this, true)
+    : SearchLine(parent, true)
 {
     new SearchAdaptor(this);
     QDBusConnection::sessionBus().registerObject("/Search", this);
 
-    m_searchLine.m_lineEdit->setPlaceholderText(i18n("Search..."));
-    addWidget(&m_searchLine);
+    m_lineEdit->setPlaceholderText(i18n("Search..."));
 
-    connect(&m_searchLine, SIGNAL(signalQueryChanged()), this, SIGNAL(signalQueryChanged()));
-    connect(&m_searchLine, SIGNAL(signalDownPressed()), this, SIGNAL(signalDownPressed()));
-    connect(m_searchLine.m_lineEdit, SIGNAL(returnPressed()), this, SIGNAL(returnPressed()));
+    connect(m_lineEdit, SIGNAL(returnPressed()), this, SIGNAL(returnPressed()));
 
     updateColumns();
 }
@@ -220,55 +216,35 @@ void SearchWidget::setSearch(const PlaylistSearch &search)
         return;
     }
 
-    m_searchLine.setSearchComponent(*components.begin());
+    setSearchComponent(*components.begin());
 }
 
 QString SearchWidget::searchText() const
 {
-    return m_searchLine.searchComponent().query();
+    return searchComponent().query();
 }
 
 void SearchWidget::setSearchText(const QString &text)
 {
-    m_searchLine.setSearchComponent(PlaylistSearch::Component(text));
+    setSearchComponent(PlaylistSearch::Component(text));
 }
 
 PlaylistSearch SearchWidget::search(const PlaylistList &playlists) const
 {
     PlaylistSearch::ComponentList components;
-    components.append(m_searchLine.searchComponent());
+    components.append(searchComponent());
     return PlaylistSearch(playlists, components);
 }
 
 
-
 ////////////////////////////////////////////////////////////////////////////////
 // SearchWidget public slots
 ////////////////////////////////////////////////////////////////////////////////
 
-void SearchWidget::clear()
-{
-    m_searchLine.clear();
-}
-
 void SearchWidget::setEnabled(bool enable)
 {
     emit signalShown(enable);
     setVisible(enable);
 }
 
-void SearchWidget::setFocus()
-{
-    m_searchLine.setFocus();
-}
-
-////////////////////////////////////////////////////////////////////////////////
-// SearchWidget private methods
-////////////////////////////////////////////////////////////////////////////////
-
-void SearchWidget::updateColumns()
-{
-    m_searchLine.updateColumns();
-}
-
 // vim: set et sw=4 tw=0 sta:
diff --git a/searchwidget.h b/searchwidget.h
index 0fc0e876..cfd4f763 100644
--- a/searchwidget.h
+++ b/searchwidget.h
@@ -15,11 +15,10 @@
  * this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#ifndef SEARCHWIDGET_H
-#define SEARCHWIDGET_H
-
-#include <KToolBar>
+#ifndef JUK_SEARCHWIDGET_H
+#define JUK_SEARCHWIDGET_H
 
+#include <QWidget>
 #include <QList>
 #include <QLineEdit>
 
@@ -68,7 +67,7 @@ private:
     QList<int> m_columnList;
 };
 
-class SearchWidget : public KToolBar
+class SearchWidget : public SearchLine
 {
     Q_OBJECT
 
@@ -82,26 +81,15 @@ public:
     virtual void setSearchText(const QString &text);
 
 public slots:
-    void clear();
     void setEnabled(bool enable);
-    virtual void setFocus();
 
 signals:
-    void signalQueryChanged();
-    void returnPressed();
-
     // This signal is only emitted when the Show/Hide action is triggered.
     // Minimizing/closing the JuK window will not trigger this signal.
 
     void signalShown(bool shown);
 
-    void signalDownPressed();
-
-private:
-    void updateColumns();
-
 private:
-    SearchLine m_searchLine;
     QStringList m_columnHeaders;
 };
 


More information about the kde-doc-english mailing list