From 71792fc145aaabcb6bfd2aa78883a1e6b1c95b36 Mon Sep 17 00:00:00 2001 From: Vadim Date: Sat, 28 Nov 2015 00:02:55 +0200 Subject: [PATCH 1/3] remove redundant classname --- src/selectiondialog.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/selectiondialog.cc b/src/selectiondialog.cc index ba1daaa..4ad73ca 100644 --- a/src/selectiondialog.cc +++ b/src/selectiondialog.cc @@ -33,12 +33,12 @@ ListViewText::ListViewText(bool use_markup) : Gtk::TreeView(), use_markup(use_ma set_rules_hint(true); } -void ListViewText::ListViewText::append(const std::string& value) { +void ListViewText::append(const std::string& value) { auto new_row=list_store->append(); new_row->set_value(column_record.text, value); } -void ListViewText::ListViewText::hide() { +void ListViewText::hide() { Gtk::TreeView::hide(); list_store->clear(); } From 7a75c8f90f53dff39ef3b02467a4f4d2549e4835 Mon Sep 17 00:00:00 2001 From: Vadim Date: Mon, 30 Nov 2015 19:02:44 +0200 Subject: [PATCH 2/3] make tooltips class safety --- src/tooltips.cc | 6 +++--- src/tooltips.h | 14 +++++++++++++- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/src/tooltips.cc b/src/tooltips.cc index a8a3a53..9874c6b 100644 --- a/src/tooltips.cc +++ b/src/tooltips.cc @@ -138,7 +138,7 @@ void Tooltip::wrap_lines(Glib::RefPtr text_buffer) { } void Tooltips::show(const Gdk::Rectangle& rectangle, bool disregard_drawn) { - for(auto& tooltip: *this) { + for(auto &tooltip : tooltip_list) { tooltip.update(); if(rectangle.intersects(tooltip.activation_rectangle)) { tooltip.adjust(disregard_drawn); @@ -150,7 +150,7 @@ void Tooltips::show(const Gdk::Rectangle& rectangle, bool disregard_drawn) { } void Tooltips::show(bool disregard_drawn) { - for(auto& tooltip: *this) { + for(auto &tooltip : tooltip_list) { tooltip.update(); tooltip.adjust(disregard_drawn); tooltip.window->show_all(); @@ -158,7 +158,7 @@ void Tooltips::show(bool disregard_drawn) { } void Tooltips::hide() { - for(auto& tooltip: *this) { + for(auto &tooltip : tooltip_list) { if(tooltip.window) tooltip.window->hide(); } diff --git a/src/tooltips.h b/src/tooltips.h index 9330394..ce8c13f 100644 --- a/src/tooltips.h +++ b/src/tooltips.h @@ -25,14 +25,26 @@ private: int tooltip_width, tooltip_height; }; -class Tooltips : public std::list { +class Tooltips { public: + using iterator = typename std::list::iterator; + static void init() {drawn_tooltips_rectangle=Gdk::Rectangle();} void show(const Gdk::Rectangle& rectangle, bool disregard_drawn=false); void show(bool disregard_drawn=false); void hide(); + void clear() {tooltip_list.clear();}; + template + void emplace_back(Ts&&... params) + { + tooltip_list.emplace_back(std::forward(params)...); + } + static Gdk::Rectangle drawn_tooltips_rectangle; + + private: + std::list tooltip_list; }; #endif // JUCI_TOOLTIPS_H_ From 4d271d1513923990fa55dfd4f32845eb39e1e4c3 Mon Sep 17 00:00:00 2001 From: Vadim Date: Mon, 30 Nov 2015 19:22:29 +0200 Subject: [PATCH 3/3] remove iterator --- src/tooltips.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/tooltips.h b/src/tooltips.h index ce8c13f..c916a0a 100644 --- a/src/tooltips.h +++ b/src/tooltips.h @@ -27,8 +27,6 @@ private: class Tooltips { public: - using iterator = typename std::list::iterator; - static void init() {drawn_tooltips_rectangle=Gdk::Rectangle();} void show(const Gdk::Rectangle& rectangle, bool disregard_drawn=false); void show(bool disregard_drawn=false);