From 29c73615f48a72b13e1ebeb8871fb7129715d21f Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Thu, 11 Mar 2010 21:12:34 +0000 Subject: added 'remove duplicates' action git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@1621 90c681e8-e032-0410-971d-27865f9a5e38 --- src/qmmpui/playlistmanager.cpp | 5 +++ src/qmmpui/playlistmanager.h | 4 ++ src/qmmpui/playlistmodel.cpp | 16 ++++++- src/qmmpui/playlistmodel.h | 5 +-- src/ui/playlist.cpp | 1 + src/ui/translations/qmmp_cs.ts | 89 +++++++++++++++++++++------------------ src/ui/translations/qmmp_de.ts | 89 +++++++++++++++++++++------------------ src/ui/translations/qmmp_hu.ts | 89 +++++++++++++++++++++------------------ src/ui/translations/qmmp_it.ts | 89 +++++++++++++++++++++------------------ src/ui/translations/qmmp_lt.ts | 89 +++++++++++++++++++++------------------ src/ui/translations/qmmp_pl_PL.ts | 89 +++++++++++++++++++++------------------ src/ui/translations/qmmp_pt_BR.ts | 89 +++++++++++++++++++++------------------ src/ui/translations/qmmp_ru.ts | 89 +++++++++++++++++++++------------------ src/ui/translations/qmmp_tr.ts | 89 +++++++++++++++++++++------------------ src/ui/translations/qmmp_uk_UA.ts | 89 +++++++++++++++++++++------------------ src/ui/translations/qmmp_zh_CN.ts | 89 +++++++++++++++++++++------------------ src/ui/translations/qmmp_zh_TW.ts | 89 +++++++++++++++++++++------------------ 17 files changed, 590 insertions(+), 509 deletions(-) diff --git a/src/qmmpui/playlistmanager.cpp b/src/qmmpui/playlistmanager.cpp index 1c7e7ab79..c755ecc42 100644 --- a/src/qmmpui/playlistmanager.cpp +++ b/src/qmmpui/playlistmanager.cpp @@ -457,3 +457,8 @@ void PlayListManager::removeInvalidItems() { m_selected->removeInvalidItems(); } + +void PlayListManager::removeDuplicates() +{ + m_selected->removeDuplicates(); +} diff --git a/src/qmmpui/playlistmanager.h b/src/qmmpui/playlistmanager.h index 0a33b577a..ffcc3ab33 100644 --- a/src/qmmpui/playlistmanager.h +++ b/src/qmmpui/playlistmanager.h @@ -191,6 +191,10 @@ public slots: * This is a convenience function and is the same as calling \b selectedPlayList()->clearInvalidItems() */ void removeInvalidItems(); + /*! + * This is a convenience function and is the same as calling \b selectedPlayList()->removeDuplicates() + */ + void removeDuplicates(); private: diff --git a/src/qmmpui/playlistmodel.cpp b/src/qmmpui/playlistmodel.cpp index 007eee910..53ba242c8 100644 --- a/src/qmmpui/playlistmodel.cpp +++ b/src/qmmpui/playlistmodel.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright(C) 2006-2009 by Ilya Kotov * + * Copyright(C) 2006-2010 by Ilya Kotov * * forkotov02@hotmail.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -414,7 +414,7 @@ FileLoader * PlayListModel::createFileLoader() FileLoader* f_loader = new FileLoader(this); // f_loader->setStackSize(20 * 1024 * 1024); m_running_loaders << f_loader; - connect(f_loader,SIGNAL(newPlayListItem(PlayListItem*)), SLOT(add(PlayListItem*)),Qt::QueuedConnection); + connect(f_loader,SIGNAL(newPlayListItem(PlayListItem*)),SLOT(add(PlayListItem*)),Qt::QueuedConnection); connect(f_loader,SIGNAL(finished()),this,SLOT(preparePlayState())); connect(f_loader,SIGNAL(finished()),f_loader,SLOT(deleteLater())); return f_loader; @@ -920,3 +920,15 @@ void PlayListModel::removeInvalidItems() removeItem(item); } } + +void PlayListModel::removeDuplicates() +{ + for(int i = 0; i < m_items.size(); ++i) + { + for(int j = i + 1; j < m_items.size(); ++j) + { + if(m_items.at(i)->url() == m_items.at(j)->url()) + removeItem(m_items.at(j)); + } + } +} diff --git a/src/qmmpui/playlistmodel.h b/src/qmmpui/playlistmodel.h index 6f9e9f9d1..f63dec6b2 100644 --- a/src/qmmpui/playlistmodel.h +++ b/src/qmmpui/playlistmodel.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2006-2009 by Ilya Kotov * + * Copyright (C) 2006-2010 by Ilya Kotov * * forkotov02@hotmail.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -403,7 +403,7 @@ public slots: /*! * Removes duplicate items by URL. */ - //void removeDuplicates(); + void removeDuplicates(); private: /*! @@ -432,7 +432,6 @@ private: */ void removeSelection(bool inverted = false); - private slots: void preparePlayState(); diff --git a/src/ui/playlist.cpp b/src/ui/playlist.cpp index 87047731f..dd89852bc 100644 --- a/src/ui/playlist.cpp +++ b/src/ui/playlist.cpp @@ -208,6 +208,7 @@ void PlayList::createActions() m_subMenu->addSeparator(); m_subMenu->addAction (tr("Remove unavailable files"), m_pl_manager, SLOT(removeInvalidItems())); + m_subMenu->addAction (tr("Remove duplicates"), m_pl_manager, SLOT(removeDuplicates())); //listwidget menu QAction *detailsAct = new QAction (tr ("&View Track Details"),this); diff --git a/src/ui/translations/qmmp_cs.ts b/src/ui/translations/qmmp_cs.ts index 54c0d7e8f..e99a63234 100644 --- a/src/ui/translations/qmmp_cs.ts +++ b/src/ui/translations/qmmp_cs.ts @@ -1178,163 +1178,168 @@ Odstranit nedostupné soubory - + + Remove duplicates + + + + &View Track Details Zobrazit &informace o skladbě - + Alt+I Alt+I - + Sort List Seřadit seznam - - + + By Title Podle názvu skladby - - + + By Album Podle alba - - + + By Artist Podle umělce - - + + By Filename Podle názvu souboru - - + + By Path + Filename Podle cesty a názvu souboru - - + + By Date Podle data - + Sort Selection Seřadit výběr - + Randomize List Zamíchat seznam - + Reverse List Obrátit pořadí seznamu - + Invert Selection Invertovat výběr - + &Select None &Zrušit výběr - + Shift+A Shift+A - + &Select All &Vybrat vše - + Ctrl+A Ctrl+A - + &New List &Nový seznam - + Ctrl+T Ctrl+T - + Ctrl+W Ctrl+W - + &Select Next Playlist Vybrat další &seznam skladeb - + Ctrl+PgDown Ctrl+PgDown - + &Select Previous Playlist Vybrat předchozí &seznam skladeb - + Ctrl+PgUp Ctrl+PgUp - + &Show Playlists Zobrazit &seznamy skladeb - + P P - + &Delete List O&dstranit seznam - + &Load List Načíst &seznam - + O O - + &Save List &Uložit seznam - + Shift+S Shift+S @@ -1349,23 +1354,23 @@ U - - + + By Track Number Podle čísla skladby - + &Queue &Fronta - + Q Q - + Actions Činnosti diff --git a/src/ui/translations/qmmp_de.ts b/src/ui/translations/qmmp_de.ts index 5d97122f7..7f27756f5 100644 --- a/src/ui/translations/qmmp_de.ts +++ b/src/ui/translations/qmmp_de.ts @@ -1178,163 +1178,168 @@ Nichtverfügbare Dateien entfernen - + + Remove duplicates + + + + &View Track Details &Titeldetails anzeigen - + Alt+I Alt+I - + Sort List Wiedergabeliste sortieren - - + + By Title Nach Titel - - + + By Album Nach Album - - + + By Artist Nach Interpret - - + + By Filename Nach Dateinamen - - + + By Path + Filename Nach Pfad + Dateinamen - - + + By Date Nach Datum - + Sort Selection Auswahl sortieren - + Randomize List Wiedergabeliste mischen - + Reverse List Wiedergabeliste umkehren - + Invert Selection Auswahl umkehren - + &Select None &Auswahl aufheben - + Shift+A Umschalt+A - + &Select All Alle aus&wählen - + Ctrl+A Strg+A - + &New List &Neue Wiedergabeliste - + Ctrl+T Strg+T - + Ctrl+W Strg+W - + &Select Next Playlist - + Ctrl+PgDown Strg+Bild ab - + &Select Previous Playlist Vorherige Wiedergabeli&ste auswählen - + Ctrl+PgUp Strg+Bild auf - + &Show Playlists Wiedergabeli&sten anzeigen - + P P - + &Delete List &Liste löschen - + &Load List Wiedergabeliste &laden - + O O - + &Save List Wiedergabeliste &speichern - + Shift+S Umschalt+S @@ -1349,23 +1354,23 @@ U - - + + By Track Number Nach Titelnummer - + &Queue &Warteschlange - + Q Q - + Actions Aktionen diff --git a/src/ui/translations/qmmp_hu.ts b/src/ui/translations/qmmp_hu.ts index 5e4b5ed9e..ef8cc15da 100644 --- a/src/ui/translations/qmmp_hu.ts +++ b/src/ui/translations/qmmp_hu.ts @@ -1188,184 +1188,189 @@ - + + Remove duplicates + + + + &View Track Details Szám adatainak &megnézése - + Alt+I Alt+I - + Sort List Lista rendezése - - + + By Title Cím szerint - - + + By Album - - + + By Artist - - + + By Filename Fájlnév szerint - - + + By Path + Filename Elérési út és fájlnév szerint - - + + By Date Dátum szerint - - + + By Track Number Zene sorszáma szerint - + Sort Selection Jelöltek rendezése - + Randomize List Lista összekeverése - + Reverse List Fordított lista - + Actions Tevékenységek - + &Queue &Sorba tesz - + Q Q - + Invert Selection Fordított kijelölés - + &Select None &Kijelölés megszűntetése - + Shift+A - + &Select All &Összes kijelölése - + Ctrl+A Ctrl+A - + &New List &Új lista - + Ctrl+T - + &Delete List - + Ctrl+W - + &Select Next Playlist - + Ctrl+PgDown - + &Select Previous Playlist - + Ctrl+PgUp - + &Show Playlists - + P - + &Load List &Lista betöltése - + O O - + &Save List Lista &mentése - + Shift+S Shift+S diff --git a/src/ui/translations/qmmp_it.ts b/src/ui/translations/qmmp_it.ts index 3e55d649e..ec7c41625 100644 --- a/src/ui/translations/qmmp_it.ts +++ b/src/ui/translations/qmmp_it.ts @@ -1143,27 +1143,27 @@ D - + Alt+I Alt+I - + Ctrl+A Ctrl+A - + Ctrl+T Ctrl+T - + Ctrl+W Ctrl+W - + O O @@ -1198,138 +1198,143 @@ Rimuovi files non disponibili - + + Remove duplicates + + + + &View Track Details &Dettagli della traccia - + Sort List Riordina la lista - - + + By Title Per titolo - - + + By Album Per album - - + + By Artist PEr interprete - - + + By Filename Per titolo del brano - - + + By Path + Filename per percorso più titolo del brano - - + + By Date Per data - + Sort Selection Riordina la selezione - + Randomize List Mescola i brnai della lista - + Reverse List Inverti la lista - + Invert Selection Inverti la selezione - + &Select None &Non scegliere alcun brano - + Shift+A Shift+A - + &Select All &Seleziona tutto - + &New List &Nuova lista - + &Select Next Playlist &Seleziona la successiva lista esecuzione brani - + Ctrl+PgDown Ctrl+PgDown - + &Select Previous Playlist &Seleziona la rpecedente lista esecuzione brani - + Ctrl+PgUp Ctrl+PgUp - + &Show Playlists Mostra lista esecuzione brani - + P P - + &Delete List &Cancella lista - + &Load List &Carica lista - + &Save List &Salva lista - + Shift+S Shift+S @@ -1349,23 +1354,23 @@ U - - + + By Track Number Per numero di traccia - + &Queue &Metti in coda - + Q Q - + Actions Azioni diff --git a/src/ui/translations/qmmp_lt.ts b/src/ui/translations/qmmp_lt.ts index 9d384505b..a90869d49 100644 --- a/src/ui/translations/qmmp_lt.ts +++ b/src/ui/translations/qmmp_lt.ts @@ -1144,27 +1144,27 @@ - + Alt+I - + Ctrl+A - + Ctrl+T - + Ctrl+W - + O @@ -1199,138 +1199,143 @@ Pašalinti nesamas bylas - + + Remove duplicates + + + + &View Track Details &Takelio informacija - + Sort List Rūšiuoti - - + + By Title Pagal dainos pavadinimą - - + + By Album Pagal albumą - - + + By Artist Pagal atlikėją - - + + By Filename Pagal bylos pavadinimą - - + + By Path + Filename Pagal kelią iki bylos - - + + By Date Pagal datą - + Sort Selection Rūšiuoti pasirinktus - + Randomize List Sumaišyti sąrašą - + Reverse List Apversti - + Invert Selection Atšaukti pasirinkimą - + &Select None &Nepasirinkti nei vieno - + Shift+A - + &Select All &Pasirinkti visus - + &New List &Naujas sąrašas - + &Select Next Playlist &Pasirinkti sekantį grojaraštį - + Ctrl+PgDown - + &Select Previous Playlist &Pasirinkti ankstesnį grojaraštį - + Ctrl+PgUp - + &Show Playlists &Rodyti grojaraščius - + P - + &Delete List &Pašalinti sąrašą - + &Load List &Įkelti sąrašą - + &Save List &Išsaugoti sąrašą - + Shift+S @@ -1350,23 +1355,23 @@ - - + + By Track Number Pagal takelio numerį - + &Queue &Į eilę - + Q - + Actions Veiksmai diff --git a/src/ui/translations/qmmp_pl_PL.ts b/src/ui/translations/qmmp_pl_PL.ts index 71bb36763..0caea7c6a 100644 --- a/src/ui/translations/qmmp_pl_PL.ts +++ b/src/ui/translations/qmmp_pl_PL.ts @@ -1143,27 +1143,27 @@ D - + Alt+I Alt+I - + Ctrl+A Ctrl+A - + Ctrl+T - + Ctrl+W - + O O @@ -1198,138 +1198,143 @@ Usuń niedostępne pliki - + + Remove duplicates + + + + &View Track Details &Pokaż informacje o pliku - + Sort List Sortuj listę - - + + By Title Według nazwy - - + + By Album Według nazwy albumu - - + + By Artist Według artysty - - + + By Filename Według nazwy pliku - - + + By Path + Filename Według Ścieżki + Nazwy pliku - - + + By Date Wg Daty - + Sort Selection Sortuj zaznaczone - + Randomize List Tasuj listę - + Reverse List Odwróć listę - + Invert Selection Odwróć zaznaczenie - + &Select None &Odznacz wszystkie - + Shift+A - + &Select All &Zaznacz wszystkie - + &New List &Nowa lista - + &Select Next Playlist Wybierz na&stępną listę - + Ctrl+PgDown - + &Select Previous Playlist Wybierz poprzednią li&stę - + Ctrl+PgUp - + &Show Playlists Pokaż li&sty odtwarzania - + P - + &Delete List Usuń listę o&dtwarzana - + &Load List &Ładuj listę - + &Save List &Zapisz listę - + Shift+S Shift+S @@ -1349,23 +1354,23 @@ U - - + + By Track Number Wg numeru utworu - + &Queue &Kolejkuj - + Q Q - + Actions Akcje diff --git a/src/ui/translations/qmmp_pt_BR.ts b/src/ui/translations/qmmp_pt_BR.ts index fc70514be..ddaad7671 100644 --- a/src/ui/translations/qmmp_pt_BR.ts +++ b/src/ui/translations/qmmp_pt_BR.ts @@ -1143,27 +1143,27 @@ - + Alt+I - + Ctrl+A - + Ctrl+T - + Ctrl+W - + O @@ -1198,138 +1198,143 @@ - + + Remove duplicates + + + + &View Track Details &Ver detalhes da Faixa - + Sort List Classificar lista - - + + By Title Por Título - - + + By Album - - + + By Artist - - + + By Filename Por Nome - - + + By Path + Filename Por Dirertório + Nome - - + + By Date Por Data - + Sort Selection Classificar por Seleção - + Randomize List Lista Eleatória - + Reverse List Lista Revertida - + Invert Selection Inverter Seleção - + &Select None &Nenhum selecionado - + Shift+A - + &Select All &Selecionar tudo - + &New List &Nova lista - + &Select Next Playlist - + Ctrl+PgDown - + &Select Previous Playlist - + Ctrl+PgUp - + &Show Playlists - + P - + &Delete List - + &Load List &Carregar lista - + &Save List &Salvar lista - + Shift+S @@ -1349,23 +1354,23 @@ - - + + By Track Number - + &Queue Na fila - + Q - + Actions diff --git a/src/ui/translations/qmmp_ru.ts b/src/ui/translations/qmmp_ru.ts index 441f7ce46..34f56b80f 100644 --- a/src/ui/translations/qmmp_ru.ts +++ b/src/ui/translations/qmmp_ru.ts @@ -1143,27 +1143,27 @@ - + Alt+I - + Ctrl+A - + Ctrl+T - + Ctrl+W - + O @@ -1198,138 +1198,143 @@ Удалить недоступные файлы - + + Remove duplicates + Удалить дубликаты + + + &View Track Details &Информация - + Sort List Сортировать - - + + By Title По названию - - + + By Album По альбому - - + + By Artist По исполнителю - - + + By Filename По имени файла - - + + By Path + Filename По пути и файлу - - + + By Date По дате - + Sort Selection Сортировать выделенное - + Randomize List Перемешать - + Reverse List Перевернуть - + Invert Selection Инвертировать выделение - + &Select None &Снять выделение - + Shift+A - + &Select All &Выделить всё - + &New List &Новый список - + &Select Next Playlist &Выбрать следующий список - + Ctrl+PgDown - + &Select Previous Playlist &Выбрать предыдущий список - + Ctrl+PgUp - + &Show Playlists &Показать списки - + P - + &Delete List &Удалить список - + &Load List &Загрузить список - + &Save List &Сохранить список - + Shift+S @@ -1349,23 +1354,23 @@ - - + + By Track Number По номеру трека - + &Queue &В очередь - + Q - + Actions Действия diff --git a/src/ui/translations/qmmp_tr.ts b/src/ui/translations/qmmp_tr.ts index 26daf1319..081091683 100644 --- a/src/ui/translations/qmmp_tr.ts +++ b/src/ui/translations/qmmp_tr.ts @@ -1143,27 +1143,27 @@ D - + Alt+I Alt+I - + Ctrl+A Ctrl+A - + Ctrl+T - + Ctrl+W - + O O @@ -1198,138 +1198,143 @@ - + + Remove duplicates + + + + &View Track Details &Parça Detaylarını Göster - + Sort List Listeyi Sınıflandır - - + + By Title Başlığa Göre - - + + By Album - - + + By Artist - - + + By Filename Dosya Adına Göre - - + + By Path + Filename Dosya Yolu + Dosya Adına Göre - - + + By Date Tarihe Göre - + Sort Selection Seçilenleri Sınıflandır - + Randomize List Rastgele Listele - + Reverse List Listeyi Ters Çevir - + Invert Selection Seçimi Tersine Çevir - + &Select None &Hiçbirini Seçme - + Shift+A - + &Select All &Tümünü Seç - + &New List &Yeni Liste - + &Select Next Playlist - + Ctrl+PgDown - + &Select Previous Playlist - + Ctrl+PgUp - + &Show Playlists - + P - + &Delete List - + &Load List &Liste Yükle - + &Save List &Listeyi Kaydet - + Shift+S Shift+S @@ -1349,23 +1354,23 @@ U - - + + By Track Number Parça Numarasına Göre - + &Queue &Kuyruğa ekle - + Q Q - + Actions Eylemler diff --git a/src/ui/translations/qmmp_uk_UA.ts b/src/ui/translations/qmmp_uk_UA.ts index 822950a1c..5815240f1 100644 --- a/src/ui/translations/qmmp_uk_UA.ts +++ b/src/ui/translations/qmmp_uk_UA.ts @@ -1143,27 +1143,27 @@ - + Alt+I - + Ctrl+A - + Ctrl+T - + Ctrl+W - + O @@ -1198,138 +1198,143 @@ Видалити недоступні файли - + + Remove duplicates + + + + &View Track Details &Інформація - + Sort List Сортувати - - + + By Title За назвою - - + + By Album За альбомом - - + + By Artist За артистом - - + + By Filename За ім'ям файлу - - + + By Path + Filename За шляхом та файлом - - + + By Date За датою - + Sort Selection Сортувати вибране - + Randomize List Перемішати - + Reverse List Перевернути - + Invert Selection Інвертувати вибране - + &Select None &Зняти виділення - + Shift+A - + &Select All &Вибрати все - + &New List &Новий список - + &Select Next Playlist Вибрати &наступний список - + Ctrl+PgDown - + &Select Previous Playlist Вибрати &попередній список - + Ctrl+PgUp - + &Show Playlists Показати &всі списки - + P - + &Delete List &Видалити список - + &Load List &Завантажити список - + &Save List &Зберегти список - + Shift+S @@ -1349,23 +1354,23 @@ - - + + By Track Number - + &Queue &В чергу - + Q - + Actions Дії diff --git a/src/ui/translations/qmmp_zh_CN.ts b/src/ui/translations/qmmp_zh_CN.ts index 661614aaa..d0aaddb50 100644 --- a/src/ui/translations/qmmp_zh_CN.ts +++ b/src/ui/translations/qmmp_zh_CN.ts @@ -1143,27 +1143,27 @@ D - + Alt+I Alt+I - + Ctrl+A Ctrl+A - + Ctrl+T - + Ctrl+W - + O O @@ -1198,138 +1198,143 @@ - + + Remove duplicates + + + + &View Track Details 查看音轨详细信息(&V) - + Sort List 列表排序 - - + + By Title 按标题 - - + + By Album - - + + By Artist - - + + By Filename 按文件名 - - + + By Path + Filename 按路径+文件名 - - + + By Date 按日期 - + Sort Selection 选择排序 - + Randomize List 随机产生列表 - + Reverse List 逆序列表 - + Invert Selection 反选 - + &Select None 无选择(&S) - + Shift+A - + &Select All 选择全部(&S) - + &New List 新建列表(&N) - + &Select Next Playlist - + Ctrl+PgDown - + &Select Previous Playlist - + Ctrl+PgUp - + &Show Playlists - + P - + &Delete List - + &Load List 载入列表(&L) - + &Save List 保存列表(&S) - + Shift+S Shift+S @@ -1349,23 +1354,23 @@ U - - + + By Track Number 按音轨 - + &Queue 队列(&Q) - + Q Q - + Actions 动作 diff --git a/src/ui/translations/qmmp_zh_TW.ts b/src/ui/translations/qmmp_zh_TW.ts index e5c8cd47b..9c04eec40 100644 --- a/src/ui/translations/qmmp_zh_TW.ts +++ b/src/ui/translations/qmmp_zh_TW.ts @@ -1143,27 +1143,27 @@ D - + Alt+I Alt+I - + Ctrl+A Ctrl+A - + Ctrl+T - + Ctrl+W - + O O @@ -1198,138 +1198,143 @@ - + + Remove duplicates + + + + &View Track Details 檢視音軌詳細資訊(&V) - + Sort List 清單排序 - - + + By Title 按標題 - - + + By Album - - + + By Artist - - + + By Filename 按檔名 - - + + By Path + Filename 按路徑+檔名 - - + + By Date 按日期 - + Sort Selection 選取排序 - + Randomize List 隨機產生清單 - + Reverse List 逆串列表 - + Invert Selection 反選 - + &Select None 無選取(&S) - + Shift+A - + &Select All 選取全部(&S) - + &New List 新建清單(&N) - + &Select Next Playlist - + Ctrl+PgDown - + &Select Previous Playlist - + Ctrl+PgUp - + &Show Playlists - + P - + &Delete List - + &Load List 載入清單(&L) - + &Save List 儲存清單(&S) - + Shift+S Shift+S @@ -1349,23 +1354,23 @@ U - - + + By Track Number 按音軌 - + &Queue 佇列(&Q) - + Q Q - + Actions 動作 -- cgit v1.2.3-13-gbd6f