Sayonara Player
LibraryHeaderView.h
1
2/* Copyright (C) 2011-2020 Michael Lugmair (Lucio Carreras)
3 *
4 * This file is part of sayonara player
5 *
6 * This program is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation, either version 3 of the License, or
9 * (at your option) any later version.
10
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15
16 * You should have received a copy of the GNU General Public License
17 * along with this program. If not, see <http://www.gnu.org/licenses/>.
18 */
19
20#ifndef LIBRARY_HEADERVIEW_H
21#define LIBRARY_HEADERVIEW_H
22
23#include "Gui/Library/Header/ColumnHeader.h"
24#include "Gui/Utils/Widgets/HeaderView.h"
25#include "Utils/Library/Sortorder.h"
26#include "Utils/Pimpl.h"
27
28namespace Library
29{
34 class HeaderView :
35 public Gui::HeaderView
36 {
37 Q_OBJECT
38 PIMPL(HeaderView)
39
40 signals:
41 void sigAutoResizeToggled(bool b);
42
43 public:
44 HeaderView(Qt::Orientation orientation, QWidget* parent=nullptr);
45 virtual ~HeaderView() override;
46
47 void init(const ColumnHeaderList& columnHeaderList, const QByteArray& state, Library::SortOrder sortOrder, bool autoResizeState);
48 void resizeColumnsAutomatically();
49
50 Library::SortOrder sortorder(int index, Qt::SortOrder sortOrder);
51 QString columnText(int index) const;
52 void reloadColumnTexts();
53
54 QSize sizeHint() const override;
55
56 protected:
57 void languageChanged() override;
58 void showEvent(QShowEvent* e) override;
59 void resizeEvent(QResizeEvent* e) override;
60
61 private:
62 void initializeView();
63
64 private slots:
65 void actionTriggered(bool b);
66 void actionResizeTriggered();
67 void actionAutoResizeTriggered(bool b);
68 };
69}
70
71#endif // LIBRARY_HEADERVIEW_H
Definition: HeaderView.h:31
The HeaderView class.
Definition: LibraryHeaderView.h:36
Definition: EngineUtils.h:33
SortOrder
The SortOrder enum.
Definition: Sortorder.h:32
An interface class needed when implementing a library plugin.
Definition: LocalLibraryWatcher.h:31