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.
- data/Manifest.txt +0 -1
- data/README.txt +3 -2
- data/bin/rcv +93 -28
- data/lib/rcv.rb +1 -1
- data/lib/rcv/config.rb +16 -7
- metadata +2 -3
- data/lib/rcv/version.rb +0 -9
data/Manifest.txt
CHANGED
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
|
-
|
43
|
-
|
44
|
-
|
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(
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
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
|
-
|
96
|
-
|
97
|
-
|
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
|
-
|
220
|
+
puts $@
|
221
|
+
#ui.close
|
157
222
|
end
|
data/lib/rcv.rb
CHANGED
data/lib/rcv/config.rb
CHANGED
@@ -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 =
|
13
|
+
bm = bookmarks
|
14
14
|
hash.update(bm) { |k, v| v } if bm
|
15
|
-
|
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 =
|
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
|
-
|
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
|
+
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-
|
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
|