[gnote] Handle popover widget change
- From: Aurimas Černius <aurimasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnote] Handle popover widget change
- Date: Sat, 12 Dec 2015 18:31:02 +0000 (UTC)
commit 26b13d3bb7902468cf81a165d09bbe3c7c39db0d
Author: Aurimas Černius <aurisc4 gmail com>
Date: Sat Dec 12 20:15:47 2015 +0200
Handle popover widget change
src/recentchanges.cpp | 12 +++++++++++-
src/recentchanges.hpp | 2 ++
2 files changed, 13 insertions(+), 1 deletions(-)
---
diff --git a/src/recentchanges.cpp b/src/recentchanges.cpp
index f4150ab..4ea3093 100644
--- a/src/recentchanges.cpp
+++ b/src/recentchanges.cpp
@@ -535,6 +535,8 @@ namespace gnote {
gtk_widget_destroy(GTK_WIDGET(m_window_menu_embedded));
m_window_menu_embedded = NULL;
}
+ m_signal_popover_widgets_changed_cid = has_actions.signal_popover_widgets_changed
+ .connect(sigc::mem_fun(*this, &NoteRecentChanges::on_popover_widgets_changed));
}
catch(std::bad_cast&) {
}
@@ -549,7 +551,7 @@ namespace gnote {
Gtk::Widget &wid = dynamic_cast<Gtk::Widget&>(widget);
widget.background();
m_embed_box.remove(wid);
-
+ m_signal_popover_widgets_changed_cid.disconnect();
m_current_embedded_name_slot.disconnect();
if(m_window_menu_embedded) {
@@ -769,6 +771,14 @@ namespace gnote {
set_title(name);
}
+ void NoteRecentChanges::on_popover_widgets_changed()
+ {
+ if(m_window_menu_embedded) {
+ gtk_widget_destroy(GTK_WIDGET(m_window_menu_embedded));
+ m_window_menu_embedded = NULL;
+ }
+ }
+
void NoteRecentChanges::on_settings_changed(const Glib::ustring & key)
{
if(key == Preferences::OPEN_NOTES_IN_NEW_WINDOW) {
diff --git a/src/recentchanges.hpp b/src/recentchanges.hpp
index 659473f..f30c90d 100644
--- a/src/recentchanges.hpp
+++ b/src/recentchanges.hpp
@@ -93,6 +93,7 @@ private:
bool on_notes_widget_key_press(GdkEventKey*);
void on_close_window(const Glib::VariantBase&);
void add_action(const MainWindowAction::Ptr & action);
+ void on_popover_widgets_changed();
NoteManager &m_note_manager;
Gtk::Widget *m_header_bar;
@@ -110,6 +111,7 @@ private:
std::list<EmbeddableWidget*> m_embedded_widgets;
bool m_mapped;
sigc::connection m_current_embedded_name_slot;
+ sigc::connection m_signal_popover_widgets_changed_cid;
utils::InterruptableTimeout *m_entry_changed_timeout;
GtkPopoverMenu *m_window_menu_embedded;
GtkPopoverMenu *m_window_menu_default;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]