Modified:
/trunk/libs/MediaInfoFetcher/MediaInfo.cpp
/trunk/libs/MediaInfoFetcher/MediaInfo.h
/trunk/libs/MediaInfoWindow/MediaInfoWindow.cpp
/trunk/libs/MediaInfoWindow/MediaInfoWindow.h
/trunk/libs/MediaInfoWindow/MediaInfoWindow.ui
/trunk/libs/ThumbnailView/ThumbnailView.cpp
/trunk/libs/ThumbnailView/ThumbnailView.h
/trunk/libs/TkUtil/FileChooserWidget.cpp
/trunk/quarkplayer-plugins/FileBrowser/FileBrowserTreeView.cpp
/trunk/quarkplayer-plugins/FileBrowser/FileBrowserTreeView.h
/trunk/quarkplayer-plugins/FileBrowser/FileSearchModel.cpp
/trunk/quarkplayer-plugins/MainWindow/CommonActions.cpp
/trunk/quarkplayer-plugins/MainWindow/MainWindow.cpp
/trunk/quarkplayer-plugins/MediaController/MediaController.cpp
/trunk/quarkplayer-plugins/Playlist/DragAndDropTreeView.cpp
/trunk/quarkplayer-plugins/Playlist/DragAndDropTreeView.h
/trunk/quarkplayer-plugins/Playlist/PlaylistWidget.cpp
/trunk/tests/libs/MediaInfoFetcher/MediaInfoTest.cpp
/trunk/tests/quarkplayer-plugins/VideoWidget/CMakeLists.txt
/trunk/tests/quarkplayer-plugins/VideoWidget/MyVideoWidgetTest.cpp
=======================================
--- /trunk/libs/MediaInfoFetcher/MediaInfo.cpp Thu Feb 17 07:53:14 2011
+++ /trunk/libs/MediaInfoFetcher/MediaInfo.cpp Mon Feb 21 09:03:06 2011
@@ -149,17 +149,12 @@
_fileType = fileType;
}
-int MediaInfo::fileSize() const {
- if (_fileSize > 0) {
- return _fileSize / 1024 / 1024.0;
- } else {
- //_fileSize should be -1
- return _fileSize;
- }
+qint64 MediaInfo::fileSize() const {
+ return _fileSize;
}
-void MediaInfo::setFileSize(int kilobytes) {
- _fileSize = kilobytes;
+void MediaInfo::setFileSize(qint64 bytes) {
+ _fileSize = bytes;
}
QString MediaInfo::durationFormatted() const {
=======================================
--- /trunk/libs/MediaInfoFetcher/MediaInfo.h Wed Feb 16 06:13:11 2011
+++ /trunk/libs/MediaInfoFetcher/MediaInfo.h Mon Feb 21 09:03:06 2011
@@ -86,15 +86,14 @@
void setFileType(FileType fileType);
/**
- * Gets the size of the file in kilobytes (KB).
+ * Gets the size of the file in bytes (B).
*
- * Stored inside an integer (32bits), this is gives us up to
- * a size of 2147GB, I guess this is enough for the near future.
+ * Stored inside a qint64 (signed 64bits).
*
- * @return file size in KB or -1 if failed
+ * @return file size in Bytes or -1 if failed
*/
- int fileSize() const;
- void setFileSize(int kilobytes);
+ qint64 fileSize() const;
+ void setFileSize(qint64 bytes);
/**
* Returns the duration/length of the file in a nice formatted way (i.e
03:45:02).
@@ -421,7 +420,7 @@
bool _fetched;
QString _fileName;
FileType _fileType;
- int _fileSize;
+ qint64 _fileSize;
/** Duration/length of the file in milliseconds. */
qint64 _duration;
=======================================
--- /trunk/libs/MediaInfoWindow/MediaInfoWindow.cpp Sat Feb 12 01:34:02 2011
+++ /trunk/libs/MediaInfoWindow/MediaInfoWindow.cpp Mon Feb 21 09:03:06 2011
@@ -1,6 +1,6 @@
/*
* QuarkPlayer, a Phonon media player
- * Copyright (C) 2008-2010 Tanguy Krotoff <tkro...@gmail.com>
+ * Copyright (C) 2008-2011 Tanguy Krotoff <tkro...@gmail.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as
published by
@@ -33,6 +33,7 @@
#include <TkUtil/LanguageChangeEventFilter.h>
#include <QtGui/QtGui>
+
#include <QtCore/QtGlobal>
#include <QtCore/QUrl>
@@ -61,21 +62,18 @@
_refreshButton->setAutoRaise(true);
connect(_refreshButton, SIGNAL(clicked()), SLOT(refresh()));
+ //Open directory button
+ connect(_ui->openDirButton, SIGNAL(clicked()), SLOT(openDir()));
+
//Save metadata button
connect(_ui->buttonBox, SIGNAL(accepted()), SLOT(writeMetaData()));
- //Open directory button
- _openDirectoryButton = new QToolButton(this);
- _openDirectoryButton->setAutoRaise(true);
- connect(_openDirectoryButton, SIGNAL(clicked()), SLOT(openDirectory()));
-
//Tab corner widget
QWidget * cornerWidget = new QWidget(this);
QHBoxLayout * cornerWidgetLayout = new QHBoxLayout();
cornerWidgetLayout->setMargin(0);
cornerWidgetLayout->setSpacing(0);
cornerWidgetLayout->addWidget(_refreshButton);
- cornerWidgetLayout->addWidget(_openDirectoryButton);
cornerWidget->setLayout(cornerWidgetLayout);
_ui->tabWidget->setCornerWidget(cornerWidget, Qt::TopRightCorner);
@@ -112,20 +110,12 @@
void MediaInfoWindow::retranslate() {
_refreshButton->setIcon(QIcon::fromTheme("view-refresh"));
- _refreshButton->setToolTip(tr("Refresh Informations"));
-
- _openDirectoryButton->setIcon(QIcon::fromTheme("document-open-folder"));
- _openDirectoryButton->setToolTip(tr("Open Directory"));
+ _refreshButton->setToolTip(tr("Refresh"));
_ui->retranslateUi(this);
refresh();
}
-
-void MediaInfoWindow::openDirectory() {
- QUrl url =
QUrl::fromLocalFile(_ui->thumbnailView->lastRefreshedDirectory());
- QDesktopServices::openUrl(url);
-}
void MediaInfoWindow::refresh() {
if (_mediaInfoFetcher) {
@@ -135,6 +125,16 @@
}
}
}
+
+void MediaInfoWindow::openDir() {
+ if (_mediaInfoFetcher) {
+ MediaInfo mediaInfo = _mediaInfoFetcher->mediaInfo();
+ if (mediaInfo.fetched()) {
+ QString dir = QFileInfo(mediaInfo.fileName()).canonicalPath();
+ QDesktopServices::openUrl(QUrl::fromLocalFile(dir));
+ }
+ }
+}
void MediaInfoWindow::writeMetaData() const {
MetaDataWriter::write(_mediaInfoFetcher->mediaInfo());
@@ -142,7 +142,6 @@
void MediaInfoWindow::updateMediaInfo(const MediaInfo & mediaInfo) {
bool isUrl = MediaInfo::isUrl(mediaInfo.fileName());
- _openDirectoryButton->setEnabled(isUrl);
QIcon icon;
if (!isUrl) {
@@ -151,10 +150,10 @@
} else {
icon = QIcon::fromTheme("document-open-remote");
}
- _ui->fileTypeLabel->setPixmap(icon.pixmap(QSize(16, 16)));
+ _ui->openDirButton->setIcon(icon);
//General
- _ui->filenameLineEdit->setText(mediaInfo.fileName());
+ _ui->fileNameLineEdit->setText(mediaInfo.fileName());
//Metadata
int trackNumber = mediaInfo.metaDataValue(MediaInfo::TrackNumber).toInt();
@@ -221,7 +220,7 @@
//General
QString fileInfo;
- int fileSize = mediaInfo.fileSize();
+ qint64 fileSize = mediaInfo.fileSize();
QString duration(mediaInfo.durationFormatted());
int bitrate = mediaInfo.bitrate();
if (fileSize >= 0 || !duration.isEmpty() || bitrate >= 0) {
@@ -236,7 +235,7 @@
if (!fileInfo.isEmpty()) {
fileInfo += ", ";
}
- fileInfo += QString::number(fileSize) + ' ' + tr("KB");
+ fileInfo += QString::number(fileSize / 1024.0 / 1024.0) + ' ' +
tr("MB");
}
if (!duration.isEmpty()) {
if (!fileInfo.isEmpty()) {
@@ -400,11 +399,11 @@
);
//Refresh ThumbnailView
- QFileInfo filenameInfo(mediaInfo.fileName());
- if (filenameInfo.isDir()) {
- _ui->thumbnailView->setDir(filenameInfo.absoluteFilePath());
+ QFileInfo fileNameInfo(mediaInfo.fileName());
+ if (fileNameInfo.isDir()) {
+ _ui->thumbnailView->setDir(fileNameInfo.absoluteFilePath());
} else {
- _ui->thumbnailView->setDir(filenameInfo.absolutePath());
+ _ui->thumbnailView->setDir(fileNameInfo.absolutePath());
}
_ui->thumbnailView->refresh();
=======================================
--- /trunk/libs/MediaInfoWindow/MediaInfoWindow.h Fri Aug 13 02:18:04 2010
+++ /trunk/libs/MediaInfoWindow/MediaInfoWindow.h Mon Feb 21 09:03:06 2011
@@ -1,6 +1,6 @@
/*
* QuarkPlayer, a Phonon media player
- * Copyright (C) 2008-2010 Tanguy Krotoff <tkro...@gmail.com>
+ * Copyright (C) 2008-2011 Tanguy Krotoff <tkro...@gmail.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as
published by
@@ -92,7 +92,7 @@
/** Refreshes all informations displayed in the window. */
void refresh();
- void openDirectory();
+ void openDir();
/**
* Saves/writes the metadata from the current MediaInfo to a file using
TagLib.
@@ -113,8 +113,6 @@
QToolButton * _refreshButton;
- QToolButton * _openDirectoryButton;
-
QString _language;
};
=======================================
--- /trunk/libs/MediaInfoWindow/MediaInfoWindow.ui Wed Feb 3 15:53:51 2010
+++ /trunk/libs/MediaInfoWindow/MediaInfoWindow.ui Mon Feb 21 09:03:06 2011
@@ -6,8 +6,8 @@
<rect>
<x>0</x>
<y>0</y>
- <width>549</width>
- <height>588</height>
+ <width>511</width>
+ <height>485</height>
</rect>
</property>
<property name="windowTitle">
@@ -34,16 +34,19 @@
</attribute>
<layout class="QGridLayout" name="gridLayout_2">
<item row="0" column="0">
- <layout class="QHBoxLayout" name="horizontalLayout">
+ <layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
- <widget class="QLabel" name="fileTypeLabel">
- <property name="text">
- <string/>
+ <widget class="QToolButton" name="openDirButton">
+ <property name="toolTip">
+ <string>Open Directory</string>
+ </property>
+ <property name="autoRaise">
+ <bool>true</bool>
</property>
</widget>
</item>
<item>
- <widget class="QLineEdit" name="filenameLineEdit">
+ <widget class="QLineEdit" name="fileNameLineEdit">
<property name="readOnly">
<bool>true</bool>
</property>
@@ -502,7 +505,7 @@
</widget>
</item>
<item row="1" column="0">
- <layout class="QHBoxLayout" name="horizontalLayout_2">
+ <layout class="QHBoxLayout" name="horizontalLayout">
<property name="leftMargin">
<number>9</number>
</property>
=======================================
--- /trunk/libs/ThumbnailView/ThumbnailView.cpp Fri Aug 13 04:47:24 2010
+++ /trunk/libs/ThumbnailView/ThumbnailView.cpp Mon Feb 21 09:03:06 2011
@@ -1,7 +1,7 @@
/*
* QuarkPlayer, a Phonon media player
* Copyright (C) 2004-2007 Wengo
- * Copyright (C) 2008 Tanguy Krotoff <tkro...@gmail.com>
+ * Copyright (C) 2008-2011 Tanguy Krotoff <tkro...@gmail.com>
*
* 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
@@ -80,14 +80,8 @@
void ThumbnailView::setDir(const QString & dir) {
_dir = dir;
}
-
-QString ThumbnailView::lastRefreshedDirectory() const {
- return _lastRefreshedDirectory;
-}
void ThumbnailView::refresh() {
- _lastRefreshedDirectory = _dir;
-
QFileInfo fileInfo(_dir);
if (!fileInfo.exists()) {
ThumbnailViewCritical() << "Directory does not exist:" << _dir;
=======================================
--- /trunk/libs/ThumbnailView/ThumbnailView.h Fri Aug 13 04:47:24 2010
+++ /trunk/libs/ThumbnailView/ThumbnailView.h Mon Feb 21 09:03:06 2011
@@ -1,7 +1,7 @@
/*
* QuarkPlayer, a Phonon media player
* Copyright (C) 2004-2007 Wengo
- * Copyright (C) 2008-2010 Tanguy Krotoff <tkro...@gmail.com>
+ * Copyright (C) 2008-2011 Tanguy Krotoff <tkro...@gmail.com>
*
* 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
@@ -47,8 +47,6 @@
void setDir(const QString & dir);
- QString lastRefreshedDirectory() const;
-
void refresh();
private:
@@ -67,8 +65,6 @@
ThumbnailListView * _thumbnailListView;
QString _dir;
-
- QString _lastRefreshedDirectory;
};
#endif //THUMBNAILVIEW_H
=======================================
--- /trunk/libs/TkUtil/FileChooserWidget.cpp Fri Aug 13 02:18:04 2010
+++ /trunk/libs/TkUtil/FileChooserWidget.cpp Mon Feb 21 09:03:06 2011
@@ -1,6 +1,6 @@
/*
* QuarkPlayer, a Phonon media player
- * Copyright (C) 2008-2010 Tanguy Krotoff <tkro...@gmail.com>
+ * Copyright (C) 2008-2011 Tanguy Krotoff <tkro...@gmail.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as
published by
@@ -57,9 +57,11 @@
_dialogType = dialogType;
switch (_dialogType) {
case DialogTypeFile:
+ _openFileButton->setToolTip(tr("Open File"));
_openFileButton->setIcon(QIcon::fromTheme("document-open"));
break;
case DialogTypeDir:
+ _openFileButton->setToolTip(tr("Open Directory"));
_openFileButton->setIcon(QIcon::fromTheme("folder"));
break;
default:
=======================================
--- /trunk/quarkplayer-plugins/FileBrowser/FileBrowserTreeView.cpp Wed Aug
25 15:27:09 2010
+++ /trunk/quarkplayer-plugins/FileBrowser/FileBrowserTreeView.cpp Mon Feb
21 09:03:06 2011
@@ -1,6 +1,6 @@
/*
* QuarkPlayer, a Phonon media player
- * Copyright (C) 2008-2009 Tanguy Krotoff <tkro...@gmail.com>
+ * Copyright (C) 2008-2011 Tanguy Krotoff <tkro...@gmail.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as
published by
@@ -36,8 +36,11 @@
#include <phonon/mediaobject.h>
-#include <QtGui/QAction>
#include <QtGui/QApplication>
+#include <QtGui/QDesktopServices>
+#include <QtGui/QAction>
+#include <QtGui/QMenu>
+#include <QtGui/QContextMenuEvent>
#include <QtCore/QFileInfo>
@@ -54,25 +57,14 @@
setUniformRowHeights(true);
setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
setSelectionMode(QAbstractItemView::ExtendedSelection);
- setContextMenuPolicy(Qt::ActionsContextMenu);
connect(this, SIGNAL(activated(const QModelIndex &)),
SLOT(activated(const QModelIndex &)));
- //Add to playlist
- connect(_fileBrowserWidget->uuidAction("FileBrowser.AddToPlaylist"),
SIGNAL(triggered()),
- SLOT(addToPlaylist()));
- addAction(_fileBrowserWidget->uuidAction("FileBrowser.AddToPlaylist"));
-
- //Play
- connect(_fileBrowserWidget->uuidAction("FileBrowser.Play"),
SIGNAL(triggered()),
- SLOT(play()));
- addAction(_fileBrowserWidget->uuidAction("FileBrowser.Play"));
-
- //View Media Info...
- connect(_fileBrowserWidget->uuidAction("FileBrowser.ViewMediaInfo"),
SIGNAL(triggered()),
- SLOT(viewMediaInfo()));
- addAction(_fileBrowserWidget->uuidAction("FileBrowser.ViewMediaInfo"));
+ connect(_fileBrowserWidget->uuidAction("FileBrowser.AddToPlaylist"),
SIGNAL(triggered()), SLOT(addToPlaylist()));
+ connect(_fileBrowserWidget->uuidAction("FileBrowser.Play"),
SIGNAL(triggered()), SLOT(play()));
+ connect(_fileBrowserWidget->uuidAction("FileBrowser.GetInfo"),
SIGNAL(triggered()), SLOT(viewMediaInfo()));
+ connect(_fileBrowserWidget->uuidAction("FileBrowser.OpenDir"),
SIGNAL(triggered()), SLOT(openDir()));
RETRANSLATE(this);
retranslate();
@@ -80,6 +72,16 @@
FileBrowserTreeView::~FileBrowserTreeView() {
}
+
+void FileBrowserTreeView::contextMenuEvent(QContextMenuEvent * event) {
+ QMenu menu(this);
+
menu.addAction(_fileBrowserWidget->uuidAction("FileBrowser.AddToPlaylist"));
+ menu.addAction(_fileBrowserWidget->uuidAction("FileBrowser.Play"));
+ menu.addSeparator();
+ menu.addAction(_fileBrowserWidget->uuidAction("FileBrowser.GetInfo"));
+ menu.addAction(_fileBrowserWidget->uuidAction("FileBrowser.OpenDir"));
+ menu.exec(event->globalPos());
+}
void FileBrowserTreeView::populateActionCollection() {
QCoreApplication * app = QApplication::instance();
@@ -87,7 +89,8 @@
_fileBrowserWidget->addUuidAction("FileBrowser.AddToPlaylist", new
QAction(app));
_fileBrowserWidget->addUuidAction("FileBrowser.Play", new QAction(app));
- _fileBrowserWidget->addUuidAction("FileBrowser.ViewMediaInfo", new
QAction(app));
+ _fileBrowserWidget->addUuidAction("FileBrowser.GetInfo", new
QAction(app));
+ _fileBrowserWidget->addUuidAction("FileBrowser.OpenDir", new
QAction(app));
}
void FileBrowserTreeView::activated(const QModelIndex & index) {
@@ -130,13 +133,9 @@
void FileBrowserTreeView::retranslate() {
_fileBrowserWidget->uuidAction("FileBrowser.AddToPlaylist")->setText(tr("Add
to Playlist"));
-
_fileBrowserWidget->uuidAction("FileBrowser.AddToPlaylist")->setIcon(QIcon::fromTheme("list-add"));
-
_fileBrowserWidget->uuidAction("FileBrowser.Play")->setText(tr("Play"));
-
_fileBrowserWidget->uuidAction("FileBrowser.Play")->setIcon(QIcon::fromTheme("media-playback-start"));
-
-
_fileBrowserWidget->uuidAction("FileBrowser.ViewMediaInfo")->setText(tr("View
Media Info..."));
-
_fileBrowserWidget->uuidAction("FileBrowser.ViewMediaInfo")->setIcon(QIcon::fromTheme("document-properties"));
+ _fileBrowserWidget->uuidAction("FileBrowser.GetInfo")->setText(tr("Get
Info..."));
+ _fileBrowserWidget->uuidAction("FileBrowser.OpenDir")->setText(tr("Open
Directory..."));
}
QFileInfo FileBrowserTreeView::fileInfo(const QModelIndex & index) const {
@@ -166,3 +165,12 @@
mediaInfoWindow->setLanguage(Config::instance().language());
mediaInfoWindow->show();
}
+
+void FileBrowserTreeView::openDir() {
+ QModelIndexList indexList = selectionModel()->selectedRows();
+ if (!indexList.isEmpty()) {
+ QModelIndex index(indexList.at(0));
+ QString dir = fileInfo(index).canonicalPath();
+ QDesktopServices::openUrl(QUrl::fromLocalFile(dir));
+ }
+}
=======================================
--- /trunk/quarkplayer-plugins/FileBrowser/FileBrowserTreeView.h Fri Aug 13
02:18:04 2010
+++ /trunk/quarkplayer-plugins/FileBrowser/FileBrowserTreeView.h Mon Feb 21
09:03:06 2011
@@ -1,6 +1,6 @@
/*
* QuarkPlayer, a Phonon media player
- * Copyright (C) 2008-2009 Tanguy Krotoff <tkro...@gmail.com>
+ * Copyright (C) 2008-2011 Tanguy Krotoff <tkro...@gmail.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as
published by
@@ -41,6 +41,8 @@
private slots:
+ void contextMenuEvent(QContextMenuEvent * event);
+
void addToPlaylist();
void play();
@@ -51,6 +53,8 @@
void viewMediaInfo();
+ void openDir();
+
private:
void populateActionCollection();
=======================================
--- /trunk/quarkplayer-plugins/FileBrowser/FileSearchModel.cpp Tue Dec 28
15:22:24 2010
+++ /trunk/quarkplayer-plugins/FileBrowser/FileSearchModel.cpp Mon Feb 21
09:03:06 2011
@@ -166,13 +166,13 @@
QString relativeFileName(TkFile::relativeFilePath(_rootSearchPath,
fileName));
if (!QFileInfo(fileName).isDir() &&
FileTypes::fileExtensionMatches(fileName, _toolTipExtensions)) {
- if (true/*FIXME mediaInfo.fetched()*/) {
+ if (mediaInfo.fetched()) {
QString bitrate;
if (mediaInfo.bitrate() > 0) {
bitrate = QString("%1 %2 %3")
.arg(mediaInfo.bitrate())
.arg(tr("kbps"))
- .arg(mediaInfo.audioStreamValue(0,
MediaInfo::AudioBitrateMode).toInt());
+ .arg(mediaInfo.audioStreamValue(0,
MediaInfo::AudioBitrateMode).toString());
}
tmp = relativeFileName + "<br>" +
tr("Title:") + " <b>" +
mediaInfo.metaDataValue(MediaInfo::Title).toString() + "</b><br>" +
=======================================
--- /trunk/quarkplayer-plugins/MainWindow/CommonActions.cpp Sun Feb 20
13:15:39 2011
+++ /trunk/quarkplayer-plugins/MainWindow/CommonActions.cpp Mon Feb 21
09:03:06 2011
@@ -163,20 +163,16 @@
ActionCollection::action("CommonActions.ViewLog")->setIcon(logIcon);
ActionCollection::action("CommonActions.About")->setText(tr("&About"));
-
ActionCollection::action("CommonActions.About")->setIcon(QIcon::fromTheme("help-about"));
ActionCollection::action("CommonActions.AboutQt")->setText(tr("About
&Qt"));
-
ActionCollection::action("CommonActions.AboutQt")->setIcon(QIcon::fromTheme("help-about"));
ActionCollection::action("CommonActions.OpenDVD")->setText(tr("Play
&DVD..."));
ActionCollection::action("CommonActions.OpenDVD")->setIcon(QIcon::fromTheme("media-optical"));
ActionCollection::action("CommonActions.OpenURL")->setText(tr("Play
&URL..."));
-
ActionCollection::action("CommonActions.OpenURL")->setIcon(QIcon::fromTheme("document-open-remote"));
ActionCollection::action("CommonActions.OpenVCD")->setText(tr("Play
&VCD..."));
-
//ActionCollection::action("CommonActions.OpenVCD")->setIcon(QIcon::fromTheme("media-optical"));
-
+\
ActionCollection::action("CommonActions.NewMediaObject")->setText(tr("New
Media Window"));
ActionCollection::action("CommonActions.NewMediaObject")->setIcon(QIcon::fromTheme("tab-new"));
@@ -202,28 +198,20 @@
ActionCollection::action("CommonActions.NextTrack")->setIcon(QIcon::fromTheme("media-skip-forward"));
ActionCollection::action("CommonActions.JumpBackward10s")->setText(tr("Jump
&Backward 10s"));
-
ActionCollection::action("CommonActions.JumpBackward10s")->setIcon(QIcon::fromTheme("media-seek-backward"));
ActionCollection::action("CommonActions.JumpBackward1min")->setText(tr("Jump
&Backward 1min"));
ActionCollection::action("CommonActions.JumpBackward1min")->setIcon(QIcon::fromTheme("media-seek-backward"));
ActionCollection::action("CommonActions.JumpBackward10min")->setText(tr("Jump
&Backward 10min"));
-
ActionCollection::action("CommonActions.JumpBackward10min")->setIcon(QIcon::fromTheme("media-seek-backward"));
ActionCollection::action("CommonActions.JumpForward10s")->setText(tr("Jump
&Forward 10s"));
-
ActionCollection::action("CommonActions.JumpForward10s")->setIcon(QIcon::fromTheme("media-seek-forward"));
ActionCollection::action("CommonActions.JumpForward1min")->setText(tr("Jump
&Forward 1min"));
ActionCollection::action("CommonActions.JumpForward1min")->setIcon(QIcon::fromTheme("media-seek-forward"));
ActionCollection::action("CommonActions.JumpForward10min")->setText(tr("Jump
&Forward 10min"));
-
ActionCollection::action("CommonActions.JumpForward10min")->setIcon(QIcon::fromTheme("media-seek-forward"));
ActionCollection::action("CommonActions.SpeedDecrease10%")->setText(tr("Decrease
Speed"));
-
ActionCollection::action("CommonActions.SpeedDecrease10%")->setIcon(QIcon::fromTheme("media-seek-backward"));
ActionCollection::action("CommonActions.SpeedIncrease10%")->setText(tr("Increase
Speed"));
-
ActionCollection::action("CommonActions.SpeedIncrease10%")->setIcon(QIcon::fromTheme("media-seek-forward"));
ActionCollection::action("CommonActions.VolumeMute")->setText(tr("&Mute"));
ActionCollection::action("CommonActions.VolumeMute")->setIcon(QIcon::fromTheme("audio-volume-muted"));
ActionCollection::action("CommonActions.VolumeDecrease10%")->setText(tr("&Decrease
Volume"));
-
ActionCollection::action("CommonActions.VolumeDecrease10%")->setIcon(QIcon::fromTheme("audio-volume-low"));
ActionCollection::action("CommonActions.VolumeIncrease10%")->setText(tr("&Increase
Volume"));
-
ActionCollection::action("CommonActions.VolumeIncrease10%")->setIcon(QIcon::fromTheme("audio-volume-high"));
ActionCollection::action("CommonActions.FullScreen")->setText(tr("&Fullscreen"));
ActionCollection::action("CommonActions.FullScreen")->setIcon(QIcon::fromTheme("view-fullscreen"));
=======================================
--- /trunk/quarkplayer-plugins/MainWindow/MainWindow.cpp Sun Feb 20
13:15:39 2011
+++ /trunk/quarkplayer-plugins/MainWindow/MainWindow.cpp Mon Feb 21
09:03:06 2011
@@ -307,14 +307,15 @@
_menuPlay->addAction(ActionCollection::action("CommonActions.JumpBackward10s"));
_menuPlay->addAction(ActionCollection::action("CommonActions.JumpBackward1min"));
_menuPlay->addAction(ActionCollection::action("CommonActions.JumpBackward10min"));
+ _menuPlay->addSeparator();
_menuPlay->addAction(ActionCollection::action("CommonActions.JumpForward10s"));
_menuPlay->addAction(ActionCollection::action("CommonActions.JumpForward1min"));
_menuPlay->addAction(ActionCollection::action("CommonActions.JumpForward10min"));
+ _menuPlay->addSeparator();
_menuPlay->addAction(ActionCollection::action("CommonActions.SpeedDecrease10%"));
_menuPlay->addAction(ActionCollection::action("CommonActions.SpeedIncrease10%"));
_menuPlay->addSeparator();
_menuPlay->addAction(ActionCollection::action("CommonActions.FullScreen"));
- //No menu entry for FullScreenExit, see MyVideoWidget.cpp
_menuPlay->addSeparator();
_menuPlay->addAction(ActionCollection::action("CommonActions.NewMediaObject"));
=======================================
--- /trunk/quarkplayer-plugins/MediaController/MediaController.cpp Sun Feb
20 17:34:30 2011
+++ /trunk/quarkplayer-plugins/MediaController/MediaController.cpp Mon Feb
21 09:03:06 2011
@@ -158,17 +158,9 @@
ActionCollection::action("MediaController.OpenSubtitleFile")->setIcon(QIcon::fromTheme("document-open"));
_menuAudioChannels->setTitle(tr("&Audio Channels"));
- _menuAudioChannels->setIcon(QIcon::fromTheme("audio-x-generic"));
-
_menuSubtitles->setTitle(tr("&Subtitles"));
- _menuSubtitles->setIcon(QIcon::fromTheme("format-text-underline"));
-
_menuTitles->setTitle(tr("&Title"));
- _menuTitles->setIcon(QIcon::fromTheme("format-list-ordered"));
-
_menuChapters->setTitle(tr("&Chapter"));
- _menuChapters->setIcon(QIcon::fromTheme("x-office-address-book"));
-
_menuAngles->setTitle(tr("&Angle"));
_menuSubtitle->setTitle(tr("&Subtitle"));
_menuBrowse->setTitle(tr("&Browse"));
=======================================
--- /trunk/quarkplayer-plugins/Playlist/DragAndDropTreeView.cpp Sat Feb 12
01:31:20 2011
+++ /trunk/quarkplayer-plugins/Playlist/DragAndDropTreeView.cpp Mon Feb 21
09:03:06 2011
@@ -1,6 +1,6 @@
/*
* QuarkPlayer, a Phonon media player
- * Copyright (C) 2008 Tanguy Krotoff <tkro...@gmail.com>
+ * Copyright (C) 2008-2011 Tanguy Krotoff <tkro...@gmail.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as
published by
@@ -58,20 +58,13 @@
setSelectionMode(QAbstractItemView::ExtendedSelection);
//setSortingEnabled(true);
setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
- setContextMenuPolicy(Qt::ActionsContextMenu);
populateActionCollection();
connect(_playlistWidget->uuidAction("Playlist.PlayItem"),
SIGNAL(triggered()), SLOT(playItem()));
- addAction(_playlistWidget->uuidAction("Playlist.PlayItem"));
- connect(_playlistWidget->uuidAction("Playlist.SendTo"),
SIGNAL(triggered()), SLOT(sendTo()));
- //addAction(_playlistWidget->uuidAction("Playlist.SendTo"));
connect(_playlistWidget->uuidAction("Playlist.RemoveItem"),
SIGNAL(triggered()), SLOT(clearSelection()));
- addAction(_playlistWidget->uuidAction("Playlist.RemoveItem"));
- connect(_playlistWidget->uuidAction("Playlist.RateItem"),
SIGNAL(triggered()), SLOT(rateItem()));
- //addAction(_playlistWidget->uuidAction("Playlist.RateItem"));
- connect(_playlistWidget->uuidAction("Playlist.ViewMediaInfo"),
SIGNAL(triggered()), SLOT(viewMediaInfo()));
- addAction(_playlistWidget->uuidAction("Playlist.ViewMediaInfo"));
+ connect(_playlistWidget->uuidAction("Playlist.GetInfo"),
SIGNAL(triggered()), SLOT(viewMediaInfo()));
+ connect(_playlistWidget->uuidAction("Playlist.OpenDir"),
SIGNAL(triggered()), SLOT(openDir()));
RETRANSLATE(this);
retranslate();
@@ -79,6 +72,16 @@
DragAndDropTreeView::~DragAndDropTreeView() {
}
+
+void DragAndDropTreeView::contextMenuEvent(QContextMenuEvent * event) {
+ QMenu menu(this);
+ menu.addAction(_playlistWidget->uuidAction("Playlist.PlayItem"));
+ menu.addAction(_playlistWidget->uuidAction("Playlist.RemoveItem"));
+ menu.addSeparator();
+ menu.addAction(_playlistWidget->uuidAction("Playlist.GetInfo"));
+ menu.addAction(_playlistWidget->uuidAction("Playlist.OpenDir"));
+ menu.exec(event->globalPos());
+}
void DragAndDropTreeView::mousePressEvent(QMouseEvent * event) {
//When the user clicks on this playlist, it becomes the only active one
@@ -129,29 +132,18 @@
Q_ASSERT(app);
_playlistWidget->addUuidAction("Playlist.PlayItem", new QAction(app));
- _playlistWidget->addUuidAction("Playlist.SendTo", new QAction(app));
_playlistWidget->addUuidAction("Playlist.RemoveItem", new QAction(app));
- _playlistWidget->addUuidAction("Playlist.RateItem", new QAction(app));
TkAction * action = new TkAction(app, tr("Ctrl+I"), tr("Alt+3"));
action->setShortcutContext(Qt::ApplicationShortcut);
- _playlistWidget->addUuidAction("Playlist.ViewMediaInfo", action);
+ _playlistWidget->addUuidAction("Playlist.GetInfo", action);
+ _playlistWidget->addUuidAction("Playlist.OpenDir", new QAction(app));
}
void DragAndDropTreeView::retranslate() {
_playlistWidget->uuidAction("Playlist.PlayItem")->setText(tr("Play"));
-
_playlistWidget->uuidAction("Playlist.PlayItem")->setIcon(QIcon::fromTheme("media-playback-start"));
-
- _playlistWidget->uuidAction("Playlist.SendTo")->setText(tr("Sent To"));
-
_playlistWidget->uuidAction("Playlist.SendTo")->setIcon(QIcon::fromTheme("text-x-script"));
-
_playlistWidget->uuidAction("Playlist.RemoveItem")->setText(tr("Remove
from Playlist"));
-
_playlistWidget->uuidAction("Playlist.RemoveItem")->setIcon(QIcon::fromTheme("edit-delete"));
-
- _playlistWidget->uuidAction("Playlist.RateItem")->setText(tr("Rate"));
-
_playlistWidget->uuidAction("Playlist.RateItem")->setIcon(QIcon::fromTheme("rating"));
-
- _playlistWidget->uuidAction("Playlist.ViewMediaInfo")->setText(tr("View
Media Info..."));
-
_playlistWidget->uuidAction("Playlist.ViewMediaInfo")->setIcon(QIcon::fromTheme("document-properties"));
+ _playlistWidget->uuidAction("Playlist.GetInfo")->setText(tr("Get
Info..."));
+ _playlistWidget->uuidAction("Playlist.OpenDir")->setText(tr("Open
Directory..."));
if (_mediaInfoWindow) {
_mediaInfoWindow->setLanguage(Config::instance().language());
@@ -164,10 +156,6 @@
_playlistFilter->play(indexList.at(0));
}
}
-
-void DragAndDropTreeView::sendTo() {
- //FIXME this will be for external scripts: like burning, sending via
email, whatever...
-}
void DragAndDropTreeView::clearSelection() {
//Algorithm a bit complex
@@ -217,9 +205,6 @@
contiguousRows.clear();
}
}
-
-void DragAndDropTreeView::rateItem() {
-}
void DragAndDropTreeView::viewMediaInfo() {
PlaylistDebug();
@@ -237,3 +222,12 @@
_mediaInfoWindow->setLanguage(Config::instance().language());
_mediaInfoWindow->show();
}
+
+void DragAndDropTreeView::openDir() {
+ QModelIndexList indexList = selectionModel()->selectedRows();
+ if (!indexList.isEmpty()) {
+ QModelIndex index(indexList.at(0));
+ QString dir =
QFileInfo(_playlistModel->mediaInfo(index).fileName()).canonicalPath();
+ QDesktopServices::openUrl(QUrl::fromLocalFile(dir));
+ }
+}
=======================================
--- /trunk/quarkplayer-plugins/Playlist/DragAndDropTreeView.h Fri Aug 13
02:18:04 2010
+++ /trunk/quarkplayer-plugins/Playlist/DragAndDropTreeView.h Mon Feb 21
09:03:06 2011
@@ -1,6 +1,6 @@
/*
* QuarkPlayer, a Phonon media player
- * Copyright (C) 2008-2009 Tanguy Krotoff <tkro...@gmail.com>
+ * Copyright (C) 2008-2011 Tanguy Krotoff <tkro...@gmail.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as
published by
@@ -53,14 +53,14 @@
void playItem();
- void sendTo();
-
- void rateItem();
-
void viewMediaInfo();
+ void openDir();
+
private:
+ void contextMenuEvent(QContextMenuEvent * event);
+
void mousePressEvent(QMouseEvent * event);
void dragEvent(QDropEvent * event);
=======================================
--- /trunk/quarkplayer-plugins/Playlist/PlaylistWidget.cpp Sun Feb 20
17:34:30 2011
+++ /trunk/quarkplayer-plugins/Playlist/PlaylistWidget.cpp Mon Feb 21
09:03:06 2011
@@ -195,13 +195,9 @@
QMenu * addMenu = new QMenu();
addMenu->addAction(uuidAction("Playlist.AddFiles"));
connect(uuidAction("Playlist.AddFiles"), SIGNAL(triggered()),
SLOT(addFiles()));
- addMenu->addAction(uuidAction("Playlist.AddDirectory"));
- connect(uuidAction("Playlist.AddDirectory"), SIGNAL(triggered()),
SLOT(addDir()));
+ addMenu->addAction(uuidAction("Playlist.AddDir"));
+ connect(uuidAction("Playlist.AddDir"), SIGNAL(triggered()),
SLOT(addDir()));
addMenu->addAction(uuidAction("Playlist.AddURL"));
- QAction * action = new QAction("Hello", this);
- addMenu->addAction(action);
- addMenu->addAction(action);
- addMenu->addAction(action);
connect(uuidAction("Playlist.AddURL"), SIGNAL(triggered()),
SLOT(addURL()));
addButton->setMenu(addMenu);
@@ -227,7 +223,7 @@
addUuidAction("Playlist.Add", new QAction(app));
addUuidAction("Playlist.AddFiles", new QAction(app));
- addUuidAction("Playlist.AddDirectory", new QAction(app));
+ addUuidAction("Playlist.AddDir", new QAction(app));
addUuidAction("Playlist.AddURL", new QAction(app));
addUuidAction("Playlist.RemoveAll", new QAction(app));
@@ -259,7 +255,7 @@
uuidAction("Playlist.Add")->setIcon(QIcon::fromTheme("list-add"));
uuidAction("Playlist.AddFiles")->setText(tr("Add Files"));
- uuidAction("Playlist.AddDirectory")->setText(tr("Add Directory"));
+ uuidAction("Playlist.AddDir")->setText(tr("Add Directory"));
uuidAction("Playlist.AddURL")->setText(tr("Add URL"));
uuidAction("Playlist.RemoveAll")->setText(tr("Remove All"));
@@ -329,16 +325,16 @@
}
void PlaylistWidget::openPlaylist() {
- QString filename = TkFileDialog::getOpenFileName(
+ QString fileName = TkFileDialog::getOpenFileName(
this, tr("Select Playlist File"), Config::instance().lastDirOpened(),
tr("Playlist") +
FileTypes::toFilterFormat(FileTypes::extensions(FileType::Playlist)) + ";;"
+
tr("All Files") + " (*.*)"
);
- if (!filename.isEmpty()) {
- Config::instance().setValue(Config::LAST_DIR_OPENED_KEY,
QFileInfo(filename).absolutePath());
+ if (!fileName.isEmpty()) {
+ Config::instance().setValue(Config::LAST_DIR_OPENED_KEY,
QFileInfo(fileName).absolutePath());
_playlistModel->clear();
- _playlistModel->loadPlaylist(filename);
+ _playlistModel->loadPlaylist(fileName);
}
}
@@ -368,19 +364,19 @@
void PlaylistWidget::savePlaylist() {
static const char * PLAYLIST_DEFAULT_EXTENSION = "m3u";
- QString filename = TkFileDialog::getSaveFileName(
+ QString fileName = TkFileDialog::getSaveFileName(
this, tr("Save Playlist"), Config::instance().lastDirOpened(),
FileTypes::toSaveFilterFormat(FileTypes::extensions(FileType::Playlist),
PLAYLIST_DEFAULT_EXTENSION) +
tr("All Files") + " (*.*)"
);
- if (!filename.isEmpty()) {
- Config::instance().setValue(Config::LAST_DIR_OPENED_KEY,
QFileInfo(filename).absolutePath());
+ if (!fileName.isEmpty()) {
+ Config::instance().setValue(Config::LAST_DIR_OPENED_KEY,
QFileInfo(fileName).absolutePath());
static PlaylistWriter * parser = new PlaylistWriter(this);
connect(parser, SIGNAL(finished(PlaylistParser::Error, int)),
SLOT(playlistSaved(PlaylistParser::Error, int)));
- parser->save(filename, _playlistModel->files());
+ parser->save(fileName, _playlistModel->files());
}
}
=======================================
--- /trunk/tests/libs/MediaInfoFetcher/MediaInfoTest.cpp Fri Aug 13
02:18:04 2010
+++ /trunk/tests/libs/MediaInfoFetcher/MediaInfoTest.cpp Mon Feb 21
09:03:06 2011
@@ -1,6 +1,6 @@
/*
* QuarkPlayer, a Phonon media player
- * Copyright (C) 2008-2010 Tanguy Krotoff <tkro...@gmail.com>
+ * Copyright (C) 2008-2011 Tanguy Krotoff <tkro...@gmail.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as
published by
=======================================
--- /trunk/tests/quarkplayer-plugins/VideoWidget/CMakeLists.txt Sun Feb 20
13:15:39 2011
+++ /trunk/tests/quarkplayer-plugins/VideoWidget/CMakeLists.txt Mon Feb 21
09:03:06 2011
@@ -9,7 +9,7 @@
target_link_libraries(${name}
VideoWidget
- PlayToolBar
+ MainWindow
${QT_QTGUI_LIBRARY}
${QT_QTTEST_LIBRARY}
=======================================
--- /trunk/tests/quarkplayer-plugins/VideoWidget/MyVideoWidgetTest.cpp Sun
Feb 20 13:15:39 2011
+++ /trunk/tests/quarkplayer-plugins/VideoWidget/MyVideoWidgetTest.cpp Mon
Feb 21 09:03:06 2011
@@ -22,9 +22,7 @@
#include <quarkplayer/MockPluginManager.h>
#include <quarkplayer-plugins/MainWindow/MockMainWindow.h>
-#include <quarkplayer-plugins/VideoWidget/VideoWidgetPlugin.h>
#include <quarkplayer-plugins/VideoWidget/MyVideoWidget.h>
-#include <quarkplayer-plugins/PlayToolBar/PlayToolBar.h>
#include <phonon/mediaobject.h>