|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
|
|
#include "iDlgBase.h"
|
|
|
|
|
|
#include "iCardInfo.h"
|
|
|
|
|
|
|
|
|
|
|
|
#include <QMainWindow>
|
|
|
|
|
|
|
|
|
|
|
|
class ZxDataProject;
|
|
|
|
|
|
class iRibbonXmlGroup;
|
|
|
|
|
|
|
|
|
|
|
|
// <20>°<EFBFBD><C2B0><EFBFBD>ҳ<EFBFBD><D2B3>
|
|
|
|
|
|
class M_GUI_SYSMANAGER_EXPORT iWxWelcomeNew : public QMainWindow
|
|
|
|
|
|
{
|
|
|
|
|
|
Q_OBJECT
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
|
|
|
|
|
|
explicit iWxWelcomeNew(MainWindowOption o = MWO_WTAI,\
|
|
|
|
|
|
QWidget* parent = nullptr);
|
|
|
|
|
|
~iWxWelcomeNew();
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
|
|
|
|
|
|
void setXmlFileGroup(iRibbonXmlGroup* p) {}
|
|
|
|
|
|
void changeLeft2Mode(bool bReorgUi = true) {}
|
|
|
|
|
|
|
|
|
|
|
|
void initUI();
|
|
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
|
|
|
|
|
|
|
void applyStyleSheet();
|
|
|
|
|
|
|
|
|
|
|
|
QWidget* initUI_Up();
|
|
|
|
|
|
QBoxLayout* initUI_Up_Line();
|
|
|
|
|
|
void initUI_Up_Line_Sort(QToolButton* pBtnSort);
|
|
|
|
|
|
QWidget* initUI_Up_CardsArea();
|
|
|
|
|
|
QWidget* initUI_Down();
|
|
|
|
|
|
QWidget* initUI_Down_RecentProjs();
|
|
|
|
|
|
QWidget* initUI_Down_RecentDirs();
|
|
|
|
|
|
QWidget* initUI_Down_Updates();
|
|
|
|
|
|
QWidget* initUI_Bottom();
|
|
|
|
|
|
|
|
|
|
|
|
void _freshWsCount();
|
|
|
|
|
|
|
|
|
|
|
|
void onOpenDir();
|
|
|
|
|
|
void onOpenFile();
|
|
|
|
|
|
|
|
|
|
|
|
private slots:
|
|
|
|
|
|
|
|
|
|
|
|
void slotSbActionClicked(QString sName);
|
|
|
|
|
|
void slotBrowseDir();
|
|
|
|
|
|
void slotDirTextChanged(const QString &text);
|
|
|
|
|
|
void slotSearchTextChanged(const QString &text);
|
|
|
|
|
|
// void slotSortCbxCurIndexChanged(int index);
|
|
|
|
|
|
void slotSortOptionmChanged();
|
|
|
|
|
|
|
|
|
|
|
|
void slotListWxRecentProjDblClicked(QListWidgetItem* item);
|
|
|
|
|
|
void slotListWxRecentDirDblClicked(QListWidgetItem* item);
|
|
|
|
|
|
|
|
|
|
|
|
private slots:
|
|
|
|
|
|
|
|
|
|
|
|
void slotBtnHome();
|
|
|
|
|
|
|
|
|
|
|
|
// <20><>ťͳһ<CDB3><D2BB>Ӧ
|
|
|
|
|
|
void slotSubBtnTriggered();
|
|
|
|
|
|
|
|
|
|
|
|
void slotCardWxNew();
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef _SCAN_OLD_CODES_
|
|
|
|
|
|
void slotCardWxOpen();
|
|
|
|
|
|
void slotCardWxSaveAs();
|
|
|
|
|
|
void slotCardWxClose();
|
|
|
|
|
|
void slotCardWxDelete();
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
private slots:
|
|
|
|
|
|
|
|
|
|
|
|
void slotHideBtnsTimeout();
|
|
|
|
|
|
void slotDelayedFreshLayout();
|
|
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
|
|
|
|
|
|
|
QString getLastPrjWorkDir();
|
|
|
|
|
|
QStringList getProjBaseNames(QString sDir);
|
|
|
|
|
|
|
|
|
|
|
|
bool _runProjNew(QWidget* pWxCard);
|
|
|
|
|
|
bool _runProjOpen(QWidget* pWxCard);
|
|
|
|
|
|
bool _runProjSaveAs(QWidget* pWxCard);
|
|
|
|
|
|
bool _runProjClose(QWidget* pWxCard);
|
|
|
|
|
|
bool _runProjDel(QWidget* pWxCard);
|
|
|
|
|
|
|
|
|
|
|
|
/// @brief <20><><EFBFBD><EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD>ǰ<EFBFBD><C7B0>Card
|
|
|
|
|
|
/// @param sDir <20><><EFBFBD><EFBFBD> E:\Run\mWTAI\Bin\TestOfWTAI
|
|
|
|
|
|
/// @param sProjName <20><><EFBFBD><EFBFBD> TestDemo3
|
|
|
|
|
|
/// @note E:\Run\mWTAI\Bin\TestOfWTAI\TestDemo3\TestDemo3.db
|
|
|
|
|
|
QWidget* findWxCard(QString sDir, QString sProjName);
|
|
|
|
|
|
|
|
|
|
|
|
/// @brief <20><>֯Url
|
|
|
|
|
|
/// @param sDir <20><><EFBFBD><EFBFBD> E:\Run\mWTAI\Bin\TestOfWTAI
|
|
|
|
|
|
/// @param sProjName <20><><EFBFBD><EFBFBD> TestDemo3
|
|
|
|
|
|
/// @note E:\Run\mWTAI\Bin\TestOfWTAI\TestDemo3\TestDemo3.db
|
|
|
|
|
|
QString sumFullUrl(QString sDir, QString sProjName);
|
|
|
|
|
|
|
|
|
|
|
|
/// @brief <20><><EFBFBD><EFBFBD>Url
|
|
|
|
|
|
/// @param sUrl <20><><EFBFBD><EFBFBD> E:\Run\mWTAI\Bin\TestOfWTAI\TestDemo3\TestDemo3.db
|
|
|
|
|
|
/// @param sDir <20><><EFBFBD><EFBFBD> E:\Run\mWTAI\Bin\TestOfWTAI
|
|
|
|
|
|
/// @param sProjName <20><><EFBFBD><EFBFBD> TestDemo3
|
|
|
|
|
|
bool parseUrl(QString sUrl, QString& sDir, QString& sProjName);
|
|
|
|
|
|
|
|
|
|
|
|
void refreshCurrentProjs();
|
|
|
|
|
|
|
|
|
|
|
|
bool removeFromRecentDirs(QString sDir);
|
|
|
|
|
|
|
|
|
|
|
|
void refreshRecentProjs();
|
|
|
|
|
|
void addToRecentProjs(QString sUrl);
|
|
|
|
|
|
bool removeFromRecentProjects(QString sUrl);
|
|
|
|
|
|
void refreshRecentDirs();
|
|
|
|
|
|
void addToRecentDirs(const QString &path);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
// Card <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD><EFBFBD>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>´<EFBFBD><C2B4><EFBFBD>Card
|
|
|
|
|
|
void rebuildAllCards();
|
|
|
|
|
|
|
|
|
|
|
|
// ֻ<><D6BB>ˢ<EFBFBD>²<EFBFBD><C2B2>֣<EFBFBD><D6A3><EFBFBD><EFBFBD><EFBFBD>Size<7A>ı<EFBFBD>ʱ
|
|
|
|
|
|
void freshCardLayout();
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>Card<72><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
QWidget* createProjCard(const iCardInfo &wscd);
|
|
|
|
|
|
|
|
|
|
|
|
// <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD><C3A3><EFBFBD><EFBFBD>桢<EFBFBD>½<EFBFBD><C2BD><EFBFBD>
|
|
|
|
|
|
void _configWxCardNormal(QWidget* pWxCard, const iCardInfo &wscd);
|
|
|
|
|
|
void _configWxCardNew(QWidget* pWxCard, const iCardInfo &wscd);
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>Card <20><><EFBFBD><EFBFBD><EFBFBD>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
void _initLayout_CardNormal(QWidget* pWxCard, \
|
|
|
|
|
|
const iCardInfo& wscd, \
|
|
|
|
|
|
QVBoxLayout*& pLayout);
|
|
|
|
|
|
void _initLayout_CardNormal_Title(QWidget* pWxCard, \
|
|
|
|
|
|
const iCardInfo& wscd, \
|
|
|
|
|
|
QVBoxLayout*& pLayout);
|
|
|
|
|
|
void _initLayout_CardNormal_Desc(QWidget* pWxCard, \
|
|
|
|
|
|
const iCardInfo& wscd, \
|
|
|
|
|
|
QVBoxLayout*& pLayout);
|
|
|
|
|
|
void _initLayout_CardNormal_WellAbouts(QWidget* pWxCard, \
|
|
|
|
|
|
const iCardInfo& wscd, \
|
|
|
|
|
|
QVBoxLayout*& pLayout);
|
|
|
|
|
|
void _initLayout_CardNormal_Others(QWidget* pWxCard, \
|
|
|
|
|
|
const iCardInfo& wscd, \
|
|
|
|
|
|
QVBoxLayout*& pLayout);
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>Card <20>½<EFBFBD>
|
|
|
|
|
|
void _initLayout_CardNew(QWidget* pWxCard, \
|
|
|
|
|
|
const iCardInfo& wscd, \
|
|
|
|
|
|
QVBoxLayout*& pLayout);
|
|
|
|
|
|
|
|
|
|
|
|
/// @brief <20><><EFBFBD>գ<EFBFBD><D5A3>Ӳ<EFBFBD><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> //
|
|
|
|
|
|
/// @param pWxCard <20><><EFBFBD><EFBFBD><EFBFBD>ǿգ<C7BF><D5A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>Card<72><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȫ<EFBFBD><C8AB>
|
|
|
|
|
|
void clearCardWxs(QWidget* pWxCard = nullptr);
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD>ʶ<EFBFBD><CAB6><EFBFBD><EFBFBD><EFBFBD>Ƽ<EFBFBD><C6BC><EFBFBD>Active<76><65>
|
|
|
|
|
|
void setWxCardActive(QWidget* pWxCard, bool bActive);
|
|
|
|
|
|
|
|
|
|
|
|
// ˢ<>µ<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>Card<72>ľ<EFBFBD>/<2F>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
// <20><><EFBFBD>½<EFBFBD>/ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳ɹ<DFB3>ʱ<EFBFBD><CAB1>ˢ<EFBFBD><CBA2>
|
|
|
|
|
|
// <20><><EFBFBD>Ե<EFBFBD>ǰ<EFBFBD>Ĺ<F2BFAAB5><C4B9><EFBFBD>
|
|
|
|
|
|
void freshWellRstAbouts(bool bWell, \
|
|
|
|
|
|
QStringList& listTags, \
|
|
|
|
|
|
TreeNodeCmd o);
|
|
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
|
|
|
|
|
|
void resizeEvent(QResizeEvent* event);
|
|
|
|
|
|
bool eventFilter(QObject* obj, QEvent* event);
|
|
|
|
|
|
|
|
|
|
|
|
signals:
|
|
|
|
|
|
|
|
|
|
|
|
// <20>ж<EFBFBD><D0B6>Ƿ<EFBFBD>enable
|
|
|
|
|
|
//void sigBtnEnabled(QString sName, int nID, bool& bEnabled);
|
|
|
|
|
|
|
|
|
|
|
|
// ѡ<><D1A1><EFBFBD><EFBFBD><F3BCB4BD><EFBFBD><F2BFAAA3><EFBFBD>Ϊ<EFBFBD>ӿڵ<D3BF><DAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԣ<EFBFBD>sDir<69><72>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>ProjName<6D><65>
|
|
|
|
|
|
void sigProjSelected(QString sDir, QString sProj, bool& bOk);
|
|
|
|
|
|
|
|
|
|
|
|
// <20><>ȡ<EFBFBD><C8A1>ǰ<EFBFBD><EFBFBD>Project<63><74>ȫ·<C8AB><C2B7>
|
|
|
|
|
|
//void sigGetCurProjFullpath(QString& s);
|
|
|
|
|
|
|
|
|
|
|
|
// ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF>ˢ<EFBFBD><CBA2>
|
|
|
|
|
|
void sigProjDeleted(QString sPath);
|
|
|
|
|
|
|
|
|
|
|
|
// <20><>ȡ<EFBFBD><C8A1>ǰ<EFBFBD><C7B0>Project
|
|
|
|
|
|
void sigGetCurProject(ZxDataProject*&);
|
|
|
|
|
|
|
|
|
|
|
|
// <20>л<EFBFBD><D0BB>Ӵ<EFBFBD>
|
|
|
|
|
|
void sigChange2Main();
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EEB4AB>
|
|
|
|
|
|
void sigAction2Main(QString sAction, bool& bExecuted);
|
|
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
|
|
|
|
|
|
|
// <20><>ǰģ<C7B0>飬Ĭ<E9A3AC><C4AC>ΪWTAI
|
|
|
|
|
|
MainWindowOption m_oMwo;
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
QVBoxLayout* m_pMainLayout;
|
|
|
|
|
|
|
|
|
|
|
|
// <20>ϲ<EFBFBD><CFB2><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
QLineEdit* m_pTbxDir;
|
|
|
|
|
|
QLineEdit* m_pTbxSearch;
|
|
|
|
|
|
int m_nSortIndex; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>DZ<EFBFBD>ڷ<EFBFBD><DAB7>գ<EFBFBD>Ŀǰ<C4BF>ݶ<EFBFBD><DDB6><EFBFBD><EFBFBD>֣<EFBFBD>
|
|
|
|
|
|
//listOptions << "TimeInc" << "TimeDesc" << "NameInc" << "NameDesc";
|
|
|
|
|
|
QAction* m_pLastSortAction; //<2F><>һ<EFBFBD><D2BB>Checked<65><64>Action
|
|
|
|
|
|
QLabel* m_pLblCount;
|
|
|
|
|
|
|
|
|
|
|
|
QScrollArea* m_pAreaScroll;
|
|
|
|
|
|
QWidget* m_pGridContainer;
|
|
|
|
|
|
QGridLayout* m_pGridLayout;
|
|
|
|
|
|
|
|
|
|
|
|
// <20>²<EFBFBD><C2B2><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
QListWidget* m_pListWxRecentProjs;
|
|
|
|
|
|
int m_maxRecentProjs;
|
|
|
|
|
|
|
|
|
|
|
|
// <20>²<EFBFBD><C2B2>Ҳ<EFBFBD>
|
|
|
|
|
|
QListWidget* m_pListWxRecentDirs;
|
|
|
|
|
|
int m_maxRecentDirs;
|
|
|
|
|
|
|
|
|
|
|
|
// <20><>ʱ<EFBFBD><CAB1>
|
|
|
|
|
|
QTimer* m_pTimerRelayout;
|
|
|
|
|
|
QTimer* m_pTimerHideBtns;
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>/<2F>Ӵ<EFBFBD><D3B4><EFBFBD>
|
|
|
|
|
|
QList<iCardInfo> m_listCardInfos;
|
|
|
|
|
|
QVector<QWidget*> m_vecCardWxs; // <20>洢<EFBFBD><E6B4A2><EFBFBD><EFBFBD>Cardָ<64><D6B8>
|
|
|
|
|
|
QWidget* m_pLastWxCard;//<2F>ϴ<EFBFBD>ѡ<EFBFBD>е<EFBFBD>Card
|
|
|
|
|
|
|
|
|
|
|
|
// <20><>ť<EFBFBD><C5A5><EFBFBD>֣<EFBFBD><D6A3><EFBFBD>¼ÿ<C2BC><C3BF>Card<72>İ<EFBFBD>ť
|
|
|
|
|
|
struct stCardWxButtons {
|
|
|
|
|
|
QToolButton* pBtnOpen;
|
|
|
|
|
|
QToolButton* pBtnSaveAs;
|
|
|
|
|
|
QToolButton* pBtnDelete;
|
|
|
|
|
|
QWidget* container;
|
|
|
|
|
|
};
|
|
|
|
|
|
QMap<QWidget*, stCardWxButtons> m_mapCardBtns;
|
|
|
|
|
|
|
|
|
|
|
|
// ɸѡ/<2F><><EFBFBD><EFBFBD>
|
|
|
|
|
|
QString m_sLastSearchTag;
|
|
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
|
|
|
|
// ״̬<D7B4><CCAC>ʶ/<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>źŲ<C5BA>
|
|
|
|
|
|
bool m_bUnableSP;
|
|
|
|
|
|
|
|
|
|
|
|
// Ĭ<>Ͽ<EFBFBD><CFBF><EFBFBD>
|
|
|
|
|
|
/*static*/ int m_nCardWidth;
|
|
|
|
|
|
};
|