Current window entry should be checked.

This commit is contained in:
craig.p.drummond
2014-09-20 16:07:13 +00:00
committed by craig.p.drummond
parent 71cc725adc
commit cb448f74e1
3 changed files with 17 additions and 2 deletions

View File

@@ -1316,7 +1316,7 @@ void Covers::updateCache(const Song &song, const QImage &img, bool dummyEntriesO
DBUG << "Set pixel ratio of updated cached pixmap" << devicePixelRatio;
}
#endif
if (pix && emitLoaded) {
if (p && emitLoaded) {
emit loaded(song, s);
}
}

View File

@@ -69,6 +69,8 @@ void OSXStyle::initWindowMenu(QMainWindow *mw)
windowMenu=new QMenu(i18n("&Window"), mw);
addWindow(mw);
mw->menuBar()->addMenu(windowMenu);
actions[mw]->setChecked(true);
connect(qApp, SIGNAL(focusWindowChanged(QWindow *)), SLOT(focusWindowChanged(QWindow *)));
}
}
@@ -76,6 +78,7 @@ void OSXStyle::addWindow(QWidget *w)
{
if (w && windowMenu) {
QAction *action=windowMenu->addAction(w->windowTitle());
action->setCheckable(true);
connect(action, SIGNAL(triggered()), this, SLOT(showWindow()));
connect(w, SIGNAL(windowTitleChanged(QString)), this, SLOT(windowTitleChanged()));
actions.insert(w, action);
@@ -112,8 +115,8 @@ void OSXStyle::showWindow()
w->showNormal();
w->activateWindow();
w->raise();
return;
}
act->setChecked(it.value()==act);
}
}
@@ -129,6 +132,16 @@ void OSXStyle::windowTitleChanged()
}
}
void OSXStyle::focusWindowChanged(QWindow *win)
{
QMap<QWidget *, QAction *>::Iterator it=actions.begin();
QMap<QWidget *, QAction *>::Iterator end=actions.end();
for (; it!=end; ++it) {
it.value()->setChecked(it.key()->windowHandle()==win);
}
}
QTreeWidget * OSXStyle::viewWidget()
{
if (!view) {

View File

@@ -36,6 +36,7 @@ class QWidget;
class QMenu;
class QAction;
class QMainWindow;
class QWindow;
class OSXStyle : public QObject
{
@@ -58,6 +59,7 @@ private:
private Q_SLOTS:
void showWindow();
void windowTitleChanged();
void focusWindowChanged(QWindow *win);
private:
QTreeWidget * viewWidget();