强化拖拽校验

This commit is contained in:
codeboss 2024-02-08 23:14:34 +08:00
parent 9f54bc5ff1
commit e2bafb16fb
2 changed files with 5 additions and 2 deletions

View File

@ -69,7 +69,9 @@ void DragHeader::mouseReleaseEvent(QMouseEvent *event)
void DragHeader::mouseMoveEvent(QMouseEvent *event) void DragHeader::mouseMoveEvent(QMouseEvent *event)
{ {
QFrame::mouseMoveEvent(event); QFrame::mouseMoveEvent(event);
if(std::get<0>(this->press_flag)){ auto sub = event->pos() - std::get<1>(press_flag);
if(std::get<0>(this->press_flag) && sub.manhattanLength() > QApplication::startDragDistance()){
emit this->adjustRequest(event->pos()); emit this->adjustRequest(event->pos());
} }
} }

View File

@ -119,6 +119,7 @@ void SplitWindow::present_remove(split_frame::ViewRes *inst)
} }
else if(inst == view_root){ else if(inst == view_root){
setRoot(nullptr); setRoot(nullptr);
inst->setParentRes(nullptr);
} }
} }
void SplitWindow::doRetrieve(split_frame::ViewBase *inst) void SplitWindow::doRetrieve(split_frame::ViewBase *inst)
@ -150,10 +151,10 @@ void SplitWindow::doClose(split_frame::ViewBase *inst)
void SplitWindow::siblingAttach(ViewBase *view, ViewRes *pos, SplitType ori) void SplitWindow::siblingAttach(ViewBase *view, ViewRes *pos, SplitType ori)
{ {
auto remains_frm = pos->parentRes();
doRetrieve(view); doRetrieve(view);
auto split_slot = new split_panel::SplitPanel(this, ori); auto split_slot = new split_panel::SplitPanel(this, ori);
auto remains_frm = pos->parentRes();
remains_frm->replaceView(split_slot, pos); remains_frm->replaceView(split_slot, pos);
switch (ori) { switch (ori) {