From b8b7804fcc229e9c34e18dc3ec6dfafd2e3485b0 Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Fri, 1 Jul 2011 18:54:41 +0000 Subject: moved skinned ui to separate plugin git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@2252 90c681e8-e032-0410-971d-27865f9a5e38 --- src/ui/playlist.cpp | 616 ---------------------------------------------------- 1 file changed, 616 deletions(-) delete mode 100644 src/ui/playlist.cpp (limited to 'src/ui/playlist.cpp') diff --git a/src/ui/playlist.cpp b/src/ui/playlist.cpp deleted file mode 100644 index 75a6110ea..000000000 --- a/src/ui/playlist.cpp +++ /dev/null @@ -1,616 +0,0 @@ -/*************************************************************************** - * Copyright (C) 2006-2010 by Ilya Kotov * - * forkotov02@hotmail.ru * - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program; if not, write to the * - * Free Software Foundation, Inc., * - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * - ***************************************************************************/ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "dock.h" -#include "skin.h" -#include "listwidget.h" -#include "button.h" -#include "playlisttitlebar.h" -#include "playlistslider.h" -#include "pixmapwidget.h" -#include "symboldisplay.h" -#include "playlistcontrol.h" -#include "keyboardmanager.h" -#include "playlistbrowser.h" -#include "playlistselector.h" -#include "windowsystem.h" -#include "actionmanager.h" -#include "playlist.h" - -PlayList::PlayList (PlayListManager *manager, QWidget *parent) - : QWidget (parent) -{ - setAttribute(Qt::WA_AlwaysShowToolTips,true); - setWindowTitle(tr("Playlist")); - m_pl_manager = manager; - m_update = false; - m_resize = false; - m_skin = Skin::instance(); - m_ratio = m_skin->ratio(); - m_shaded = false; - m_pl_browser = 0; - m_pl_selector = 0; - - resize (275*m_ratio, 116*m_ratio); - setSizeIncrement (25*m_ratio, 29*m_ratio); - setMinimumSize(275*m_ratio, 116*m_ratio); - - m_listWidget = new ListWidget (this); - m_plslider = new PlayListSlider (this); - m_buttonAdd = new Button (this,Skin::PL_BT_ADD,Skin::PL_BT_ADD, Skin::CUR_PNORMAL); - m_buttonSub = new Button (this,Skin::PL_BT_SUB,Skin::PL_BT_SUB, Skin::CUR_PNORMAL); - m_selectButton = new Button (this,Skin::PL_BT_SEL,Skin::PL_BT_SEL, Skin::CUR_PNORMAL); - m_sortButton= new Button (this,Skin::PL_BT_SORT,Skin::PL_BT_SORT, Skin::CUR_PNORMAL); - m_playlistButton = new Button (this,Skin::PL_BT_LST,Skin::PL_BT_LST, Skin::CUR_PNORMAL); - m_resizeWidget = new QWidget(this); - m_resizeWidget->resize(25,25); - m_resizeWidget->setCursor(m_skin->getCursor (Skin::CUR_PSIZE)); - m_pl_control = new PlaylistControl (this); - - m_length_totalLength = new SymbolDisplay (this,14); - m_length_totalLength->setAlignment (Qt::AlignLeft); - - m_current_time = new SymbolDisplay (this,6); - m_keyboardManager = new KeyboardManager (this); - - connect (m_listWidget, SIGNAL (selectionChanged()), parent, SLOT (replay())); - - connect (m_plslider, SIGNAL (sliderMoved (int)), m_listWidget, SLOT (scroll (int))); - connect (m_listWidget, SIGNAL (positionChanged (int, int)), m_plslider, - SLOT (setPos (int, int))); - connect (m_skin, SIGNAL (skinChanged()), this, SLOT (updateSkin())); - connect (m_buttonAdd, SIGNAL (clicked()), SLOT (showAddMenu())); - connect (m_buttonSub, SIGNAL (clicked()), SLOT (showSubMenu())); - connect (m_selectButton, SIGNAL (clicked()), SLOT (showSelectMenu())); - connect (m_sortButton, SIGNAL (clicked()), SLOT (showSortMenu())); - connect (m_playlistButton, SIGNAL (clicked()), SLOT (showPlaylistMenu())); - - connect (m_pl_control, SIGNAL (nextClicked()), SIGNAL (next())); - connect (m_pl_control, SIGNAL (previousClicked()), SIGNAL (prev())); - connect (m_pl_control, SIGNAL (playClicked()), SIGNAL (play())); - connect (m_pl_control, SIGNAL (pauseClicked()), SIGNAL (pause())); - connect (m_pl_control, SIGNAL (stopClicked()), SIGNAL (stop())); - connect (m_pl_control, SIGNAL (ejectClicked()), SIGNAL (eject())); - - connect (m_pl_manager, SIGNAL (selectedPlayListChanged(PlayListModel *, PlayListModel *)), - m_listWidget, SLOT(setModel(PlayListModel*))); - m_listWidget->setModel(m_pl_manager->selectedPlayList()); - - m_titleBar = new PlayListTitleBar (this); - m_titleBar->move (0,0); - connect (m_pl_manager, SIGNAL (currentPlayListChanged(PlayListModel *, PlayListModel *)), - m_titleBar, SLOT(setModel(PlayListModel*))); - m_titleBar->setModel(m_pl_manager->currentPlayList()); - - createMenus(); - createActions(); - - readSettings(); - setCursor(m_skin->getCursor(Skin::CUR_PNORMAL)); - updatePositions(); -#ifdef Q_WS_X11 - QString wm_name = WindowSystem::netWindowManagerName(); - if(wm_name.contains("metacity", Qt::CaseInsensitive) || - wm_name.contains("openbox", Qt::CaseInsensitive)) - setWindowFlags (Qt::Tool | Qt::FramelessWindowHint); - else -#endif - setWindowFlags (Qt::Dialog | Qt::FramelessWindowHint); -} - -PlayList::~PlayList() -{ - delete m_keyboardManager; -} - -void PlayList::updatePositions() -{ - int sx = (width()-275*m_ratio)/25; - int sy = (height()-116*m_ratio)/29; - if (sx < 0 || sy < 0 || m_shaded) //skip shaded mode - return; - - m_titleBar->resize (275*m_ratio+25*sx, 20*m_ratio); - m_plslider->resize (20*m_ratio, 58*m_ratio+sy*29); - - if(m_pl_selector) - { - m_listWidget->resize (243*m_ratio+25*sx, 58*m_ratio+29*sy - m_pl_selector->height()); - m_pl_selector->resize(243*m_ratio+25*sx, m_pl_selector->height()); - m_pl_selector->move(12*m_ratio, 20*m_ratio + 58*m_ratio+29*sy - m_pl_selector->height()); - } - else - m_listWidget->resize (243*m_ratio+25*sx, 58*m_ratio+29*sy); - m_listWidget->move (12*m_ratio,20*m_ratio); - - m_buttonAdd->move (11*m_ratio, 86*m_ratio+29*sy); - m_buttonSub->move (40*m_ratio, 86*m_ratio+29*sy); - m_selectButton->move (70*m_ratio, 86*m_ratio+29*sy); - m_sortButton->move (99*m_ratio, 86*m_ratio+29*sy); - - m_pl_control->move (128*m_ratio+sx*25, 100*m_ratio+29*sy); - m_playlistButton->move (228*m_ratio+sx*25,86*m_ratio+29*sy); - - m_length_totalLength -> move (131*m_ratio+sx*25,88*m_ratio+29*sy); - m_current_time->move (190*m_ratio+sx*25,101*m_ratio+29*sy); - - m_plslider->move (255*m_ratio+sx*25,20*m_ratio); - m_resizeWidget->move(width() - 25, height() - 29); -} - -void PlayList::createMenus() -{ - m_addMenu = new QMenu (this); - m_subMenu = new QMenu (this); - m_selectMenu = new QMenu (this); - m_sortMenu = new QMenu (this); - m_playlistMenu = new QMenu (this); - m_copySelectedMenu = new QMenu (tr("&Copy Selection To"), m_listWidget->menu()); - m_copySelectedMenu->setIcon(QIcon::fromTheme("edit-copy")); - connect (m_copySelectedMenu, SIGNAL (aboutToShow () ), this, SLOT (generateCopySelectedMenu ())); - connect (m_copySelectedMenu, SIGNAL (triggered ( QAction *) ), this, SLOT (copySelectedMenuActionTriggered( QAction *))); -} - -void PlayList::createActions() -{ - //add menu - m_addMenu->addAction(SET_ACTION(ActionManager::PL_ADD_FILE, parent(), SLOT(addFile()))); - m_addMenu->addAction(SET_ACTION(ActionManager::PL_ADD_DIRECTORY, parent(), SLOT(addDir()))); - m_addMenu->addAction(SET_ACTION(ActionManager::PL_ADD_URL, parent(), SLOT(addUrl()))); - //sub menu - m_subMenu->addAction(SET_ACTION(ActionManager::PL_REMOVE_SELECTED, m_pl_manager, SLOT(removeSelected()))); - m_subMenu->addAction(SET_ACTION(ActionManager::PL_REMOVE_ALL, m_pl_manager, SLOT(clear()))); - m_subMenu->addAction(SET_ACTION(ActionManager::PL_REMOVE_UNSELECTED, m_pl_manager, - SLOT(removeUnselected()))); - m_subMenu->addSeparator(); - m_subMenu->addAction(SET_ACTION(ActionManager::PL_REMOVE_INVALID, m_pl_manager, - SLOT(removeInvalidItems()))); - m_subMenu->addAction(SET_ACTION(ActionManager::PL_REMOVE_DUPLICATES, m_pl_manager, - SLOT(removeDuplicates()))); - //sort menu - m_sortMenu->addAction(SET_ACTION(ActionManager::PL_SHOW_INFO, m_pl_manager, SLOT (showDetails ()))); - m_sortMenu->addAction (ActionManager::instance()->action(ActionManager::PL_SHOW_INFO)); - m_sortMenu->addSeparator(); - - QMenu* sort_mode_menu = new QMenu (tr("Sort List"), m_sortMenu); - sort_mode_menu->setIcon(QIcon::fromTheme("view-sort-ascending")); - QSignalMapper* signalMapper = new QSignalMapper (this); - QAction* titleAct = sort_mode_menu->addAction (tr ("By Title")); - connect (titleAct, SIGNAL (triggered (bool)), signalMapper, SLOT (map())); - signalMapper->setMapping (titleAct, PlayListModel::TITLE); - - QAction* albumAct = sort_mode_menu->addAction (tr ("By Album")); - connect (albumAct, SIGNAL (triggered (bool)), signalMapper, SLOT (map())); - signalMapper->setMapping (albumAct, PlayListModel::ALBUM); - - QAction* artistAct = sort_mode_menu->addAction (tr ("By Artist")); - connect (artistAct, SIGNAL (triggered (bool)), signalMapper, SLOT (map())); - signalMapper->setMapping (artistAct, PlayListModel::ARTIST); - - QAction* nameAct = sort_mode_menu->addAction (tr ("By Filename")); - connect (nameAct, SIGNAL (triggered (bool)), signalMapper, SLOT (map())); - signalMapper->setMapping (nameAct, PlayListModel::FILENAME); - - QAction* pathnameAct = sort_mode_menu->addAction (tr ("By Path + Filename")); - connect (pathnameAct, SIGNAL (triggered (bool)), signalMapper, SLOT (map())); - signalMapper->setMapping (pathnameAct, PlayListModel::PATH_AND_FILENAME); - - QAction* dateAct = sort_mode_menu->addAction (tr ("By Date")); - connect (dateAct, SIGNAL (triggered (bool)), signalMapper, SLOT (map())); - signalMapper->setMapping (dateAct, PlayListModel::DATE); - - QAction* trackAct = sort_mode_menu->addAction (tr("By Track Number")); - connect (trackAct, SIGNAL (triggered (bool)), signalMapper, SLOT (map())); - signalMapper->setMapping (trackAct, PlayListModel::TRACK); - - connect (signalMapper, SIGNAL (mapped (int)), m_pl_manager, SLOT (sort (int))); - - m_sortMenu->addMenu (sort_mode_menu); - - sort_mode_menu = new QMenu (tr("Sort Selection"), m_sortMenu); - sort_mode_menu->setIcon(QIcon::fromTheme("view-sort-ascending")); - signalMapper = new QSignalMapper (this); - titleAct = sort_mode_menu->addAction (tr ("By Title")); - connect (titleAct, SIGNAL (triggered (bool)), signalMapper, SLOT (map())); - signalMapper->setMapping (titleAct, PlayListModel::TITLE); - - albumAct = sort_mode_menu->addAction (tr ("By Album")); - connect (albumAct, SIGNAL (triggered (bool)), signalMapper, SLOT (map())); - signalMapper->setMapping (albumAct, PlayListModel::ALBUM); - - artistAct = sort_mode_menu->addAction (tr ("By Artist")); - connect (artistAct, SIGNAL (triggered (bool)), signalMapper, SLOT (map())); - signalMapper->setMapping (artistAct, PlayListModel::ARTIST); - - nameAct = sort_mode_menu->addAction (tr ("By Filename")); - connect (nameAct, SIGNAL (triggered (bool)), signalMapper, SLOT (map())); - signalMapper->setMapping (nameAct, PlayListModel::FILENAME); - - pathnameAct = sort_mode_menu->addAction (tr ("By Path + Filename")); - connect (pathnameAct, SIGNAL (triggered (bool)), signalMapper, SLOT (map())); - signalMapper->setMapping (pathnameAct, PlayListModel::PATH_AND_FILENAME); - - dateAct = sort_mode_menu->addAction (tr ("By Date")); - connect (dateAct, SIGNAL (triggered (bool)), signalMapper, SLOT (map())); - signalMapper->setMapping (dateAct, PlayListModel::DATE); - - trackAct = sort_mode_menu->addAction (tr ("By Track Number")); - connect (trackAct, SIGNAL (triggered (bool)), signalMapper, SLOT (map())); - signalMapper->setMapping (trackAct, PlayListModel::TRACK); - - connect (signalMapper, SIGNAL (mapped (int)), m_pl_manager, SLOT (sortSelection (int))); - - m_sortMenu->addMenu (sort_mode_menu); - m_sortMenu->addSeparator(); - m_sortMenu->addAction (QIcon::fromTheme("media-playlist-shuffle"), tr("Randomize List"), - m_pl_manager, SLOT(randomizeList())); - m_sortMenu->addAction (QIcon::fromTheme("view-sort-descending"), tr("Reverse List"), - m_pl_manager, SLOT(reverseList())); - //playlist context menu - m_listWidget->menu()->addAction(ActionManager::instance()->action(ActionManager::PL_SHOW_INFO)); - m_listWidget->menu()->addSeparator(); - m_listWidget->menu()->addActions (m_subMenu->actions().mid(0,3)); //use 3 first actions - m_listWidget->menu()->addMenu(GeneralHandler::instance()->createMenu(GeneralHandler::PLAYLIST_MENU, - tr("Actions"), this)); - m_listWidget->menu()->addSeparator(); - m_listWidget->menu()->addAction(SET_ACTION(ActionManager::PL_ENQUEUE, m_pl_manager, SLOT(addToQueue()))); - //select menu - m_selectMenu->addAction(SET_ACTION(ActionManager::PL_INVERT_SELECTION, m_pl_manager, - SLOT(invertSelection ()))); - m_selectMenu->addSeparator(); - m_selectMenu->addAction(SET_ACTION(ActionManager::PL_CLEAR_SELECTION, m_pl_manager, - SLOT(clearSelection ()))); - m_selectMenu->addAction(SET_ACTION(ActionManager::PL_SELECT_ALL, m_pl_manager, SLOT(selectAll()))); - //Playlist Menu - m_playlistMenu->addAction(SET_ACTION(ActionManager::PL_NEW, m_pl_manager, SLOT(createPlayList()))); - m_playlistMenu->addAction(SET_ACTION(ActionManager::PL_CLOSE, this, SLOT(deletePlaylist()))); - m_playlistMenu->addSeparator(); - m_playlistMenu->addAction(SET_ACTION(ActionManager::PL_LOAD, this, SIGNAL(loadPlaylist()))); - m_playlistMenu->addAction(SET_ACTION(ActionManager::PL_SAVE, this, SIGNAL(savePlaylist()))); - m_playlistMenu->addSeparator(); - m_playlistMenu->addAction(SET_ACTION(ActionManager::PL_SELECT_NEXT, m_pl_manager, - SLOT(selectNextPlayList()))); - m_playlistMenu->addAction(SET_ACTION(ActionManager::PL_SELECT_PREVIOUS, m_pl_manager, - SLOT(selectPreviousPlayList()))); - m_playlistMenu->addAction(SET_ACTION(ActionManager::PL_SHOW_MANAGER, this, SLOT(showPlayLists()))); - Dock::instance()->addActions (m_addMenu->actions()); - Dock::instance()->addActions (m_subMenu->actions()); - Dock::instance()->addActions (m_sortMenu->actions()); - Dock::instance()->addActions (m_listWidget->menu()->actions()); - Dock::instance()->addActions (m_selectMenu->actions()); - Dock::instance()->addActions (m_playlistMenu->actions()); -} - -void PlayList::closeEvent (QCloseEvent *e) -{ - if (e->spontaneous ()) - emit closed(); - writeSettings(); -} - -void PlayList::paintEvent (QPaintEvent *) -{ - int sx = (width()-275*m_ratio) /25; - int sy = (height()-116*m_ratio) /29; - - QPainter paint(this); - drawPixmap (&paint, 0, 20*m_ratio, m_skin->getPlPart (Skin::PL_LFILL)); - for (int i = 1; igetPlPart (Skin::PL_LFILL)); - } - drawPixmap (&paint, 0, 78*m_ratio+29*sy, m_skin->getPlPart (Skin::PL_LSBAR)); - - for (int i = 0; igetPlPart (Skin::PL_SFILL1)); - } - drawPixmap (&paint,125*m_ratio+sx*25,78*m_ratio+sy*29,m_skin->getPlPart (Skin::PL_RSBAR)); - -} - -void PlayList::drawPixmap (QPainter *painter, int x, int y, const QPixmap &pix) -{ - style()->drawItemPixmap(painter, QRect(x, y, pix.width(), pix.height()), Qt::AlignCenter, pix); -} - -void PlayList::resizeEvent (QResizeEvent *) -{ - updatePositions(); -} - -void PlayList::mousePressEvent (QMouseEvent *e) -{ - m_pos = e->pos (); - if (m_resizeWidget->underMouse()) - { - m_resize = true; - setCursor (m_skin->getCursor (Skin::CUR_PSIZE)); - } - else - m_resize = false; -} - -void PlayList::mouseMoveEvent (QMouseEvent *e) -{ - if (m_resize) - { -#ifdef Q_OS_WIN32 - int sx = (width()-275) /25; - int sy = (height()-116) /29; - if(width() < e->x() - 14) - sx++; - else if(width() > e->x() + 14) - sx--; - if(height() < e->y() - 14) - sy++; - else if(height() > e->y() + 14) - sy--; - resize (275+25*sx,116+29*sy); -#else - resize (e->x() +25, e->y() +25); -#endif - } -} - -void PlayList::mouseReleaseEvent (QMouseEvent *) -{ - setCursor (m_skin->getCursor (Skin::CUR_PNORMAL)); - /*if (m_resize) - m_listWidget->updateList();*/ - m_resize = false; - Dock::instance()->updateDock(); -} - -void PlayList::changeEvent (QEvent * event) -{ - if (event->type() == QEvent::ActivationChange) - { - m_titleBar->setActive (isActiveWindow()); - } -} - -void PlayList::readSettings() -{ - QSettings settings (Qmmp::configFile(), QSettings::IniFormat); - if (settings.value("PlayList/show_plalists", false).toBool()) - { - if(!m_pl_selector) - m_pl_selector = new PlayListSelector(m_pl_manager, this); - m_pl_selector->show(); - m_listWidget->menu()->insertMenu(m_listWidget->menu()->actions().at(2),m_copySelectedMenu); - } - else - { - if(m_pl_selector) - { - m_pl_selector->deleteLater(); - m_listWidget->menu()->removeAction(m_copySelectedMenu->menuAction()); - } - m_pl_selector = 0; - } - if (m_update) - { - m_listWidget->readSettings(); - m_titleBar->readSettings(); - if(m_pl_selector) - m_pl_selector->readSettings(); - updatePositions(); - } - else - { - move (settings.value ("PlayList/pos", QPoint (100, 332)).toPoint()); //position - m_update = true; - } -} - -#ifdef Q_WS_X11 -bool PlayList::event (QEvent *event) -{ - if(event->type() == QEvent::WinIdChange || event->type() == QEvent::Show) - { - WindowSystem::ghostWindow(winId()); - WindowSystem::setWinHint(winId(), "playlist", "Qmmp"); - } - return QWidget::event(event); -} -#endif - -void PlayList::writeSettings() -{ - QSettings settings (Qmmp::configFile(), QSettings::IniFormat); - settings.beginGroup ("PlayList"); - //position - settings.setValue ("pos", this->pos()); - settings.endGroup(); -} - -void PlayList::showAddMenu() -{ - m_addMenu->exec (m_buttonAdd->mapToGlobal (QPoint (0,0))); -} - -void PlayList::showSubMenu() -{ - m_subMenu->exec (m_buttonSub->mapToGlobal (QPoint (0,0))); -} - -void PlayList::showSelectMenu() -{ - m_selectMenu->exec (m_selectButton->mapToGlobal (QPoint (0,0))); -} - -void PlayList::showSortMenu() -{ - m_sortMenu->exec (m_sortButton->mapToGlobal (QPoint (0,0))); -} - -QString PlayList::formatTime (int sec) -{ - if(sec > 3600) - sec /= 60; - return QString("%1:%2").arg(sec/60, 2, 10, QChar('0')).arg(sec%60, 2, 10, QChar('0')); -} - -void PlayList::setTime(qint64 time) -{ - if (time < 0) - m_current_time->display ("--:--"); - else - m_current_time->display (formatTime (time/1000)); - m_current_time->update(); - - if (SoundCore::instance()) - { - QString str_length = formatTime (m_pl_manager->currentPlayList()->totalLength()) + - "/" + formatTime (SoundCore::instance()->totalTime()/1000); - m_length_totalLength->display (str_length); - m_length_totalLength->update(); - } -} - -void PlayList::updateList() -{ - m_listWidget->updateList(); - m_titleBar->showCurrent(); -} - -PlayListItem *PlayList::currentItem() -{ - return m_pl_manager->currentPlayList()->currentItem(); -} - -void PlayList::showPlaylistMenu() -{ - m_playlistMenu->exec (m_playlistButton->mapToGlobal (QPoint (0,0))); -} - -void PlayList::keyPressEvent (QKeyEvent *ke) -{ - if (m_keyboardManager->handleKeyPress (ke)) - update(); -} - -void PlayList::updateSkin() -{ - setCursor(m_skin->getCursor(Skin::CUR_PNORMAL)); // TODO shaded - m_resizeWidget->setCursor(m_skin->getCursor (Skin::CUR_PSIZE)); - m_ratio = m_skin->ratio(); - setMinimalMode(m_shaded); -} - -void PlayList::deletePlaylist() -{ - m_pl_manager->removePlayList(m_pl_manager->selectedPlayList()); -} - -void PlayList::showPlayLists() -{ - if(!m_pl_browser) - { - m_pl_browser = new PlayListBrowser(m_pl_manager, this); - m_pl_browser->show(); - } - else - m_pl_browser->show(); -} - -void PlayList::generateCopySelectedMenu() -{ - m_copySelectedMenu->clear(); - QAction* action = m_copySelectedMenu->addAction (tr ("&New PlayList")); - action->setIcon(QIcon::fromTheme("document-new")); - m_copySelectedMenu->addSeparator(); - - foreach(QString name, m_pl_manager->playListNames()) - { - action = m_copySelectedMenu->addAction("&"+name.replace("&", "&&")); - } -} - -void PlayList::copySelectedMenuActionTriggered( QAction * action) -{ - PlayListModel *targetPlayList = 0; - QString actionText=action->text(); - if(action == m_copySelectedMenu->actions().at(0))//actionText == tr ("&New PlayList")) - { - targetPlayList = m_pl_manager->createPlayList(m_pl_manager->selectedPlayList()->name()); - } - else - { - actionText.remove(0,1).replace("&&", "&"); - foreach(PlayListModel *model, m_pl_manager->playLists()) - { - //if("&" + model->name().replace("&", "&&") == actionText) - if(model->name() == actionText) - { - targetPlayList=model; - break; - } - } - } - if(!targetPlayList) - { - qWarning("Error: Cannot find target playlist '%s'",qPrintable(actionText)); - return; - } - QList theCopy; - foreach(PlayListItem *item, m_pl_manager->selectedPlayList()->getSelectedItems()) - { - PlayListItem *newItem = new PlayListItem(*item); - theCopy << newItem; - } - targetPlayList->add(theCopy); -} - -void PlayList::setMinimalMode(bool b) -{ - if(!m_shaded) - m_height = height(); - m_shaded = b; - if(m_shaded) - { - m_height = height(); - setSizeIncrement (25*m_ratio, 1); - setMinimumSize (275*m_ratio, 14*m_ratio); - resize(width(), 14*m_ratio); - } - else - { - setMinimumSize(275*m_ratio, 116*m_ratio); - resize (width(), m_height); - setSizeIncrement (25*m_ratio, 29*m_ratio); - - } - updatePositions(); - update(); -} -- cgit v1.2.3-13-gbd6f