gtk3 3.0.9-x86-mingw32 → 3.1.0-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (66) hide show
  1. checksums.yaml +4 -4
  2. data/ext/gtk3/rb-gtk3-private.h +1 -0
  3. data/ext/gtk3/rb-gtk3-spin-button.c +85 -0
  4. data/ext/gtk3/rb-gtk3.c +3 -0
  5. data/lib/2.2/gtk3.so +0 -0
  6. data/lib/2.3/gtk3.so +0 -0
  7. data/lib/gtk3/deprecated.rb +0 -8
  8. data/lib/gtk3/loader.rb +1 -7
  9. data/lib/gtk3/tree-model.rb +2 -0
  10. data/sample/gtk-demo/TODO +10 -10
  11. data/sample/gtk-demo/assistant.rb +44 -39
  12. data/sample/gtk-demo/builder.rb +71 -50
  13. data/sample/gtk-demo/button_box.rb +39 -28
  14. data/sample/gtk-demo/clipboard.rb +139 -46
  15. data/sample/gtk-demo/colorsel.rb +50 -36
  16. data/sample/gtk-demo/css_accordion.rb +18 -17
  17. data/sample/gtk-demo/css_basics.rb +60 -47
  18. data/sample/gtk-demo/css_multiplebgs.rb +92 -71
  19. data/sample/gtk-demo/css_pixbufs.rb +61 -48
  20. data/sample/gtk-demo/css_shadows.rb +63 -50
  21. data/sample/gtk-demo/cursors.rb +95 -64
  22. data/sample/gtk-demo/dialog.rb +95 -78
  23. data/sample/gtk-demo/drawingarea.rb +138 -171
  24. data/sample/gtk-demo/editable_cells.rb +169 -130
  25. data/sample/gtk-demo/entry_buffer.rb +15 -13
  26. data/sample/gtk-demo/entry_completion.rb +22 -17
  27. data/sample/gtk-demo/expander.rb +39 -31
  28. data/sample/gtk-demo/filtermodel.rb +67 -63
  29. data/sample/gtk-demo/font_features.rb +91 -60
  30. data/sample/gtk-demo/glarea.rb +277 -0
  31. data/sample/gtk-demo/headerbar.rb +17 -15
  32. data/sample/gtk-demo/hypertext.rb +146 -167
  33. data/sample/gtk-demo/iconview.rb +132 -91
  34. data/sample/gtk-demo/iconview_edit.rb +49 -38
  35. data/sample/gtk-demo/infobar.rb +81 -62
  36. data/sample/gtk-demo/links.rb +35 -30
  37. data/sample/gtk-demo/list_store.rb +169 -114
  38. data/sample/gtk-demo/listbox.rb +183 -0
  39. data/sample/gtk-demo/main.rb +32 -21
  40. data/sample/gtk-demo/markup.rb +65 -52
  41. data/sample/gtk-demo/menus.rb +57 -58
  42. data/sample/gtk-demo/modelbutton.rb +11 -9
  43. data/sample/gtk-demo/modelbutton.ui +3 -0
  44. data/sample/gtk-demo/overlay.rb +39 -32
  45. data/sample/gtk-demo/overlay2.rb +68 -54
  46. data/sample/gtk-demo/panes.rb +56 -68
  47. data/sample/gtk-demo/pickers.rb +46 -45
  48. data/sample/gtk-demo/pixbufs.rb +27 -25
  49. data/sample/gtk-demo/popover.rb +70 -63
  50. data/sample/gtk-demo/printing.rb +94 -69
  51. data/sample/gtk-demo/revealer.rb +46 -38
  52. data/sample/gtk-demo/rotated_text.rb +75 -54
  53. data/sample/gtk-demo/scale.rb +10 -8
  54. data/sample/gtk-demo/search_entry.rb +195 -0
  55. data/sample/gtk-demo/search_entry2.rb +71 -59
  56. data/sample/gtk-demo/sidebar.rb +20 -19
  57. data/sample/gtk-demo/sizegroup.rb +36 -35
  58. data/sample/gtk-demo/spinbutton.rb +128 -0
  59. data/sample/gtk-demo/spinner.rb +55 -40
  60. data/sample/gtk-demo/stack.rb +11 -8
  61. data/sample/gtk-demo/textmask.rb +14 -13
  62. data/sample/gtk-demo/textscroll.rb +16 -12
  63. data/sample/gtk-demo/theming_style_classes.rb +14 -12
  64. data/sample/gtk-demo/transparent.rb +17 -13
  65. data/sample/misc/treemodelfilter.rb +1 -1
  66. metadata +24 -19
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d8bbf34cf117cf1b1f63de5be79495831206293e
4
- data.tar.gz: 530e7aea2c8bfc7bab0a942fa9a411143515430b
3
+ metadata.gz: faa9b493246cd2f9ea50ab8fe5a26ede57f490dc
4
+ data.tar.gz: 5639099d11f28aa716b8f2c185926909fd9c4109
5
5
  SHA512:
6
- metadata.gz: 20259c9b35859a0a4db3ad0ebd53a06a49c0aef22ae8d540bcd263cf6e1ac7a1a1b05b4be43728e176ba1b6173dfcec05a5d589e33f695fde23cb6bf391fedd2
7
- data.tar.gz: 61f5cff44a8f4261624ac1b0fb09b0c614b525a2b95e809554dc9facff99a9901c716caebd9ce91b3a84e70cc568a029b918471f3a15e8616bed1c8c52080f1a
6
+ metadata.gz: 75b4d60f148cb299a56b2a275e89bfe83c6439b5f13582e734de85f48fe1092866e33598698a8f22437a8787cf553aa46e3647a4df1b5ed4ff9560863833f281
7
+ data.tar.gz: 908fd820ef02f8d5002979e84f9bcc40dc5a79e3523b167af26047d39d5513687031025bf880b951b3ecd6506088ecafb2eebfd0105be6a532a496054ba0e0f7
@@ -28,6 +28,7 @@ G_GNUC_INTERNAL void rbgtk3_initialize(VALUE self);
28
28
 
29
29
  G_GNUC_INTERNAL void rbgtk3_cell_layout_init(void);
30
30
  G_GNUC_INTERNAL void rbgtk3_container_init(void);
31
+ G_GNUC_INTERNAL void rbgtk3_spin_button_init(void);
31
32
  G_GNUC_INTERNAL void rbgtk3_tree_model_init(void);
32
33
  G_GNUC_INTERNAL void rbgtk3_tree_view_init(void);
33
34
  G_GNUC_INTERNAL void rbgtk3_widget_init(void);
@@ -0,0 +1,85 @@
1
+ /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
+ /*
3
+ * Copyright (C) 2016 Ruby-GNOME2 Project Team
4
+ *
5
+ * This library is free software; you can redistribute it and/or
6
+ * modify it under the terms of the GNU Lesser General Public
7
+ * License as published by the Free Software Foundation; either
8
+ * version 2.1 of the License, or (at your option) any later version.
9
+ *
10
+ * This library is distributed in the hope that it will be useful,
11
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
+ * Lesser General Public License for more details.
14
+ *
15
+ * You should have received a copy of the GNU Lesser General Public
16
+ * License along with this library; if not, write to the Free Software
17
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
18
+ * MA 02110-1301 USA
19
+ */
20
+
21
+ #include "rb-gtk3-private.h"
22
+
23
+ typedef struct {
24
+ RGClosureCallData *data;
25
+ VALUE args;
26
+ double *new_value;
27
+ } InputData;
28
+
29
+ static VALUE
30
+ rb_gtk3_spin_button_input_body(VALUE user_data)
31
+ {
32
+ InputData *input_data = (InputData *)user_data;
33
+ VALUE new_value;
34
+
35
+ new_value = rb_apply(input_data->data->callback,
36
+ rb_intern("call"),
37
+ input_data->args);
38
+ if (NIL_P(new_value)) {
39
+ g_value_set_int(input_data->data->return_value, FALSE);
40
+ } else {
41
+ g_value_set_int(input_data->data->return_value, TRUE);
42
+ *(input_data->new_value) = NUM2DBL(new_value);
43
+ }
44
+
45
+ return Qnil;
46
+ }
47
+
48
+ static VALUE
49
+ rb_gtk3_spin_button_input_rescue(VALUE user_data)
50
+ {
51
+ InputData *input_data = (InputData *)user_data;
52
+ g_value_set_int(input_data->data->return_value, GTK_INPUT_ERROR);
53
+ return Qnil;
54
+ }
55
+
56
+ static void
57
+ rb_gtk3_spin_button_input(RGClosureCallData *data)
58
+ {
59
+ InputData input_data;
60
+ VALUE args;
61
+
62
+ args = rb_ary_new_from_args(1, GVAL2RVAL(&(data->param_values[0])));
63
+ if (!NIL_P(data->extra_args)) {
64
+ rb_ary_concat(args, data->extra_args);
65
+ }
66
+ input_data.data = data;
67
+ input_data.args = args;
68
+ input_data.new_value = g_value_get_pointer(&(data->param_values[1]));
69
+ rb_rescue(rb_gtk3_spin_button_input_body, (VALUE)&input_data,
70
+ rb_gtk3_spin_button_input_rescue, (VALUE)&input_data);
71
+ }
72
+
73
+ void
74
+ rbgtk3_spin_button_init(void)
75
+ {
76
+ VALUE mGtk;
77
+ VALUE RG_TARGET_NAMESPACE;
78
+
79
+ mGtk = rb_const_get(rb_cObject, rb_intern("Gtk"));
80
+ RG_TARGET_NAMESPACE = rb_const_get(mGtk, rb_intern("SpinButton"));
81
+
82
+ rbgobj_set_signal_call_func(RG_TARGET_NAMESPACE,
83
+ "input",
84
+ rb_gtk3_spin_button_input);
85
+ }
@@ -19,6 +19,7 @@
19
19
  */
20
20
 
21
21
  #include "rb-gtk3-private.h"
22
+ #include <locale.h>
22
23
 
23
24
  static ID id_call;
24
25
  static VALUE cGdkAtom;
@@ -634,9 +635,11 @@ Init_gtk3(void)
634
635
 
635
636
  rbgtk3_cell_layout_init();
636
637
  rbgtk3_container_init();
638
+ rbgtk3_spin_button_init();
637
639
  rbgtk3_tree_model_init();
638
640
  rbgtk3_tree_view_init();
639
641
  rbgtk3_widget_init();
640
642
 
641
643
  rbgobj_boxed_not_copy_obj(GTK_TYPE_SELECTION_DATA);
644
+ setlocale(LC_NUMERIC, "C");
642
645
  }
Binary file
Binary file
@@ -711,14 +711,6 @@ module Gtk
711
711
  alias :update_policy= :set_update_policy
712
712
  end
713
713
 
714
- module RC
715
- extend GLib::Deprecatable
716
- define_deprecated_const :Flags, "Gtk::RCFlags"
717
- define_deprecated_flags :RCFlags
718
- define_deprecated_const :TokenType, "Gtk::RCTokenType"
719
- define_deprecated_enums :RCTokenType, 'TOKEN'
720
- end
721
-
722
714
  class RecentAction
723
715
  extend GLib::Deprecatable
724
716
  define_deprecated_method_by_hash_args :initialize,
@@ -35,7 +35,7 @@ module Gtk
35
35
  arguments = [
36
36
  [$0] + @init_arguments,
37
37
  ]
38
- succeeded, argv = init_check.invoke(:arguments => arguments)
38
+ succeeded, argv = init_check.invoke(arguments)
39
39
  @init_arguments.replace(argv[1..-1])
40
40
  raise InitError, "failed to initialize GTK+" unless succeeded
41
41
  end
@@ -401,12 +401,6 @@ module Gtk
401
401
  end
402
402
  end
403
403
 
404
- def initialize_post(object)
405
- super
406
- return unless object.is_a?(GLib::Object)
407
- self.class.reference_gobject(object, :sink => true)
408
- end
409
-
410
404
  def setup_pending_constants
411
405
  @pending_constants = []
412
406
  end
@@ -105,6 +105,8 @@ module Gtk
105
105
  (@column_types ||= {})[index] ||= get_column_type_raw(index)
106
106
  end
107
107
 
108
+ alias_method :create_filter, :filter_new
109
+
108
110
  private
109
111
  def setup_iter(iter)
110
112
  iter.model = self
@@ -10,7 +10,7 @@ assistant.c ok ok
10
10
  builder.c ok ok
11
11
  button_box.c ok ok
12
12
  changedisplay.c ok no
13
- clipboard.c ok no
13
+ clipboard.c ok ok
14
14
  colorsel.c ok ok
15
15
  combobox.c no no
16
16
  css_accordion.c ok ok
@@ -20,8 +20,8 @@ css_pixbufs.c ok ok
20
20
  css_shadows.c ok ok
21
21
  cursors.c ok ok
22
22
  dialog.c ok ok
23
- drawingarea.c ok no
24
- editable_cells.c ok no
23
+ drawingarea.c ok ok
24
+ editable_cells.c ok ok
25
25
  entry_buffer.c ok ok
26
26
  entry_completion.c ok ok
27
27
  event_axes.c no no
@@ -31,16 +31,16 @@ flowbox.c no no
31
31
  font_features.c ok ok
32
32
  foreigndrawing no no
33
33
  gestures.c no no
34
- glarea.c no no
34
+ glarea.c ok ok
35
35
  headerbar.c ok ok
36
- hypertext.c ok no
37
- iconview.c ok no
36
+ hypertext.c ok ok
37
+ iconview.c ok ok
38
38
  iconview_edit.c ok ok
39
39
  images.c ok no
40
40
  infobar.c ok ok
41
41
  links.c ok ok
42
- listbox.c no no
43
- list_store.c ok no
42
+ listbox.c ok ok
43
+ list_store.c ok ok
44
44
  markup.c ok ok
45
45
  menus.c ok ok
46
46
  modelbutton.c ok ok
@@ -56,12 +56,12 @@ printing.c ok ok
56
56
  revealer.c ok ok
57
57
  rotated_text.c ok ok
58
58
  scale.c ok ok
59
- search_entry.c no no
59
+ search_entry.c ok ok
60
60
  search_entry2.c ok ok
61
61
  shortcuts.c no no
62
62
  sidebar.c ok ok
63
63
  sizegroup.c ok ok
64
- spinbutton.c no no
64
+ spinbutton.c ok ok
65
65
  spinner.c ok ok
66
66
  stack.c ok ok
67
67
  textmask.c ok ok
@@ -8,21 +8,21 @@
8
8
  an operation into several simpler sequential steps, and to guide the user
9
9
  through these steps.
10
10
  =end
11
- module AssistantDemo
12
- def self.run_demo(main_window)
13
- assistant = Gtk::Assistant.new
14
- assistant.screen = main_window.screen
11
+ class AssistantDemo
12
+ def initialize(main_window)
13
+ @assistant = Gtk::Assistant.new
14
+ @assistant.screen = main_window.screen
15
15
 
16
- create_page1(assistant)
17
- create_page2(assistant)
18
- create_page3(assistant)
19
- progress_bar = create_page4(assistant)
16
+ create_page1
17
+ create_page2
18
+ create_page3
19
+ progress_bar = create_page4
20
20
 
21
- assistant.signal_connect("cancel", &:destroy)
21
+ @assistant.signal_connect("cancel", &:destroy)
22
22
 
23
- assistant.signal_connect("close", &:destroy)
23
+ @assistant.signal_connect("close", &:destroy)
24
24
 
25
- assistant.signal_connect "apply" do |widget|
25
+ @assistant.signal_connect "apply" do |widget|
26
26
  GLib::Timeout.add(100) do
27
27
  fraction = progress_bar.fraction + 0.05
28
28
  if fraction < 1.0
@@ -34,7 +34,7 @@ module AssistantDemo
34
34
  end
35
35
  end
36
36
 
37
- assistant.signal_connect "prepare" do |widget, _page|
37
+ @assistant.signal_connect "prepare" do |widget, _page|
38
38
  current_page = widget.current_page
39
39
  n_pages = widget.n_pages
40
40
 
@@ -42,16 +42,20 @@ module AssistantDemo
42
42
 
43
43
  widget.commit if current_page == 3
44
44
  end
45
+ end
45
46
 
46
- if !assistant.visible?
47
- assistant.show_all
47
+ def run
48
+ if !@assistant.visible?
49
+ @assistant.show_all
48
50
  else
49
- assistant.destroy
51
+ @assistant.destroy
50
52
  end
51
- assistant
53
+ @assistant
52
54
  end
53
55
 
54
- def self.create_page1(assistant)
56
+ private
57
+
58
+ def create_page1
55
59
  box = Gtk::Box.new(:horizontal, 12)
56
60
  box.border_width = 12
57
61
 
@@ -64,23 +68,23 @@ module AssistantDemo
64
68
  box.pack_start(entry, :expand => true, :fill => true, :padding => 0)
65
69
 
66
70
  entry.signal_connect "changed" do |widget|
67
- page_number = assistant.current_page
68
- current_page = assistant.get_nth_page(page_number)
71
+ page_number = @assistant.current_page
72
+ current_page = @assistant.get_nth_page(page_number)
69
73
 
70
74
  if widget.text
71
- assistant.set_page_complete(current_page, true)
75
+ @assistant.set_page_complete(current_page, true)
72
76
  else
73
- assistant.set_page_complete(current_page, false)
77
+ @assistant.set_page_complete(current_page, false)
74
78
  end
75
79
  end
76
80
 
77
81
  box.show_all
78
- assistant.append_page(box)
79
- assistant.set_page_title(box, "Page 1")
80
- assistant.set_page_type(box, :intro)
82
+ @assistant.append_page(box)
83
+ @assistant.set_page_title(box, "Page 1")
84
+ @assistant.set_page_type(box, :intro)
81
85
  end
82
86
 
83
- def self.create_page2(assistant)
87
+ def create_page2
84
88
  box = Gtk::Box.new(:horizontal, 12)
85
89
  box.border_width = 12
86
90
 
@@ -91,34 +95,35 @@ LABEL
91
95
  box.pack_start(checkbutton, :expand => false, :fill => false, :padding => 0)
92
96
 
93
97
  box.show_all
94
- assistant.append_page(box)
95
- assistant.set_page_complete(box, true)
96
- assistant.set_page_title(box, "Page 1")
98
+ @assistant.append_page(box)
99
+ @assistant.set_page_complete(box, true)
100
+ @assistant.set_page_title(box, "Page 1")
97
101
  end
98
102
 
99
- def self.create_page3(assistant)
100
- label = Gtk::Label.new("This is a confirmation page, press 'Apply' to apply changes")
103
+ def create_page3
104
+ message = "This is a confirmation page, press 'Apply' to apply changes"
105
+ label = Gtk::Label.new(message)
101
106
  label.show
102
107
 
103
- assistant.append_page(label)
104
- assistant.set_page_type(label, :confirm)
105
- assistant.set_page_complete(label, true)
106
- assistant.set_page_title(label, "Confirmation")
108
+ @assistant.append_page(label)
109
+ @assistant.set_page_type(label, :confirm)
110
+ @assistant.set_page_complete(label, true)
111
+ @assistant.set_page_title(label, "Confirmation")
107
112
  end
108
113
 
109
- def self.create_page4(assistant)
114
+ def create_page4
110
115
  progress_bar = Gtk::ProgressBar.new
111
116
  progress_bar.halign = :center
112
117
  progress_bar.valign = :center
113
118
 
114
119
  progress_bar.show
115
- assistant.append_page(progress_bar)
116
- assistant.set_page_type(progress_bar, :progress)
117
- assistant.set_page_title(progress_bar, "Applying changes")
120
+ @assistant.append_page(progress_bar)
121
+ @assistant.set_page_type(progress_bar, :progress)
122
+ @assistant.set_page_title(progress_bar, "Applying changes")
118
123
 
119
124
  # This prevents the assistant window from being
120
125
  # closed while we're "busy" applying changes.
121
- assistant.set_page_complete(progress_bar, false)
126
+ @assistant.set_page_complete(progress_bar, false)
122
127
  progress_bar
123
128
  end
124
129
  end
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2015 Ruby-GNOME2 Project Team
1
+ # Copyright (c) 2015-2016 Ruby-GNOME2 Project Team
2
2
  # This program is licenced under the same licence as Ruby-GNOME2.
3
3
  #
4
4
  =begin
@@ -6,83 +6,104 @@
6
6
 
7
7
  Demonstrates an interface loaded from a XML description.
8
8
  =end
9
- module BuilderDemo
10
- def self.run_demo(_main_window)
11
- builder = Gtk::Builder.new(:resource => "/builder/demo.ui")
12
- builder.connect_signals {}
9
+ class BuilderDemo
10
+ def initialize(_main_window)
11
+ @builder = Gtk::Builder.new(:resource => "/builder/demo.ui")
12
+ @builder.connect_signals {}
13
13
 
14
- window = builder["window1"]
15
- toolbar = builder["toolbar1"]
14
+ @window = @builder["window1"]
15
+ toolbar = @builder["toolbar1"]
16
16
  toolbar.style_context.add_class("primary-toolbar")
17
17
 
18
+
19
+ add_actions
20
+ add_accelerators
21
+ end
22
+
23
+ def run
24
+ if !@window.visible?
25
+ @window.show_all
26
+ else
27
+ @window.destroy
28
+ end
29
+ @window
30
+ end
31
+
32
+ private
33
+
34
+ def add_actions
18
35
  actions = Gio::SimpleActionGroup.new
36
+ actions.add_action(quit_action)
37
+ actions.add_action(about_action)
38
+ actions.add_action(help_action)
39
+ @window.insert_action_group("win", actions)
40
+ end
19
41
 
42
+ def quit_action
20
43
  action = Gio::SimpleAction.new("quit")
21
44
  action.signal_connect "activate" do |_simple_action, _parameter|
22
- window.destroy
45
+ @window.destroy
23
46
  end
24
- actions.add_action(action)
47
+ action
48
+ end
25
49
 
50
+ def about_action
26
51
  action = Gio::SimpleAction.new("about")
27
- actions.add_action(action)
28
52
  action.signal_connect "activate" do |_simple_action, _parameter|
29
- about_dlg = builder["aboutdialog1"]
53
+ about_dlg = @builder["aboutdialog1"]
30
54
  about_dlg.run
31
55
  about_dlg.hide
32
56
  end
57
+ action
58
+ end
33
59
 
60
+ def help_action
34
61
  action = Gio::SimpleAction.new("help")
35
- actions.add_action(action)
36
62
  action.signal_connect "activate" do |_simple_action, _parameter|
37
63
  puts "Help not available"
38
64
  end
65
+ action
66
+ end
39
67
 
40
- window.insert_action_group("win", actions)
41
-
68
+ def add_accelerators
42
69
  accel_group = Gtk::AccelGroup.new
43
- window.add_accel_group(accel_group)
44
70
 
45
- builder["new_item"].add_accelerator("activate", accel_group,
46
- Gdk::Keyval::KEY_n,
47
- Gdk::ModifierType::CONTROL_MASK,
48
- Gtk::AccelFlags::VISIBLE)
49
- builder["open_item"].add_accelerator("activate", accel_group,
50
- Gdk::Keyval::KEY_o,
51
- Gdk::ModifierType::CONTROL_MASK,
52
- Gtk::AccelFlags::VISIBLE)
53
- builder["save_item"].add_accelerator("activate", accel_group,
54
- Gdk::Keyval::KEY_s,
55
- Gdk::ModifierType::CONTROL_MASK,
56
- Gtk::AccelFlags::VISIBLE)
57
- builder["quit_item"].add_accelerator("activate", accel_group,
58
- Gdk::Keyval::KEY_q,
71
+ @builder["new_item"].add_accelerator("activate", accel_group,
72
+ Gdk::Keyval::KEY_n,
59
73
  Gdk::ModifierType::CONTROL_MASK,
60
74
  Gtk::AccelFlags::VISIBLE)
61
- builder["copy_item"].add_accelerator("activate", accel_group,
62
- Gdk::Keyval::KEY_c,
63
- Gdk::ModifierType::CONTROL_MASK,
64
- Gtk::AccelFlags::VISIBLE)
65
- builder["cut_item"].add_accelerator("activate", accel_group,
66
- Gdk::Keyval::KEY_x,
67
- Gdk::ModifierType::CONTROL_MASK,
68
- Gtk::AccelFlags::VISIBLE)
69
- builder["paste_item"].add_accelerator("activate", accel_group,
70
- Gdk::Keyval::KEY_v,
75
+ @builder["open_item"].add_accelerator("activate", accel_group,
76
+ Gdk::Keyval::KEY_o,
77
+ Gdk::ModifierType::CONTROL_MASK,
78
+ Gtk::AccelFlags::VISIBLE)
79
+ @builder["save_item"].add_accelerator("activate", accel_group,
80
+ Gdk::Keyval::KEY_s,
71
81
  Gdk::ModifierType::CONTROL_MASK,
72
82
  Gtk::AccelFlags::VISIBLE)
73
- builder["help_item"].add_accelerator("activate", accel_group,
74
- Gdk::Keyval::KEY_F1,
75
- 0,
83
+ @builder["quit_item"].add_accelerator("activate", accel_group,
84
+ Gdk::Keyval::KEY_q,
85
+ Gdk::ModifierType::CONTROL_MASK,
86
+ Gtk::AccelFlags::VISIBLE)
87
+ @builder["copy_item"].add_accelerator("activate", accel_group,
88
+ Gdk::Keyval::KEY_c,
89
+ Gdk::ModifierType::CONTROL_MASK,
90
+ Gtk::AccelFlags::VISIBLE)
91
+ @builder["cut_item"].add_accelerator("activate", accel_group,
92
+ Gdk::Keyval::KEY_x,
93
+ Gdk::ModifierType::CONTROL_MASK,
76
94
  Gtk::AccelFlags::VISIBLE)
77
- builder["about_item"].add_accelerator("activate", accel_group,
78
- Gdk::Keyval::KEY_F7,
95
+ @builder["paste_item"].add_accelerator("activate", accel_group,
96
+ Gdk::Keyval::KEY_v,
97
+ Gdk::ModifierType::CONTROL_MASK,
98
+ Gtk::AccelFlags::VISIBLE)
99
+ @builder["help_item"].add_accelerator("activate", accel_group,
100
+ Gdk::Keyval::KEY_F1,
79
101
  0,
80
102
  Gtk::AccelFlags::VISIBLE)
81
- if !window.visible?
82
- window.show_all
83
- else
84
- window.destroy
85
- end
86
- window
103
+ @builder["about_item"].add_accelerator("activate", accel_group,
104
+ Gdk::Keyval::KEY_F7,
105
+ 0,
106
+ Gtk::AccelFlags::VISIBLE)
107
+ @window.add_accel_group(accel_group)
87
108
  end
88
109
  end