comment default size only set in the overloads which can't set size

- Debatable whether position should receive the same treatment
This commit is contained in:
Crzyrndm 2018-07-28 13:55:56 +12:00
parent 94faf01b72
commit d39b7a107a
3 changed files with 16 additions and 5 deletions

View File

@ -964,13 +964,16 @@ class comment cell::comment()
void cell::comment(const std::string &text, const std::string &author)
{
comment(xlnt::comment(text, author));
xlnt::comment tmp_comment(text, author);
tmp_comment.size(200, 100);
comment(tmp_comment);
}
void cell::comment(const std::string &text, const class font &comment_font, const std::string &author)
{
xlnt::rich_text rich_comment_text(text, comment_font);
comment(xlnt::comment(rich_comment_text, author));
xlnt::comment tmp_comment(xlnt::rich_text(text, comment_font), author);
tmp_comment.size(200, 100);
comment(tmp_comment);
}
void cell::comment(const class comment &new_comment)
@ -991,7 +994,6 @@ void cell::comment(const class comment &new_comment)
cell_position.second += 5;
d_->comment_.get()->position(cell_position.first, cell_position.second);
d_->comment_.get()->size(200, 100);
worksheet().register_comments_in_manifest();
}

View File

@ -105,7 +105,11 @@ int comment::height() const
bool comment::operator==(const comment &other) const
{
return text_ == other.text_ && author_ == other.author_;
// not comparing top/left as this is set on a per cell basis
return text_ == other.text_
&& author_ == other.author_
&& width_ == other.width_
&& height_ == other.height_;
}
bool comment::operator!=(const comment &other) const

View File

@ -774,6 +774,11 @@ private:
cell.clear_comment();
xlnt_assert(!cell.has_comment());
xlnt_assert_throws(cell.comment(), xlnt::exception);
xlnt::comment comment_with_size("test comment", "author");
comment_with_size.size(1000, 30);
cell.comment(comment_with_size);
xlnt_assert_equals(cell.comment(), comment_with_size);
}
void test_copy_and_compare()