本文整理汇总了C++中Playlist::installEventFilter方法的典型用法代码示例。如果您正苦于以下问题:C++ Playlist::installEventFilter方法的具体用法?C++ Playlist::installEventFilter怎么用?C++ Playlist::installEventFilter使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Playlist
的用法示例。
在下文中一共展示了Playlist::installEventFilter方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: addPlaylist
/** Add a new playlist tab. */
Playlist* TabPlaylist::addPlaylist()
{
QString newPlaylistName = tr("Playlist %1").arg(count() + 1);
QByteArray ba;
if (playlists().isEmpty()) {
ba = SettingsPrivate::instance()->lastActivePlaylistGeometry();
} else {
ba = currentPlayList()->horizontalHeader()->saveState();
}
// Then append a new empty playlist to the others
Playlist *p = new Playlist(_mediaPlayer, this);
p->installEventFilter(this);
if (!ba.isEmpty()) {
p->horizontalHeader()->restoreState(ba);
}
// Always create an icon in Disabled mode. It will be enabled when one will provide some tracks
int i = addTab(p, newPlaylistName);
this->setTabIcon(i, this->defaultIcon(QIcon::Disabled));
connect(p->mediaPlaylist(), &QMediaPlaylist::mediaRemoved, this, [=](int start, int) {
if (_mediaPlayer.data()->playlist() == p->mediaPlaylist() && p->mediaPlaylist()->currentIndex() == start) {
_mediaPlayer.data()->stop();
}
});
// Forward from inner class to MainWindow the signals
connect(p, &Playlist::aboutToSendToTagEditor, this, &TabPlaylist::aboutToSendToTagEditor);
connect(p, &Playlist::selectionChanged, this, &TabPlaylist::selectionChanged);
// Check if tab icon should indicate that playlist has changed or not
connect(p, &Playlist::contentHasChanged, this, [=]() {
int playlistTabIndex = -1;
for (int i = 0; i < playlists().count(); i++) {
if (p == playlist(i)) {
playlistTabIndex = i;
break;
}
}
if (playlistTabIndex != -1) {
if (p->hash() != p->generateNewHash()) {
this->setTabIcon(playlistTabIndex, this->defaultIcon(QIcon::Normal));
}
}
});
// Select the new empty playlist
setCurrentIndex(i);
uint hash = qHash(p);
this->tabBar()->setTabData(i, hash);
emit playlistCreated();
return p;
}