[gnote] Create popovers on demand
- From: Aurimas Černius <aurimasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnote] Create popovers on demand
- Date: Sat, 12 Dec 2015 18:30:52 +0000 (UTC)
commit 4b192a4ea2ee8e669ae4673a76a3b4eb2287dc9f
Author: Aurimas Černius <aurisc4 gmail com>
Date: Sat Dec 12 20:14:00 2015 +0200
Create popovers on demand
src/recentchanges.cpp | 13 ++++++++++---
1 files changed, 10 insertions(+), 3 deletions(-)
---
diff --git a/src/recentchanges.cpp b/src/recentchanges.cpp
index 9391658..d5c1cec 100644
--- a/src/recentchanges.cpp
+++ b/src/recentchanges.cpp
@@ -113,7 +113,6 @@ namespace gnote {
find_action("close-window")->signal_activate()
.connect(sigc::mem_fun(*this, &NoteRecentChanges::on_close_window));
- m_window_menu_default = make_window_menu(m_window_actions_button, std::vector<Gtk::Widget*>());
embed_widget(m_search_notes_widget);
}
@@ -532,8 +531,10 @@ namespace gnote {
try {
HasActions &has_actions = dynamic_cast<HasActions&>(widget);
- std::vector<Gtk::Widget*> items = has_actions.get_popover_widgets();
- m_window_menu_embedded = make_window_menu(m_window_actions_button, items);
+ if(m_window_menu_embedded) {
+ gtk_widget_destroy(GTK_WIDGET(m_window_menu_embedded));
+ m_window_menu_embedded = NULL;
+ }
}
catch(std::bad_cast&) {
}
@@ -719,9 +720,15 @@ namespace gnote {
{
HasActions *embed_with_actions = dynamic_cast<HasActions*>(currently_embedded());
if(embed_with_actions) {
+ if(m_window_menu_embedded == NULL) {
+ m_window_menu_embedded = make_window_menu(m_window_actions_button,
embed_with_actions->get_popover_widgets());
+ }
gtk_widget_show_all(GTK_WIDGET(m_window_menu_embedded));
}
else {
+ if(m_window_menu_default == NULL) {
+ m_window_menu_default = make_window_menu(m_window_actions_button, std::vector<Gtk::Widget*>());
+ }
gtk_widget_show_all(GTK_WIDGET(m_window_menu_default));
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]