~vcs-imports/gnote/master

62 by Hubert Figuiere
add GPLv3 license...
1
/*
2
 * gnote
3
 *
3631.1.67 by Aurimas Černius
Redo notebooknoteaddin popover items
4
 * Copyright (C) 2011-2016,2019,2022 Aurimas Cernius
62 by Hubert Figuiere
add GPLv3 license...
5
 * Copyright (C) 2009 Hubert Figuiere
6
 *
7
 * This program is free software: you can redistribute it and/or modify
8
 * it under the terms of the GNU General Public License as published by
9
 * the Free Software Foundation, either version 3 of the License, or
10
 * (at your option) any later version.
11
 *
12
 * This program is distributed in the hope that it will be useful,
13
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15
 * GNU General Public License for more details.
16
 *
17
 * You should have received a copy of the GNU General Public License
18
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
19
 */
20
50 by Hubert Figuiere
notebook note addin
21
22
23
24
#ifndef __NOTEBOOKS_NOTEBOOK_NOTE_ADDIN_HPP__
25
#define __NOTEBOOKS_NOTEBOOK_NOTE_ADDIN_HPP__
26
27
#include "noteaddin.hpp"
28
29
namespace gnote {
30
namespace notebooks {
31
32
  class NotebookNoteAddin
33
    : public NoteAddin
34
  {
35
  public:
964 by Aurimas Černius
Implement template bar
36
    static NoteAddin * create();
2852 by Aurimas Černius
Make TagManager non-singleton
37
    Tag::Ptr get_template_tag() const;
1652 by Aurimas Černius
Enable C++11 features, use override if possible
38
    virtual void initialize() override;
39
    virtual void shutdown() override;
40
    virtual void on_note_opened() override;
2675 by Aurimas Černius
Change NoteAddin to use PopoverWidget for popover buttons
41
    virtual std::vector<gnote::PopoverWidget> get_actions_popover_widgets() const override;
50 by Hubert Figuiere
notebook note addin
42
43
  protected:
44
    NotebookNoteAddin();
45
46
  private:
2110 by Aurimas Černius
Update notebook note addin with popover support
47
    void on_note_window_foregrounded();
48
    void on_note_window_backgrounded();
49
    void on_new_notebook_menu_item(const Glib::VariantBase&) const;
50
    void on_move_to_notebook(const Glib::VariantBase &);
2113 by Aurimas Černius
Update popover when notebooks list changes
51
    void on_notebooks_changed();
3631.1.119 by Aurimas Černius
Use Gio::Menu for notebook menu section
52
    Glib::RefPtr<Gio::MenuModel> get_notebook_menu_items() const;
53
    Glib::RefPtr<Gio::MenuModel> make_menu() const;
197 by Hubert Figuiere
* use static data where it make sense.
54
2110 by Aurimas Černius
Update notebook note addin with popover support
55
    sigc::connection          m_new_notebook_cid;
56
    sigc::connection          m_move_to_notebook_cid;
964 by Aurimas Černius
Implement template bar
57
    static Tag::Ptr           s_templateTag;
50 by Hubert Figuiere
notebook note addin
58
  };
59
60
}
61
}
62
63
64
#endif