CWizGroupAttributeForm::CWizGroupAttributeForm(CWizExplorerApp& app, QWidget* parent) : QFrame(parent) , m_app(app) , m_web(new QWebView(parent)) { setFrameShadow(QFrame::Raised); setFrameShape(QFrame::StyledPanel); setAutoFillBackground(true); setAttribute(Qt::WA_MacShowFocusRect, true); QVBoxLayout* layout = new QVBoxLayout(this); setLayout(layout); layout->setContentsMargins(0, 0, 0, 0); layout->setSpacing(0); layout->addWidget(m_web); QPushButton* btnClose = new QPushButton(this); btnClose->setDefault(true); btnClose->setIcon(::WizLoadSkinIcon(app.userSettings().skin(), palette().window().color(), "sheetHide")); btnClose->setFlat(true); btnClose->setMaximumHeight(18); btnClose->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); connect(btnClose, SIGNAL(clicked()), SLOT(on_btnClose_clicked())); layout->addWidget(btnClose); layout->setAlignment(btnClose, Qt::AlignHCenter); connect(&m_api, SIGNAL(clientLoginDone()), SLOT(on_clientLoginDone())); }
CWizSync::CWizSync(CWizDatabaseManager& dbMgr, const QString& strKbUrl /* = WIZ_API_URL */) : m_dbMgr(dbMgr) , m_bStarted(false) { qRegisterMetaType<CWizGroupDataArray>("CWizGroupDataArray"); m_kbSync = new CWizKbSync(dbMgr.db(), strKbUrl); connect(m_kbSync, SIGNAL(clientLoginDone()), SLOT(on_clientLoginDone())); connect(m_kbSync, SIGNAL(getGroupListDone(const CWizGroupDataArray&)), SLOT(on_getGroupListDone(const CWizGroupDataArray&))); connect(m_kbSync, SIGNAL(kbSyncDone(bool)), SLOT(on_kbSyncDone(bool))); connect(m_kbSync, SIGNAL(processLog(const QString&)), SIGNAL(processLog(const QString&))); connect(m_kbSync, SIGNAL(processDebugLog(const QString&)), SIGNAL(processDebugLog(const QString&))); connect(m_kbSync, SIGNAL(processErrorLog(const QString&)), SIGNAL(processErrorLog(const QString&))); }
void CWizApiBase::onXmlRpcReturn(const QString& strMethodName, CWizXmlRpcValue& ret) { if (strMethodName == SyncMethod_ClientLogin) { qDebug() << "[XML-RPC]accounts.clientLogin:\n" << ret.ToString(); WIZUSERINFO userInfo; // pass empty kbguid here is ok if (!ret.ToData<WIZUSERINFO>(userInfo, kbGUID())) { return; } // save user info WizGlobal()->setUserInfo(userInfo); // set kbguid setKbGUID(userInfo.strKbGUID); onClientLogin(userInfo); Q_EMIT clientLoginDone(); } else if (strMethodName == SyncMethod_ClientKeepAlive) { // set kbguid setKbGUID(WizGlobal()->userInfo().strKbGUID); onClientLogin(WizGlobal()->userInfo()); Q_EMIT clientLoginDone(); } else if (strMethodName == SyncMethod_ClientLogout) { onClientLogout(); Q_EMIT clientLogoutDone(); } else if (strMethodName == SyncMethod_CreateAccount) { onCreateAccount(); } else if (strMethodName == SyncMethod_GetUserInfo) { onGetUserInfo(ret); } else if (strMethodName == SyncMethod_GetUserCert) { WIZUSERCERT data; ret.ToData(data, kbGUID()); onGetUserCert(data); } else if (strMethodName == SyncMethod_GetGroupList) { qDebug() << "[XML-RPC]accounts.getGroupKbList:\n" << ret.ToString(); std::deque<WIZGROUPDATA> arrayGroup; ret.ToArray<WIZGROUPDATA>(arrayGroup, kbGUID()); onGetGroupList(arrayGroup); Q_EMIT getGroupListDone(arrayGroup); } // deleteds else if (strMethodName == SyncMethod_GetDeletedList) { std::deque<WIZDELETEDGUIDDATA> arrayData; ret.ToArray<WIZDELETEDGUIDDATA>(arrayData, kbGUID()); onDeletedGetList(arrayData); } else if (strMethodName == SyncMethod_PostDeletedList) { CWizXmlRpcFaultValue* pFault = dynamic_cast<CWizXmlRpcFaultValue *>(&ret); if (pFault) { CWizDeletedGUIDDataArray arrayDeleted; onDeletedPostList(arrayDeleted); } else { onDeletedPostList(m_arrayCurrentPostDeletedGUID); } } // tags else if (strMethodName == SyncMethod_GetTagList) { std::deque<WIZTAGDATA> arrayData; ret.ToArray<WIZTAGDATA>(arrayData, kbGUID()); onTagGetList(arrayData); } else if (strMethodName == SyncMethod_PostTagList) { CWizXmlRpcFaultValue* pFault = dynamic_cast<CWizXmlRpcFaultValue *>(&ret); if (pFault) { CWizTagDataArray arrayTag; onTagPostList(arrayTag); } else { onTagPostList(m_arrayCurrentPostTag); } } // styles else if (strMethodName == SyncMethod_GetStyleList) { std::deque<WIZSTYLEDATA> arrayData; ret.ToArray<WIZSTYLEDATA>(arrayData, kbGUID()); onStyleGetList(arrayData); } else if (strMethodName == SyncMethod_PostStyleList) { CWizXmlRpcFaultValue* pFault = dynamic_cast<CWizXmlRpcFaultValue *>(&ret); if (pFault) { CWizStyleDataArray arrayStyle; onStylePostList(arrayStyle); } else { onStylePostList(m_arrayCurrentPostStyle); } } // documents else if (strMethodName == SyncMethod_GetDocumentList) { std::deque<WIZDOCUMENTDATABASE> arrayData; ret.ToArray<WIZDOCUMENTDATABASE>(arrayData, kbGUID()); onDocumentGetList(arrayData); } else if (strMethodName == SyncMethod_GetDocumentsInfo) { std::deque<WIZDOCUMENTDATABASE> arrayData; ret.ToArray<WIZDOCUMENTDATABASE>(arrayData, kbGUID()); onDocumentsGetInfo(arrayData); } else if (strMethodName == SyncMethod_GetDocumentData) { WIZDOCUMENTDATAEX data; ret.ToData(data, kbGUID()); onDocumentGetData(data); } else if (strMethodName == SyncMethod_PostDocumentData) { CWizXmlRpcFaultValue* pFault = dynamic_cast<CWizXmlRpcFaultValue *>(&ret); if (pFault) { WIZDOCUMENTDATAEX doc; onDocumentPostData(doc); } else { onDocumentPostData(m_currentDocument); } } // attachments else if (strMethodName == SyncMethod_GetAttachmentList) { std::deque<WIZDOCUMENTATTACHMENTDATAEX> arrayData; ret.ToArray<WIZDOCUMENTATTACHMENTDATAEX>(arrayData, kbGUID()); onAttachmentGetList(arrayData); } else if (strMethodName == SyncMethod_GetAttachmentsInfo) { std::deque<WIZDOCUMENTATTACHMENTDATAEX> arrayData; ret.ToArray<WIZDOCUMENTATTACHMENTDATAEX>(arrayData, kbGUID()); onAttachmentsGetInfo(arrayData); } else if (strMethodName == SyncMethod_PostAttachmentData) { CWizXmlRpcFaultValue* pFault = dynamic_cast<CWizXmlRpcFaultValue *>(&ret); if (pFault) { WIZDOCUMENTATTACHMENTDATAEX data; onAttachmentPostData(data); } else { onAttachmentPostData(m_currentAttachment); } } // trunk data else if (strMethodName == SyncMethod_DownloadObjectPart) { WIZOBJECTPARTDATA data; CWizXmlRpcFaultValue* pFault = dynamic_cast<CWizXmlRpcFaultValue *>(&ret); if (pFault) { onDownloadDataPart(data); } else { data = m_currentObjectPartData; ret.ToData(data, kbGUID()); onDownloadDataPart(data); } } else if (strMethodName == SyncMethod_UploadObjectPart) { onUploadDataPart(); } else { Q_ASSERT(0); } }