MuseScore/mscore/scoreBrowser.h

86 lines
2.7 KiB
C
Raw Normal View History

//=============================================================================
// MuseScore
// Music Composition & Notation
//
// Copyright (C) 2014 Werner Schweer
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License version 2
// as published by the Free Software Foundation and appearing in
// the file LICENCE.GPL
//=============================================================================
#ifndef __SCOREBROWSER_H__
#define __SCOREBROWSER_H__
#include "ui_scoreBrowser.h"
#include "scoreInfo.h"
namespace Ms {
class ScoreItem;
//---------------------------------------------------------
// ScoreListWidget
//---------------------------------------------------------
class ScoreListWidget : public QListWidget
{
Q_OBJECT
int CELLW { 140 };
int CELLH { 228 };
2015-03-05 19:00:18 +01:00
int SPACE { 10 };
virtual QSize sizeHint() const override;
public:
ScoreListWidget(QWidget* parent = 0) : QListWidget(parent) {}
2014-12-11 15:11:54 +01:00
int cellWidth() const { return CELLW; }
int cellHeight() const { return CELLH; }
2015-03-05 19:00:18 +01:00
int space() const { return SPACE; }
2014-12-11 15:11:54 +01:00
QSize cellSize() const { return QSize(CELLW, CELLH); }
};
//---------------------------------------------------------
// ScoreBrowser
//---------------------------------------------------------
class ScoreBrowser : public QWidget, public Ui::ScoreBrowser
{
Q_OBJECT
QList<ScoreListWidget*> scoreLists;
2014-11-19 15:25:03 +01:00
bool _stripNumbers { false };
2014-12-11 15:11:54 +01:00
bool _showPreview { false }; // no preview: - no selection
// - single click action
bool _boldTitle { false }; // score title are displayed in bold
bool _showCustomCategory { false };// show a custom category for files
QLabel* _noMatchedScoresLabel; // displayed when no scores are matching the search
2014-12-11 15:11:54 +01:00
ScoreListWidget* createScoreList();
ScoreItem* genScoreItem(const QFileInfo&, ScoreListWidget*);
private slots:
2014-12-11 10:54:16 +01:00
void scoreChanged(QListWidgetItem*);
void setScoreActivated(QListWidgetItem*);
2014-11-12 16:36:40 +01:00
signals:
void leave();
void scoreSelected(QString);
void scoreActivated(QString);
2014-11-12 16:36:40 +01:00
public:
ScoreBrowser(QWidget* parent = 0);
void setScores(QFileInfoList&);
2014-11-19 15:25:03 +01:00
void setStripNumbers(bool val) { _stripNumbers = val; }
void selectFirst();
void selectLast();
2014-12-16 18:02:41 +01:00
void setBoldTitle(bool bold) { _boldTitle = bold; }
void setShowCustomCategory(bool showCustomCategory) { _showCustomCategory = showCustomCategory; }
void filter(const QString&);
};
}
#endif