[gnote] Move print menu item to gears menu
- From: Aurimas Černius <aurimasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnote] Move print menu item to gears menu
- Date: Sat, 1 Jun 2013 14:55:52 +0000 (UTC)
commit 21c9148123816e51cf149109c70d1def983b5bcc
Author: Aurimas Černius <aurisc4 gmail com>
Date: Sat Jun 1 17:34:48 2013 +0300
Move print menu item to gears menu
Part of Bug 700655.
src/addins/printnotes/printnotesnoteaddin.cpp | 57 +++++++++++++-----------
src/addins/printnotes/printnotesnoteaddin.hpp | 4 --
2 files changed, 31 insertions(+), 30 deletions(-)
---
diff --git a/src/addins/printnotes/printnotesnoteaddin.cpp b/src/addins/printnotes/printnotesnoteaddin.cpp
index 13c26b5..d941722 100644
--- a/src/addins/printnotes/printnotesnoteaddin.cpp
+++ b/src/addins/printnotes/printnotesnoteaddin.cpp
@@ -37,6 +37,34 @@
namespace printnotes {
+ namespace {
+ class PrintNotesAction
+ : public Gtk::Action
+ {
+ public:
+ static Glib::RefPtr<Gtk::Action> create(gnote::NoteWindow *note_window)
+ {
+ return Glib::RefPtr<Gtk::Action>(new PrintNotesAction(note_window));
+ }
+ protected:
+ virtual Gtk::Widget *create_menu_item_vfunc()
+ {
+ Gtk::ImageMenuItem *menu_item = new Gtk::ImageMenuItem;
+ menu_item->add_accelerator("activate", m_note_window->get_accel_group(),
+ GDK_KEY_P, Gdk::CONTROL_MASK, Gtk::ACCEL_VISIBLE);
+ return menu_item;
+ }
+ private:
+ PrintNotesAction(gnote::NoteWindow *note_window)
+ : Gtk::Action("PrintAction", Gtk::Stock::PRINT, _("Print"), _("Print note"))
+ , m_note_window(note_window)
+ {}
+
+ gnote::NoteWindow *m_note_window;
+ };
+ }
+
+
PrintNotesModule::PrintNotesModule()
{
ADD_INTERFACE_IMPL(PrintNotesNoteAddin);
@@ -54,33 +82,10 @@ namespace printnotes {
void PrintNotesNoteAddin::on_note_opened()
{
- m_item = manage(new Gtk::ImageMenuItem (_("Print")));
- m_item->set_image(*manage(new Gtk::Image (Gtk::Stock::PRINT,
- Gtk::ICON_SIZE_MENU)));
- m_item->signal_activate().connect(
+ Glib::RefPtr<Gtk::Action> action = PrintNotesAction::create(get_window());
+ action->signal_activate().connect(
sigc::mem_fun(*this, &PrintNotesNoteAddin::print_button_clicked));
- gnote::NoteWindow *note_window = get_window();
- note_window->signal_foregrounded.connect(
- sigc::mem_fun(*this, &PrintNotesNoteAddin::on_note_foregrounded));
- note_window->signal_backgrounded.connect(
- sigc::mem_fun(*this, &PrintNotesNoteAddin::on_note_backgrounded));
- m_item->show ();
- add_plugin_menu_item (m_item);
- }
-
-
- void PrintNotesNoteAddin::on_note_foregrounded()
- {
- m_item->add_accelerator("activate", get_window()->get_accel_group(),
- GDK_KEY_P, Gdk::CONTROL_MASK,
- Gtk::ACCEL_VISIBLE);
- }
-
-
- void PrintNotesNoteAddin::on_note_backgrounded()
- {
- m_item->remove_accelerator(get_window()->get_accel_group(),
- GDK_KEY_P, Gdk::CONTROL_MASK);
+ add_note_action(action, 400);
}
diff --git a/src/addins/printnotes/printnotesnoteaddin.hpp b/src/addins/printnotes/printnotesnoteaddin.hpp
index 774faf8..ec55dbf 100644
--- a/src/addins/printnotes/printnotesnoteaddin.hpp
+++ b/src/addins/printnotes/printnotesnoteaddin.hpp
@@ -28,7 +28,6 @@
#include <vector>
-#include <gtkmm/menuitem.h>
#include <pangomm/layout.h>
#include "sharp/dynamicmodule.hpp"
@@ -115,10 +114,7 @@ private:
void on_end_print(const Glib::RefPtr<Gtk::PrintContext>&);
/////
void print_button_clicked();
- void on_note_foregrounded();
- void on_note_backgrounded();
- Gtk::ImageMenuItem * m_item;
int m_margin_top;
int m_margin_left;
int m_margin_right;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]