Commit f277c473 authored by Oleg.Korshul's avatar Oleg.Korshul Committed by Alexander Trofimov
parent bda7c1ed
...@@ -28,7 +28,7 @@ public: ...@@ -28,7 +28,7 @@ public:
// слоты родителю. Т.е. классу CAscApplicationManager. // слоты родителю. Т.е. классу CAscApplicationManager.
// А в либе я не буду затачиваться на QT // А в либе я не буду затачиваться на QT
((QAscMainPanel*)m_pPanel)->sendDialogSave(sName); ((QAscMainPanel*)m_pPanel)->OpenDialogSave(sName);
} }
}; };
......
...@@ -48,7 +48,7 @@ public: ...@@ -48,7 +48,7 @@ public:
explicit QAscMainWindow(QWidget *parent, CAscApplicationManager* pAppManager) : QMainWindow(parent) explicit QAscMainWindow(QWidget *parent, CAscApplicationManager* pAppManager) : QMainWindow(parent)
{ {
this->resize(1000, 500); this->resize(1000, 500);
QWidget* pMainPanel = new QAscMainPanel(this, pAppManager); QWidget* pMainPanel = new QAscMainPanel(this, pAppManager, false);
this->setCentralWidget(pMainPanel); this->setCentralWidget(pMainPanel);
((QAscApplicationManager*)pAppManager)->m_pPanel = (QAscMainPanel*)pMainPanel; ((QAscApplicationManager*)pAppManager)->m_pPanel = (QAscMainPanel*)pMainPanel;
......
...@@ -13,12 +13,14 @@ ...@@ -13,12 +13,14 @@
#include "../../../lib/include/qascprinter.h" #include "../../../lib/include/qascprinter.h"
QAscMainPanel::QAscMainPanel( QWidget* parent, CAscApplicationManager* pManager ) : QWidget( parent ) QAscMainPanel::QAscMainPanel( QWidget* parent, CAscApplicationManager* pManager, bool bIsCustomWindow ) : QWidget( parent )
{ {
QObject::connect(this, SIGNAL( downloadEvent(NSEditorApi::CAscDownloadFileInfo*) ), this, SLOT( downloadEventSlot(NSEditorApi::CAscDownloadFileInfo*) ), Qt::QueuedConnection ); m_bIsCustomWindow = bIsCustomWindow;
QObject::connect(this, SIGNAL( setModified(int,bool)) , this, SLOT( onSetModified(int,bool)), Qt::QueuedConnection );
QObject::connect(this, SIGNAL( signalPrint(int,int)) , this, SLOT( slotPrint(int,int)), Qt::QueuedConnection ); QObject::connect(this, SIGNAL( signal_Download(NSEditorApi::CAscDownloadFileInfo*)), this, SLOT( slot_Download(NSEditorApi::CAscDownloadFileInfo*)), Qt::QueuedConnection );
QObject::connect(this, SIGNAL( dialogSave()), this, SLOT( onDialogSave()), Qt::QueuedConnection); QObject::connect(this, SIGNAL( signal_Modified(int,bool)) , this, SLOT( slot_Modified(int,bool)), Qt::QueuedConnection );
QObject::connect(this, SIGNAL( signal_Print(int,int)) , this, SLOT( slot_Print(int,int)), Qt::QueuedConnection );
QObject::connect(this, SIGNAL( signal_DialogSave()), this, SLOT( slot_DialogSave()), Qt::QueuedConnection);
m_pManager = pManager; m_pManager = pManager;
...@@ -35,7 +37,6 @@ QAscMainPanel::QAscMainPanel( QWidget* parent, CAscApplicationManager* pManager ...@@ -35,7 +37,6 @@ QAscMainPanel::QAscMainPanel( QWidget* parent, CAscApplicationManager* pManager
centralWidget->setSizePolicy( QSizePolicy::Expanding, QSizePolicy::Expanding ); centralWidget->setSizePolicy( QSizePolicy::Expanding, QSizePolicy::Expanding );
centralWidget->setStyleSheet("background-color:#313437"); centralWidget->setStyleSheet("background-color:#313437");
QWidget *centralWidget2 = new QWidget( centralWidget );
centralWidget->setObjectName( "centralWidget" ); centralWidget->setObjectName( "centralWidget" );
centralWidget->setSizePolicy( QSizePolicy::Expanding, QSizePolicy::Expanding ); centralWidget->setSizePolicy( QSizePolicy::Expanding, QSizePolicy::Expanding );
...@@ -52,14 +53,16 @@ QAscMainPanel::QAscMainPanel( QWidget* parent, CAscApplicationManager* pManager ...@@ -52,14 +53,16 @@ QAscMainPanel::QAscMainPanel( QWidget* parent, CAscApplicationManager* pManager
m_pSaveModifiedButton->setStyleSheet("background-color:#FFFFFF;border:none;margin:0;padding:0;"); m_pSaveModifiedButton->setStyleSheet("background-color:#FFFFFF;border:none;margin:0;padding:0;");
if (m_bIsCustomWindow)
{
// Minimize // Minimize
m_pButtonMinimize = new QPushButton( "", centralWidget ); m_pButtonMinimize = new QPushButton( "", centralWidget );
m_pButtonMinimize->setObjectName( "pushButtonMinimize" ); m_pButtonMinimize->setObjectName( "pushButtonMinimize" );
QObject::connect( m_pButtonMinimize, SIGNAL( clicked() ), this, SLOT( pushButtonMinimizeClicked() ) ); QObject::connect( m_pButtonMinimize, SIGNAL( clicked() ), this, SLOT( pushButtonMinimizeClicked() ) );
m_pButtonMinimize->setStyleSheet("QPushButton {background-image:url(:/Icons/new_collapse_normal.png);border:none;margin:0;padding:0;}\ m_pButtonMinimize->setStyleSheet("QPushButton {background-image:url(:/Icons/new_collapse_normal.png);border:none;margin:0;padding:0;}\
QPushButton::hover {background-image:url(:/Icons/new_collapse_hover.png);border:none;margin:0;padding:0;}\ QPushButton::hover {background-image:url(:/Icons/new_collapse_hover.png);border:none;margin:0;padding:0;}\
QPushButton::pressed {background-image:url(:/Icons/new_collapse_hover.png);border:none;margin:0;padding:0;}"); QPushButton::pressed {background-image:url(:/Icons/new_collapse_hover.png);border:none;margin:0;padding:0;}");
// Maximize // Maximize
m_pButtonMaximize = new QPushButton( "", centralWidget ); m_pButtonMaximize = new QPushButton( "", centralWidget );
...@@ -67,8 +70,8 @@ QPushButton::pressed {background-image:url(:/Icons/new_collapse_hover.png);borde ...@@ -67,8 +70,8 @@ QPushButton::pressed {background-image:url(:/Icons/new_collapse_hover.png);borde
QObject::connect( m_pButtonMaximize, SIGNAL( clicked() ), this, SLOT( pushButtonMaximizeClicked() ) ); QObject::connect( m_pButtonMaximize, SIGNAL( clicked() ), this, SLOT( pushButtonMaximizeClicked() ) );
m_pButtonMaximize->setStyleSheet("QPushButton {background-image:url(:/Icons/new_deploy_normal.png);border:none;margin:0;padding:0;}\ m_pButtonMaximize->setStyleSheet("QPushButton {background-image:url(:/Icons/new_deploy_normal.png);border:none;margin:0;padding:0;}\
QPushButton::hover {background-image:url(:/Icons/new_deploy_hover.png);border:none;margin:0;padding:0;}\ QPushButton::hover {background-image:url(:/Icons/new_deploy_hover.png);border:none;margin:0;padding:0;}\
QPushButton::pressed {background-image:url(:/Icons/new_deploy_hover.png);border:none;margin:0;padding:0;}"); QPushButton::pressed {background-image:url(:/Icons/new_deploy_hover.png);border:none;margin:0;padding:0;}");
// Close // Close
m_pButtonClose = new QPushButton( "", centralWidget ); m_pButtonClose = new QPushButton( "", centralWidget );
...@@ -76,8 +79,15 @@ QPushButton::pressed {background-image:url(:/Icons/new_deploy_hover.png);border: ...@@ -76,8 +79,15 @@ QPushButton::pressed {background-image:url(:/Icons/new_deploy_hover.png);border:
QObject::connect( m_pButtonClose, SIGNAL( clicked() ), this, SLOT( pushButtonCloseClicked() ) ); QObject::connect( m_pButtonClose, SIGNAL( clicked() ), this, SLOT( pushButtonCloseClicked() ) );
m_pButtonClose->setStyleSheet("QPushButton {background-image:url(:/Icons/new_exit_normal.png);border:none;margin:0;padding:0;}\ m_pButtonClose->setStyleSheet("QPushButton {background-image:url(:/Icons/new_exit_normal.png);border:none;margin:0;padding:0;}\
QPushButton::hover {background-image:url(:/Icons/new_exit_hover.png);border:none;margin:0;padding:0;}\ QPushButton::hover {background-image:url(:/Icons/new_exit_hover.png);border:none;margin:0;padding:0;}\
QPushButton::pressed {background-image:url(:/Icons/new_exit_hover.png);border:none;margin:0;padding:0;}"); QPushButton::pressed {background-image:url(:/Icons/new_exit_hover.png);border:none;margin:0;padding:0;}");
}
else
{
m_pButtonMinimize = NULL;
m_pButtonMaximize = NULL;
m_pButtonClose = NULL;
}
// Main // Main
m_pButtonMain = new QPushButton( "", centralWidget ); m_pButtonMain = new QPushButton( "", centralWidget );
...@@ -179,11 +189,18 @@ void QAscMainPanel::RecalculatePlaces() ...@@ -179,11 +189,18 @@ void QAscMainPanel::RecalculatePlaces()
int nY = (nCaptionH - nButtonW) >> 1; int nY = (nCaptionH - nButtonW) >> 1;
nY = 5; nY = 5;
if (m_bIsCustomWindow)
{
m_pButtonClose->setGeometry(nWindowW - nStartOffset - nButtonW, nY, nButtonW, nButtonW); m_pButtonClose->setGeometry(nWindowW - nStartOffset - nButtonW, nY, nButtonW, nButtonW);
m_pButtonMaximize->setGeometry(nWindowW - nStartOffset - 2 * nButtonW - nBetweenApp, nY, nButtonW, nButtonW); m_pButtonMaximize->setGeometry(nWindowW - nStartOffset - 2 * nButtonW - nBetweenApp, nY, nButtonW, nButtonW);
m_pButtonMinimize->setGeometry(nWindowW - nStartOffset - 3 * nButtonW - 2 * nBetweenApp, nY, nButtonW, nButtonW); m_pButtonMinimize->setGeometry(nWindowW - nStartOffset - 3 * nButtonW - 2 * nBetweenApp, nY, nButtonW, nButtonW);
m_pSaveModifiedButton->setGeometry(nWindowW - nStartOffset - 4 * nButtonW - 3 * nBetweenApp, nY, nButtonW, nButtonW); m_pSaveModifiedButton->setGeometry(nWindowW - nStartOffset - 4 * nButtonW - 3 * nBetweenApp, nY, nButtonW, nButtonW);
}
else
{
m_pSaveModifiedButton->setGeometry(nWindowW - nStartOffset - nButtonW, nY, nButtonW, nButtonW);
}
m_pMainWidget->setGeometry(0, nCaptionH, nWindowW, nWindowH - nCaptionH); m_pMainWidget->setGeometry(0, nCaptionH, nWindowW, nWindowH - nCaptionH);
...@@ -258,7 +275,20 @@ void QAscMainPanel::pushButtonMainClicked() ...@@ -258,7 +275,20 @@ void QAscMainPanel::pushButtonMainClicked()
} }
} }
void QAscMainPanel::downloadEventSlot(NSEditorApi::CAscDownloadFileInfo* pInfo) void QAscMainPanel::pushButtonMinimizeClicked()
{
}
void QAscMainPanel::pushButtonMaximizeClicked()
{
}
void QAscMainPanel::pushButtonCloseClicked()
{
}
void QAscMainPanel::slot_Download(NSEditorApi::CAscDownloadFileInfo* pInfo)
{ {
if (pInfo->get_IsComplete()) if (pInfo->get_IsComplete())
{ {
...@@ -336,7 +366,7 @@ void QAscMainPanel::downloadEventSlot(NSEditorApi::CAscDownloadFileInfo* pInfo) ...@@ -336,7 +366,7 @@ void QAscMainPanel::downloadEventSlot(NSEditorApi::CAscDownloadFileInfo* pInfo)
m_pDownloadLable->setText(sText); m_pDownloadLable->setText(sText);
} }
void QAscMainPanel::onSetModified(int id, bool value) void QAscMainPanel::slot_Modified(int id, bool value)
{ {
bool bIsMain = !m_pMainWidget->isHidden(); bool bIsMain = !m_pMainWidget->isHidden();
if (bIsMain) if (bIsMain)
...@@ -352,7 +382,7 @@ void QAscMainPanel::onSetModified(int id, bool value) ...@@ -352,7 +382,7 @@ void QAscMainPanel::onSetModified(int id, bool value)
} }
} }
void QAscMainPanel::slotPrint(int id, int pagesCount) void QAscMainPanel::slot_Print(int id, int pagesCount)
{ {
QAscPrinterContext* pContext = new QAscPrinterContext(); QAscPrinterContext* pContext = new QAscPrinterContext();
...@@ -394,7 +424,7 @@ void QAscMainPanel::slotPrint(int id, int pagesCount) ...@@ -394,7 +424,7 @@ void QAscMainPanel::slotPrint(int id, int pagesCount)
pContext->Release(); pContext->Release();
} }
void QAscMainPanel::onDialogSave() void QAscMainPanel::slot_DialogSave()
{ {
std::wstring sName = m_sDownloadName; std::wstring sName = m_sDownloadName;
...@@ -408,10 +438,10 @@ void QAscMainPanel::onDialogSave() ...@@ -408,10 +438,10 @@ void QAscMainPanel::onDialogSave()
m_sDownloadName = L""; m_sDownloadName = L"";
} }
void QAscMainPanel::sendDialogSave(std::wstring sName) void QAscMainPanel::OpenDialogSave(std::wstring sName)
{ {
m_sDownloadName = sName; m_sDownloadName = sName;
emit dialogSave(); emit signal_DialogSave();
} }
void QAscMainPanel::resizeEvent(QResizeEvent* event) void QAscMainPanel::resizeEvent(QResizeEvent* event)
...@@ -476,7 +506,7 @@ void QAscMainPanel::OnEvent(NSEditorApi::CAscMenuEvent* pEvent) ...@@ -476,7 +506,7 @@ void QAscMainPanel::OnEvent(NSEditorApi::CAscMenuEvent* pEvent)
} }
ADDREFINTERFACE(pData); ADDREFINTERFACE(pData);
emit downloadEvent(pData); emit signal_Download(pData);
break; break;
} }
...@@ -492,20 +522,20 @@ void QAscMainPanel::OnEvent(NSEditorApi::CAscMenuEvent* pEvent) ...@@ -492,20 +522,20 @@ void QAscMainPanel::OnEvent(NSEditorApi::CAscMenuEvent* pEvent)
case ASC_MENU_EVENT_TYPE_CEF_MODIFY_CHANGED: case ASC_MENU_EVENT_TYPE_CEF_MODIFY_CHANGED:
{ {
NSEditorApi::CAscDocumentModifyChanged* pData = (NSEditorApi::CAscDocumentModifyChanged*)pEvent->m_pData; NSEditorApi::CAscDocumentModifyChanged* pData = (NSEditorApi::CAscDocumentModifyChanged*)pEvent->m_pData;
emit setModified(pData->get_Id(), pData->get_Changed()); emit signal_Modified(pData->get_Id(), pData->get_Changed());
break; break;
} }
case ASC_MENU_EVENT_TYPE_CEF_ONSAVE: case ASC_MENU_EVENT_TYPE_CEF_ONSAVE:
{ {
OutputDebugStringA("onsave"); //OutputDebugStringA("onsave");
break; break;
} }
case ASC_MENU_EVENT_TYPE_CEF_ONBEFORE_PRINT_END: case ASC_MENU_EVENT_TYPE_CEF_ONBEFORE_PRINT_END:
{ {
NSEditorApi::CAscPrintEnd* pData = (NSEditorApi::CAscPrintEnd*)pEvent->m_pData; NSEditorApi::CAscPrintEnd* pData = (NSEditorApi::CAscPrintEnd*)pEvent->m_pData;
emit signalPrint(pData->get_Id(), pData->get_PagesCount()); emit signal_Print(pData->get_Id(), pData->get_PagesCount());
break; break;
} }
case ASC_MENU_EVENT_TYPE_CEF_ONKEYBOARDDOWN: case ASC_MENU_EVENT_TYPE_CEF_ONKEYBOARDDOWN:
...@@ -518,10 +548,7 @@ void QAscMainPanel::OnEvent(NSEditorApi::CAscMenuEvent* pEvent) ...@@ -518,10 +548,7 @@ void QAscMainPanel::OnEvent(NSEditorApi::CAscMenuEvent* pEvent)
QString::number((int)pData->get_IsShift()), QString::number((int)pData->get_IsShift()),
QString::number((int)pData->get_IsAlt())); QString::number((int)pData->get_IsAlt()));
std::string sOut = sFormat.toStdString(); #if 0
OutputDebugStringA(sOut.c_str());
if (pData->get_KeyCode() == 32 && pData->get_IsAlt() == true) if (pData->get_KeyCode() == 32 && pData->get_IsAlt() == true)
{ {
RECT winrect; RECT winrect;
...@@ -530,6 +557,7 @@ void QAscMainPanel::OnEvent(NSEditorApi::CAscMenuEvent* pEvent) ...@@ -530,6 +557,7 @@ void QAscMainPanel::OnEvent(NSEditorApi::CAscMenuEvent* pEvent)
GetWindowRect( windowHandle, &winrect ); GetWindowRect( windowHandle, &winrect );
TrackPopupMenu( GetSystemMenu( windowHandle, false ), TPM_TOPALIGN | TPM_LEFTALIGN, winrect.left + 5, winrect.top + 5, 0, windowHandle, NULL); TrackPopupMenu( GetSystemMenu( windowHandle, false ), TPM_TOPALIGN | TPM_LEFTALIGN, winrect.left + 5, winrect.top + 5, 0, windowHandle, NULL);
} }
#endif
break; break;
} }
} }
......
...@@ -14,25 +14,44 @@ class QAscMainPanel : public QWidget, public NSEditorApi::CAscMenuEventListener ...@@ -14,25 +14,44 @@ class QAscMainPanel : public QWidget, public NSEditorApi::CAscMenuEventListener
Q_OBJECT Q_OBJECT
signals: signals:
void downloadEvent( NSEditorApi::CAscDownloadFileInfo* ); void signal_Download( NSEditorApi::CAscDownloadFileInfo* );
void setModified(int, bool); void signal_Modified(int, bool);
void signalPrint(int, int); void signal_Print(int, int);
void dialogSave(); void signal_DialogSave();
public: public:
QAscMainPanel( QWidget *parent, CAscApplicationManager* pManager ); QAscMainPanel( QWidget *parent, CAscApplicationManager* pManager, bool bIsCustomWindow );
void resizeEvent(QResizeEvent* event);
public slots: public slots:
void pushButtonSaveClicked(); void pushButtonSaveClicked();
void pushButtonMainClicked(); void pushButtonMainClicked();
void downloadEventSlot( NSEditorApi::CAscDownloadFileInfo* );
void onSetModified(int, bool);
void slotPrint(int, int);
void onDialogSave();
private: void pushButtonMinimizeClicked();
void pushButtonMaximizeClicked();
void pushButtonCloseClicked();
void slot_Download( NSEditorApi::CAscDownloadFileInfo* );
void slot_Modified(int, bool);
void slot_Print(int, int);
void slot_DialogSave();
public:
WId GetHwndForKeyboard()
{
return ((QWidget*)m_pTabs->parent())->winId();
}
public:
void resizeEvent(QResizeEvent* event);
virtual void OnEvent(NSEditorApi::CAscMenuEvent* pEvent);
virtual bool IsSupportEvent(int nEventType) { return true; }
void OpenDialogSave(std::wstring sName);
protected:
void RecalculatePlaces();
protected:
QPushButton* m_pButtonMain; QPushButton* m_pButtonMain;
QWidget* m_pMainWidget; QWidget* m_pMainWidget;
...@@ -54,23 +73,7 @@ private: ...@@ -54,23 +73,7 @@ private:
QWidget* m_pDownloadBackground; QWidget* m_pDownloadBackground;
QLabel* m_pDownloadLable; QLabel* m_pDownloadLable;
public: bool m_bIsCustomWindow;
WId GetHwndForKeyboard()
{
return ((QWidget*)m_pTabs->parent())->winId();
}
public:
virtual void OnEvent(NSEditorApi::CAscMenuEvent* pEvent);
virtual bool IsSupportEvent(int nEventType)
{
return true;
}
void sendDialogSave(std::wstring sName);
private:
void RecalculatePlaces();
}; };
#endif // QMAINPANEL_H #endif // QMAINPANEL_H
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment