aboutsummaryrefslogtreecommitdiff
path: root/src/mainwindow.cpp
diff options
context:
space:
mode:
authorvovanec <vovanec@90c681e8-e032-0410-971d-27865f9a5e38>2008-02-07 13:36:34 +0000
committervovanec <vovanec@90c681e8-e032-0410-971d-27865f9a5e38>2008-02-07 13:36:34 +0000
commit06d1877811fa6aa97dddc0e03bcde4e766928c87 (patch)
treec25462d0e58c3d58c728664440412bf4f16a49ec /src/mainwindow.cpp
parent3f6b60f23c44a8ba8dd97ca6f41a16e2af7ef2f7 (diff)
downloadqmmp-06d1877811fa6aa97dddc0e03bcde4e766928c87.tar.gz
qmmp-06d1877811fa6aa97dddc0e03bcde4e766928c87.tar.bz2
qmmp-06d1877811fa6aa97dddc0e03bcde4e766928c87.zip
new directory structure
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@232 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/mainwindow.cpp')
-rw-r--r--src/mainwindow.cpp819
1 files changed, 0 insertions, 819 deletions
diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp
deleted file mode 100644
index 2d54df4d3..000000000
--- a/src/mainwindow.cpp
+++ /dev/null
@@ -1,819 +0,0 @@
-/***************************************************************************
- * Copyright (C) 2006 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 <QtGui>
-#include <QFileDialog>
-#include <QDir>
-#include <QAction>
-#include <QMenu>
-
-#include <math.h>
-
-#include <soundcore.h>
-
-#include "textscroller.h"
-#include "mainwindow.h"
-#include "constants.h"
-#include "fileloader.h"
-#include "skin.h"
-#include "playlist.h"
-#include "playlistmodel.h"
-#include "configdialog.h"
-#include "dock.h"
-#include "eqwidget.h"
-#include "mainvisual.h"
-#include "playlistformat.h"
-#include "jumptotrackdialog.h"
-#include "aboutdialog.h"
-#include <addurldialog.h>
-#include "filedialog.h"
-#include "listwidget.h"
-#include "visualmenu.h"
-
-#define KEY_OFFSET 10
-
-MainWindow::MainWindow(const QStringList& args, QWidget *parent)
- : QMainWindow(parent)
-{
- m_vis = 0;
- seeking = FALSE;
- m_update = FALSE;
- m_paused = FALSE;
- m_elapsed = 0;
-
- setWindowIcon( QIcon(":/qmmp.xpm") );
-
- m_skin = new Skin(this);
- Dock *dock = new Dock(this);
- dock->setMainWidget(this);
-
- setWindowFlags(Qt::FramelessWindowHint);
- setFixedSize (275,116);
-
- display = new MainDisplay(this);
- setCentralWidget(display);
- display->show();
- display->setFocus ();
-
- m_playlistName = tr("Default");
-
- m_playlist = new PlayList(this);
-
- connect (m_playlist,SIGNAL(next()),SLOT(next()));
- connect (m_playlist,SIGNAL(prev()),SLOT(previous()));
- connect (m_playlist,SIGNAL(play()),SLOT(play()));
- connect (m_playlist,SIGNAL(pause()),SLOT(pause()));
- connect (m_playlist,SIGNAL(stop()),SLOT(stop()));
- connect (m_playlist,SIGNAL(eject()),SLOT(addFile()));
-
- connect (m_playlist,SIGNAL(newPlaylist()),SLOT(newPlaylist()));
- connect (m_playlist,SIGNAL(loadPlaylist()),SLOT(loadPlaylist()));
- connect (m_playlist,SIGNAL(savePlaylist()),SLOT(savePlaylist()));
-
- m_playListModel = new PlayListModel(this);
-
- connect(display,SIGNAL(shuffleToggled(bool)),m_playListModel,SLOT(prepareForShufflePlaying(bool)));
- connect(display,SIGNAL(repeatableToggled(bool)),m_playListModel,SLOT(prepareForRepeatablePlaying(bool)));
-
- dock->addWidget(m_playlist);
-
- m_equalizer = new EqWidget(this);
- dock->addWidget(m_equalizer);
- connect(m_equalizer, SIGNAL(valueChanged()), SLOT(updateEQ()));
-
- m_playlist->setModel(m_playListModel);
-
- m_jumpDialog = new JumpToTrackDialog(this);
- m_jumpDialog->setModel(m_playListModel);
- connect(m_jumpDialog,SIGNAL(playRequest()),this,SLOT(play()));
- m_jumpDialog->hide();
-
- createActions();
-
- m_core = new SoundCore(this);
- m_titlebar = new TitleBar(this);
- m_titlebar->move(0,0);
- m_titlebar->show();
- m_titlebar->setActive(TRUE);
-
- m_tray = new QSystemTrayIcon( this );
- m_tray->setIcon ( QIcon(":/stop.png") );
- m_tray->setContextMenu( m_mainMenu );
- connect(m_tray, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), this, SLOT(trayActivated(QSystemTrayIcon::ActivationReason)));
-
- readSettings();
- dock->updateDock();
-
- display->setEQ(m_equalizer);
- display->setPL(m_playlist);
-
- m_vis = MainVisual::getPointer();
-
- m_core->addVisualization(m_vis);
- m_core->showVisualization(this);
-
- connect(m_core, SIGNAL(outputStateChanged(const OutputState&)),
- SLOT(showOutputState(const OutputState&)));
- connect(m_core, SIGNAL(decoderStateChanged(const DecoderState&)),
- SLOT(showDecoderState(const DecoderState&)));
- connect(m_core, SIGNAL(titleChanged(const QString&)),
- SLOT(changeTitle(const QString&)));
-
- connect ( m_skin, SIGNAL ( skinChanged() ), this, SLOT ( updateSkin() ) );
- updateEQ();
- updateSkin();
-
- FileDialog::registerBuiltinFactories();
- FileDialog::registerExternalFactories();
-
- m_playListModel->readSettings();
- char buf[PATH_MAX + 1];
- QString cwd = QString::fromLocal8Bit(getcwd(buf,PATH_MAX));
- processCommandArgs(args,cwd);
-}
-
-
-MainWindow::~MainWindow()
-{
- stop();
-}
-
-void MainWindow::play()
-{
- m_playListModel->doCurrentVisibleRequest();
-
- if (m_core->isPaused())
- {
- pause();
- return;
- }
- stop();
- if (m_playListModel->count() == 0)
- return;
-
- m_equalizer->loadPreset(m_playListModel->currentItem()->fileName());
- m_playListModel->currentItem()->updateTags();
- m_playlist->listWidget()->updateList();
- QString s = m_playListModel->currentItem()->path();
- if (s.isEmpty())
- return;
- if (m_core->play(s))
- {
- display->setTime(0);
- display->setMaxTime(m_core->length());
- }
- else
- {
- //find out the reason why the playback failed
- switch ((int) m_core->error())
- {
- case SoundCore::OutputError:
- {
- stop();
- return; //unrecovable error in output, so abort playing
- }
- case SoundCore::DecoderError:
- {
- //error in decoder, so we should try to play next song
- qApp->processEvents();
- if (!m_playListModel->isEmptyQueue())
- {
- m_playListModel->setCurrentToQueued();
- }
- else if (!m_playListModel->next())
- {
- stop();
- display->hideTimeDisplay();
- return;
- }
- m_playlist->update();
- play();
- break;
- }
- }
- }
-}
-
-void MainWindow::replay()
-{
- stop();
- play();
-}
-
-void MainWindow::seek(int pos)
-{
- if (!seeking)
- m_core->seek(pos);
-}
-
-
-void MainWindow::forward()
-{
- seek(m_elapsed + KEY_OFFSET);
-}
-
-void MainWindow::backward()
-{
- seek(qMax(0,m_elapsed - KEY_OFFSET));
-}
-
-void MainWindow::setVolume(int volume, int balance)
-{
- m_core->setVolume(volume-qMax(balance,0)*volume/100,
- volume+qMin(balance,0)*volume/100);
-}
-
-void MainWindow::pause(void)
-{
- m_core->pause();
-}
-
-void MainWindow::stop()
-{
- display->setTime(0);
- m_core->stop();
-}
-void MainWindow::next()
-{
- if (!m_playListModel->isEmptyQueue())
- {
- m_playListModel->setCurrentToQueued();
- }
- else if (!m_playListModel->next())
- {
- stop();
- display->hideTimeDisplay();
- return;
- }
- m_playlist->update();
- if (m_core->isInitialized())
- {
- stop();
- m_elapsed = 0;
- play();
- }
- else
- display->hideTimeDisplay();
-}
-void MainWindow::previous()
-{
- if (!m_playListModel->previous())
- {
- display->hideTimeDisplay();
- return;
- }
-
- m_playlist->update();
- if (m_core->isInitialized())
- {
- stop();
- play();
- }
- else
- display->hideTimeDisplay();
-}
-
-void MainWindow::updateEQ()
-{
- int b[10];
- for (int i=0; i<10; ++i)
- b[i] = m_equalizer->gain(i);
- m_core->setEQ(b, m_equalizer->preamp());
- m_core->setEQEnabled(m_equalizer->isEQEnabled());
-}
-
-void MainWindow::showOutputState(const OutputState &st)
-
-{
- if (seeking)
- return;
-
- display->setInfo(st);
- m_playlist->setInfo(st, m_core->length(), m_playListModel->totalLength());
- m_titlebar->setInfo(st);
- m_equalizer->setInfo(st);
- switch ((int) st.type())
- {
- case OutputState::Playing:
- {
- m_tray->setIcon ( QIcon(":/play.png") );
- if (m_showMessage && m_playListModel->currentItem())
- m_tray->showMessage ( tr("Now Playing"),
- m_playListModel->currentItem()->title(),
- QSystemTrayIcon::Information, m_messageDelay );
- if (m_showToolTip && m_playListModel->currentItem())
- m_tray->setToolTip (m_playListModel->currentItem()->title());
- break;
- }
- case OutputState::Paused:
- {
- m_tray->setIcon ( QIcon(":/pause.png") );
- break;
- }
- case OutputState::Stopped:
- {
- m_tray->setIcon ( QIcon(":/stop.png") );
- break;
- }
- case OutputState::Info:
- {
- m_elapsed = st.elapsedSeconds();
- }
- }
-
-}
-void MainWindow::showDecoderState(const DecoderState &st)
-{
- switch ((int) st.type())
- {
- case DecoderState::Finished:
- {
- next();
- break;
- }
- case DecoderState::Info:
- {
- qDebug("file info:");
- qDebug("ARTIST = %s", qPrintable(st.tag()->artist()));
- qDebug("TITLE = %s", qPrintable(st.tag()->title()));
- qDebug("ALBUM = %s", qPrintable(st.tag()->album()));
- qDebug("COMMENT = %s", qPrintable(st.tag()->comment()));
- qDebug("GENRE = %s", qPrintable(st.tag()->genre()));
- qDebug("YEAR = %d", st.tag()->year());
- qDebug("TRACK = %d", st.tag()->track());
- qDebug("LENGTH = %d", st.tag()->length());
-
- m_playlist->currentItem()->updateTags(st.tag());
- m_playlist->listWidget()->updateList();
- break;
- }
- }
-}
-
-void MainWindow::changeTitle(const QString &title)
-{
- m_playlist->currentItem()->changeTitle(title);
- m_playlist->listWidget()->updateList();
-}
-
-void MainWindow::closeEvent ( QCloseEvent *)
-{
- writeSettings();
- m_playlist->close();
- m_equalizer->close();
- QApplication::quit ();
-}
-
-void MainWindow::addDir()
-{
- /*
- QString s = QFileDialog::getExistingDirectory(
- this,
- tr("Choose a directory"),
- m_lastDir,
- QFileDialog::DontResolveSymlinks | QFileDialog::ShowDirsOnly);
-
- if (s.isEmpty())
- return;
- m_playListModel->addDirectory(s);
- m_lastDir = s+"../";
- */
- if (FileDialog::isModal())
- {
- qWarning("void MainWindow::addDir()");
- QString s = FileDialog::getExistingDirectory(this,tr("Choose a directory"),m_lastDir);
-
- if (s.isEmpty())
- return;
- m_playListModel->addDirectory(s);
- m_lastDir = s+"../";
- }
- else
- FileDialog::popup(m_playListModel,m_lastDir,FileDialog::AddDirs,Decoder::nameFilters());
-}
-
-void MainWindow::addFile()
-{
- /*
- QStringList files = QFileDialog::getOpenFileNames(
- this,
- tr("Select one or more files to open"),
- m_lastDir,
- Decoder::filter());
- if (files.isEmpty ())
- return;
-
- // foreach(QString s, files)
- // m_playListModel->load(new MediaFile(s));
-
- m_playListModel->addFiles(files);
- m_lastDir = files.at(0);
- */
-
-
- if (FileDialog::isModal())
- {
- QStringList files = FileDialog::getOpenFileNames(
- this,
- tr("Select one or more files to open"),
- m_lastDir,
- Decoder::filter());
- if (files.isEmpty ())
- return;
- /*
- foreach(QString s, files)
- m_playListModel->load(new MediaFile(s));
- */
- m_playListModel->addFiles(files);
- m_lastDir = files.at(0);
- }
- else
- FileDialog::popup(m_playListModel,m_lastDir,FileDialog::AddFiles,Decoder::nameFilters());
-
-}
-
-void MainWindow::clear()
-{
- m_playListModel->clear();
-}
-
-void MainWindow::startSeek()
-{
- seeking = TRUE;
-}
-
-void MainWindow::endSeek()
-{
- seeking = FALSE;
-}
-
-void MainWindow::changeEvent (QEvent * event)
-{
- if (event->type() == QEvent::ActivationChange)
- {
- m_titlebar->setActive(isActiveWindow());
- }
-}
-
-void MainWindow::readSettings()
-{
- QSettings settings(QDir::homePath()+"/.qmmp/qmmprc", QSettings::IniFormat);
- if (!m_update)
- {
- settings.beginGroup("MainWindow");
- //geometry
- move(settings.value("pos", QPoint(100, 100)).toPoint());
- //last directory
- m_lastDir = settings.value("last_dir","/").toString();
- settings.endGroup();
- show();
- //visibility
- m_playlist->setVisible(settings.value("Playlist/visible",TRUE).toBool());
- m_equalizer->setVisible(settings.value("Equalizer/visible",TRUE).toBool());
- bool val = settings.value("Playlist/repeatable",FALSE).toBool();
-
- // Repeat/Shuffle
- m_playListModel->prepareForRepeatablePlaying(val);
- display->setIsRepeatable(val);
- val = settings.value("Playlist/shuffle",FALSE).toBool();
- display->setIsShuffle(val);
- m_playListModel->prepareForShufflePlaying(val);
-
- // Playlist name
- m_playlistName = settings.value("Playlist/playlist_name","Default").toString();
-
- m_update = TRUE;
- }
- //tray
- settings.beginGroup("Tray");
- m_tray->setVisible(settings.value("enabled",TRUE).toBool());
- m_showMessage = settings.value("show_message",TRUE).toBool();
- m_messageDelay = settings.value("message_delay",2000).toInt();
- m_showToolTip = settings.value("show_tooltip", FALSE).toBool();
- m_hide_on_titlebar_close = settings.value("hide_on_close",FALSE).toBool();
- if (!m_showToolTip)
- m_tray->setToolTip(QString());
- settings.endGroup();
-
-}
-
-void MainWindow::writeSettings()
-{
- QSettings settings(QDir::homePath()+"/.qmmp/qmmprc", QSettings::IniFormat);
- settings.beginGroup("MainWindow");
- //geometry
- settings.setValue("pos", this->pos());
- //last directory
- settings.setValue("last_dir",m_lastDir);
- settings.endGroup();
-
- // Repeat/Shuffle
- settings.beginGroup("Playlist");
- settings.setValue("repeatable",display->isRepeatable());
- settings.setValue("shuffle",display->isShuffle());
-
- // Playlist name
- settings.setValue("playlist_name",m_playlistName);
- settings.endGroup();
-}
-
-void MainWindow::showSettings()
-{
- m_confDialog = new ConfigDialog(this);
- if (m_confDialog->exec() == QDialog::Accepted)
- {
- readSettings();
- m_playlist->readSettings();
- TextScroller::getPointer()->readSettings();
- m_core->updateConfig();
- m_visMenu->updateActions();
- }
- delete m_confDialog;
-}
-
-void MainWindow::toggleVisibility()
-{
- if (isHidden())
- {
- show();
- m_playlist->setVisible(display->isPlaylistVisible());
- m_equalizer->setVisible(display->isEqualizerVisible());
- if (isMinimized())
- {
- if (isMaximized())
- showMaximized();
- else
- showNormal();
- }
- raise();
- activateWindow();
- }
- else
- {
- hide();
- if (m_playlist->isVisible())
- m_playlist->hide();
- if (m_equalizer->isVisible())
- m_equalizer->hide();
- }
-}
-
-void MainWindow::trayActivated(QSystemTrayIcon::ActivationReason reason)
-{
- if (reason == QSystemTrayIcon::Trigger)
- toggleVisibility();
-}
-
-void MainWindow::createActions()
-{
- m_mainMenu = new QMenu(this);
- m_mainMenu->addAction(tr("&Play"),this, SLOT(play()), tr("X"));
- m_mainMenu->addAction(tr("&Pause"),this, SLOT(pause()), tr("C"));
- m_mainMenu->addAction(tr("&Stop"),this, SLOT(stop()), tr("V"));
- m_mainMenu->addAction(tr("&Previous"),this, SLOT(previous()), tr("Z"));
- m_mainMenu->addAction(tr("&Next"),this, SLOT(next()), tr("B"));
- m_mainMenu->addAction(tr("&Queue"),m_playListModel, SLOT(addToQueue()), tr("Q"));
- m_mainMenu->addSeparator();
- m_mainMenu->addAction(tr("&Jump To File"),this, SLOT(jumpToFile()), tr("J"));
- m_mainMenu->addSeparator();
- m_visMenu = new VisualMenu(this);
- m_mainMenu->addMenu(m_visMenu);
-
- m_mainMenu->addSeparator();
- m_mainMenu->addAction(tr("&Settings"),this, SLOT(showSettings()), tr("Ctrl+P"));
- m_mainMenu->addSeparator();
- m_mainMenu->addAction(tr("&About"),this, SLOT(about()));
- Dock::getPointer()->addActions(m_mainMenu->actions());
- m_mainMenu->addSeparator();
- m_mainMenu->addAction(tr("&Exit"),this, SLOT(close ()), tr("Ctrl+Q"));
-
- QAction* forward = new QAction(this);
- forward->setShortcut(QKeySequence(Qt::Key_Right));
- connect(forward,SIGNAL(triggered(bool)),this,SLOT(forward()));
- QAction* backward = new QAction(this);
- backward->setShortcut(QKeySequence(Qt::Key_Left));
- connect(backward,SIGNAL(triggered(bool)),this,SLOT(backward()));
-
- Dock::getPointer()->addActions( QList<QAction*>() << forward << backward );
- Dock::getPointer()->addActions(m_mainMenu->actions());
-}
-
-
-void MainWindow::about()
-{
- AboutDialog dlg(this);
- dlg.exec();
-}
-
-QMenu* MainWindow::menu()
-{
- return m_mainMenu;
-}
-
-void MainWindow::updateSkin()
-{
- clearMask();
- m_equalizer->clearMask();
- /*qt bug workarround */
- setMask(QRegion(0,0,275,116));
- m_equalizer->setMask(QRegion(0,0,275,116));
- update();
- m_equalizer->update();
-
- QRegion region = m_skin->getMWRegion();
- if (!region.isEmpty())
- setMask(region);
-
- region = m_skin->getPLRegion();
- if (!region.isEmpty())
- m_equalizer->setMask(region);
-}
-
-void MainWindow::newPlaylist()
-{
- m_playListModel->clear();
- m_playlistName = tr("Default");
-}
-
-void MainWindow::loadPlaylist()
-{
- QStringList l;
- QList<PlaylistFormat*> p_list = m_playListModel->registeredPlaylistFormats();
- if (!p_list.isEmpty())
- {
- foreach(PlaylistFormat* fmt,p_list)
- l << fmt->getExtensions();
-
- QString mask = tr("Playlist Files")+" (" + l.join(" *.").prepend("*.") + ")";
- if (FileDialog::isModal())
- {
- //qWarning("Modal");
- QString f_name = FileDialog::getOpenFileName(this,tr("Open Playlist"),m_lastDir,mask);
- if (!f_name.isEmpty())
- {
- m_playListModel->loadPlaylist(f_name);
- m_playlistName = QFileInfo(f_name).baseName();
- }
- m_lastDir = QFileInfo(f_name).absoluteDir().path();
- }
- else //FileDialog::popup(m_playListModel,m_lastDir,FileDialog::AddFiles,Decoder::nameFilters());
- // TODO: implement playlist loading with nonmodal dialogs
- // For now we'll use default dialog
- {
- //qWarning("Modal");
- QString f_name = FileDialog::getOpenFileName(this,tr("Open Playlist"),m_lastDir,mask,0,true);
- if (!f_name.isEmpty())
- {
- m_playListModel->loadPlaylist(f_name);
- m_playlistName = QFileInfo(f_name).baseName();
- }
- m_lastDir = QFileInfo(f_name).absoluteDir().path();
- }
- }
- else
- {
- //qWarning("Non Modal");
- qWarning("Error: There is no registered playlist parsers");
- }
-}
-
-void MainWindow::savePlaylist()
-{
- QStringList l;
- QList<PlaylistFormat*> p_list = m_playListModel->registeredPlaylistFormats();
- if (!p_list.isEmpty())
- {
- foreach(PlaylistFormat* fmt,p_list)
- l << fmt->getExtensions();
-
- QString mask = tr("Playlist Files")+" (" + l.join(" *.").prepend("*.") + ")";
- if (FileDialog::isModal())
- {
- QString f_name = FileDialog::getSaveFileName(this, tr("Save Playlist"),m_lastDir + "/" +
- m_playlistName + "." + l[0],mask);
-
- if (!f_name.isEmpty())
- {
- m_playListModel->savePlaylist(f_name);
- m_playlistName = QFileInfo(f_name).baseName();
- }
- m_lastDir = QFileInfo(f_name).absoluteDir().path();
- }
- else // TODO: implement saving playlists with nonmodal dialogs
- // For now we'll use default dialog
- {
- QString f_name = FileDialog::getSaveFileName(this, tr("Save Playlist"),m_lastDir + "/" +
- m_playlistName + "." + l[0],mask,0,true);
-
- if (!f_name.isEmpty())
- {
- m_playListModel->savePlaylist(f_name);
- m_playlistName = QFileInfo(f_name).baseName();
- }
- m_lastDir = QFileInfo(f_name).absoluteDir().path();
- }
- }
- else
- qWarning("Error: There is no registered playlist parsers");
-}
-
-void MainWindow::setFileList(const QStringList & l)
-{
- if (!m_playListModel->setFileList(l))
- addFile();
-}
-
-void MainWindow::playPause()
-{
- if (m_core->isInitialized())
- pause();
- else
- play();
-}
-
-bool MainWindow::processCommandArgs(const QStringList &slist,const QString& cwd)
-{
- if (slist.count() > 0)
- {
- QString str = slist[0];
- if (str.startsWith("--")) // is it a command?
- {
- if (str == "--play")
- play();
- else if (str == "--stop")
- {
- stop();
- display->hideTimeDisplay();
- }
- else if (str == "--pause")
- pause();
- else if (str == "--next")
- {
- next();
- if(!m_core->isInitialized())
- play();
- }
- else if (str == "--previous")
- {
- previous();
- if(!m_core->isInitialized())
- play();
- }
- else if (str == "--play-pause")
- playPause();
- else
- return false;
- }
- else// maybe it is a list of files or dirs
- {
- QStringList full_path_list;
- foreach(QString s,slist)
- {
- if (s.left(1) == "/") //is it absolute path?
- full_path_list << s;
- else
- full_path_list << cwd + "/" + s;
- }
- setFileList(full_path_list);
- }
- }
- return true;
-}
-
-void MainWindow::jumpToFile()
-{
- if (m_jumpDialog->isHidden())
- {
- m_jumpDialog->show();
- m_jumpDialog->refresh();
- }
-}
-
-void MainWindow::handleCloseRequest()
-{
- if (m_hide_on_titlebar_close && m_tray->isVisible())
- toggleVisibility();
- else
- QApplication::closeAllWindows();
-}
-
-void MainWindow::addUrl( )
-{
- AddUrlDialog::popup(this,m_playListModel);
-}