diff --git a/src/app/ui/zoom_entry.cpp b/src/app/ui/zoom_entry.cpp index 8f82cc37b..8f5ec53db 100644 --- a/src/app/ui/zoom_entry.cpp +++ b/src/app/ui/zoom_entry.cpp @@ -31,11 +31,11 @@ using namespace gfx; using namespace ui; ZoomEntry::ZoomEntry() - : IntEntry( - 0, render::Zoom::fromLinearScale(render::Zoom::linearValues()-1).scale()*100, this) + : IntEntry(0, render::Zoom::linearValues()-1, this) , m_locked(false) { setSuffix("%"); + setMaxTextLength(6); // strlen("6400.0") == 6 setup_mini_look(this); setZoom(render::Zoom(1, 1)); diff --git a/src/ui/entry.cpp b/src/ui/entry.cpp index f8f2a138a..9f9cebee6 100644 --- a/src/ui/entry.cpp +++ b/src/ui/entry.cpp @@ -29,7 +29,7 @@ namespace ui { -Entry::Entry(std::size_t maxsize, const char* format, ...) +Entry::Entry(const std::size_t maxsize, const char* format, ...) : Widget(kEntryWidget) , m_timer(500, this) , m_maxsize(maxsize) @@ -71,6 +71,11 @@ Entry::~Entry() { } +void Entry::setMaxTextLength(const std::size_t maxsize) +{ + m_maxsize = maxsize; +} + bool Entry::isReadOnly() const { return m_readonly; diff --git a/src/ui/entry.h b/src/ui/entry.h index 52c3adcf0..4d77dbf46 100644 --- a/src/ui/entry.h +++ b/src/ui/entry.h @@ -18,9 +18,11 @@ namespace ui { class Entry : public Widget { public: - Entry(std::size_t maxsize, const char *format, ...); + Entry(const std::size_t maxsize, const char *format, ...); ~Entry(); + void setMaxTextLength(const std::size_t maxsize); + bool isPassword() const; bool isReadOnly() const; void setReadOnly(bool state);