TTKMusicPlayer  4.3.0.0
TTKMusicPlayer imitates Kugou UI, the music player uses of qmmp core library based on Qt for windows and linux
musicquerytablewidget.h
Go to the documentation of this file.
1 #ifndef MUSICQUERYTABLEWIDGET_H
2 #define MUSICQUERYTABLEWIDGET_H
3 
4 /***************************************************************************
5  * This file is part of the TTK Music Player project
6  * Copyright (C) 2015 - 2026 Greedysky Studio
7 
8  * This program is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License as published by
10  * the Free Software Foundation; either version 3 of the License, or
11  * (at your option) any later version.
12 
13  * This program is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  * GNU General Public License for more details.
17 
18  * You should have received a copy of the GNU General Public License along
19  * with this program; If not, see <http://www.gnu.org/licenses/>.
20  ***************************************************************************/
21 
22 #include <QMenu>
23 #include <QActionGroup>
26 
28 
33 {
34  Q_OBJECT
35 public:
39  explicit MusicQueryTableWidget(QWidget *parent = nullptr);
44 
48  void setQueryInput(MusicAbstractQueryRequest *query);
52  MusicAbstractQueryRequest *queryInput() const;
53 
58  virtual void startToSearchByValue(const QString &value) = 0;
63  virtual void downloadQueryResult(int row) = 0;
67  virtual void resizeGeometry() override { }
68 
69 Q_SIGNALS:
73  void startToQueryByText(const QString &text);
74 
75 public Q_SLOTS:
79  virtual void itemCellClicked(int row, int column) override;
84  virtual void itemDoubleClicked(int row, int column) = 0;
88  virtual void removeItems() override;
93  virtual void createResultItem(const MusicResultInfoItem &result) = 0;
97  void createFinishedItem();
98 
99 protected:
103  virtual void resizeEvent(QResizeEvent *event) override;
107  void setLoadingStatus(bool status) const;
108 
113  inline bool isValid(int row) const noexcept
114  {
115  return !(row < 0 || row >= rowCount() - 1);
116  }
117 
121 
122 };
123 
124 #endif // MUSICQUERYTABLEWIDGET_H
#define TTK_MODULE_EXPORT
The class of the label item delegate.
MusicGifLabelWidget * m_loadingLabel
virtual void itemCellClicked(int row, int column) override
The class of the fill item table widget.
bool isValid(int row) const noexcept
TTKLabelItemDelegate * m_labelDelegate
bool isValid() const noexcept
The class of the widget resize interface.
virtual void resizeGeometry() override
The class of the search result info item.
The class of the float gif label widget.
The class of the query table widget.
The class of the abstract query data from net.
MusicAbstractQueryRequest * m_networkRequest