resizeRegion()がfalseを返す時のMulti処理改善、したつもり。
1 parent b5c0df9 commit 162dc2a23dd42aaa44e358e72ba608324d311778
@tamra tamra authored on 9 Jun 2006
Showing 2 changed files
View
20
honoka/src/honoka_imengine.cpp
 
hide_aux_string();
if (m_splitter && (m_splitter != m_convertor) && (!multi)) {
m_convertor->unSelected();
m_splitter->selected();
if (!m_splitter->isConnected()) {
if (!m_splitter->connect()) {
m_splitter->unSelected();
}
spsegs = m_splitter->getSegmentList();
m_splitter->reset();
m_splitter->unSelected();
m_convertor->selected();
s.clear();
for(unsigned int i = 0;i < spsegs.size();i ++) s += spsegs[i].getYomi();
}
// aline
for(unsigned int i = 0;i < spsegs.size();i ++) {
int bl = spsegs[i].getYomi().length();
int cl = m_convertor->getResultList(i).Yomi.length();
if (bl != cl) m_convertor->resizeRegion(bl - cl);
if (bl != cl) {
bool t = m_convertor->resizeRegion(bl - cl);
if (!t) {
update_aux_string(utf8_mbstowcs(String(_("The error was received from Converter. "))));
m_convertor->reset();
show_aux_string();
return;
}
}
}
}
m_no_update = false;
View
14
honoka/src/multiconvertor.cpp
if (instance->m_def_convertor != instance->convertors[i]) {
for(unsigned int j = 0;j < texts.size();j ++) {
int bl = s[j];
int cl = instance->convertors[i]->getResultList(j).Yomi.length();
if (bl != cl) instance->convertors[i]->resizeRegion(bl - cl);
if (bl != cl) {
bool t = instance->convertors[i]->resizeRegion(bl - cl);
if (!t) {
nuc.insert(instance->convertors[i]);
break;
}
}
}
instance->convertors[i]->setPos(p);
}
}