From: <hug...@li...> - 2012-09-22 19:12:59
|
branch: details: http://hugin.hg.sourceforge.net/hgweb/hugin/hugin/hgroot/hugin/hugin/rev/2241e3220cc0 changeset: 5991:2241e3220cc0 user: tmodes date: Sat Sep 22 21:13:25 2012 +0200 description: Remember last used mask type diffstat: src/hugin1/hugin/MaskEditorPanel.cpp | 8 +++++++- src/hugin1/hugin/MaskEditorPanel.h | 1 + 2 files changed, 8 insertions(+), 1 deletions(-) diffs (64 lines): diff -r 9f74832b0e6b -r 2241e3220cc0 src/hugin1/hugin/MaskEditorPanel.cpp --- a/src/hugin1/hugin/MaskEditorPanel.cpp Thu Sep 20 18:53:01 2012 +0200 +++ b/src/hugin1/hugin/MaskEditorPanel.cpp Sat Sep 22 21:13:25 2012 +0200 @@ -75,6 +75,7 @@ DEBUG_TRACE("**********************"); m_pano = 0; m_maskCropCtrl=NULL; + m_defaultMaskType=HuginBase::MaskPolygon::Mask_negative; } bool MaskEditorPanel::Create(wxWindow* parent, wxWindowID id, @@ -151,6 +152,8 @@ // other controls m_maskType = XRCCTRL(*this, "mask_editor_choice_masktype", wxChoice); + m_defaultMaskType=(HuginBase::MaskPolygon::MaskType)wxConfigBase::Get()->Read(wxT("/MaskEditorPanel/DefaultMaskType"), 0l); + m_maskType->SetSelection((int)m_defaultMaskType); // disable some controls m_maskType->Disable(); XRCCTRL(*this, "mask_editor_choice_zoom", wxChoice)->Disable(); @@ -209,6 +212,7 @@ m_top_textctrl->PopEventHandler(true); m_bottom_textctrl->PopEventHandler(true); wxConfigBase::Get()->Write(wxT("/MaskEditorPanel/ShowActiveMasks"),XRCCTRL(*this,"mask_editor_show_active_masks",wxCheckBox)->GetValue()); + wxConfigBase::Get()->Write(wxT("/MaskEditorPanel/DefaultMaskType"),(long)m_defaultMaskType); DEBUG_TRACE("dtor"); m_pano->removeObserver(this); } @@ -298,7 +302,7 @@ if(GetImgNr()<UINT_MAX && m_MaskNr<UINT_MAX) m_maskType->SetSelection(m_currentMasks[m_MaskNr].getMaskType()); else - m_maskType->SetSelection(0); + m_maskType->SetSelection((int)m_defaultMaskType); }; void MaskEditorPanel::UpdateMask() @@ -315,6 +319,7 @@ if(GetImgNr()<UINT_MAX) { m_currentMasks=m_editImg->getNewMask(); + m_currentMasks[m_currentMasks.size()-1].setMaskType(m_defaultMaskType); GlobalCmdHist::getInstance().addCommand(new PT::UpdateMaskForImgCmd(*m_pano,GetImgNr(),m_currentMasks)); //select added mask SelectMask(m_currentMasks.size()-1); @@ -400,6 +405,7 @@ if(GetImgNr()<UINT_MAX && m_MaskNr<UINT_MAX) { m_currentMasks[m_MaskNr].setMaskType((HuginBase::MaskPolygon::MaskType)e.GetSelection()); + m_defaultMaskType=(HuginBase::MaskPolygon::MaskType)e.GetSelection(); GlobalCmdHist::getInstance().addCommand(new PT::UpdateMaskForImgCmd(*m_pano,GetImgNr(),m_currentMasks)); }; }; diff -r 9f74832b0e6b -r 2241e3220cc0 src/hugin1/hugin/MaskEditorPanel.h --- a/src/hugin1/hugin/MaskEditorPanel.h Thu Sep 20 18:53:01 2012 +0200 +++ b/src/hugin1/hugin/MaskEditorPanel.h Sat Sep 22 21:13:25 2012 +0200 @@ -158,6 +158,7 @@ PT::Panorama * m_pano; // current masks vector HuginBase::MaskPolygonVector m_currentMasks; + HuginBase::MaskPolygon::MaskType m_defaultMaskType; // mask or crop mode bool m_maskMode; // the current images |