[gnote] Make ReadOnly add-in disable note
- From: Aurimas Černius <aurimasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnote] Make ReadOnly add-in disable note
- Date: Sat, 7 Sep 2013 19:21:52 +0000 (UTC)
commit 0e38af5ccf5518a363e047a36e92e138c62241b3
Author: Aurimas Černius <aurisc4 gmail com>
Date: Sat Sep 7 22:15:45 2013 +0300
Make ReadOnly add-in disable note
src/addins/readonly/readonly.desktop.in | 2 +-
src/addins/readonly/readonlynoteaddin.cpp | 19 +++++++++++++------
2 files changed, 14 insertions(+), 7 deletions(-)
---
diff --git a/src/addins/readonly/readonly.desktop.in b/src/addins/readonly/readonly.desktop.in
index 626b256..a097d43 100644
--- a/src/addins/readonly/readonly.desktop.in
+++ b/src/addins/readonly/readonly.desktop.in
@@ -4,6 +4,6 @@ _Name=Read Only
_Description=Mark certain notes as read only
_Authors=Aurimas Černius, Debarshi Ray and Arief Bayu Purwanto
Category=Tools
-Version=0.1
+Version=0.2
DefaultEnabled=false
Module=readonly
diff --git a/src/addins/readonly/readonlynoteaddin.cpp b/src/addins/readonly/readonlynoteaddin.cpp
index fef35e1..c562c93 100644
--- a/src/addins/readonly/readonlynoteaddin.cpp
+++ b/src/addins/readonly/readonlynoteaddin.cpp
@@ -29,7 +29,7 @@
namespace {
class ReadOnlyAction
- : public Gtk::Action
+ : public gnote::NoteWindow::NonModifyingAction
{
public:
typedef Glib::RefPtr<ReadOnlyAction> Ptr;
@@ -37,6 +37,10 @@ namespace {
{
return Ptr(new ReadOnlyAction);
}
+ void checked(bool check)
+ {
+ m_checked = check;
+ }
bool checked() const
{
return m_checked;
@@ -44,7 +48,9 @@ namespace {
protected:
virtual Gtk::Widget *create_menu_item_vfunc() override
{
- return new Gtk::CheckMenuItem;
+ Gtk::CheckMenuItem *item = new Gtk::CheckMenuItem;
+ item->set_active(m_checked);
+ return item;
}
virtual void on_activate() override
{
@@ -53,7 +59,7 @@ namespace {
}
private:
ReadOnlyAction()
- : Gtk::Action("ReadOnlyAction")
+ : gnote::NoteWindow::NonModifyingAction("ReadOnlyAction")
, m_checked(false)
{
set_label(_("Read Only"));
@@ -104,7 +110,8 @@ void ReadOnlyNoteAddin::on_note_opened()
gnote::ITagManager & m = gnote::ITagManager::obj();
const gnote::Tag::Ptr ro_tag = m.get_or_create_system_tag("read-only");
if(get_note()->contains_tag(ro_tag)) {
- //m_item->set_active(true);
+ ReadOnlyAction::Ptr::cast_dynamic(m_action)->checked(true);
+ on_menu_item_toggled();
}
}
@@ -113,11 +120,11 @@ void ReadOnlyNoteAddin::on_menu_item_toggled()
gnote::ITagManager & m = gnote::ITagManager::obj();
const gnote::Tag::Ptr ro_tag = m.get_or_create_system_tag("read-only");
if(ReadOnlyAction::Ptr::cast_dynamic(m_action)->checked()) {
- get_window()->editor()->set_editable(false);
+ get_note()->enabled(false);
get_note()->add_tag(ro_tag);
}
else {
- get_window()->editor()->set_editable(true);
+ get_note()->enabled(true);
get_note()->remove_tag(ro_tag);
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]