[gnote] Dynamically create search notes widget
- From: Aurimas Černius <aurimasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnote] Dynamically create search notes widget
- Date: Sat, 2 Jan 2021 17:53:27 +0000 (UTC)
commit 96449ab0d6109388ddbf8b57b9c5c1e9898cbebc
Author: Aurimas Černius <aurisc4 gmail com>
Date: Sat Jan 2 19:50:46 2021 +0200
Dynamically create search notes widget
Fixes https://gitlab.gnome.org/GNOME/gnote/-/issues/43
src/recentchanges.cpp | 28 ++++++++++++++--------------
src/recentchanges.hpp | 2 +-
2 files changed, 15 insertions(+), 15 deletions(-)
---
diff --git a/src/recentchanges.cpp b/src/recentchanges.cpp
index 2030ad45..91924487 100644
--- a/src/recentchanges.cpp
+++ b/src/recentchanges.cpp
@@ -53,7 +53,6 @@ namespace gnote {
, m_gnote(g)
, m_note_manager(m)
, m_preferences(g.preferences())
- , m_search_notes_widget(g, m)
, m_search_box(nullptr)
, m_find_next_prev_box(nullptr)
, m_search_entry(nullptr)
@@ -72,11 +71,12 @@ namespace gnote {
set_has_resize_grip(true);
set_icon_name(IconManager::GNOTE);
- m_search_notes_widget.signal_open_note
+ m_search_notes_widget = manage(new SearchNotesWidget(g, m));
+ m_search_notes_widget->signal_open_note
.connect(sigc::mem_fun(*this, &NoteRecentChanges::on_open_note));
- m_search_notes_widget.signal_open_note_new_window
+ m_search_notes_widget->signal_open_note_new_window
.connect(sigc::mem_fun(*this, &NoteRecentChanges::on_open_note_new_window));
- m_search_notes_widget.notes_widget().signal_key_press_event()
+ m_search_notes_widget->notes_widget().signal_key_press_event()
.connect(sigc::mem_fun(*this, &NoteRecentChanges::on_notes_widget_key_press));
make_header_bar();
@@ -129,7 +129,7 @@ namespace gnote {
find_action("close-window")->signal_activate()
.connect(sigc::mem_fun(*this, &NoteRecentChanges::on_close_window));
- embed_widget(m_search_notes_widget);
+ embed_widget(*m_search_notes_widget);
}
@@ -170,7 +170,7 @@ namespace gnote {
m_new_note_button->set_image(*image);
m_new_note_button->set_tooltip_text(_("Create New Note"));
m_new_note_button->add_accelerator("activate", get_accel_group(), GDK_KEY_N, Gdk::CONTROL_MASK,
(Gtk::AccelFlags) 0);
- m_new_note_button->signal_clicked().connect(sigc::mem_fun(m_search_notes_widget,
&SearchNotesWidget::new_note));
+ m_new_note_button->signal_clicked().connect(sigc::mem_fun(*m_search_notes_widget,
&SearchNotesWidget::new_note));
m_new_note_button->show_all();
left_box->attach(*m_new_note_button, 1, 0, 1, 1);
left_box->show();
@@ -393,13 +393,13 @@ namespace gnote {
void NoteRecentChanges::present_search()
{
EmbeddableWidget *current = currently_embedded();
- if(&m_search_notes_widget == dynamic_cast<SearchNotesWidget*>(current)) {
+ if(m_search_notes_widget == dynamic_cast<SearchNotesWidget*>(current)) {
return;
}
if(current) {
background_embedded(*current);
}
- foreground_embedded(m_search_notes_widget);
+ foreground_embedded(*m_search_notes_widget);
}
void NoteRecentChanges::present_note(const Note::Ptr & note)
@@ -440,7 +440,7 @@ namespace gnote {
void NoteRecentChanges::on_delete_note()
{
- m_search_notes_widget.delete_selected_notes();
+ m_search_notes_widget->delete_selected_notes();
}
@@ -467,7 +467,7 @@ namespace gnote {
bool NoteRecentChanges::is_search()
{
- return &m_search_notes_widget == currently_embedded();
+ return m_search_notes_widget == currently_embedded();
}
@@ -502,7 +502,7 @@ namespace gnote {
if(current_item) {
background_embedded(*current_item);
}
- foreground_embedded(m_search_notes_widget);
+ foreground_embedded(*m_search_notes_widget);
}
break;
case GDK_KEY_F1:
@@ -518,7 +518,7 @@ namespace gnote {
void NoteRecentChanges::on_show()
{
// Select "All Notes" in the notebooks list
- m_search_notes_widget.select_all_notes_notebook();
+ m_search_notes_widget->select_all_notes_notebook();
EmbeddableWidget *widget = NULL;
if(m_embed_box.get_children().size() == 0 && m_embedded_widgets.size() > 0) {
@@ -620,7 +620,7 @@ namespace gnote {
widget.size_internals();
update_toolbar(widget);
- if(&widget == &m_search_notes_widget) {
+ if(&widget == m_search_notes_widget) {
set_title(_("Gnote"));
}
else {
@@ -801,7 +801,7 @@ namespace gnote {
void NoteRecentChanges::update_toolbar(EmbeddableWidget & widget)
{
- bool search = dynamic_cast<SearchNotesWidget*>(&widget) == &m_search_notes_widget;
+ bool search = dynamic_cast<SearchNotesWidget*>(&widget) == m_search_notes_widget;
m_all_notes_button->set_visible(!search);
m_new_note_button->set_visible(search);
dynamic_cast<Gtk::Image*>(m_window_actions_button->get_image())->property_icon_name() = search ?
MAIN_MENU_PRIMARY_ICON : MAIN_MENU_SECONDARY_ICON;
diff --git a/src/recentchanges.hpp b/src/recentchanges.hpp
index a18cdfe3..bfecda40 100644
--- a/src/recentchanges.hpp
+++ b/src/recentchanges.hpp
@@ -100,7 +100,7 @@ private:
NoteManagerBase &m_note_manager;
Preferences &m_preferences;
Gtk::Widget *m_header_bar;
- SearchNotesWidget m_search_notes_widget;
+ SearchNotesWidget *m_search_notes_widget;
Gtk::Alignment *m_search_box;
Gtk::Grid *m_find_next_prev_box;
union
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]