[gnote] Update print notes addin for popover
- From: Aurimas Černius <aurimasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnote] Update print notes addin for popover
- Date: Sun, 3 Jan 2016 20:14:54 +0000 (UTC)
commit 1b1d01b3109d38885891cb5674b1d43abfeca16c
Author: Aurimas Černius <aurisc4 gmail com>
Date: Sun Jan 3 22:14:11 2016 +0200
Update print notes addin for popover
src/addins/printnotes/printnotes.desktop.in.in | 4 ++-
src/addins/printnotes/printnotesnoteaddin.cpp | 47 ++++++------------------
src/addins/printnotes/printnotesnoteaddin.hpp | 6 ++--
3 files changed, 18 insertions(+), 39 deletions(-)
---
diff --git a/src/addins/printnotes/printnotes.desktop.in.in b/src/addins/printnotes/printnotes.desktop.in.in
index 89d7ffb..ce604ee 100644
--- a/src/addins/printnotes/printnotes.desktop.in.in
+++ b/src/addins/printnotes/printnotes.desktop.in.in
@@ -4,8 +4,10 @@ _Name=Printing Support
_Description=Allows you to print a note.
_Authors=Hubert Figuiere and the Tomboy Project
Category=DesktopIntegration
-Version=0.7
+Version=0.8
DefaultEnabled=true
Module=printnotes
LibgnoteRelease= LIBGNOTE_RELEASE@
LibgnoteVersionInfo= LIBGNOTE_VERSION_INFO@
+[Actions]
+actions_void=printnotes-print
diff --git a/src/addins/printnotes/printnotesnoteaddin.cpp b/src/addins/printnotes/printnotesnoteaddin.cpp
index 937ae22..36d07df 100644
--- a/src/addins/printnotes/printnotesnoteaddin.cpp
+++ b/src/addins/printnotes/printnotesnoteaddin.cpp
@@ -1,7 +1,7 @@
/*
* gnote
*
- * Copyright (C) 2010-2013,2015 Aurimas Cernius
+ * Copyright (C) 2010-2013,2015-2016 Aurimas Cernius
* Copyright (C) 2009 Hubert Figuiere
*
* This program is free software: you can redistribute it and/or modify
@@ -26,7 +26,6 @@
#include <glibmm/miscutils.h>
#include <gtkmm/image.h>
#include <gtkmm/printoperation.h>
-#include <gtkmm/stock.h>
#include "sharp/datetime.hpp"
#include "debug.hpp"
@@ -38,35 +37,6 @@
namespace printnotes {
- namespace {
- class PrintNotesAction
- : public gnote::NoteWindow::NonModifyingAction
- {
- 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)
- : gnote::NoteWindow::NonModifyingAction("PrintAction", Gtk::Stock::PRINT,
- _("Print"), _("Print note"))
- , m_note_window(note_window)
- {}
-
- gnote::NoteWindow *m_note_window;
- };
- }
-
-
PrintNotesModule::PrintNotesModule()
{
ADD_INTERFACE_IMPL(PrintNotesNoteAddin);
@@ -84,14 +54,21 @@ namespace printnotes {
void PrintNotesNoteAddin::on_note_opened()
{
- Glib::RefPtr<Gtk::Action> action = PrintNotesAction::create(get_window());
- action->signal_activate().connect(
+ register_main_window_action_callback("printnotes-print",
sigc::mem_fun(*this, &PrintNotesNoteAddin::print_button_clicked));
- add_note_action(action, gnote::PRINT_ORDER);
}
- void PrintNotesNoteAddin::print_button_clicked()
+ std::map<int, Gtk::Widget*> PrintNotesNoteAddin::get_actions_popover_widgets() const
+ {
+ auto widgets = NoteAddin::get_actions_popover_widgets();
+ auto button = gnote::utils::create_popover_button("win.printnotes-print", _("Print"));
+ gnote::utils::add_item_to_ordered_map(widgets, gnote::PRINT_ORDER, button);
+ return widgets;
+ }
+
+
+ void PrintNotesNoteAddin::print_button_clicked(const Glib::VariantBase&)
{
try {
m_print_op = Gtk::PrintOperation::create();
diff --git a/src/addins/printnotes/printnotesnoteaddin.hpp b/src/addins/printnotes/printnotesnoteaddin.hpp
index da72f5a..c9b67ce 100644
--- a/src/addins/printnotes/printnotesnoteaddin.hpp
+++ b/src/addins/printnotes/printnotesnoteaddin.hpp
@@ -1,7 +1,7 @@
/*
* gnote
*
- * Copyright (C) 2010,2012-2013 Aurimas Cernius
+ * Copyright (C) 2010,2012-2013,2016 Aurimas Cernius
* Copyright (C) 2009 Hubert Figuiere
*
* This program is free software: you can redistribute it and/or modify
@@ -30,7 +30,6 @@
#include <pangomm/layout.h>
-#include "base/macros.hpp"
#include "sharp/dynamicmodule.hpp"
#include "noteaddin.hpp"
@@ -85,6 +84,7 @@ 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;
static int cm_to_pixel(double cm, double dpi)
{
@@ -114,7 +114,7 @@ private:
void on_draw_page(const Glib::RefPtr<Gtk::PrintContext>&, guint);
void on_end_print(const Glib::RefPtr<Gtk::PrintContext>&);
/////
- void print_button_clicked();
+ void print_button_clicked(const Glib::VariantBase&);
int m_margin_top;
int m_margin_left;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]