aboutsummaryrefslogtreecommitdiffstats
path: root/SQLiteStudio3/guiSQLiteStudio/taskbar.cpp
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@ubuntu.com>2014-12-14 08:24:26 -0500
committerLibravatarUnit 193 <unit193@ubuntu.com>2014-12-14 08:24:26 -0500
commit89214766d8e3e7b8dd749a1fa18a5b9727f5010d (patch)
tree34ad5aa84ac9674ebb5b7a23b5a3377e8629ee33 /SQLiteStudio3/guiSQLiteStudio/taskbar.cpp
parent7167ce41b61d2ba2cdb526777a4233eb84a3b66a (diff)
Imported Upstream version 3.0.0upstream/3.0.0
Diffstat (limited to 'SQLiteStudio3/guiSQLiteStudio/taskbar.cpp')
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/taskbar.cpp18
1 files changed, 17 insertions, 1 deletions
diff --git a/SQLiteStudio3/guiSQLiteStudio/taskbar.cpp b/SQLiteStudio3/guiSQLiteStudio/taskbar.cpp
index 915ca9a..ba797f6 100644
--- a/SQLiteStudio3/guiSQLiteStudio/taskbar.cpp
+++ b/SQLiteStudio3/guiSQLiteStudio/taskbar.cpp
@@ -31,10 +31,11 @@ QAction* TaskBar::addTask(const QIcon& icon, const QString& text)
QAction* action = QToolBar::addAction(icon, text);
tasks << action;
QToolButton* btn = getToolButton(action);
- btn->setMaximumWidth(400);
if (!btn)
return action;
+ btn->setMaximumWidth(400);
+ btn->installEventFilter(this);
taskGroup.addAction(action);
connect(btn, SIGNAL(pressed()), this, SLOT(mousePressed()));
return action;
@@ -204,6 +205,21 @@ void TaskBar::dropEvent(QDropEvent *event)
event->acceptProposedAction();
}
+bool TaskBar::eventFilter(QObject* obj, QEvent* event)
+{
+ if (event->type() == QEvent::MouseButtonPress && dynamic_cast<QMouseEvent*>(event)->button() == Qt::MiddleButton)
+ {
+ QToolButton* btn = dynamic_cast<QToolButton*>(obj);
+ if (btn && btn->defaultAction())
+ {
+ btn->defaultAction()->trigger();
+ MDIAREA->closeActiveSubWindow();
+ return true;
+ }
+ }
+ return QObject::eventFilter(obj, event);
+}
+
void TaskBar::dragTaskTo(QAction* task, const QPoint& position)
{
int idx = getDropPositionIndex(task, position);