Revert back to single context menu.

This commit is contained in:
craig.p.drummond
2014-09-16 17:54:54 +00:00
parent 26546ce4ac
commit 144a930f25
3 changed files with 14 additions and 52 deletions

View File

@@ -708,7 +708,7 @@ MainWindow::MainWindow(QWidget *parent)
playQueueProxyModel.setSourceModel(&playQueueModel);
playQueue->setModel(&playQueueProxyModel);
playQueue->addAction(playQueue->removeFromAct(), true);
playQueue->addAction(playQueue->removeFromAct());
ratingAction=new Action(i18n("Set Rating"), this);
ratingAction->setMenu(new QMenu(0));
for (int i=0; i<((Song::Rating_Max/Song::Rating_Step)+1); ++i) {
@@ -725,14 +725,16 @@ MainWindow::MainWindow(QWidget *parent)
ratingAction->menu()->addAction(action);
connect(action, SIGNAL(triggered(bool)), SLOT(setRating()));
}
playQueue->addAction(ratingAction, true);
playQueue->addAction(setPriorityAction, true);
playQueue->addAction(stopAfterTrackAction, true);
playQueue->addAction(locateTrackAction, true);
playQueue->addAction(ratingAction);
playQueue->addAction(setPriorityAction);
playQueue->addAction(stopAfterTrackAction);
playQueue->addAction(locateTrackAction);
#ifdef TAGLIB_FOUND
playQueue->addAction(editPlayQueueTagsAction, true);
playQueue->addAction(editPlayQueueTagsAction);
#endif
playQueue->addSeparator();
Action *sep=new Action(this);
sep->setSeparator(true);
playQueue->addAction(sep);
playQueue->addAction(playQueueModel.removeDuplicatesAct());
playQueue->addAction(promptClearPlayQueueAction);
playQueue->addAction(cropPlayQueueAction);

View File

@@ -42,7 +42,6 @@
#include <QFile>
#include <QPainter>
#include <QApplication>
#include <QMenu>
#include <qglobal.h>
// Exported by QtGui
@@ -128,8 +127,6 @@ void PlayQueueGroupedView::paintEvent(QPaintEvent *e)
PlayQueueView::PlayQueueView(QWidget *parent)
: QStackedWidget(parent)
, contextMenu(0)
, selectContextMenu(0)
, mode(ItemView::Mode_Count)
, groupedView(0)
, treeView(0)
@@ -215,28 +212,26 @@ void PlayQueueView::setMode(ItemView::Mode m)
case ItemView::Mode_GroupedTree:
if (!groupedView) {
groupedView=new PlayQueueGroupedView(this);
groupedView->setContextMenuPolicy(Qt::ActionsContextMenu);
groupedView->setIndentation(0);
groupedView->setItemsExpandable(false);
groupedView->setExpandsOnDoubleClick(false);
groupedView->setContextMenuPolicy(Qt::CustomContextMenu);
groupedView->installFilter(new KeyEventHandler(groupedView, removeFromAction));
addWidget(groupedView);
connect(groupedView, SIGNAL(itemsSelected(bool)), SIGNAL(itemsSelected(bool)));
connect(groupedView, SIGNAL(doubleClicked(const QModelIndex &)), SIGNAL(doubleClicked(const QModelIndex &)));
connect(groupedView, SIGNAL(customContextMenuRequested(QPoint)), SLOT(showMenu(QPoint)));
updatePalette();
}
break;
case ItemView::Mode_Table:
if (!treeView) {
treeView=new PlayQueueTreeView(this);
treeView->setContextMenuPolicy(Qt::CustomContextMenu);
treeView->setContextMenuPolicy(Qt::ActionsContextMenu);
treeView->installFilter(new KeyEventHandler(treeView, removeFromAction));
treeView->initHeader();
addWidget(treeView);
connect(treeView, SIGNAL(itemsSelected(bool)), SIGNAL(itemsSelected(bool)));
connect(treeView, SIGNAL(doubleClicked(const QModelIndex &)), SIGNAL(doubleClicked(const QModelIndex &)));
connect(treeView, SIGNAL(customContextMenuRequested(QPoint)), SLOT(showMenu(QPoint)));
updatePalette();
}
default:
@@ -319,28 +314,9 @@ QModelIndex PlayQueueView::indexAt(const QPoint &point)
return view()->indexAt(point);
}
void PlayQueueView::addAction(QAction *a, bool withSelectionOnly)
void PlayQueueView::addAction(QAction *a)
{
if (!contextMenu) {
contextMenu=new QMenu(this);
}
if (!selectContextMenu) {
selectContextMenu=new QMenu(this);
}
if (!withSelectionOnly) {
contextMenu->addAction(a);
}
selectContextMenu->addAction(a);
}
void PlayQueueView::addSeparator()
{
if (contextMenu) {
contextMenu->addSeparator();
}
if (selectContextMenu) {
selectContextMenu->addSeparator();
}
view()->addAction(a);
}
void PlayQueueView::setFocus()
@@ -512,15 +488,6 @@ void PlayQueueView::streamFetchStatus(const QString &msg)
msgOverlay->setText(msg);
}
void PlayQueueView::showMenu(const QPoint &p)
{
if (haveSelectedItems()) {
selectContextMenu->popup(view()->mapToGlobal(p));
} else {
contextMenu->popup(view()->mapToGlobal(p));
}
}
void PlayQueueView::drawBackdrop(QWidget *widget, const QSize &size)
{
if (BI_None==backgroundImageType) {

View File

@@ -41,7 +41,6 @@ class QAction;
class Action;
class QItemSelectionModel;
class QModelIndex;
class QMenu;
class Spinner;
class PlayQueueView;
class MessageOverlay;
@@ -95,8 +94,7 @@ public:
void scrollTo(const QModelIndex &index, QAbstractItemView::ScrollHint hint);
QModelIndex indexAt(const QPoint &point);
void setModel(QAbstractItemModel *m) { view()->setModel(m); }
void addAction(QAction *a, bool withSelectionOnly=false);
void addSeparator();
void addAction(QAction *a);
void setFocus();
bool hasFocus();
QAbstractItemModel * model() { return view()->model(); }
@@ -119,9 +117,6 @@ public Q_SLOTS:
void setImage(const QImage &img);
void streamFetchStatus(const QString &msg);
private Q_SLOTS:
void showMenu(const QPoint &p);
Q_SIGNALS:
void itemsSelected(bool);
void doubleClicked(const QModelIndex &);
@@ -132,8 +127,6 @@ private:
void drawBackdrop(QWidget *widget, const QSize &size);
private:
QMenu *contextMenu;
QMenu *selectContextMenu;
Action *removeFromAction;
ItemView::Mode mode;
PlayQueueGroupedView *groupedView;