TTKMusicPlayer  4.2.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 - 2025 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>
25 
27 
32 {
33  Q_OBJECT
35 public:
39  explicit MusicQueryTableWidget(QWidget *parent = nullptr);
44 
48  void setQueryInput(MusicAbstractQueryRequest *query);
52  MusicAbstractQueryRequest *queryInput() const;
53 
58  virtual void startToSearchByText(const QString &text) = 0;
63  virtual void downloadQueryResult(int row) = 0;
64 
65 Q_SIGNALS:
69  void startToQueryByText(const QString &text);
70 
71 public Q_SLOTS:
75  virtual void itemCellClicked(int row, int column) override;
80  virtual void itemDoubleClicked(int row, int column) = 0;
84  virtual void removeItems() override;
89  virtual void createResultItem(const MusicResultInfoItem &result) = 0;
93  void createFinishedItem();
94 
95 protected:
99  virtual void resizeEvent(QResizeEvent *event) override;
103  void setLoadingStatus(bool status) const;
104 
109  inline bool isValid(int row) const noexcept
110  {
111  return !(row < 0 || row >= rowCount() - 1);
112  }
113 
117 
118 };
119 
120 #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
#define TTK_DECLARE_MODULE(Class)
Definition: ttkqtglobal.h:164
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 download data from net.
MusicAbstractQueryRequest * m_networkRequest