TTKMusicPlayer  3.7.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 - 2024 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
36 public:
40  explicit MusicQueryTableWidget(QWidget *parent = nullptr);
45 
49  virtual void setQueryInput(MusicAbstractQueryRequest *query);
53  MusicAbstractQueryRequest *queryInput() const;
54 
59  virtual void startToSearchByText(const QString &text) = 0;
64  virtual void downloadQueryResult(int row) = 0;
65 
66 Q_SIGNALS:
70  void restartToSearchQuery(const QString &name);
74  void songBufferToPlaylist(const MusicResultDataItem &item);
75 
76 public Q_SLOTS:
80  virtual void itemCellClicked(int row, int column) override;
85  virtual void itemDoubleClicked(int row, int column) = 0;
89  virtual void removeItems() override;
94  virtual void createResultItem(const MusicResultInfoItem &songItem) = 0;
98  void createFinishedItem();
99 
100 protected:
104  virtual void resizeEvent(QResizeEvent *event) override;
108  void setLoadingStatus(bool status) const;
109 
114  inline bool isValid(int row) const
115  {
116  return !(row < 0 || row >= rowCount() - 1);
117  }
118 
122 
123 };
124 
125 #endif // MUSICQUERYTABLEWIDGET_H
#define TTK_MODULE_EXPORT
The class of the search result data item.
The class of the label item delegate.
MusicGifLabelWidget * m_loadingLabel
virtual void itemCellClicked(int row, int column) override
bool isValid(int row) const
The class of the fill item table widget.
const char * name
Definition: http_parser.c:458
TTKLabelItemDelegate * m_labelDelegate
#define TTK_DECLARE_MODULE(Class)
Definition: ttkqtglobal.h:152
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