Module: TopinambourActions
- Defined in:
- lib/actions.rb
Overview
Those are all the actions that can be called via the interface with the label ‘app.my_action’ for a method my_action.
Class Method Summary collapse
- .add_action_to(name, application) ⇒ Object
- .add_actions_to(application) ⇒ Object
- .generate_about_action(application) ⇒ Object
- .generate_action(name) ⇒ Object
- .generate_preferences_action(application) ⇒ Object
- .generate_quit_action(application) ⇒ Object
- .generate_reload_css_config_action(application) ⇒ Object
- .generate_shortcuts_action(application) ⇒ Object
- .generate_term_copy_action(application) ⇒ Object
- .generate_term_paste_action(application) ⇒ Object
Class Method Details
.add_action_to(name, application) ⇒ Object
28 29 30 31 32 33 |
# File 'lib/actions.rb', line 28 def self.add_action_to(name, application) method_name = "generate_#{name}_action".to_sym return false unless methods.include?(method_name) action = method(method_name).call(application) application.add_action(action) end |
.add_actions_to(application) ⇒ Object
94 95 96 97 98 |
# File 'lib/actions.rb', line 94 def self.add_actions_to(application) %w(quit about preferences term_copy term_paste shortcuts reload_css_config).each do |name| add_action_to(name, application) end end |
.generate_about_action(application) ⇒ Object
35 36 37 38 39 40 |
# File 'lib/actions.rb', line 35 def self.generate_about_action(application) action = generate_action("about") do |_act, _param| application.windows[0].display_about end action end |
.generate_action(name) ⇒ Object
20 21 22 23 24 25 26 |
# File 'lib/actions.rb', line 20 def self.generate_action(name) action = Gio::SimpleAction.new(name) action.signal_connect("activate") do |act, param| yield(act, param) if block_given? end action end |
.generate_preferences_action(application) ⇒ Object
42 43 44 45 46 47 48 |
# File 'lib/actions.rb', line 42 def self.generate_preferences_action(application) action = generate_action("preferences") do |_act, _param| dialog = TopinambourPreferences.new(application.windows.first) dialog.show_all end action end |
.generate_quit_action(application) ⇒ Object
50 51 52 53 54 55 |
# File 'lib/actions.rb', line 50 def self.generate_quit_action(application) action = generate_action("quit") do |_act, _param| application.quit end action end |
.generate_reload_css_config_action(application) ⇒ Object
87 88 89 90 91 92 |
# File 'lib/actions.rb', line 87 def self.generate_reload_css_config_action(application) action = generate_action("reload_css_config") do |_act, _param| application.reload_css_config end action end |
.generate_shortcuts_action(application) ⇒ Object
80 81 82 83 84 85 |
# File 'lib/actions.rb', line 80 def self.generate_shortcuts_action(application) action = generate_action("shortcuts") do |_act, _param| application.windows[0].show_shortcuts end action end |
.generate_term_copy_action(application) ⇒ Object
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
# File 'lib/actions.rb', line 57 def self.generate_term_copy_action(application) action = generate_action("term_copy") do |_act, _param| term = application.windows[0].terminal event = Gtk.current_event _match, regex_type = term.match_check_event(event) if term.has_selection? || regex_type == -1 term.copy_clipboard else clipboard = Gtk::Clipboard.get_default(Gdk::Display.default) clipboard.text = term.last_match unless term.last_match.nil? end end action end |
.generate_term_paste_action(application) ⇒ Object
73 74 75 76 77 78 |
# File 'lib/actions.rb', line 73 def self.generate_term_paste_action(application) action = generate_action("term_paste") do |_act, _param| application.windows[0].terminal.paste_clipboard end action end |