summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md2
-rw-r--r--lib/postrunner/ActivitiesDB.rb2
-rw-r--r--lib/postrunner/ActivityListView.rb51
-rw-r--r--lib/postrunner/Main.rb8
-rw-r--r--lib/postrunner/ViewWidgets.rb32
-rw-r--r--misc/icons/back.pngbin0 -> 1207 bytes
-rw-r--r--misc/icons/back.svg68
-rw-r--r--misc/icons/first.pngbin0 -> 1211 bytes
-rw-r--r--misc/icons/first.svg64
-rw-r--r--misc/icons/forward.pngbin0 -> 1220 bytes
-rw-r--r--misc/icons/forward.svg64
-rw-r--r--misc/icons/home.pngbin0 -> 1197 bytes
-rw-r--r--misc/icons/home.svg64
-rw-r--r--misc/icons/last.pngbin0 -> 1209 bytes
-rw-r--r--misc/icons/last.svg64
-rw-r--r--misc/icons/lgpl-3.0.txt165
-rw-r--r--spec/PostRunner_spec.rb6
17 files changed, 570 insertions, 20 deletions
diff --git a/README.md b/README.md
index ab6269c..5938d3b 100644
--- a/README.md
+++ b/README.md
@@ -108,5 +108,5 @@ under different OSI compatible terms.
* flot: MIT License
* jquery: MIT License
* openlayers: 2 clause BSD license
-
+* Oxygen Icons: GNU LGPLv3 (https://techbase.kde.org/Projects/Oxygen/Licensing)
diff --git a/lib/postrunner/ActivitiesDB.rb b/lib/postrunner/ActivitiesDB.rb
index fd26e13..6dd3593 100644
--- a/lib/postrunner/ActivitiesDB.rb
+++ b/lib/postrunner/ActivitiesDB.rb
@@ -189,6 +189,7 @@ module PostRunner
# Show the activity list in a web browser.
def show_list_in_browser
+ #ActivityListView.new(self).update_html_index
show_in_browser(File.join(@html_dir, 'index.html'))
end
@@ -229,6 +230,7 @@ module PostRunner
create_directory(@fit_dir, 'fit')
create_directory(@html_dir, 'html')
+ create_symlink('icons')
create_symlink('jquery')
create_symlink('flot')
create_symlink('openlayers')
diff --git a/lib/postrunner/ActivityListView.rb b/lib/postrunner/ActivityListView.rb
index 40728b1..5a37c26 100644
--- a/lib/postrunner/ActivityListView.rb
+++ b/lib/postrunner/ActivityListView.rb
@@ -42,17 +42,16 @@ module PostRunner
def initialize(db)
@db = db
+ @page_size = 20
+ @page_no = -1
+ @last_page = (@db.activities.length - 1) / @page_size
end
def update_html_index
- doc = HTMLBuilder.new
-
- doc.html {
- head(doc)
- body(doc)
- }
-
- write_file(doc)
+ 0.upto(@last_page) do |page_no|
+ @page_no = page_no
+ generate_html_index_page
+ end
end
def to_html(doc)
@@ -65,6 +64,17 @@ module PostRunner
private
+ def generate_html_index_page
+ doc = HTMLBuilder.new
+
+ doc.html {
+ head(doc)
+ body(doc)
+ }
+
+ write_file(doc)
+ end
+
def head(doc)
doc.head {
doc.meta({ 'http-equiv' => 'Content-Type',
@@ -90,13 +100,26 @@ body {
.activity_link {
padding: 0px 3px 0px 3px;
}
+.ft_cell {
+ height: 30px
+}
EOT
)
end
def body(doc)
doc.body {
- titlebar(doc)
+ first_page = @page_no == 0 ? nil: 'index.html'
+ prev_page = @page_no == 0 ? nil :
+ @page_no == 1 ? 'index.html' :
+ "index#{@page_no - 1}.html"
+ prev_page = @page_no == 0 ? nil :
+ @page_no == 1 ? 'index.html' :
+ "index#{@page_no - 1}.html"
+ next_page = @page_no < @last_page ? "index#{@page_no + 1}.html" : nil
+ last_page = @page_no == @last_page ? nil : "index#{@last_page}.html"
+ titlebar(doc, first_page, prev_page, nil, next_page, last_page)
+
doc.div({ :class => 'main' }) {
frame(doc, 'Activities') {
generate_table.to_html(doc)
@@ -107,7 +130,7 @@ EOT
end
def generate_table
- i = 0
+ i = @page_no * @page_size
t = FlexiTable.new
t.head
t.row(%w( Ref. Activity Start Distance Duration Pace ),
@@ -120,7 +143,10 @@ EOT
{ :halign => :right }
])
t.body
- @db.activities.each do |a|
+ activities = @page_no == -1 ? @db.activities :
+ @db.activities[(@page_no * @page_size)..
+ ((@page_no + 1) * @page_size - 1)]
+ activities.each do |a|
t.row([
i += 1,
ActivityLink.new(a),
@@ -134,7 +160,8 @@ EOT
end
def write_file(doc)
- output_file = File.join(@db.html_dir, 'index.html')
+ output_file = File.join(@db.html_dir,
+ "index#{@page_no == 0 ? '' : @page_no}.html")
begin
File.write(output_file, doc.to_html)
rescue IOError
diff --git a/lib/postrunner/Main.rb b/lib/postrunner/Main.rb
index bd21a17..a2e6d11 100644
--- a/lib/postrunner/Main.rb
+++ b/lib/postrunner/Main.rb
@@ -180,6 +180,11 @@ EOT
process_files([ @cfg.get_option(:import_dir) ], :import)
else
process_files(args, :import)
+ if args.length == 1 && Dir.exists?(args[0])
+ # If only one directory was specified as argument we store the
+ # directory for future use.
+ @cfg.set_option(:import_dir, args[0])
+ end
end
when 'list'
@activities.list
@@ -247,9 +252,6 @@ EOT
process_file(fod, command)
end
end
- if command == :import
- @cfg.set_option(:import_dir, File.dirname(files_or_dirs[-1]))
- end
end
def process_file(file, command)
diff --git a/lib/postrunner/ViewWidgets.rb b/lib/postrunner/ViewWidgets.rb
index 05e5455..6533418 100644
--- a/lib/postrunner/ViewWidgets.rb
+++ b/lib/postrunner/ViewWidgets.rb
@@ -23,12 +23,24 @@ module PostRunner
background: linear-gradient(#7FA1FF 0, #002EAC 50px);
}
.title {
+ float: left;
font-size: 24pt;
font-style: italic;
font-weight: bold;
color: #F8F8F8;
padding: 3px 30px;
}
+.navigator {
+ float: right;
+ padding: 3px 30px;
+}
+.active_button {
+ padding: 5px;
+}
+.inactive_button {
+ padding: 5px;
+ opacity: 0.4;
+}
.widget_frame {
box-sizing: border-box;
width: 600px;
@@ -94,13 +106,31 @@ EOT
}
end
- def titlebar(doc)
+ def titlebar(doc, first_page = nil, prev_page = nil, home_page = nil,
+ next_page = nil, last_page = nil)
# The top title bar.
doc.div({ :class => 'titlebar' }) {
doc.div('PostRunner', { :class => 'title' })
+ doc.div({ :class => 'navigator' }) {
+ button(doc, first_page, 'first.png')
+ button(doc, prev_page, 'back.png')
+ button(doc, home_page, 'home.png')
+ button(doc, next_page, 'forward.png')
+ button(doc, last_page, 'last.png')
+ }
}
end
+ def button(doc, link, icon)
+ if link
+ doc.a({ :href => link }) {
+ doc.img({ :src => "icons/#{icon}", :class => 'active_button' })
+ }
+ else
+ doc.img({ :src => "icons/#{icon}", :class => 'inactive_button' })
+ end
+ end
+
def footer(doc)
doc.div({ :class => 'footer' }){
doc.hr
diff --git a/misc/icons/back.png b/misc/icons/back.png
new file mode 100644
index 0000000..644d3e2
--- /dev/null
+++ b/misc/icons/back.png
Binary files differ
diff --git a/misc/icons/back.svg b/misc/icons/back.svg
new file mode 100644
index 0000000..920ac8f
--- /dev/null
+++ b/misc/icons/back.svg
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://web.resource.org/cc/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="128" height="128" id="svg3186" sodipodi:version="0.32" inkscape:version="0.45" version="1.0" sodipodi:docname="player_fwd.svg" sodipodi:docbase="/home/david/Progetti/sandbox" inkscape:output_extension="org.inkscape.output.svg.inkscape" sodipodi:modified="true">
+ <defs id="defs3188">
+ <radialGradient gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.6667,0,0,0.7574,20.7214,14.064)" r="40.0294" cy="59.1865" cx="53.1978" id="radialGradient3163">
+ <stop id="stop3165" style="stop-color:#000000;stop-opacity:1;" offset="0"/>
+ <stop id="stop3175" style="stop-color:#666666;stop-opacity:1;" offset="1"/>
+ </radialGradient>
+ <linearGradient id="XMLID_9_" gradientUnits="userSpaceOnUse" x1="11.9487" y1="34" x2="104.0518" y2="34" gradientTransform="translate(559.14286,-264.28571)">
+ <stop offset="0" style="stop-color:#FFFFFF" id="stop56"/>
+ <stop offset="0.80000001" style="stop-color:#ffffff;stop-opacity:0;" id="stop58"/>
+ </linearGradient>
+ <radialGradient id="XMLID_8_" cx="53.1978" cy="59.1865" r="40.0294" gradientTransform="matrix(0.6667,0,0,0.7574,20.7214,14.064)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#323232" id="stop41"/>
+ <stop offset="0.2083" style="stop-color:#363636" id="stop43"/>
+ <stop offset="0.4278" style="stop-color:#434343" id="stop45"/>
+ <stop offset="0.6526" style="stop-color:#585858" id="stop47"/>
+ <stop offset="0.8796" style="stop-color:#757575" id="stop49"/>
+ <stop offset="1" style="stop-color:#888888" id="stop51"/>
+ </radialGradient>
+ <radialGradient id="XMLID_7_" cx="58" cy="58" r="48" gradientUnits="userSpaceOnUse" gradientTransform="translate(559.14286,-264.28571)">
+ <stop offset="0" style="stop-color:#FFFFFF" id="stop26"/>
+ <stop offset="0.574" style="stop-color:#FFFFFF" id="stop28"/>
+ <stop offset="0.6842" style="stop-color:#FBFBFB" id="stop30"/>
+ <stop offset="0.8001" style="stop-color:#EEEEEE" id="stop32"/>
+ <stop offset="0.9" style="stop-color:#DDDDDD" id="stop34"/>
+ <stop offset="1" style="stop-color:#BBBBBB" id="stop36"/>
+ </radialGradient>
+ <filter id="AI_Sfocatura_4">
+ <feGaussianBlur stdDeviation="4" id="feGaussianBlur6"/>
+ </filter>
+ <linearGradient id="XMLID_6_" gradientUnits="userSpaceOnUse" x1="58.0005" y1="116" x2="58.0005" y2="4.882812e-04">
+ <stop offset="0" style="stop-color:#555555" id="stop9"/>
+ <stop offset="0.2736" style="stop-color:#595959" id="stop11"/>
+ <stop offset="0.562" style="stop-color:#666666" id="stop13"/>
+ <stop offset="0.8561" style="stop-color:#7B7B7B" id="stop15"/>
+ <stop offset="1" style="stop-color:#888888" id="stop17"/>
+ </linearGradient>
+ <linearGradient inkscape:collect="always" xlink:href="#XMLID_9_" id="linearGradient3242" gradientUnits="userSpaceOnUse" gradientTransform="translate(6.0000006,6.0000006)" x1="11.9487" y1="34" x2="104.0518" y2="34"/>
+ <radialGradient inkscape:collect="always" xlink:href="#XMLID_7_" id="radialGradient3246" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.0833333,0,0,1.0833333,1.1666673,1.1666673)" cx="58" cy="58" r="48"/>
+ <linearGradient inkscape:collect="always" xlink:href="#XMLID_6_" id="linearGradient3251" gradientUnits="userSpaceOnUse" x1="58.0005" y1="116" x2="58.0005" y2="4.882812e-04"/>
+ <radialGradient inkscape:collect="always" xlink:href="#radialGradient3163" id="radialGradient3253" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.6667,0,0,0.7574,20.7214,14.064)" cx="53.1978" cy="59.186501" r="40.0294"/>
+ <radialGradient inkscape:collect="always" xlink:href="#radialGradient3163" id="radialGradient2197" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.6667,0,0,0.7574,20.7214,14.064)" cx="53.1978" cy="59.186501" r="40.0294"/>
+ <radialGradient inkscape:collect="always" xlink:href="#radialGradient3163" id="radialGradient2221" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.6667,0,0,0.7574,20.7214,14.064)" cx="53.1978" cy="59.186501" r="40.0294"/>
+ <radialGradient inkscape:collect="always" xlink:href="#radialGradient3163" id="radialGradient2223" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.6667,0,0,0.7574,20.7214,14.064)" cx="53.1978" cy="59.186501" r="40.0294"/>
+ </defs>
+ <sodipodi:namedview id="base" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" gridtolerance="10000" guidetolerance="10" objecttolerance="10" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="1" inkscape:cx="153" inkscape:cy="56.281828" inkscape:document-units="px" inkscape:current-layer="layer1" width="128px" height="128px" showgrid="true" gridspacingx="8px" gridspacingy="8px" inkscape:window-width="1018" inkscape:window-height="694" inkscape:window-x="0" inkscape:window-y="0"/>
+ <metadata id="metadata3191">
+ <rdf:RDF>
+ <cc:Work rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1">
+ <circle cx="58" cy="58" r="58" id="circle19" style="fill:url(#linearGradient3251)" sodipodi:cx="58" sodipodi:cy="58" sodipodi:rx="58" sodipodi:ry="58" transform="matrix(1.1034483,0,0,1.1034483,0,-2.8e-6)"/>
+ <g id="g21" transform="matrix(1.0833333,0,0,1.0833333,1.1666686,1.1666686)" style="filter:url(#AI_Sfocatura_4);opacity:0.8">
+ <path d="M 10,58 C 10,84.467 31.533,106 58,106 C 84.467,106 106,84.467 106,58 C 106,31.533 84.467,10 58,10 C 31.533,10 10,31.533 10,58 z " id="path23"/>
+ </g>
+ <path d="M 12,63.999999 C 12,92.672581 35.327414,116 63.999998,116 C 92.672584,116 116,92.672581 116,63.999999 C 116,35.327415 92.672584,12 63.999998,12 C 35.327414,12 12,35.327415 12,63.999999 z " id="path38" style="fill:url(#radialGradient3246)"/>
+ <g id="g2217" transform="matrix(-1,0,0,1,128,0)">
+ <polygon points="42,26 90,58 42,90 42,26 " id="polygon2195" style="fill:url(#radialGradient2221);fill-opacity:1" transform="matrix(0.6666666,0,0,1,36.000006,6)"/>
+ <polygon transform="matrix(0.5,0,0,0.75,19.000002,20.5)" style="fill:url(#radialGradient2223);fill-opacity:1" id="polygon53" points="42,26 90,58 42,90 42,26 "/>
+ </g>
+ <path d="M 63.999998,63.999999 C 81.788999,63.999999 97.967006,58.87 110.05199,50.491 C 104.19999,30.582 85.775999,16 63.999998,16 C 42.222999,16 23.798999,30.582999 17.949,50.491 C 30.032,58.87 46.209999,63.999999 63.999998,63.999999 z " id="path60" style="opacity:0.5;fill:url(#linearGradient3242)"/>
+ </g>
+</svg> \ No newline at end of file
diff --git a/misc/icons/first.png b/misc/icons/first.png
new file mode 100644
index 0000000..bcf2376
--- /dev/null
+++ b/misc/icons/first.png
Binary files differ
diff --git a/misc/icons/first.svg b/misc/icons/first.svg
new file mode 100644
index 0000000..13e76fd
--- /dev/null
+++ b/misc/icons/first.svg
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://web.resource.org/cc/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="128" height="128" id="svg3186" sodipodi:version="0.32" inkscape:version="0.45" version="1.0" sodipodi:docname="player_end.svg" sodipodi:docbase="/home/david/Progetti/sandbox" inkscape:output_extension="org.inkscape.output.svg.inkscape" sodipodi:modified="true">
+ <defs id="defs3188">
+ <radialGradient inkscape:collect="always" xlink:href="#radialGradient3163" id="radialGradient2197" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-0.263109,4.7377213e-8,1.5110247e-8,0.7519296,61.13882,12.61245)" cx="80.342453" cy="68.340897" fx="80.342453" fy="68.340897" r="40.0294"/>
+ <radialGradient gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.6667,0,0,0.7574,20.7214,14.064)" r="40.0294" cy="59.1865" cx="53.1978" id="radialGradient3163">
+ <stop id="stop3165" style="stop-color:#000000;stop-opacity:1;" offset="0"/>
+ <stop id="stop3175" style="stop-color:#666666;stop-opacity:1;" offset="1"/>
+ </radialGradient>
+ <linearGradient id="XMLID_9_" gradientUnits="userSpaceOnUse" x1="11.9487" y1="34" x2="104.0518" y2="34" gradientTransform="translate(559.14286,-264.28571)">
+ <stop offset="0" style="stop-color:#FFFFFF" id="stop56"/>
+ <stop offset="0.80000001" style="stop-color:#ffffff;stop-opacity:0;" id="stop58"/>
+ </linearGradient>
+ <radialGradient id="XMLID_8_" cx="53.1978" cy="59.1865" r="40.0294" gradientTransform="matrix(0.6667,0,0,0.7574,20.7214,14.064)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#323232" id="stop41"/>
+ <stop offset="0.2083" style="stop-color:#363636" id="stop43"/>
+ <stop offset="0.4278" style="stop-color:#434343" id="stop45"/>
+ <stop offset="0.6526" style="stop-color:#585858" id="stop47"/>
+ <stop offset="0.8796" style="stop-color:#757575" id="stop49"/>
+ <stop offset="1" style="stop-color:#888888" id="stop51"/>
+ </radialGradient>
+ <radialGradient id="XMLID_7_" cx="58" cy="58" r="48" gradientUnits="userSpaceOnUse" gradientTransform="translate(559.14286,-264.28571)">
+ <stop offset="0" style="stop-color:#FFFFFF" id="stop26"/>
+ <stop offset="0.574" style="stop-color:#FFFFFF" id="stop28"/>
+ <stop offset="0.6842" style="stop-color:#FBFBFB" id="stop30"/>
+ <stop offset="0.8001" style="stop-color:#EEEEEE" id="stop32"/>
+ <stop offset="0.9" style="stop-color:#DDDDDD" id="stop34"/>
+ <stop offset="1" style="stop-color:#BBBBBB" id="stop36"/>
+ </radialGradient>
+ <filter id="AI_Sfocatura_4">
+ <feGaussianBlur stdDeviation="4" id="feGaussianBlur6"/>
+ </filter>
+ <linearGradient id="XMLID_6_" gradientUnits="userSpaceOnUse" x1="58.0005" y1="116" x2="58.0005" y2="4.882812e-04">
+ <stop offset="0" style="stop-color:#555555" id="stop9"/>
+ <stop offset="0.2736" style="stop-color:#595959" id="stop11"/>
+ <stop offset="0.562" style="stop-color:#666666" id="stop13"/>
+ <stop offset="0.8561" style="stop-color:#7B7B7B" id="stop15"/>
+ <stop offset="1" style="stop-color:#888888" id="stop17"/>
+ </linearGradient>
+ <linearGradient inkscape:collect="always" xlink:href="#XMLID_9_" id="linearGradient3242" gradientUnits="userSpaceOnUse" gradientTransform="translate(6.0000006,6.0000006)" x1="11.9487" y1="34" x2="104.0518" y2="34"/>
+ <radialGradient inkscape:collect="always" xlink:href="#XMLID_7_" id="radialGradient3246" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.0833333,0,0,1.0833333,1.1666673,1.1666673)" cx="58" cy="58" r="48"/>
+ <linearGradient inkscape:collect="always" xlink:href="#XMLID_6_" id="linearGradient3251" gradientUnits="userSpaceOnUse" x1="58.0005" y1="116" x2="58.0005" y2="4.882812e-04"/>
+ <radialGradient inkscape:collect="always" xlink:href="#radialGradient3163" id="radialGradient3253" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.6667,0,0,0.7574,20.7214,14.064)" cx="53.1978" cy="59.186501" r="40.0294"/>
+ </defs>
+ <sodipodi:namedview id="base" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" gridtolerance="10000" guidetolerance="10" objecttolerance="10" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="2.8284271" inkscape:cx="62" inkscape:cy="44.566099" inkscape:document-units="px" inkscape:current-layer="layer1" width="128px" height="128px" showgrid="true" gridspacingx="8px" gridspacingy="8px" inkscape:window-width="792" inkscape:window-height="581" inkscape:window-x="225" inkscape:window-y="112"/>
+ <metadata id="metadata3191">
+ <rdf:RDF>
+ <cc:Work rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1">
+ <circle cx="58" cy="58" r="58" id="circle19" style="fill:url(#linearGradient3251)" sodipodi:cx="58" sodipodi:cy="58" sodipodi:rx="58" sodipodi:ry="58" transform="matrix(1.1034483,0,0,1.1034483,0,-2.8e-6)"/>
+ <g id="g21" transform="matrix(1.0833333,0,0,1.0833333,1.1666686,1.1666686)" style="filter:url(#AI_Sfocatura_4);opacity:0.8">
+ <path d="M 10,58 C 10,84.467 31.533,106 58,106 C 84.467,106 106,84.467 106,58 C 106,31.533 84.467,10 58,10 C 31.533,10 10,31.533 10,58 z " id="path23"/>
+ </g>
+ <path d="M 12,63.999999 C 12,92.672581 35.327414,116 63.999998,116 C 92.672584,116 116,92.672581 116,63.999999 C 116,35.327415 92.672584,12 63.999998,12 C 35.327414,12 12,35.327415 12,63.999999 z " id="path38" style="fill:url(#radialGradient3246)"/>
+ <polygon points="42,26 90,58 42,90 42,26 " id="polygon53" style="fill:url(#radialGradient3253);fill-opacity:1" transform="matrix(-1,0,0,1,138,6)"/>
+ <path sodipodi:nodetypes="ccccc" id="path2195" d="M 48,40 L 32,40.38871 L 32.01053,87.95798 L 47.89822,88 L 48,40 z " style="fill:url(#radialGradient2197);fill-opacity:1"/>
+ <path d="M 63.999998,63.999999 C 81.788999,63.999999 97.967006,58.87 110.05199,50.491 C 104.19999,30.582 85.775999,16 63.999998,16 C 42.222999,16 23.798999,30.582999 17.949,50.491 C 30.032,58.87 46.209999,63.999999 63.999998,63.999999 z " id="path60" style="opacity:0.5;fill:url(#linearGradient3242)"/>
+ </g>
+</svg> \ No newline at end of file
diff --git a/misc/icons/forward.png b/misc/icons/forward.png
new file mode 100644
index 0000000..51881ea
--- /dev/null
+++ b/misc/icons/forward.png
Binary files differ
diff --git a/misc/icons/forward.svg b/misc/icons/forward.svg
new file mode 100644
index 0000000..c4e8c9c
--- /dev/null
+++ b/misc/icons/forward.svg
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://web.resource.org/cc/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="128" height="128" id="svg3186" sodipodi:version="0.32" inkscape:version="0.45" version="1.0" sodipodi:docname="player_play.svg" sodipodi:docbase="/home/david/Progetti/sandbox" inkscape:output_extension="org.inkscape.output.svg.inkscape" sodipodi:modified="true">
+ <defs id="defs3188">
+ <radialGradient gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.6667,0,0,0.7574,20.7214,14.064)" r="40.0294" cy="59.1865" cx="53.1978" id="radialGradient3163">
+ <stop id="stop3165" style="stop-color:#000000;stop-opacity:1;" offset="0"/>
+ <stop id="stop3175" style="stop-color:#666666;stop-opacity:1;" offset="1"/>
+ </radialGradient>
+ <linearGradient id="XMLID_9_" gradientUnits="userSpaceOnUse" x1="11.9487" y1="34" x2="104.0518" y2="34" gradientTransform="translate(559.14286,-264.28571)">
+ <stop offset="0" style="stop-color:#FFFFFF" id="stop56"/>
+ <stop offset="0.80000001" style="stop-color:#ffffff;stop-opacity:0;" id="stop58"/>
+ </linearGradient>
+ <radialGradient id="XMLID_8_" cx="53.1978" cy="59.1865" r="40.0294" gradientTransform="matrix(0.6667,0,0,0.7574,20.7214,14.064)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#323232" id="stop41"/>
+ <stop offset="0.2083" style="stop-color:#363636" id="stop43"/>
+ <stop offset="0.4278" style="stop-color:#434343" id="stop45"/>
+ <stop offset="0.6526" style="stop-color:#585858" id="stop47"/>
+ <stop offset="0.8796" style="stop-color:#757575" id="stop49"/>
+ <stop offset="1" style="stop-color:#888888" id="stop51"/>
+ </radialGradient>
+ <radialGradient id="XMLID_7_" cx="58" cy="58" r="48" gradientUnits="userSpaceOnUse" gradientTransform="translate(559.14286,-264.28571)">
+ <stop offset="0" style="stop-color:#FFFFFF" id="stop26"/>
+ <stop offset="0.574" style="stop-color:#FFFFFF" id="stop28"/>
+ <stop offset="0.6842" style="stop-color:#FBFBFB" id="stop30"/>
+ <stop offset="0.8001" style="stop-color:#EEEEEE" id="stop32"/>
+ <stop offset="0.9" style="stop-color:#DDDDDD" id="stop34"/>
+ <stop offset="1" style="stop-color:#BBBBBB" id="stop36"/>
+ </radialGradient>
+ <filter id="AI_Sfocatura_4">
+ <feGaussianBlur stdDeviation="4" id="feGaussianBlur6"/>
+ </filter>
+ <linearGradient id="XMLID_6_" gradientUnits="userSpaceOnUse" x1="58.0005" y1="116" x2="58.0005" y2="4.882812e-04">
+ <stop offset="0" style="stop-color:#555555" id="stop9"/>
+ <stop offset="0.2736" style="stop-color:#595959" id="stop11"/>
+ <stop offset="0.562" style="stop-color:#666666" id="stop13"/>
+ <stop offset="0.8561" style="stop-color:#7B7B7B" id="stop15"/>
+ <stop offset="1" style="stop-color:#888888" id="stop17"/>
+ </linearGradient>
+ <linearGradient inkscape:collect="always" xlink:href="#XMLID_9_" id="linearGradient3242" gradientUnits="userSpaceOnUse" gradientTransform="translate(6.0000006,6.0000006)" x1="11.9487" y1="34" x2="104.0518" y2="34"/>
+ <radialGradient inkscape:collect="always" xlink:href="#XMLID_7_" id="radialGradient3246" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.0833333,0,0,1.0833333,1.1666673,1.1666673)" cx="58" cy="58" r="48"/>
+ <linearGradient inkscape:collect="always" xlink:href="#XMLID_6_" id="linearGradient3251" gradientUnits="userSpaceOnUse" x1="58.0005" y1="116" x2="58.0005" y2="4.882812e-04"/>
+ <radialGradient inkscape:collect="always" xlink:href="#radialGradient3163" id="radialGradient3253" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.6667,0,0,0.7574,20.7214,14.064)" cx="53.1978" cy="59.186501" r="40.0294"/>
+ <radialGradient inkscape:collect="always" xlink:href="#radialGradient3163" id="radialGradient2197" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.6667,0,0,0.7574,20.7214,14.064)" cx="53.1978" cy="59.186501" r="40.0294"/>
+ </defs>
+ <sodipodi:namedview id="base" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" gridtolerance="10000" guidetolerance="10" objecttolerance="10" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="1" inkscape:cx="153" inkscape:cy="56.281828" inkscape:document-units="px" inkscape:current-layer="layer1" width="128px" height="128px" showgrid="true" gridspacingx="8px" gridspacingy="8px" inkscape:window-width="1018" inkscape:window-height="694" inkscape:window-x="0" inkscape:window-y="0"/>
+ <metadata id="metadata3191">
+ <rdf:RDF>
+ <cc:Work rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1">
+ <circle cx="58" cy="58" r="58" id="circle19" style="fill:url(#linearGradient3251)" sodipodi:cx="58" sodipodi:cy="58" sodipodi:rx="58" sodipodi:ry="58" transform="matrix(1.1034483,0,0,1.1034483,0,-2.8e-6)"/>
+ <g id="g21" transform="matrix(1.0833333,0,0,1.0833333,1.1666686,1.1666686)" style="filter:url(#AI_Sfocatura_4);opacity:0.8">
+ <path d="M 10,58 C 10,84.467 31.533,106 58,106 C 84.467,106 106,84.467 106,58 C 106,31.533 84.467,10 58,10 C 31.533,10 10,31.533 10,58 z " id="path23"/>
+ </g>
+ <path d="M 12,63.999999 C 12,92.672581 35.327414,116 63.999998,116 C 92.672584,116 116,92.672581 116,63.999999 C 116,35.327415 92.672584,12 63.999998,12 C 35.327414,12 12,35.327415 12,63.999999 z " id="path38" style="fill:url(#radialGradient3246)"/>
+ <polygon transform="matrix(0.6666666,0,0,1,36.000006,6)" style="fill:url(#radialGradient2197);fill-opacity:1" id="polygon2195" points="42,26 90,58 42,90 42,26 "/>
+ <polygon points="42,26 90,58 42,90 42,26 " id="polygon53" style="fill:url(#radialGradient3253);fill-opacity:1" transform="matrix(0.5,0,0,0.75,19.000002,20.5)"/>
+ <path d="M 63.999998,63.999999 C 81.788999,63.999999 97.967006,58.87 110.05199,50.491 C 104.19999,30.582 85.775999,16 63.999998,16 C 42.222999,16 23.798999,30.582999 17.949,50.491 C 30.032,58.87 46.209999,63.999999 63.999998,63.999999 z " id="path60" style="opacity:0.5;fill:url(#linearGradient3242)"/>
+ </g>
+</svg> \ No newline at end of file
diff --git a/misc/icons/home.png b/misc/icons/home.png
new file mode 100644
index 0000000..96f7ea9
--- /dev/null
+++ b/misc/icons/home.png
Binary files differ
diff --git a/misc/icons/home.svg b/misc/icons/home.svg
new file mode 100644
index 0000000..26a7e04
--- /dev/null
+++ b/misc/icons/home.svg
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://web.resource.org/cc/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="128" height="128" id="svg3186" sodipodi:version="0.32" inkscape:version="0.45" version="1.0" sodipodi:docname="player_end.svg" sodipodi:docbase="/home/david/Progetti/sandbox" inkscape:output_extension="org.inkscape.output.svg.inkscape" sodipodi:modified="true">
+ <defs id="defs3188">
+ <radialGradient inkscape:collect="always" xlink:href="#radialGradient3163" id="radialGradient2197" gradientUnits="userSpaceOnUse" gradientTransform="matrix(4.7377213e-8,-0.1315545,0.7519296,0,12.61245,94.56941)" cx="80.342453" cy="68.340897" fx="80.342453" fy="68.340897" r="40.0294"/>
+ <radialGradient gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.6667,0,0,0.7574,20.7214,14.064)" r="40.0294" cy="59.1865" cx="53.1978" id="radialGradient3163">
+ <stop id="stop3165" style="stop-color:#000000;stop-opacity:1;" offset="0"/>
+ <stop id="stop3175" style="stop-color:#666666;stop-opacity:1;" offset="1"/>
+ </radialGradient>
+ <linearGradient id="XMLID_9_" gradientUnits="userSpaceOnUse" x1="11.9487" y1="34" x2="104.0518" y2="34" gradientTransform="translate(559.14286,-264.28571)">
+ <stop offset="0" style="stop-color:#FFFFFF" id="stop56"/>
+ <stop offset="0.80000001" style="stop-color:#ffffff;stop-opacity:0;" id="stop58"/>
+ </linearGradient>
+ <radialGradient id="XMLID_8_" cx="53.1978" cy="59.1865" r="40.0294" gradientTransform="matrix(0.6667,0,0,0.7574,20.7214,14.064)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#323232" id="stop41"/>
+ <stop offset="0.2083" style="stop-color:#363636" id="stop43"/>
+ <stop offset="0.4278" style="stop-color:#434343" id="stop45"/>
+ <stop offset="0.6526" style="stop-color:#585858" id="stop47"/>
+ <stop offset="0.8796" style="stop-color:#757575" id="stop49"/>
+ <stop offset="1" style="stop-color:#888888" id="stop51"/>
+ </radialGradient>
+ <radialGradient id="XMLID_7_" cx="58" cy="58" r="48" gradientUnits="userSpaceOnUse" gradientTransform="translate(559.14286,-264.28571)">
+ <stop offset="0" style="stop-color:#FFFFFF" id="stop26"/>
+ <stop offset="0.574" style="stop-color:#FFFFFF" id="stop28"/>
+ <stop offset="0.6842" style="stop-color:#FBFBFB" id="stop30"/>
+ <stop offset="0.8001" style="stop-color:#EEEEEE" id="stop32"/>
+ <stop offset="0.9" style="stop-color:#DDDDDD" id="stop34"/>
+ <stop offset="1" style="stop-color:#BBBBBB" id="stop36"/>
+ </radialGradient>
+ <filter id="AI_Sfocatura_4">
+ <feGaussianBlur stdDeviation="4" id="feGaussianBlur6"/>
+ </filter>
+ <linearGradient id="XMLID_6_" gradientUnits="userSpaceOnUse" x1="58.0005" y1="116" x2="58.0005" y2="4.882812e-04">
+ <stop offset="0" style="stop-color:#555555" id="stop9"/>
+ <stop offset="0.2736" style="stop-color:#595959" id="stop11"/>
+ <stop offset="0.562" style="stop-color:#666666" id="stop13"/>
+ <stop offset="0.8561" style="stop-color:#7B7B7B" id="stop15"/>
+ <stop offset="1" style="stop-color:#888888" id="stop17"/>
+ </linearGradient>
+ <linearGradient inkscape:collect="always" xlink:href="#XMLID_9_" id="linearGradient3242" gradientUnits="userSpaceOnUse" gradientTransform="translate(6.0000006,6.0000006)" x1="11.9487" y1="34" x2="104.0518" y2="34"/>
+ <radialGradient inkscape:collect="always" xlink:href="#XMLID_7_" id="radialGradient3246" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.0833333,0,0,1.0833333,1.1666673,1.1666673)" cx="58" cy="58" r="48"/>
+ <linearGradient inkscape:collect="always" xlink:href="#XMLID_6_" id="linearGradient3251" gradientUnits="userSpaceOnUse" x1="58.0005" y1="116" x2="58.0005" y2="4.882812e-04"/>
+ <radialGradient inkscape:collect="always" xlink:href="#radialGradient3163" id="radialGradient3253" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.6667,0,0,0.7574,20.7214,14.064)" cx="53.1978" cy="59.186501" r="40.0294"/>
+ </defs>
+ <sodipodi:namedview id="base" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" gridtolerance="10000" guidetolerance="10" objecttolerance="10" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="2.8284271" inkscape:cx="62" inkscape:cy="44.566099" inkscape:document-units="px" inkscape:current-layer="layer1" width="128px" height="128px" showgrid="true" gridspacingx="8px" gridspacingy="8px" inkscape:window-width="792" inkscape:window-height="581" inkscape:window-x="225" inkscape:window-y="112"/>
+ <metadata id="metadata3191">
+ <rdf:RDF>
+ <cc:Work rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1">
+ <circle cx="58" cy="58" r="58" id="circle19" style="fill:url(#linearGradient3251)" sodipodi:cx="58" sodipodi:cy="58" sodipodi:rx="58" sodipodi:ry="58" transform="matrix(1.1034483,0,0,1.1034483,0,-2.8e-6)"/>
+ <g id="g21" transform="matrix(1.0833333,0,0,1.0833333,1.1666686,1.1666686)" style="filter:url(#AI_Sfocatura_4);opacity:0.8">
+ <path d="M 10,58 C 10,84.467 31.533,106 58,106 C 84.467,106 106,84.467 106,58 C 106,31.533 84.467,10 58,10 C 31.533,10 10,31.533 10,58 z " id="path23"/>
+ </g>
+ <path d="M 12,63.999999 C 12,92.672581 35.327414,116 63.999998,116 C 92.672584,116 116,92.672581 116,63.999999 C 116,35.327415 92.672584,12 63.999998,12 C 35.327414,12 12,35.327415 12,63.999999 z " id="path38" style="fill:url(#radialGradient3246)"/>
+ <polygon points="42,26 90,58 42,90 42,26 " id="polygon53" style="fill:url(#radialGradient3253);fill-opacity:1" transform="matrix(0,-0.8333333,1,0,6,107)"/>
+ <path sodipodi:nodetypes="ccccc" id="path2195" d="M 40,88 L 40.38871,80 L 87.95798,80.005265 L 88,87.94911 L 40,88 z " style="fill:url(#radialGradient2197);fill-opacity:1"/>
+ <path d="M 63.999998,63.999999 C 81.788999,63.999999 97.967006,58.87 110.05199,50.491 C 104.19999,30.582 85.775999,16 63.999998,16 C 42.222999,16 23.798999,30.582999 17.949,50.491 C 30.032,58.87 46.209999,63.999999 63.999998,63.999999 z " id="path60" style="opacity:0.5;fill:url(#linearGradient3242)"/>
+ </g>
+</svg> \ No newline at end of file
diff --git a/misc/icons/last.png b/misc/icons/last.png
new file mode 100644
index 0000000..8436606
--- /dev/null
+++ b/misc/icons/last.png
Binary files differ
diff --git a/misc/icons/last.svg b/misc/icons/last.svg
new file mode 100644
index 0000000..df5e05b
--- /dev/null
+++ b/misc/icons/last.svg
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://web.resource.org/cc/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="128" height="128" id="svg3186" sodipodi:version="0.32" inkscape:version="0.45" version="1.0" sodipodi:docname="player_end.svg" sodipodi:docbase="/home/david/Progetti/sandbox" inkscape:output_extension="org.inkscape.output.svg.inkscape" sodipodi:modified="true">
+ <defs id="defs3188">
+ <radialGradient inkscape:collect="always" xlink:href="#radialGradient3163" id="radialGradient2197" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.263109,4.7377213e-8,-1.5110247e-8,0.7519296,66.86118,12.61245)" cx="80.342453" cy="68.340897" fx="80.342453" fy="68.340897" r="40.0294"/>
+ <radialGradient gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.6667,0,0,0.7574,20.7214,14.064)" r="40.0294" cy="59.1865" cx="53.1978" id="radialGradient3163">
+ <stop id="stop3165" style="stop-color:#000000;stop-opacity:1;" offset="0"/>
+ <stop id="stop3175" style="stop-color:#666666;stop-opacity:1;" offset="1"/>
+ </radialGradient>
+ <linearGradient id="XMLID_9_" gradientUnits="userSpaceOnUse" x1="11.9487" y1="34" x2="104.0518" y2="34" gradientTransform="translate(559.14286,-264.28571)">
+ <stop offset="0" style="stop-color:#FFFFFF" id="stop56"/>
+ <stop offset="0.80000001" style="stop-color:#ffffff;stop-opacity:0;" id="stop58"/>
+ </linearGradient>
+ <radialGradient id="XMLID_8_" cx="53.1978" cy="59.1865" r="40.0294" gradientTransform="matrix(0.6667,0,0,0.7574,20.7214,14.064)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#323232" id="stop41"/>
+ <stop offset="0.2083" style="stop-color:#363636" id="stop43"/>
+ <stop offset="0.4278" style="stop-color:#434343" id="stop45"/>
+ <stop offset="0.6526" style="stop-color:#585858" id="stop47"/>
+ <stop offset="0.8796" style="stop-color:#757575" id="stop49"/>
+ <stop offset="1" style="stop-color:#888888" id="stop51"/>
+ </radialGradient>
+ <radialGradient id="XMLID_7_" cx="58" cy="58" r="48" gradientUnits="userSpaceOnUse" gradientTransform="translate(559.14286,-264.28571)">
+ <stop offset="0" style="stop-color:#FFFFFF" id="stop26"/>
+ <stop offset="0.574" style="stop-color:#FFFFFF" id="stop28"/>
+ <stop offset="0.6842" style="stop-color:#FBFBFB" id="stop30"/>
+ <stop offset="0.8001" style="stop-color:#EEEEEE" id="stop32"/>
+ <stop offset="0.9" style="stop-color:#DDDDDD" id="stop34"/>
+ <stop offset="1" style="stop-color:#BBBBBB" id="stop36"/>
+ </radialGradient>
+ <filter id="AI_Sfocatura_4">
+ <feGaussianBlur stdDeviation="4" id="feGaussianBlur6"/>
+ </filter>
+ <linearGradient id="XMLID_6_" gradientUnits="userSpaceOnUse" x1="58.0005" y1="116" x2="58.0005" y2="4.882812e-04">
+ <stop offset="0" style="stop-color:#555555" id="stop9"/>
+ <stop offset="0.2736" style="stop-color:#595959" id="stop11"/>
+ <stop offset="0.562" style="stop-color:#666666" id="stop13"/>
+ <stop offset="0.8561" style="stop-color:#7B7B7B" id="stop15"/>
+ <stop offset="1" style="stop-color:#888888" id="stop17"/>
+ </linearGradient>
+ <linearGradient inkscape:collect="always" xlink:href="#XMLID_9_" id="linearGradient3242" gradientUnits="userSpaceOnUse" gradientTransform="translate(6.0000006,6.0000006)" x1="11.9487" y1="34" x2="104.0518" y2="34"/>
+ <radialGradient inkscape:collect="always" xlink:href="#XMLID_7_" id="radialGradient3246" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.0833333,0,0,1.0833333,1.1666673,1.1666673)" cx="58" cy="58" r="48"/>
+ <linearGradient inkscape:collect="always" xlink:href="#XMLID_6_" id="linearGradient3251" gradientUnits="userSpaceOnUse" x1="58.0005" y1="116" x2="58.0005" y2="4.882812e-04"/>
+ <radialGradient inkscape:collect="always" xlink:href="#radialGradient3163" id="radialGradient3253" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.6667,0,0,0.7574,20.7214,14.064)" cx="53.1978" cy="59.186501" r="40.0294"/>
+ </defs>
+ <sodipodi:namedview id="base" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" gridtolerance="10000" guidetolerance="10" objecttolerance="10" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="2.8284271" inkscape:cx="62" inkscape:cy="44.566099" inkscape:document-units="px" inkscape:current-layer="layer1" width="128px" height="128px" showgrid="true" gridspacingx="8px" gridspacingy="8px" inkscape:window-width="792" inkscape:window-height="581" inkscape:window-x="225" inkscape:window-y="112"/>
+ <metadata id="metadata3191">
+ <rdf:RDF>
+ <cc:Work rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1">
+ <circle cx="58" cy="58" r="58" id="circle19" style="fill:url(#linearGradient3251)" sodipodi:cx="58" sodipodi:cy="58" sodipodi:rx="58" sodipodi:ry="58" transform="matrix(1.1034483,0,0,1.1034483,0,-2.8e-6)"/>
+ <g id="g21" transform="matrix(1.0833333,0,0,1.0833333,1.1666686,1.1666686)" style="filter:url(#AI_Sfocatura_4);opacity:0.8">
+ <path d="M 10,58 C 10,84.467 31.533,106 58,106 C 84.467,106 106,84.467 106,58 C 106,31.533 84.467,10 58,10 C 31.533,10 10,31.533 10,58 z " id="path23"/>
+ </g>
+ <path d="M 12,63.999999 C 12,92.672581 35.327414,116 63.999998,116 C 92.672584,116 116,92.672581 116,63.999999 C 116,35.327415 92.672584,12 63.999998,12 C 35.327414,12 12,35.327415 12,63.999999 z " id="path38" style="fill:url(#radialGradient3246)"/>
+ <polygon points="42,26 90,58 42,90 42,26 " id="polygon53" style="fill:url(#radialGradient3253);fill-opacity:1" transform="translate(-10,6)"/>
+ <path sodipodi:nodetypes="ccccc" id="path2195" d="M 80,40 L 96,40.38871 L 95.98947,87.95798 L 80.10178,88 L 80,40 z " style="fill:url(#radialGradient2197);fill-opacity:1"/>
+ <path d="M 63.999998,63.999999 C 81.788999,63.999999 97.967006,58.87 110.05199,50.491 C 104.19999,30.582 85.775999,16 63.999998,16 C 42.222999,16 23.798999,30.582999 17.949,50.491 C 30.032,58.87 46.209999,63.999999 63.999998,63.999999 z " id="path60" style="opacity:0.5;fill:url(#linearGradient3242)"/>
+ </g>
+</svg> \ No newline at end of file
diff --git a/misc/icons/lgpl-3.0.txt b/misc/icons/lgpl-3.0.txt
new file mode 100644
index 0000000..65c5ca8
--- /dev/null
+++ b/misc/icons/lgpl-3.0.txt
@@ -0,0 +1,165 @@
+ GNU LESSER GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+
+ This version of the GNU Lesser General Public License incorporates
+the terms and conditions of version 3 of the GNU General Public
+License, supplemented by the additional permissions listed below.
+
+ 0. Additional Definitions.
+
+ As used herein, "this License" refers to version 3 of the GNU Lesser
+General Public License, and the "GNU GPL" refers to version 3 of the GNU
+General Public License.
+
+ "The Library" refers to a covered work governed by this License,
+other than an Application or a Combined Work as defined below.
+
+ An "Application" is any work that makes use of an interface provided
+by the Library, but which is not otherwise based on the Library.
+Defining a subclass of a class defined by the Library is deemed a mode
+of using an interface provided by the Library.
+
+ A "Combined Work" is a work produced by combining or linking an
+Application with the Library. The particular version of the Library
+with which the Combined Work was made is also called the "Linked
+Version".
+
+ The "Minimal Corresponding Source" for a Combined Work means the
+Corresponding Source for the Combined Work, excluding any source code
+for portions of the Combined Work that, considered in isolation, are
+based on the Application, and not on the Linked Version.
+
+ The "Corresponding Application Code" for a Combined Work means the
+object code and/or source code for the Application, including any data
+and utility programs needed for reproducing the Combined Work from the
+Application, but excluding the System Libraries of the Combined Work.
+
+ 1. Exception to Section 3 of the GNU GPL.
+
+ You may convey a covered work under sections 3 and 4 of this License
+without being bound by section 3 of the GNU GPL.
+
+ 2. Conveying Modified Versions.
+
+ If you modify a copy of the Library, and, in your modifications, a
+facility refers to a function or data to be supplied by an Application
+that uses the facility (other than as an argument passed when the
+facility is invoked), then you may convey a copy of the modified
+version:
+
+ a) under this License, provided that you make a good faith effort to
+ ensure that, in the event an Application does not supply the
+ function or data, the facility still operates, and performs
+ whatever part of its purpose remains meaningful, or
+
+ b) under the GNU GPL, with none of the additional permissions of
+ this License applicable to that copy.
+
+ 3. Object Code Incorporating Material from Library Header Files.
+
+ The object code form of an Application may incorporate material from
+a header file that is part of the Library. You may convey such object
+code under terms of your choice, provided that, if the incorporated
+material is not limited to numerical parameters, data structure
+layouts and accessors, or small macros, inline functions and templates
+(ten or fewer lines in length), you do both of the following:
+
+ a) Give prominent notice with each copy of the object code that the
+ Library is used in it and that the Library and its use are
+ covered by this License.
+
+ b) Accompany the object code with a copy of the GNU GPL and this license
+ document.
+
+ 4. Combined Works.
+
+ You may convey a Combined Work under terms of your choice that,
+taken together, effectively do not restrict modification of the
+portions of the Library contained in the Combined Work and reverse
+engineering for debugging such modifications, if you also do each of
+the following:
+
+ a) Give prominent notice with each copy of the Combined Work that
+ the Library is used in it and that the Library and its use are
+ covered by this License.
+
+ b) Accompany the Combined Work with a copy of the GNU GPL and this license
+ document.
+
+ c) For a Combined Work that displays copyright notices during
+ execution, include the copyright notice for the Library among
+ these notices, as well as a reference directing the user to the
+ copies of the GNU GPL and this license document.
+
+ d) Do one of the following:
+
+ 0) Convey the Minimal Corresponding Source under the terms of this
+ License, and the Corresponding Application Code in a form
+ suitable for, and under terms that permit, the user to
+ recombine or relink the Application with a modified version of
+ the Linked Version to produce a modified Combined Work, in the
+ manner specified by section 6 of the GNU GPL for conveying
+ Corresponding Source.
+
+ 1) Use a suitable shared library mechanism for linking with the
+ Library. A suitable mechanism is one that (a) uses at run time
+ a copy of the Library already present on the user's computer
+ system, and (b) will operate properly with a modified version
+ of the Library that is interface-compatible with the Linked
+ Version.
+
+ e) Provide Installation Information, but only if you would otherwise
+ be required to provide such information under section 6 of the
+ GNU GPL, and only to the extent that such information is
+ necessary to install and execute a modified version of the
+ Combined Work produced by recombining or relinking the
+ Application with a modified version of the Linked Version. (If
+ you use option 4d0, the Installation Information must accompany
+ the Minimal Corresponding Source and Corresponding Application
+ Code. If you use option 4d1, you must provide the Installation
+ Information in the manner specified by section 6 of the GNU GPL
+ for conveying Corresponding Source.)
+
+ 5. Combined Libraries.
+
+ You may place library facilities that are a work based on the
+Library side by side in a single library together with other library
+facilities that are not Applications and are not covered by this
+License, and convey such a combined library under terms of your
+choice, if you do both of the following:
+
+ a) Accompany the combined library with a copy of the same work based
+ on the Library, uncombined with any other library facilities,
+ conveyed under the terms of this License.
+
+ b) Give prominent notice with the combined library that part of it
+ is a work based on the Library, and explaining where to find the
+ accompanying uncombined form of the same work.
+
+ 6. Revised Versions of the GNU Lesser General Public License.
+
+ The Free Software Foundation may publish revised and/or new versions
+of the GNU Lesser General Public License from time to time. Such new
+versions will be similar in spirit to the present version, but may
+differ in detail to address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Library as you received it specifies that a certain numbered version
+of the GNU Lesser General Public License "or any later version"
+applies to it, you have the option of following the terms and
+conditions either of that published version or of any later version
+published by the Free Software Foundation. If the Library as you
+received it does not specify a version number of the GNU Lesser
+General Public License, you may choose any version of the GNU Lesser
+General Public License ever published by the Free Software Foundation.
+
+ If the Library as you received it specifies that a proxy can decide
+whether future versions of the GNU Lesser General Public License shall
+apply, that proxy's public statement of acceptance of any version is
+permanent authorization for you to choose that version for the
+Library.
diff --git a/spec/PostRunner_spec.rb b/spec/PostRunner_spec.rb
index bb2d600..1fbfd05 100644
--- a/spec/PostRunner_spec.rb
+++ b/spec/PostRunner_spec.rb
@@ -117,8 +117,6 @@ describe PostRunner::Main do
it 'should import a FIT file' do
postrunner(%w( import FILE1.FIT ))
- rc = YAML::load_file(File.join(@db_dir, 'config.yml'))
- rc[:import_dir].should == '.'
end
it 'should check the imported file' do
@@ -134,10 +132,12 @@ describe PostRunner::Main do
end
it 'should import the other FIT file' do
- postrunner(%w( import ))
+ postrunner([ 'import', '.' ])
list = postrunner(%w( list ))
list.index('FILE1.FIT').should be_a(Fixnum)
list.index('FILE2.FIT').should be_a(Fixnum)
+ rc = YAML::load_file(File.join(@db_dir, 'config.yml'))
+ rc[:import_dir].should == '.'
end
it 'should delete the first file' do