diff -upr src/ui_qt/base/diskbrowser.cpp src/ui_qt/base/diskbrowser.cpp --- src/ui_qt/base/diskbrowser.cpp 2010-01-09 20:27:42.000000000 +0100 +++ src/ui_qt/base/diskbrowser.cpp 2010-01-16 03:03:11.000000000 +0100 @@ -496,6 +496,10 @@ void DiskBrowser::toggleShowPanel() { group->setVisible(config().diskBrowser.showPanel); } +void DiskBrowser::showMenu() { + menu->popup(options->mapToGlobal(QPoint(0, options->height()))); +} + DiskBrowser::DiskBrowser() : QbWindow(config().geometry.diskBrowser) { setObjectName("disk-browser"); resize(720, 480); @@ -573,8 +577,6 @@ DiskBrowser::DiskBrowser() : QbWindow(co controlLayout->addWidget(options); menu = new QMenu; - options->setMenu(menu); - menu->addAction(showPanel = new QbCheckAction("Show Side Panel", 0)); showPanel->setChecked(config().diskBrowser.showPanel); @@ -609,6 +611,7 @@ DiskBrowser::DiskBrowser() : QbWindow(co connect(view, SIGNAL(changed(const QModelIndex&)), this, SLOT(changeItem(const QModelIndex&))); connect(ok, SIGNAL(released()), this, SLOT(loadSelected())); connect(cancel, SIGNAL(released()), this, SLOT(close())); + connect(options, SIGNAL(released()), this, SLOT(showMenu())); connect(applyPatch, SIGNAL(stateChanged(int)), this, SLOT(toggleApplyPatches())); connect(showPanel, SIGNAL(triggered()), this, SLOT(toggleShowPanel())); diff -upr src/ui_qt/base/diskbrowser.moc.hpp src/ui_qt/base/diskbrowser.moc.hpp --- src/ui_qt/base/diskbrowser.moc.hpp 2010-01-09 20:20:42.000000000 +0100 +++ src/ui_qt/base/diskbrowser.moc.hpp 2010-01-16 01:47:27.000000000 +0100 @@ -96,6 +96,7 @@ public slots: void toggleApplyPatches(); void toggleShowPanel(); + void showMenu(); private: function callback;