1 /** 2 * UGENE - Integrated Bioinformatics Tools. 3 * Copyright (C) 2008-2021 UniPro <ugene@unipro.ru> 4 * http://ugene.net 5 * 6 * This program is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU General Public License 8 * as published by the Free Software Foundation; either version 2 9 * of the License, or (at your option) any later version. 10 * 11 * This program is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 * GNU General Public License for more details. 15 * 16 * You should have received a copy of the GNU General Public License 17 * along with this program; if not, write to the Free Software 18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 19 * MA 02110-1301, USA. 20 */ 21 22 #ifndef _U2_WELCOME_PAGE_WIDGET_H_ 23 #define _U2_WELCOME_PAGE_WIDGET_H_ 24 25 #include <QLabel> 26 #include <QScrollArea> 27 #include <QVBoxLayout> 28 #include <QWidget> 29 30 namespace U2 { 31 32 class WelcomePageWidget : public QScrollArea { 33 Q_OBJECT 34 public: 35 WelcomePageWidget(QWidget *parent); 36 37 void updateRecent(const QStringList &recentProjects, const QStringList &recentFiles); 38 39 bool eventFilter(QObject *watched, QEvent *event) override; 40 41 protected: 42 void dragEnterEvent(QDragEnterEvent *event) override; 43 void dropEvent(QDropEvent *event) override; 44 void dragMoveEvent(QDragMoveEvent *event) override; 45 46 private slots: 47 void sl_openFiles(); 48 void sl_createSequence(); 49 void sl_createWorkflow(); 50 void sl_openQuickStart(); 51 52 void sl_openRecentFile(); 53 54 private: 55 void runAction(const QString &actionId); 56 57 QWidget *createHeaderWidget(); 58 QWidget *createMiddleWidget(); 59 QWidget *createFooterWidget(); 60 61 QVBoxLayout *recentFilesLayout = nullptr; 62 QVBoxLayout *recentProjectsLayout = nullptr; 63 }; 64 65 } // namespace U2 66 67 #endif // _U2_WELCOME_PAGE_WIDGET_H_ 68