[gnote] Move replace title menu item to gears menu
- From: Aurimas Černius <aurimasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnote] Move replace title menu item to gears menu
- Date: Sat, 1 Jun 2013 14:55:57 +0000 (UTC)
commit b0c7cd41f0ee61a737dc0297a71da2bd1451ea90
Author: Aurimas Černius <aurisc4 gmail com>
Date: Sat Jun 1 17:52:44 2013 +0300
Move replace title menu item to gears menu
Part of Bug 700655.
src/addins/replacetitle/replacetitlenoteaddin.cpp | 58 +++++++++++----------
src/addins/replacetitle/replacetitlenoteaddin.hpp | 6 --
2 files changed, 31 insertions(+), 33 deletions(-)
---
diff --git a/src/addins/replacetitle/replacetitlenoteaddin.cpp
b/src/addins/replacetitle/replacetitlenoteaddin.cpp
index 35dc374..9908987 100644
--- a/src/addins/replacetitle/replacetitlenoteaddin.cpp
+++ b/src/addins/replacetitle/replacetitlenoteaddin.cpp
@@ -27,6 +27,34 @@
namespace replacetitle {
+ namespace {
+ class ReplaceTitleAction
+ : public Gtk::Action
+ {
+ public:
+ static Glib::RefPtr<Gtk::Action> create(gnote::NoteWindow *note_window)
+ {
+ return Glib::RefPtr<Gtk::Action>(new ReplaceTitleAction(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_R, Gdk::CONTROL_MASK, Gtk::ACCEL_VISIBLE);
+ return menu_item;
+ }
+ private:
+ ReplaceTitleAction(gnote::NoteWindow *note_window)
+ : Gtk::Action("ReplaceTitleAction", Gtk::Stock::FIND_AND_REPLACE,
+ _("Replace title"), _("Replace title"))
+ , m_note_window(note_window)
+ {}
+
+ gnote::NoteWindow *m_note_window;
+ };
+ }
+
ReplaceTitleModule::ReplaceTitleModule()
{
@@ -44,34 +72,10 @@ void ReplaceTitleNoteAddin::shutdown()
void ReplaceTitleNoteAddin::on_note_opened()
{
- m_menu_item = manage(new Gtk::ImageMenuItem(_("Replace title")));
- m_menu_item->set_image(*manage(new Gtk::Image(Gtk::Stock::FIND_AND_REPLACE, Gtk::ICON_SIZE_MENU)));
- m_menu_item->signal_activate().connect(
+ Glib::RefPtr<Gtk::Action> action = ReplaceTitleAction::create(get_window());
+ action->signal_activate().connect(
sigc::mem_fun(*this, &ReplaceTitleNoteAddin::replacetitle_button_clicked));
-
- gnote::NoteWindow *note_window = get_window();
- note_window->signal_foregrounded.connect(
- sigc::mem_fun(*this, &ReplaceTitleNoteAddin::on_note_foregrounded));
- note_window->signal_backgrounded.connect(
- sigc::mem_fun(*this, &ReplaceTitleNoteAddin::on_note_backgrounded));
-
- m_menu_item->show() ;
- add_plugin_menu_item(m_menu_item);
-}
-
-void ReplaceTitleNoteAddin::on_note_foregrounded()
-{
- m_menu_item->add_accelerator("activate",
- get_window()->get_accel_group(),
- GDK_KEY_R,
- Gdk::CONTROL_MASK,
- Gtk::ACCEL_VISIBLE);
-}
-
-void ReplaceTitleNoteAddin::on_note_backgrounded()
-{
- m_menu_item->remove_accelerator(get_window()->get_accel_group(),
- GDK_KEY_R, Gdk::CONTROL_MASK);
+ add_note_action(action, 500);
}
void ReplaceTitleNoteAddin::replacetitle_button_clicked()
diff --git a/src/addins/replacetitle/replacetitlenoteaddin.hpp
b/src/addins/replacetitle/replacetitlenoteaddin.hpp
index 38b5c5d..f7f47fb 100644
--- a/src/addins/replacetitle/replacetitlenoteaddin.hpp
+++ b/src/addins/replacetitle/replacetitlenoteaddin.hpp
@@ -21,8 +21,6 @@
#ifndef _REPLACETITLE_ADDIN_HPP_
#define _REPLACETITLE_ADDIN_HPP_
-#include <gtkmm/imagemenuitem.h>
-
#include "sharp/dynamicmodule.hpp"
#include "note.hpp"
#include "noteaddin.hpp"
@@ -51,10 +49,6 @@ public:
virtual void on_note_opened();
private:
void replacetitle_button_clicked();
- void on_note_foregrounded();
- void on_note_backgrounded();
-
- Gtk::ImageMenuItem *m_menu_item;
};
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]