QActionGroup* LibraryFilterWidget::CreateGroupByActions(QObject* parent) { QActionGroup* ret = new QActionGroup(parent); ret->addAction(CreateGroupByAction( tr("Group by Artist"), parent, LibraryModel::Grouping(LibraryModel::GroupBy_Artist))); ret->addAction( CreateGroupByAction(tr("Group by Artist/Album"), parent, LibraryModel::Grouping(LibraryModel::GroupBy_Artist, LibraryModel::GroupBy_Album))); ret->addAction( CreateGroupByAction(tr("Group by Album artist/Album"), parent, LibraryModel::Grouping(LibraryModel::GroupBy_AlbumArtist, LibraryModel::GroupBy_Album))); ret->addAction(CreateGroupByAction( tr("Group by Artist/Year - Album"), parent, LibraryModel::Grouping(LibraryModel::GroupBy_Artist, LibraryModel::GroupBy_YearAlbum))); ret->addAction( CreateGroupByAction(tr("Group by Album"), parent, LibraryModel::Grouping(LibraryModel::GroupBy_Album))); ret->addAction( CreateGroupByAction(tr("Group by Genre/Album"), parent, LibraryModel::Grouping(LibraryModel::GroupBy_Genre, LibraryModel::GroupBy_Album))); ret->addAction( CreateGroupByAction(tr("Group by Genre/Artist/Album"), parent, LibraryModel::Grouping(LibraryModel::GroupBy_Genre, LibraryModel::GroupBy_Artist, LibraryModel::GroupBy_Album))); QAction* sep1 = new QAction(parent); sep1->setSeparator(true); ret->addAction(sep1); // read saved groupings QSettings s; s.beginGroup(LibraryModel::kSavedGroupingsSettingsGroup); QStringList saved = s.childKeys(); for (int i = 0; i < saved.size(); ++i) { QByteArray bytes = s.value(saved.at(i)).toByteArray(); QDataStream ds(&bytes, QIODevice::ReadOnly); LibraryModel::Grouping g; ds >> g; ret->addAction(CreateGroupByAction(saved.at(i), parent, g)); } QAction* sep2 = new QAction(parent); sep2->setSeparator(true); ret->addAction(sep2); ret->addAction(CreateGroupByAction(tr("Advanced grouping..."), parent, LibraryModel::Grouping())); return ret; }
QActionGroup* LibraryFilterWidget::CreateGroupByActions(QObject* parent) { QActionGroup* ret = new QActionGroup(parent); ret->addAction(CreateGroupByAction( tr("Group by Artist"), parent, LibraryModel::Grouping(LibraryModel::GroupBy_Artist))); ret->addAction( CreateGroupByAction(tr("Group by Artist/Album"), parent, LibraryModel::Grouping(LibraryModel::GroupBy_Artist, LibraryModel::GroupBy_Album))); ret->addAction(CreateGroupByAction( tr("Group by Artist/Year - Album"), parent, LibraryModel::Grouping(LibraryModel::GroupBy_Artist, LibraryModel::GroupBy_YearAlbum))); ret->addAction( CreateGroupByAction(tr("Group by Album"), parent, LibraryModel::Grouping(LibraryModel::GroupBy_Album))); ret->addAction( CreateGroupByAction(tr("Group by Genre/Album"), parent, LibraryModel::Grouping(LibraryModel::GroupBy_Genre, LibraryModel::GroupBy_Album))); ret->addAction( CreateGroupByAction(tr("Group by Genre/Artist/Album"), parent, LibraryModel::Grouping(LibraryModel::GroupBy_Genre, LibraryModel::GroupBy_Artist, LibraryModel::GroupBy_Album))); ret->addAction(CreateGroupByAction(tr("Advanced grouping..."), parent, LibraryModel::Grouping())); return ret; }