blob: ad142ef194e9830b2adaf72b1aa3363e3e34850c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
// wlibrarytableview.h
// Created 10/19/2009 by RJ Ryan (rryan@mit.edu)
#ifndef WLIBRARYTABLEVIEW_H
#define WLIBRARYTABLEVIEW_H
#include <QString>
#include <QTableView>
#include <QFont>
#include "preferences/usersettings.h"
#include "library/libraryview.h"
#include "track/track.h"
class TrackModel;
class WLibraryTableView : public QTableView, public virtual LibraryView {
Q_OBJECT
public:
WLibraryTableView(QWidget* parent,
UserSettingsPointer pConfig,
ConfigKey vScrollBarPosKey);
~WLibraryTableView() override;
void moveSelection(int delta) override;
/**
* @brief saveVScrollBarPos function saves current position of scrollbar
* using string key - can be any value but should invariant for model
* @param key unique for trackmodel
*/
void saveVScrollBarPos(TrackModel* key);
/**
* @brief restoreVScrollBarPos function finds scrollbar value associated with model
* by given key and restores it
* @param key unique for trackmodel
*/
void restoreVScrollBarPos(TrackModel* key);
signals:
void loadTrack(TrackPointer pTrack);
void loadTrackToPlayer(TrackPointer pTrack, QString group,
bool play = false);
void trackSelected(TrackPointer pTrack);
void onlyCachedCoverArt(bool);
void scrollValueChanged(int);
public slots:
void setTrackTableFont(const QFont& font);
void setTrackTableRowHeight(int rowHeight);
void setSelectedClick(bool enable);
protected:
void saveNoSearchVScrollBarPos();
void restoreNoSearchVScrollBarPos();
private:
void loadVScrollBarPosState();
void saveVScrollBarPosState();
QMap<TrackModel*, int> m_vScrollBarPosValues;
UserSettingsPointer m_pConfig;
ConfigKey m_vScrollBarPosKey;
// The position of the vertical scrollbar slider, eg. before a search is
// executed
int m_noSearchVScrollBarPos;
};
#endif /* WLIBRARYTABLEVIEW_H */
|