FileBrowserDialog *FileBrowserManager::openOrActivateDialog(const Account &account, const ServerRepo &repo, const QString &path) { FileBrowserDialog *dialog = getDialog(account, repo.id); QString fixed_path = path; if (!fixed_path.startsWith("/")) { fixed_path = "/" + fixed_path; } if (!fixed_path.endsWith("/")) { fixed_path += "/"; } if (dialog == NULL) { dialog = new FileBrowserDialog(account, repo, fixed_path); QRect screen = QApplication::desktop()->screenGeometry(); dialog->setAttribute(Qt::WA_DeleteOnClose, true); dialog->show(); dialog->move(screen.center() - dialog->rect().center()); dialogs_.push_back(dialog); connect(dialog, SIGNAL(aboutToClose()), this, SLOT(onAboutToClose())); } else if (!path.isEmpty()) { dialog->enterPath(fixed_path); } dialog->raise(); dialog->activateWindow(); return dialog; }
FileBrowserDialog *FileBrowserManager::openOrActivateDialog(const Account &account, const ServerRepo &repo) { FileBrowserDialog *dialog = getDialog(account, repo.id); if (dialog == NULL) { dialog = new FileBrowserDialog(account, repo, seafApplet->mainWindow()); QRect screen = QApplication::desktop()->screenGeometry(); dialog->setAttribute(Qt::WA_DeleteOnClose, true); dialog->show(); dialog->move(screen.center() - dialog->rect().center()); dialogs_.push_back(dialog); connect(dialog, SIGNAL(aboutToClose()), this, SLOT(onAboutToClose())); } dialog->raise(); dialog->activateWindow(); return dialog; }