[gnote] Update insert timestamp addin for popover
- From: Aurimas ÄŒernius <aurimasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnote] Update insert timestamp addin for popover
- Date: Sun, 3 Jan 2016 20:14:44 +0000 (UTC)
commit 51d806ac424a01d18295385661a5ce6a26960b90
Author: Aurimas ÄŒernius <aurisc4 gmail com>
Date: Sun Jan 3 21:46:35 2016 +0200
Update insert timestamp addin for popover
.../inserttimestamp/inserttimestamp.desktop.in.in | 4 +-
.../inserttimestamp/inserttimestampnoteaddin.cpp | 45 +++++--------------
.../inserttimestamp/inserttimestampnoteaddin.hpp | 8 +--
3 files changed, 18 insertions(+), 39 deletions(-)
---
diff --git a/src/addins/inserttimestamp/inserttimestamp.desktop.in.in
b/src/addins/inserttimestamp/inserttimestamp.desktop.in.in
index 71bf1cf..57884c5 100644
--- a/src/addins/inserttimestamp/inserttimestamp.desktop.in.in
+++ b/src/addins/inserttimestamp/inserttimestamp.desktop.in.in
@@ -4,8 +4,10 @@ _Name=Insert Timestamp
_Description=Inserts current date and time at the cursor position.
_Authors=Hubert Figuiere and Tomboy Project
Category=Tools
-Version=0.2
+Version=0.3
DefaultEnabled=false
Module=inserttimestamp
LibgnoteRelease= LIBGNOTE_RELEASE@
LibgnoteVersionInfo= LIBGNOTE_VERSION_INFO@
+[Actions]
+actions_void=inserttimestamp-insert
diff --git a/src/addins/inserttimestamp/inserttimestampnoteaddin.cpp
b/src/addins/inserttimestamp/inserttimestampnoteaddin.cpp
index ce7f1bd..bb200e3 100644
--- a/src/addins/inserttimestamp/inserttimestampnoteaddin.cpp
+++ b/src/addins/inserttimestamp/inserttimestampnoteaddin.cpp
@@ -1,7 +1,7 @@
/*
* gnote
*
- * Copyright (C) 2010-2013 Aurimas Cernius
+ * Copyright (C) 2010-2013,2016 Aurimas Cernius
* Copyright (C) 2009 Hubert Figuiere
*
* This program is free software: you can redistribute it and/or modify
@@ -31,34 +31,6 @@
namespace inserttimestamp {
- namespace {
- class InsertTimestampAction
- : public Gtk::Action
- {
- public:
- static Glib::RefPtr<Gtk::Action> create(gnote::NoteWindow *note_window)
- {
- return Glib::RefPtr<Gtk::Action>(new InsertTimestampAction(note_window));
- }
- private:
- InsertTimestampAction(gnote::NoteWindow *note_window)
- : Gtk::Action("InsertTimestampAction", "", _("Insert Timestamp"),
- _("Insert Timestamp into note"))
- , m_note_window(note_window)
- {}
-
- virtual Gtk::Widget *create_menu_item_vfunc()
- {
- Gtk::MenuItem *item = new Gtk::MenuItem;
- item->add_accelerator("activate", m_note_window->get_accel_group(),
- GDK_KEY_d, Gdk::CONTROL_MASK, Gtk::ACCEL_VISIBLE);
- return item;
- }
-
- gnote::NoteWindow *m_note_window;
- };
- }
-
InsertTimeStampModule::InsertTimeStampModule()
{
ADD_INTERFACE_IMPL(InsertTimestampNoteAddin);
@@ -79,10 +51,8 @@ namespace inserttimestamp {
void InsertTimestampNoteAddin::on_note_opened()
{
- Glib::RefPtr<Gtk::Action> action = InsertTimestampAction::create(get_window());
- action->signal_activate().connect(
+ register_main_window_action_callback("inserttimestamp-insert",
sigc::mem_fun(*this, &InsertTimestampNoteAddin::on_menu_item_activated));
- add_note_action(action, gnote::INSERT_TIMESTAMP_ORDER);
Glib::RefPtr<Gio::Settings> settings =
gnote::Preferences::obj().get_schema_settings(SCHEMA_INSERT_TIMESTAMP);
m_date_format = settings->get_string(INSERT_TIMESTAMP_FORMAT);
@@ -91,7 +61,16 @@ namespace inserttimestamp {
}
- void InsertTimestampNoteAddin::on_menu_item_activated()
+ std::map<int, Gtk::Widget*> InsertTimestampNoteAddin::get_actions_popover_widgets() const
+ {
+ auto widgets = NoteAddin::get_actions_popover_widgets();
+ auto button = gnote::utils::create_popover_button("win.inserttimestamp-insert", _("Insert Timestamp"));
+ gnote::utils::add_item_to_ordered_map(widgets, gnote::INSERT_TIMESTAMP_ORDER, button);
+ return widgets;
+ }
+
+
+ void InsertTimestampNoteAddin::on_menu_item_activated(const Glib::VariantBase&)
{
std::string text = sharp::DateTime::now().to_string(m_date_format);
Gtk::TextIter cursor = get_buffer()->get_iter_at_mark (get_buffer()->get_insert());
diff --git a/src/addins/inserttimestamp/inserttimestampnoteaddin.hpp
b/src/addins/inserttimestamp/inserttimestampnoteaddin.hpp
index 92d9259..0889c34 100644
--- a/src/addins/inserttimestamp/inserttimestampnoteaddin.hpp
+++ b/src/addins/inserttimestamp/inserttimestampnoteaddin.hpp
@@ -1,7 +1,7 @@
/*
* gnote
*
- * Copyright (C) 2010,2013 Aurimas Cernius
+ * Copyright (C) 2010,2013,2016 Aurimas Cernius
* Copyright (C) 2009 Hubert Figuiere
*
* This program is free software: you can redistribute it and/or modify
@@ -25,9 +25,6 @@
#ifndef __INSERTIMESTAMP_NOTEADDIN_HPP_
#define __INSERTIMESTAMP_NOTEADDIN_HPP_
-#include <gtkmm/menuitem.h>
-
-#include "base/macros.hpp"
#include "sharp/dynamicmodule.hpp"
#include "noteaddin.hpp"
@@ -55,8 +52,9 @@ public:
virtual void initialize() override;
virtual void shutdown() override;
virtual void on_note_opened() override;
+ virtual std::map<int, Gtk::Widget*> get_actions_popover_widgets() const override;
private:
- void on_menu_item_activated();
+ void on_menu_item_activated(const Glib::VariantBase&);
void on_format_setting_changed(const Glib::ustring & key);
std::string m_date_format;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]