diff --git a/include/xlnt/cell/comment.hpp b/include/xlnt/cell/comment.hpp index 124d22d8..df3f7e28 100644 --- a/include/xlnt/cell/comment.hpp +++ b/include/xlnt/cell/comment.hpp @@ -155,12 +155,12 @@ private: /// /// Width of the comment box. /// - int width_ = 0; + int width_ = 200; /// /// Height of the comment box. /// - int height_ = 0; + int height_ = 100; }; } // namespace xlnt diff --git a/source/cell/cell.cpp b/source/cell/cell.cpp index 667212d8..5fcf6030 100644 --- a/source/cell/cell.cpp +++ b/source/cell/cell.cpp @@ -969,8 +969,7 @@ void cell::comment(const std::string &text, const std::string &author) 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)); + comment(xlnt::comment(xlnt::rich_text(text, comment_font), author)); } void cell::comment(const class comment &new_comment) @@ -991,7 +990,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(); } diff --git a/source/cell/comment.cpp b/source/cell/comment.cpp index 16722d29..abd3bdb1 100644 --- a/source/cell/comment.cpp +++ b/source/cell/comment.cpp @@ -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 diff --git a/tests/cell/cell_test_suite.cpp b/tests/cell/cell_test_suite.cpp index 510786b3..272fb479 100644 --- a/tests/cell/cell_test_suite.cpp +++ b/tests/cell/cell_test_suite.cpp @@ -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()