rcv 0.0.4 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -7,6 +7,5 @@ bin/rcv
7
7
  lib/rcv.rb
8
8
  lib/rcv/config.rb
9
9
  lib/rcv/reader.rb
10
- lib/rcv/version.rb
11
10
  test/test_helper.rb
12
11
  test/test_rcv.rb
data/README.txt CHANGED
@@ -13,8 +13,8 @@ Ruby's
13
13
 
14
14
  == Usage:
15
15
 
16
- rcv zipfile
17
- rcv
16
+ $ rcv zipfile
17
+ $ rcv
18
18
 
19
19
  == Shortcut key:
20
20
 
@@ -23,6 +23,7 @@ right : Next Image
23
23
  left : Prev Image
24
24
  s : Save bookmark
25
25
  b : Load bookmark
26
+ l : Bookmark List
26
27
 
27
28
  Copyright (c) 2008 Kazuki Uchida <gioext at gmail.com>
28
29
 
data/bin/rcv CHANGED
@@ -30,18 +30,24 @@ module RCV
30
30
  show_all
31
31
  end
32
32
 
33
- def read(file)
33
+ def read(file, b = false)
34
34
  @filename = file
35
- if file
35
+ if file && File.exist?(@filename)
36
36
  @reader = RCV::Reader.new(file)
37
37
  @reader.read
38
+ if b
39
+ state = RCV::Config.bookmark @filename
40
+ if state && @reader
41
+ @reader.state = state
42
+ end
43
+ end
38
44
  print @reader.next_image
39
45
  end
40
46
  end
41
47
 
42
- def close
43
- @reader.close if @reader
44
- end
48
+ # def close
49
+ # @reader.close if @reader
50
+ # end
45
51
 
46
52
  def on_key_press_event(sender, e)
47
53
  case e.keyval
@@ -55,6 +61,8 @@ module RCV
55
61
  on_press_s
56
62
  when Gdk::Keyval::GDK_b
57
63
  on_press_b
64
+ when Gdk::Keyval::GDK_l
65
+ on_press_l
58
66
  end
59
67
  end
60
68
 
@@ -67,13 +75,17 @@ module RCV
67
75
  end
68
76
 
69
77
  def on_press_o
70
- dialog = Gtk::FileChooserDialog.new("Open File",
71
- self,
72
- Gtk::FileChooser::ACTION_OPEN,
73
- nil,
74
- [Gtk::Stock::CANCEL, Gtk::Dialog::RESPONSE_CANCEL],
75
- [Gtk::Stock::OPEN, Gtk::Dialog::RESPONSE_ACCEPT])
78
+ dialog = Gtk::FileChooserDialog.new(
79
+ "Open File",
80
+ self,
81
+ Gtk::FileChooser::ACTION_OPEN,
82
+ nil,
83
+ [Gtk::Stock::CANCEL, Gtk::Dialog::RESPONSE_CANCEL],
84
+ [Gtk::Stock::OPEN, Gtk::Dialog::RESPONSE_ACCEPT])
76
85
  dialog.current_folder = ENV["HOME"] || "./"
86
+ filter = Gtk::FileFilter.new
87
+ filter.add_pattern("*.zip")
88
+ dialog.add_filter(filter)
77
89
  if dialog.run == Gtk::Dialog::RESPONSE_ACCEPT
78
90
  read dialog.filename
79
91
  end
@@ -92,21 +104,9 @@ module RCV
92
104
  end
93
105
  end
94
106
 
95
- # ubuntu bug? PixbufLoader(jpg file)
96
- def get_pixbuf(stream)
97
- if stream
98
- # @buf = Gdk::Pixbuf.new(temp)
99
- loader = Gdk::PixbufLoader.new
100
- loader.last_write(stream)
101
- @buf = loader.pixbuf
102
- end
103
- end
104
-
105
- def print stream
106
- if stream
107
- get_pixbuf stream
108
- @drawing_area.signal_emit("expose_event", nil)
109
- end
107
+ def on_press_l
108
+ w = BookmarkWindow.new { |path| read path, true }
109
+ w.show_all
110
110
  end
111
111
 
112
112
  def on_drawing_area_expose(sender, e)
@@ -137,6 +137,70 @@ module RCV
137
137
  context.paint
138
138
  GC.start
139
139
  end
140
+
141
+ # ubuntu7.10 bug? PixbufLoader(jpg file)
142
+ def print stream
143
+ return unless stream
144
+ loader = Gdk::PixbufLoader.new
145
+ loader.last_write(stream)
146
+ @buf = loader.pixbuf
147
+ @drawing_area.signal_emit("expose_event", nil)
148
+ end
149
+ end
150
+
151
+ class BookmarkWindow < Gtk::Window
152
+ def initialize(&block)
153
+ super("Bookmark")
154
+ @openblock = block
155
+ @view = Gtk::TreeView.new
156
+ @view.model = Gtk::ListStore.new(String)
157
+ renderer = Gtk::CellRendererText.new
158
+ @view.append_column(Gtk::TreeViewColumn.new("Title", renderer, :text => 0))
159
+
160
+ hbox = Gtk::HBox.new(false, 5)
161
+ button_open = Gtk::Button.new(Gtk::Stock::APPLY)
162
+ button_open.signal_connect("clicked") { |w, e| on_button_open_click }
163
+ button_del = Gtk::Button.new(Gtk::Stock::DELETE)
164
+ button_del.signal_connect("clicked") { |w, e| on_button_del_click }
165
+ hbox.pack_start(button_open, false, true, 0)
166
+ hbox.pack_start(button_del, false, true, 0)
167
+
168
+ vbox = Gtk::VBox.new(false, 5)
169
+ scrolled_window = Gtk::ScrolledWindow.new
170
+ scrolled_window.set_policy(Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC)
171
+ vbox.pack_start(scrolled_window.add(@view))
172
+ vbox.pack_start(hbox, false, true, 0)
173
+
174
+ add vbox
175
+ set_default_size(480, 320)
176
+ set_modal true
177
+ signal_connect("destroy") { destroy }
178
+ set_bookmark RCV::Config.bookmarks
179
+ end
180
+
181
+ def on_button_open_click
182
+ if @view.selection.selected
183
+ @path = @view.selection.selected[0]
184
+ @openblock.call @path
185
+ destroy
186
+ end
187
+ end
188
+ attr_reader :path
189
+
190
+ def on_button_del_click
191
+ return unless @view.selection.selected
192
+ bm = RCV::Config.delete_bookmark(@view.selection.selected[0])
193
+ set_bookmark bm
194
+ end
195
+
196
+ def set_bookmark(bm)
197
+ return unless bm
198
+ @view.model.clear
199
+ bm.each do |k, v|
200
+ row = @view.model.append
201
+ row[0] = k
202
+ end
203
+ end
140
204
  end
141
205
  end
142
206
 
@@ -150,8 +214,9 @@ end
150
214
 
151
215
  begin
152
216
  ui = RCV::GtkWindow.new
153
- ui.read ARGV[0]
217
+ ui.read File.expand_path(ARGV[0]) if ARGV[0]
154
218
  Gtk.main
155
219
  rescue
156
- ui.close
220
+ puts $@
221
+ #ui.close
157
222
  end
data/lib/rcv.rb CHANGED
@@ -7,7 +7,7 @@ $:.unshift(File.dirname(__FILE__)) unless
7
7
  $:.include?(File.dirname(__FILE__)) || $:.include?(File.expand_path(File.dirname(__FILE__)))
8
8
 
9
9
  module RCV
10
- VERSION = [0, 0, 4]
10
+ VERSION = [0, 0, 5]
11
11
 
12
12
  def self.version
13
13
  VERSION.join(".")
@@ -10,26 +10,35 @@ module RCV
10
10
  class << self
11
11
  def bookmark=(hash)
12
12
  FileUtils.mkpath(CONF_DIR) unless File.exist?(CONF_DIR)
13
- bm = bookmark_all
13
+ bm = bookmarks
14
14
  hash.update(bm) { |k, v| v } if bm
15
- open(BOOKMARK_PATH, "w") do |f|
16
- f.write hash.to_yaml
17
- end
15
+ write_bookmark hash
18
16
  end
19
17
 
20
18
  def bookmark(key = nil)
21
- bm = bookmark_all
19
+ bm = bookmarks
22
20
  bm[key] if bm && bm.key?(key)
23
21
  end
24
22
 
23
+ def delete_bookmark(key)
24
+ hash = bookmarks.reject { |k, v| k == key }
25
+ write_bookmark hash
26
+ hash
27
+ end
28
+
25
29
  def clear_bookmark
26
30
  File.open(BOOKMARK_PATH, "w").close
27
31
  end
28
32
 
29
- private
30
- def bookmark_all
33
+ def bookmarks
31
34
  YAML.load(File.read(BOOKMARK_PATH)) if File.exist?(BOOKMARK_PATH)
32
35
  end
36
+
37
+ def write_bookmark(hash)
38
+ open(BOOKMARK_PATH, "w") do |f|
39
+ f.write hash.to_yaml
40
+ end
41
+ end
33
42
  end
34
43
  end
35
44
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rcv
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kazuki Uchida
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-04-26 00:00:00 +09:00
12
+ date: 2008-04-27 00:00:00 +09:00
13
13
  default_executable:
14
14
  dependencies: []
15
15
 
@@ -35,7 +35,6 @@ files:
35
35
  - lib/rcv.rb
36
36
  - lib/rcv/config.rb
37
37
  - lib/rcv/reader.rb
38
- - lib/rcv/version.rb
39
38
  - test/test_helper.rb
40
39
  - test/test_rcv.rb
41
40
  has_rdoc: true
@@ -1,9 +0,0 @@
1
- module Rcv #:nodoc:
2
- module VERSION #:nodoc:
3
- MAJOR = 0
4
- MINOR = 0
5
- TINY = 1
6
-
7
- STRING = [MAJOR, MINOR, TINY].join('.')
8
- end
9
- end