#ifndef HOMEVIEW_H #define HOMEVIEW_H #include class ProjectInfo; class CreateProjWidget; class ProjectListWidget; class PushButton; class LineEdit; class QVBoxLayout; class QHBoxLayout; class QLabel; /// /// \brief The HomeView class /// 首页 class HomeView : public QWidget { Q_OBJECT public: explicit HomeView(QWidget *parent = nullptr); void showEvent(QShowEvent *event) override; void hideEvent(QHideEvent *event) override; private: void initWidgets(); void initLayout(); void connectSignalsAndSlots(); void loadProjects(); QList searchResult() const; private slots: void slotCreateProjClicked(); void slotSearchTextChanged(); void slotConfirmCreate(); void slotOpenProject(ProjectInfo *proj); void slotEditProject(ProjectInfo *proj); private: bool m_initilized = false; QVBoxLayout *m_layout = nullptr; QHBoxLayout *m_topLayout = nullptr; QLabel *m_title = nullptr; PushButton *m_create = nullptr; LineEdit *m_search = nullptr; PushButton *m_filter = nullptr; ProjectListWidget *m_projListWidget = nullptr; CreateProjWidget *m_createProjWidget = nullptr; QList m_projList; }; #endif // HOMEVIEW_H