Piggy 0.5.0.0 → 0.5.1.2
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/CHANGES.txt +31 -0
- data/README.txt +3 -5
- data/lib/icons/gallery.jpg +0 -0
- data/lib/piggy-core/album.rb +8 -0
- data/lib/piggy-core/exifr_adapter.rb +10 -2
- data/lib/piggy-core/file_info.rb +6 -1
- data/lib/piggy-core/options.rb +21 -3
- data/lib/piggy-core/rmagick_thumbnail_page_generator.rb +8 -7
- data/lib/piggy-core/thumbnail_generator.rb +1 -1
- data/lib/piggy-core/thumbnail_page_generator.rb +12 -4
- data/lib/piggy-core/version.rb +2 -2
- data/lib/piggy-gui/directory_diff_widget.rb +12 -8
- data/lib/piggy-gui/filtered_file_list.rb +6 -1
- data/lib/piggy-gui/ftp_browser_widget.rb +4 -3
- data/lib/piggy-gui/html_generation_dialog.rb +2 -0
- data/lib/piggy-gui/html_options_widget.rb +27 -4
- data/lib/piggy-gui/image_processor.rb +3 -2
- data/lib/piggy-gui/options_dialog.rb +52 -13
- data/lib/piggy-gui/piggy_image_browser.rb +134 -15
- data/lib/templates/PiggyFX.jar +0 -0
- data/lib/templates/PiggyFX.jnlp +2 -2
- data/lib/templates/PiggyFX_browser.jnlp +2 -2
- data/lib/templates/javafx.htm +2 -2
- data/lib/templates/slideshow.htm +12 -3
- data/lib/templates/slideshow.js +5 -0
- data/lib/templates/styles/candle/kerze-160x213.png +0 -0
- data/lib/templates/styles/candle/style.css +73 -0
- data/lib/templates/styles/cappuccinoheart/cappuccino-300x225.png +0 -0
- data/lib/templates/styles/cappuccinoheart/cappuccinoheart-80x81.png +0 -0
- data/lib/templates/styles/cappuccinoheart/style.css +81 -0
- data/lib/templates/styles/feuerzangenbowle/feuerzangenbowle.jpg +0 -0
- data/lib/templates/styles/feuerzangenbowle/sh.png +0 -0
- data/lib/templates/styles/feuerzangenbowle/style.css +79 -0
- data/lib/templates/styles/glitterballs/christbaum-detail.png +0 -0
- data/lib/templates/styles/glitterballs/christbaumkugel-120x155-multi.png +0 -0
- data/lib/templates/styles/glitterballs/christbaumkugel-120x155.png +0 -0
- data/lib/templates/styles/glitterballs/style.css +86 -0
- data/lib/templates/styles/qualle/qualle.jpg +0 -0
- data/lib/templates/styles/qualle/style.css +73 -0
- data/lib/templates/styles/snow/sitzgruppe-im-schnee-300x225.png +0 -0
- data/lib/templates/styles/snow/style.css +76 -0
- data/lib/templates/styles/snowman/snowman.png +0 -0
- data/lib/templates/styles/snowman/style.css +73 -0
- data/lib/templates/styles/snowwoman/snowwomen.png +0 -0
- data/lib/templates/styles/snowwoman/style.css +73 -0
- data/lib/templates/styles/sylvester/fireworks.png +0 -0
- data/lib/templates/styles/sylvester/gluecksklee-375x500.png +0 -0
- data/lib/templates/styles/sylvester/style.css +7 -9
- data/lib/templates/styles/sylvester/wunderkerze.gif +0 -0
- metadata +64 -33
- data/lib/templates/styles/sylvester/wunderkerze.jpg +0 -0
data/CHANGES.txt
CHANGED
@@ -1,3 +1,34 @@
|
|
1
|
+
Changes in 0.5.1-2
|
2
|
+
- Save/load album list with comment and rotations
|
3
|
+
- Separate width option for widescreen images
|
4
|
+
(ignored when image processing is done by nconvert)
|
5
|
+
- Slideshow startable from any image page
|
6
|
+
- Bugfix: JavaFX version info in about dialog
|
7
|
+
- New style: snowwoman
|
8
|
+
- New style: cappuccinoheart
|
9
|
+
|
10
|
+
Changes in 0.5.1-1
|
11
|
+
- Bugfix: browsers located in C:\Program Files (x86)\...
|
12
|
+
- Logging times
|
13
|
+
- New style: glitter balls
|
14
|
+
- New style: snowman
|
15
|
+
- New style: candle
|
16
|
+
- New style: snow
|
17
|
+
Changes in 0.5.1-0
|
18
|
+
- Sort by time of photo creation before generation
|
19
|
+
(includes workaround for missing time information)
|
20
|
+
- Support different naming patterns (different cameras)
|
21
|
+
- Added slideshow version info
|
22
|
+
- Updated to JavaFX 1.3
|
23
|
+
- Revert to using doubleclick for directory changes
|
24
|
+
- Bugfix: Encoding error for rotation info
|
25
|
+
- Bugfix: Exception in FTP-browser (sending #mtime to nil)
|
26
|
+
- Bugfix: Open file dialog (fxruby api change)
|
27
|
+
- Bugfix: Directories with special characters (in FTP browser)
|
28
|
+
- New style "qualle"
|
29
|
+
- New style "feuerzangenbowle"
|
30
|
+
- Completed options dialog
|
31
|
+
|
1
32
|
Changes in 0.5.0-0
|
2
33
|
- Ftp: Abort upload
|
3
34
|
- Ftp: Delete directories (if empty)
|
data/README.txt
CHANGED
@@ -19,9 +19,8 @@ Piggy uses exif metainfo to guess initial rotations and comments.
|
|
19
19
|
Limitations
|
20
20
|
-----------
|
21
21
|
|
22
|
-
Piggy is currently developed under Windows
|
23
|
-
|
24
|
-
It is not tested on Mac.
|
22
|
+
Piggy is currently developed under Windows 7.
|
23
|
+
It is not properly tested on other platforms
|
25
24
|
|
26
25
|
Piggy is not meant as general purpose tool for image manipulations:
|
27
26
|
- Image rotation reduces the quality of the image
|
@@ -36,7 +35,6 @@ for more information on this topic.)
|
|
36
35
|
|
37
36
|
Piggy output optionally contains Javascript and Java FX Script.
|
38
37
|
Note that JavaFX is relatively new technology with several bugs.
|
39
|
-
|
40
|
-
down the opera process.
|
38
|
+
|
41
39
|
|
42
40
|
|
Binary file
|
@@ -17,7 +17,10 @@ class ExifrAdapter
|
|
17
17
|
def comment
|
18
18
|
return '' unless @exif
|
19
19
|
c = @exif.comment.class == String ? @exif.comment : @exif.comment.to_s
|
20
|
-
|
20
|
+
c = c.gsub(/\0/, '')
|
21
|
+
# m = @exif.make.class == String ? @exif.make : @exif.make.to_s
|
22
|
+
# m = m.gsub(/\0/, '')
|
23
|
+
# return "#{c} Made with #{m}"
|
21
24
|
end
|
22
25
|
|
23
26
|
def to_s
|
@@ -27,7 +30,7 @@ class ExifrAdapter
|
|
27
30
|
desc += "\twidth: #{@exif.width.to_s}\n"
|
28
31
|
desc += "\tbits: #{@exif.bits.to_s}\n"
|
29
32
|
if @exif.comment.class == String
|
30
|
-
desc += "\tcomment: #{
|
33
|
+
desc += "\tcomment: #{comment}\n"
|
31
34
|
elsif @exif.comment.class == Array
|
32
35
|
desc += "\tcomments: "
|
33
36
|
@exif.comment.each { |c|
|
@@ -50,6 +53,11 @@ class ExifrAdapter
|
|
50
53
|
return image_mock.degree
|
51
54
|
end
|
52
55
|
|
56
|
+
def date_time
|
57
|
+
return nil unless exif?
|
58
|
+
@exif.date_time_original
|
59
|
+
end
|
60
|
+
|
53
61
|
def width
|
54
62
|
exif? ? @exif.width : 0
|
55
63
|
end
|
data/lib/piggy-core/file_info.rb
CHANGED
@@ -126,15 +126,20 @@ class FileInfo < FileName
|
|
126
126
|
end
|
127
127
|
|
128
128
|
class CommentedFile < FileInfo
|
129
|
-
attr_accessor(:comment, :rotation, :width, :height)
|
129
|
+
attr_accessor(:comment, :rotation, :width, :height, :date_time)
|
130
130
|
|
131
131
|
def initialize(the_name, the_path = '', the_comment = '')
|
132
132
|
super(the_name, the_path)
|
133
133
|
@comment = the_comment
|
134
|
+
@date_time = nil
|
134
135
|
@rotation = 0
|
135
136
|
@width = 0
|
136
137
|
@height = 0
|
137
138
|
end
|
139
|
+
|
140
|
+
def time
|
141
|
+
@date_time.nil? ? @ctime : @date_time
|
142
|
+
end
|
138
143
|
|
139
144
|
def rotate?
|
140
145
|
@rotation && @rotation != 0
|
data/lib/piggy-core/options.rb
CHANGED
@@ -7,7 +7,8 @@ require 'piggy-core/winshell'
|
|
7
7
|
class PiggyOptions
|
8
8
|
attr_accessor(:usePreview, :useLog,
|
9
9
|
:thumbWidth, :thumbHeight, :imageWidth, :imageHeight,
|
10
|
-
:
|
10
|
+
:widescreenWidth,
|
11
|
+
:generateFramePage, :useTable, :sortOrder,
|
11
12
|
:localDestinationPath, :remoteDestinationPath,
|
12
13
|
:ftpUser, :ftpHost, :ftpHasLocaltime,
|
13
14
|
:ftpConnectionTimeout, :ftpTransferTimeout,
|
@@ -16,14 +17,18 @@ class PiggyOptions
|
|
16
17
|
:slideshowDelay,
|
17
18
|
:style, :stylesSample, :skipImageProcessing,
|
18
19
|
:browser,
|
19
|
-
:excludeFilters,
|
20
|
+
:useExifComments, :excludeFilters, :namingPatterns,
|
20
21
|
:debug)
|
21
22
|
|
22
23
|
# possible values for @image_processor
|
23
24
|
ProcessorNconvert = 'nconvert'
|
24
25
|
ProcessorFxruby = 'fxruby'
|
25
26
|
ProcessorRmagick = 'rmagick'
|
26
|
-
|
27
|
+
|
28
|
+
# possible values for @sort_order
|
29
|
+
SortByTime = 'time'
|
30
|
+
SortByName = 'name'
|
31
|
+
|
27
32
|
def initialize
|
28
33
|
@usePreview = nil
|
29
34
|
@useLog = nil
|
@@ -32,6 +37,7 @@ class PiggyOptions
|
|
32
37
|
@thumbWidth = nil
|
33
38
|
@thumbHeight = nil
|
34
39
|
@imageWidth = nil
|
40
|
+
@widescreenWidth = nil
|
35
41
|
@imageHeight = nil
|
36
42
|
@generateFramePage = nil
|
37
43
|
@useTable = nil
|
@@ -51,7 +57,10 @@ class PiggyOptions
|
|
51
57
|
@debug = nil
|
52
58
|
@browser = nil
|
53
59
|
@stylesSample = nil
|
60
|
+
@useExifComments = nil
|
54
61
|
@excludeFilters = nil
|
62
|
+
@namingPatterns = nil
|
63
|
+
@sortOrder = nil
|
55
64
|
initialize_nils_with_default
|
56
65
|
end
|
57
66
|
|
@@ -67,6 +76,7 @@ class PiggyOptions
|
|
67
76
|
@thumbWidth = 100 if @thumbWidth.nil?
|
68
77
|
@thumbHeight = 100 if @thumbHeight.nil?
|
69
78
|
@imageWidth = 600 if @imageWidth.nil?
|
79
|
+
@widescreenWidth = 700 if @widescreenWidth.nil?
|
70
80
|
@imageHeight = 520 if @imageHeight.nil?
|
71
81
|
@generateFramePage = false if @generateFramePage.nil?
|
72
82
|
@useTable = generateFramePage? if @uosPathseTable.nil?
|
@@ -86,7 +96,10 @@ class PiggyOptions
|
|
86
96
|
@debug = false if @debug.nil?
|
87
97
|
@browser = '' if @browser.nil?
|
88
98
|
@stylesSample = false if @stylesSample.nil?
|
99
|
+
@useExifComments = false if @useExifComments.nil?
|
89
100
|
@excludeFilters = ['~$', '#$', '^\.'] if @excludeFilters.nil?
|
101
|
+
@namingPatterns = ['IMG_.*', 'DSC.*'] if @namingPatterns.nil?
|
102
|
+
@sortOrder = SortByName if @sortOrder.nil?
|
90
103
|
end
|
91
104
|
|
92
105
|
def use_fxruby!
|
@@ -116,6 +129,10 @@ class PiggyOptions
|
|
116
129
|
def browser?
|
117
130
|
!@browser.nil? && !@browser.empty?
|
118
131
|
end
|
132
|
+
|
133
|
+
def sort_by_time?
|
134
|
+
@sortOrder == SortByTime
|
135
|
+
end
|
119
136
|
|
120
137
|
alias :usePreview? :usePreview
|
121
138
|
alias :useLog? :useLog
|
@@ -129,5 +146,6 @@ class PiggyOptions
|
|
129
146
|
alias :debug? :debug
|
130
147
|
alias :stylesSample? :stylesSample
|
131
148
|
alias :initializeNilsWithDefault :initialize_nils_with_default
|
149
|
+
alias :useExifComments? :useExifComments
|
132
150
|
end
|
133
151
|
|
@@ -2,16 +2,17 @@ require 'RMagick'
|
|
2
2
|
|
3
3
|
class RmagickThumbnailPageGenerator < ThumbnailPageGenerator
|
4
4
|
|
5
|
-
def resize_file(file_info, width, height, prefix)
|
5
|
+
def resize_file(file_info, widescreen_width, width, height, prefix)
|
6
6
|
img = Magick::Image.read(file_info.name_with_path)[0]
|
7
|
+
if(file_info.rotate?)
|
8
|
+
img = img.rotate!(file_info.rotation)
|
9
|
+
end
|
7
10
|
img_width = img.columns.to_f
|
8
11
|
img_height = img.rows.to_f
|
9
|
-
|
12
|
+
used_width = (img_height > 0 and img_width/img_height > 1.6) ? widescreen_width : width
|
13
|
+
scale_x = img_width > used_width ? used_width/img_width : 1
|
10
14
|
scale_y = img_height > height ? height/img_height : 1
|
11
15
|
scale = scale_x < scale_y ? scale_x : scale_y
|
12
|
-
if(file_info.rotate?)
|
13
|
-
img = img.rotate!(file_info.rotation)
|
14
|
-
end
|
15
16
|
img = img.resize!(scale)
|
16
17
|
img.write(File.join(imageOutputPath,prefix + file_info.name))
|
17
18
|
end
|
@@ -23,8 +24,8 @@ class RmagickThumbnailPageGenerator < ThumbnailPageGenerator
|
|
23
24
|
@inputFilenames.each {
|
24
25
|
|info|
|
25
26
|
progress.set_progress(info.name, 1)
|
26
|
-
resize_file(info, @options.thumbWidth, @options.thumbHeight, 't_')
|
27
|
-
resize_file(info, @options.imageWidth, @options.imageHeight, '')
|
27
|
+
resize_file(info, @options.thumbWidth, @options.thumbWidth, @options.thumbHeight, 't_')
|
28
|
+
resize_file(info, @options.widescreenWidth, @options.imageWidth, @options.imageHeight, '')
|
28
29
|
}
|
29
30
|
end
|
30
31
|
end
|
@@ -40,7 +40,7 @@ class ThumbnailGenerator
|
|
40
40
|
if(info.rotate?)
|
41
41
|
@imageProcessor.rotate_image(img, info.rotation)
|
42
42
|
end
|
43
|
-
@imageProcessor.fit_image(img, @options.imageWidth, @options.imageHeight)
|
43
|
+
@imageProcessor.fit_image(img, @options.imageWidth, @options.imageHeight, 1, @options.widescreenWidth)
|
44
44
|
@imageProcessor.save_image(img, outname_big(inputFile))
|
45
45
|
@imageProcessor.fit_image(img, @options.thumbWidth, @options.thumbHeight)
|
46
46
|
@imageProcessor.save_image(img, outname_small(inputFile))
|
@@ -113,7 +113,7 @@ class ThumbnailPageGenerator < HtmlGenerator
|
|
113
113
|
def main_index_with_path
|
114
114
|
return main_index_path + sep + indexName
|
115
115
|
end
|
116
|
-
|
116
|
+
|
117
117
|
def get_backlink_string
|
118
118
|
@options.generateFramePage? ? back + subDir + HtmlExt : indexName
|
119
119
|
end
|
@@ -189,6 +189,13 @@ class ThumbnailPageGenerator < HtmlGenerator
|
|
189
189
|
add('overview')
|
190
190
|
}
|
191
191
|
}
|
192
|
+
if(@options.addSlideshow?)
|
193
|
+
span {
|
194
|
+
a({"HREF" => escape_html(SlideshowName + HtmlExt + "?" + image_name(currentInfo)) }) {
|
195
|
+
add('slideshow')
|
196
|
+
}
|
197
|
+
}
|
198
|
+
end
|
192
199
|
span {
|
193
200
|
a({"HREF" => escape_html(succ) + HtmlExt}) {
|
194
201
|
add(i == max_ind ? 'first' : 'next')
|
@@ -240,7 +247,8 @@ class ThumbnailPageGenerator < HtmlGenerator
|
|
240
247
|
tag('layout', {}) {
|
241
248
|
add("<imageSize width=\"#{@options.imageWidth}\" height=\"#{@options.imageHeight}\"/>")
|
242
249
|
}
|
243
|
-
end
|
244
250
|
end
|
251
|
+
end
|
252
|
+
end
|
245
253
|
write_file(File.join(imageOutputPath, 'config.xml'), get_page)
|
246
254
|
end
|
247
255
|
|
@@ -256,7 +264,7 @@ class ThumbnailPageGenerator < HtmlGenerator
|
|
256
264
|
fp.print(")\n")
|
257
265
|
}
|
258
266
|
unless @inputFilenames.empty?
|
259
|
-
update_slideshow_template(
|
267
|
+
update_slideshow_template(@inputFilenames[1])
|
260
268
|
end
|
261
269
|
end
|
262
270
|
|
@@ -273,7 +281,7 @@ class ThumbnailPageGenerator < HtmlGenerator
|
|
273
281
|
backlink = "href=\"#{get_backlink_string}\""
|
274
282
|
File.open(file, 'w') { |fp|
|
275
283
|
lines.each { |line|
|
276
|
-
line = line.gsub('PLACEHOLDER_FOR_IMAGE_NAME', imageFile)
|
284
|
+
line = line.gsub('PLACEHOLDER_FOR_IMAGE_NAME', image_name(imageFile))
|
277
285
|
line = line.gsub('href="index.htm"', backlink)
|
278
286
|
fp.print(line)
|
279
287
|
}
|
data/lib/piggy-core/version.rb
CHANGED
@@ -4,10 +4,10 @@
|
|
4
4
|
# Provide release information for Piggy.
|
5
5
|
module PiggyVersion
|
6
6
|
def PiggyVersion.version_string
|
7
|
-
'0.5.
|
7
|
+
'0.5.1-2'
|
8
8
|
end
|
9
9
|
def PiggyVersion.copyright_string
|
10
|
-
'Copyright (C)
|
10
|
+
'Copyright (C) 2010 Sascha D�rdelmann'
|
11
11
|
end
|
12
12
|
def PiggyVersion.development_status
|
13
13
|
'beta'
|
@@ -198,11 +198,11 @@ class DirectoryDiffWidget < Fox::FXScrollWindow
|
|
198
198
|
|
199
199
|
def dir_changed(side)
|
200
200
|
if(side == 'right')
|
201
|
-
set_right_path(@rightPathField.getText)
|
201
|
+
set_right_path(ruby_path(@rightPathField.getText))
|
202
202
|
update_right_list
|
203
203
|
update_status_icons
|
204
204
|
else
|
205
|
-
set_left_path(@leftPathField.getText)
|
205
|
+
set_left_path(ruby_path(@leftPathField.getText))
|
206
206
|
update_left_list
|
207
207
|
update_status_icons
|
208
208
|
end
|
@@ -228,12 +228,16 @@ class DirectoryDiffWidget < Fox::FXScrollWindow
|
|
228
228
|
method(:on_menu_right_list))
|
229
229
|
end
|
230
230
|
|
231
|
-
def
|
231
|
+
def fox_path(ruby_path)
|
232
232
|
ruby_2_fox(WinShell.instance.os_path(ruby_path))
|
233
233
|
end
|
234
|
+
|
235
|
+
def ruby_path(fox_path)
|
236
|
+
WinShell.instance.ruby_path(fox_2_ruby(fox_path))
|
237
|
+
end
|
234
238
|
|
235
239
|
def set_defaults
|
236
|
-
p =
|
240
|
+
p = fox_path(@options.localDestinationPath)
|
237
241
|
@rightPathField.setText(@options.localDestinationPath)
|
238
242
|
@leftPathField.setText(@options.localDestinationPath)
|
239
243
|
end
|
@@ -246,7 +250,7 @@ class DirectoryDiffWidget < Fox::FXScrollWindow
|
|
246
250
|
|
247
251
|
def set_right_path(p)
|
248
252
|
@options.localDestinationPath = FilePath.intern_path(p)
|
249
|
-
@rightPathField.setText(p)
|
253
|
+
@rightPathField.setText(fox_path(p))
|
250
254
|
end
|
251
255
|
|
252
256
|
def left_path
|
@@ -254,7 +258,7 @@ class DirectoryDiffWidget < Fox::FXScrollWindow
|
|
254
258
|
end
|
255
259
|
|
256
260
|
def set_left_path(p)
|
257
|
-
@leftPathField.setText(p)
|
261
|
+
@leftPathField.setText(fox_path(p))
|
258
262
|
end
|
259
263
|
|
260
264
|
def selection_in_list(list)
|
@@ -389,7 +393,7 @@ class DirectoryDiffWidget < Fox::FXScrollWindow
|
|
389
393
|
end
|
390
394
|
|
391
395
|
def on_doubleclick_left_file_list(sender, sel, index)
|
392
|
-
file_or_folder = @leftFileList.getItemText(index)
|
396
|
+
file_or_folder = ruby_path(@leftFileList.getItemText(index))
|
393
397
|
file = file_or_folder.split(Regexp.compile("\t"))[0]
|
394
398
|
info = @leftContents[file]
|
395
399
|
return false unless info && info.directory?
|
@@ -401,7 +405,7 @@ class DirectoryDiffWidget < Fox::FXScrollWindow
|
|
401
405
|
end
|
402
406
|
|
403
407
|
def on_doubleclick_right_file_list(sender, sel, index)
|
404
|
-
file_or_folder = @rightFileList.getItemText(index)
|
408
|
+
file_or_folder = ruby_path(@rightFileList.getItemText(index))
|
405
409
|
file = file_or_folder.split(Regexp.compile("\t"))[0]
|
406
410
|
info = @rightContents[file]
|
407
411
|
return false unless info && info.directory?
|
@@ -83,10 +83,15 @@ class FilteredFileList < Fox::FXFileList
|
|
83
83
|
end
|
84
84
|
return selected_files
|
85
85
|
end
|
86
|
-
|
86
|
+
|
87
|
+
def choose(file)
|
88
|
+
@chosenFiles.add(@shell.os_path(file))
|
89
|
+
end
|
90
|
+
|
87
91
|
def add_selected_files
|
88
92
|
get_selected_image_files(true, 'add').each { |file|
|
89
93
|
@chosenFiles.add(file)
|
94
|
+
puts(file)
|
90
95
|
}
|
91
96
|
end
|
92
97
|
|
@@ -162,7 +162,7 @@ class FtpBrowserWidget < DirectoryDiffWidget
|
|
162
162
|
def set_defaults
|
163
163
|
@serverField.setText(ruby_2_fox(@options.ftpHost))
|
164
164
|
@userField.setText(ruby_2_fox(@options.ftpUser))
|
165
|
-
@rightPathField.setText(
|
165
|
+
@rightPathField.setText(fox_path(@options.localDestinationPath))
|
166
166
|
@leftPathField.setText(ruby_2_fox(@options.remoteDestinationPath))
|
167
167
|
end
|
168
168
|
|
@@ -220,7 +220,7 @@ class FtpBrowserWidget < DirectoryDiffWidget
|
|
220
220
|
icon = if myInfo.directory?
|
221
221
|
otherInfo ? @dirIcon : @moveRightDirIcon
|
222
222
|
else
|
223
|
-
if otherInfo
|
223
|
+
if otherInfo and otherInfo.mtime
|
224
224
|
otherInfo.mtime < myInfo.mtime ? @newerFileIcon : @fileIcon
|
225
225
|
else
|
226
226
|
@moveRightFileIcon
|
@@ -284,7 +284,8 @@ class FtpBrowserWidget < DirectoryDiffWidget
|
|
284
284
|
update_list(@ftpAdapter.nlst, @leftFileList, @leftContents) do
|
285
285
|
|file, path|
|
286
286
|
@ftpAdapter.info(file, path)
|
287
|
-
end
|
288
287
|
end
|
288
|
+
end
|
289
|
+
end
|
289
290
|
|
290
291
|
def update_ftp_list
|
291
292
|
ftp_do {} # every ftp action includes an update :-)
|
@@ -29,11 +29,13 @@ class HtmlGenerationDialog < ModalDialog
|
|
29
29
|
labels = Array.new
|
30
30
|
labels.push(FXLabel.new(contents, "Title:"))
|
31
31
|
@titleField = FXTextField.new(contents, 32)
|
32
|
+
@titleField.setText("Styles sample") if(@options.stylesSample?)
|
32
33
|
@titleField.connect(SEL_COMMAND) { |sender, sel, new_txt|
|
33
34
|
on_title_changed(fox_2_ruby(new_txt)) if (new_txt)
|
34
35
|
}
|
35
36
|
labels.push(FXLabel.new(contents, "Subdirectory:"))
|
36
37
|
@subdirField = FXTextField.new(contents, 32)
|
38
|
+
@subdirField.setText("basic") if(@options.stylesSample?)
|
37
39
|
labels.each { |label| label.setLayoutHints LAYOUT_CENTER_Y }
|
38
40
|
contents.init_gui
|
39
41
|
add_ok_cancel_buttons_to(frame)
|