void MainWindow::dragEnterEvent(QDragEnterEvent *event)
{
- if (isDesktopFileManagerDrop(event->mimeData())) {
+ if (isDesktopFileManagerDrop(event->mimeData()) && m_filesToOpenDelayed.isEmpty()) {
event->accept();
} else {
event->ignore();
QStringList files;
if (isDesktopFileManagerDrop(event->mimeData(), &files)) {
event->accept();
- openFiles(files, ICore::SwitchMode);
+ m_filesToOpenDelayed.append(files);
+ QTimer::singleShot(50, this, SLOT(openDelayedFiles()));
} else {
event->ignore();
}
}
+void MainWindow::openDelayedFiles()
+{
+ if (m_filesToOpenDelayed.isEmpty())
+ return;
+ activateWindow();
+ raise();
+ openFiles(m_filesToOpenDelayed, ICore::SwitchMode);
+ m_filesToOpenDelayed.clear();
+}
+
IContext *MainWindow::currentContextObject() const
{
return m_activeContext;
void updateFocusWidget(QWidget *old, QWidget *now);
void setSidebarVisible(bool visible);
void destroyVersionDialog();
+ void openDelayedFiles();
private:
void updateContextObject(IContext *context);
QToolButton *m_toggleSideBarButton;
QColor m_overrideColor;
+
+ QStringList m_filesToOpenDelayed;
};
} // namespace Internal