Commit 5c9377c5 authored by Pierre SAGASPE's avatar Pierre SAGASPE Committed by Felix Paul Kühne

Add speed pourcent time to downloadView

Signed-off-by: Felix Paul Kühne's avatarFelix Paul Kühne <fkuehne@videolan.org>
parent cc9acf2c
......@@ -19,6 +19,9 @@
@property (nonatomic, strong) IBOutlet UIButton *cancelButton;
@property (nonatomic, strong) IBOutlet UILabel *currentDownloadLabel;
@property (nonatomic, strong) IBOutlet UIActivityIndicatorView *activityIndicator;
@property (weak, nonatomic) IBOutlet UILabel *progressPourcent;
@property (weak, nonatomic) IBOutlet UILabel *speedRate;
@property (weak, nonatomic) IBOutlet UILabel *timeDL;
- (IBAction)downloadAction:(id)sender;
- (IBAction)cancelDownload:(id)sender;
......
......@@ -26,6 +26,8 @@
NSUInteger _currentDownloadType;
NSString *_humanReadableFilename;
NSString *_MediaFilename;
NSTimeInterval _startDL;
VLCHTTPFileDownloader *_httpDownloader;
......@@ -186,9 +188,17 @@
[UIApplication sharedApplication].networkActivityIndicatorVisible = YES;
self.currentDownloadLabel.text = _humanReadableFilename;
self.progressView.progress = 0.;
[self.progressPourcent setText:@"0%%"];
[self.speedRate setText:@"0 Kb/s"];
[self.timeDL setText:@"00:00:00"];
self.currentDownloadLabel.hidden = NO;
self.progressView.hidden = NO;
self.cancelButton.hidden = NO;
[self.progressPourcent setHidden:NO];
[self.speedRate setHidden:NO];
[self.timeDL setHidden:NO];
_startDL = [NSDate timeIntervalSinceReferenceDate];
APLog(@"download started");
}
......@@ -198,6 +208,9 @@
self.currentDownloadLabel.hidden = YES;
self.progressView.hidden = YES;
self.cancelButton.hidden = YES;
[self.progressPourcent setHidden:YES];
[self.speedRate setHidden:YES];
[self.timeDL setHidden:YES];
_currentDownloadType = 0;
APLog(@"download ended");
......@@ -210,11 +223,38 @@
[alert show];
}
- (void)progressUpdatedTo:(CGFloat)percentage
- (void)progressUpdatedTo:(CGFloat)percentage receivedDataSize:(CGFloat)receivedDataSize expectedDownloadSize:(CGFloat)expectedDownloadSize
{
[self.progressPourcent setText:[NSString stringWithFormat:@"%.1f%%", percentage*100]];
[self.timeDL setText:[self calculateRemainingTime:receivedDataSize expectedDownloadSize:expectedDownloadSize]];
[self.speedRate setText:[self calculateSpeedString:receivedDataSize]];
[self.progressView setProgress:percentage animated:YES];
}
- (NSString*)calculateRemainingTime:(CGFloat)receivedDataSize expectedDownloadSize:(CGFloat)expectedDownloadSize
{
CGFloat speed = receivedDataSize / ([NSDate timeIntervalSinceReferenceDate] - _startDL);
CGFloat RemainingInSeconds = (expectedDownloadSize - receivedDataSize)/speed;
NSDate *date = [NSDate dateWithTimeIntervalSince1970:RemainingInSeconds];
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"HH:mm:ss"];
[formatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];
NSString *remaingTime = [formatter stringFromDate:date];
return remaingTime;
}
- (NSString*)calculateSpeedString:(CGFloat)receivedDataSize
{
CGFloat speed = receivedDataSize / ([NSDate timeIntervalSinceReferenceDate] - _startDL);
NSString *string = [NSByteCountFormatter stringFromByteCount:speed countStyle:NSByteCountFormatterCountStyleDecimal];
string = [string stringByAppendingString:@"/s"];
return string;
}
#pragma mark - ftp networking
- (void)_downloadFTPFile:(NSURL *)URLToFile
......
......@@ -15,7 +15,7 @@
@optional
- (void)downloadFailedWithErrorDescription:(NSString *)description;
- (void)progressUpdatedTo:(CGFloat)percentage;
- (void)progressUpdatedTo:(CGFloat)percentage receivedDataSize:(CGFloat)receivedDataSize expectedDownloadSize:(CGFloat)expectedDownloadSize;
@end
......
......@@ -99,9 +99,9 @@
[fileHandle seekToEndOfFile];
[fileHandle writeData:data];
_receivedDataSize = _receivedDataSize + data.length;
if ([self.delegate respondsToSelector:@selector(progressUpdatedTo:)])
[self.delegate progressUpdatedTo: (float)_receivedDataSize / (float)_expectedDownloadSize];
_receivedDataSize = _receivedDataSize + [data length];
if ([self.delegate respondsToSelector:@selector(progressUpdatedTo:receivedDataSize:expectedDownloadSize:)])
[self.delegate progressUpdatedTo: (float)_receivedDataSize / (float)_expectedDownloadSize receivedDataSize:_receivedDataSize expectedDownloadSize:_expectedDownloadSize];
}
@catch (NSException * e) {
APLog(@"exception when writing to file %@", _filePath);
......
......@@ -77,6 +77,8 @@
_netServiceBrowser = [[NSNetServiceBrowser alloc] init];
_netServiceBrowser.delegate = self;
[self performSelectorInBackground:@selector(_startUPNPDiscovery) withObject:nil];
// Active le Pull down to refresh
refreshControl = [[UIRefreshControl alloc] init];
......@@ -96,7 +98,7 @@
{
[super viewWillAppear:animated];
[self _triggerNetServiceBrowser];
[self performSelectorInBackground:@selector(_startUPNPDiscovery) withObject:nil];
//[self performSelectorInBackground:@selector(_startUPNPDiscovery) withObject:nil];
}
- (void)_triggerNetServiceBrowser
......
......@@ -50,6 +50,7 @@
<int key="NSvFlags">290</int>
<string key="NSFrameSize">{320, 101}</string>
<reference key="NSSuperview" ref="234033301"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="205664075"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<bool key="IBUIUserInteractionEnabled">NO</bool>
......@@ -64,6 +65,7 @@
<int key="NSvFlags">290</int>
<string key="NSFrame">{{10, 15}, {195, 30}}</string>
<reference key="NSSuperview" ref="234033301"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="325478617"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<bool key="IBUIOpaque">NO</bool>
......@@ -106,6 +108,7 @@
<int key="NSvFlags">289</int>
<string key="NSFrame">{{213, 11}, {97, 39}}</string>
<reference key="NSSuperview" ref="234033301"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="1066205493"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<bool key="IBUIOpaque">NO</bool>
......@@ -144,6 +147,7 @@
<int key="NSvFlags">274</int>
<string key="NSFrame">{{10, 49}, {300, 50}}</string>
<reference key="NSSuperview" ref="234033301"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="209774297"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<bool key="IBUIOpaque">NO</bool>
......@@ -168,6 +172,7 @@
</array>
<string key="NSFrameSize">{320, 101}</string>
<reference key="NSSuperview" ref="191373211"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="433654949"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<object class="NSColor" key="IBUIBackgroundColor" id="130677336">
......@@ -187,8 +192,9 @@
<object class="IBUIImageView" id="1005679980">
<reference key="NSNextResponder" ref="1066205493"/>
<int key="NSvFlags">290</int>
<string key="NSFrameSize">{320, 60}</string>
<string key="NSFrame">{{0, -15}, {320, 105}}</string>
<reference key="NSSuperview" ref="1066205493"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="761747136"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<bool key="IBUIUserInteractionEnabled">NO</bool>
......@@ -198,8 +204,9 @@
<object class="IBUILabel" id="761747136">
<reference key="NSNextResponder" ref="1066205493"/>
<int key="NSvFlags">-2147483358</int>
<string key="NSFrame">{{11, 9}, {280, 21}}</string>
<string key="NSFrame">{{11, 9}, {280, 17}}</string>
<reference key="NSSuperview" ref="1066205493"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="250280512"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<bool key="IBUIOpaque">NO</bool>
......@@ -214,23 +221,17 @@
</object>
<nil key="IBUIHighlightedColor"/>
<int key="IBUIBaselineAdjustment">0</int>
<object class="IBUIFontDescription" key="IBUIFontDescription">
<int key="type">1</int>
<double key="pointSize">17</double>
</object>
<object class="NSFont" key="IBUIFont">
<string key="NSName">Helvetica</string>
<double key="NSSize">17</double>
<int key="NSfFlags">16</int>
</object>
<reference key="IBUIFontDescription" ref="328285726"/>
<reference key="IBUIFont" ref="825639518"/>
<bool key="IBUIAdjustsFontSizeToFit">NO</bool>
</object>
<object class="IBUIProgressView" id="802027691">
<reference key="NSNextResponder" ref="1066205493"/>
<int key="NSvFlags">-2147483358</int>
<string key="NSFrame">{{11, 38}, {299, 9}}</string>
<string key="NSFrame">{{11, 63}, {299, 9}}</string>
<reference key="NSSuperview" ref="1066205493"/>
<reference key="NSNextKeyView" ref="385572310"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="831264216"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<bool key="IBUIOpaque">NO</bool>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
......@@ -241,7 +242,8 @@
<int key="NSvFlags">-2147483359</int>
<string key="NSFrame">{{283, 5}, {29, 31}}</string>
<reference key="NSSuperview" ref="1066205493"/>
<reference key="NSNextKeyView" ref="802027691"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="114365069"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<bool key="IBUIOpaque">NO</bool>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
......@@ -263,18 +265,91 @@
<object class="IBUIActivityIndicatorView" id="385572310">
<reference key="NSNextResponder" ref="1066205493"/>
<int key="NSvFlags">-2147483355</int>
<string key="NSFrame">{{142, 11}, {37, 37}}</string>
<string key="NSFrame">{{142, 26}, {37, 37}}</string>
<reference key="NSSuperview" ref="1066205493"/>
<reference key="NSNextKeyView" ref="831264216"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="797274929"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<bool key="IBUIOpaque">NO</bool>
<bool key="IBUIUserInteractionEnabled">NO</bool>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<int key="IBUIStyle">0</int>
</object>
<object class="IBUILabel" id="114365069">
<reference key="NSNextResponder" ref="1066205493"/>
<int key="NSvFlags">290</int>
<string key="NSFrame">{{11, 40}, {95, 15}}</string>
<reference key="NSSuperview" ref="1066205493"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="385572310"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<bool key="IBUIOpaque">NO</bool>
<bool key="IBUIClipsSubviews">YES</bool>
<int key="IBUIContentMode">7</int>
<bool key="IBUIUserInteractionEnabled">NO</bool>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<string key="IBUIText">0 Kb/s</string>
<object class="NSColor" key="IBUITextColor" id="539451">
<int key="NSColorSpace">6</int>
<string key="NSCatalogName">System</string>
<string key="NSColorName">selectedInactiveColor</string>
<reference key="NSColor" ref="130677336"/>
</object>
<nil key="IBUIHighlightedColor"/>
<int key="IBUIBaselineAdjustment">0</int>
<int key="IBUITextAlignment">1</int>
<reference key="IBUIFontDescription" ref="328285726"/>
<reference key="IBUIFont" ref="825639518"/>
<bool key="IBUIAdjustsFontSizeToFit">NO</bool>
</object>
<object class="IBUILabel" id="402231619">
<reference key="NSNextResponder" ref="1066205493"/>
<int key="NSvFlags">290</int>
<string key="NSFrame">{{234, 40}, {66, 15}}</string>
<reference key="NSSuperview" ref="1066205493"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="802027691"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<bool key="IBUIOpaque">NO</bool>
<bool key="IBUIClipsSubviews">YES</bool>
<int key="IBUIContentMode">7</int>
<bool key="IBUIUserInteractionEnabled">NO</bool>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<string key="IBUIText">00:00:00</string>
<reference key="IBUITextColor" ref="539451"/>
<nil key="IBUIHighlightedColor"/>
<int key="IBUIBaselineAdjustment">0</int>
<int key="IBUITextAlignment">1</int>
<reference key="IBUIFontDescription" ref="328285726"/>
<reference key="IBUIFont" ref="825639518"/>
<bool key="IBUIAdjustsFontSizeToFit">NO</bool>
</object>
<object class="IBUILabel" id="797274929">
<reference key="NSNextResponder" ref="1066205493"/>
<int key="NSvFlags">290</int>
<string key="NSFrame">{{132, 40}, {56, 15}}</string>
<reference key="NSSuperview" ref="1066205493"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="402231619"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<bool key="IBUIOpaque">NO</bool>
<bool key="IBUIClipsSubviews">YES</bool>
<int key="IBUIContentMode">7</int>
<bool key="IBUIUserInteractionEnabled">NO</bool>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<string key="IBUIText">0%</string>
<reference key="IBUITextColor" ref="539451"/>
<nil key="IBUIHighlightedColor"/>
<int key="IBUIBaselineAdjustment">0</int>
<int key="IBUITextAlignment">1</int>
<reference key="IBUIFontDescription" ref="328285726"/>
<reference key="IBUIFont" ref="825639518"/>
<bool key="IBUIAdjustsFontSizeToFit">NO</bool>
</object>
</array>
<string key="NSFrame">{{0, 105}, {320, 60}}</string>
<string key="NSFrame">{{0, 105}, {320, 90}}</string>
<reference key="NSSuperview" ref="191373211"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="1005679980"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<reference key="IBUIBackgroundColor" ref="130677336"/>
......@@ -284,8 +359,10 @@
<object class="IBUITableView" id="831264216">
<reference key="NSNextResponder" ref="191373211"/>
<int key="NSvFlags">274</int>
<string key="NSFrame">{{0, 168}, {320, 215}}</string>
<string key="NSFrame">{{0, 203}, {320, 180}}</string>
<reference key="NSSuperview" ref="191373211"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<object class="NSColor" key="IBUIBackgroundColor">
<int key="NSColorSpace">3</int>
......@@ -311,6 +388,7 @@
</array>
<string key="NSFrameSize">{320, 383}</string>
<reference key="NSSuperview"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="234033301"/>
<object class="NSColor" key="IBUIBackgroundColor">
<int key="NSColorSpace">3</int>
......@@ -394,6 +472,30 @@
</object>
<int key="connectionID">96</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">progressPourcent</string>
<reference key="source" ref="372490531"/>
<reference key="destination" ref="797274929"/>
</object>
<int key="connectionID">100</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">speedRate</string>
<reference key="source" ref="372490531"/>
<reference key="destination" ref="114365069"/>
</object>
<int key="connectionID">101</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">timeDL</string>
<reference key="source" ref="372490531"/>
<reference key="destination" ref="402231619"/>
</object>
<int key="connectionID">102</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">dataSource</string>
......@@ -495,9 +597,12 @@
<array class="NSMutableArray" key="children">
<reference ref="1005679980"/>
<reference ref="761747136"/>
<reference ref="802027691"/>
<reference ref="250280512"/>
<reference ref="402231619"/>
<reference ref="802027691"/>
<reference ref="385572310"/>
<reference ref="114365069"/>
<reference ref="797274929"/>
</array>
<reference key="parent" ref="191373211"/>
</object>
......@@ -531,10 +636,25 @@
<reference key="object" ref="325478617"/>
<reference key="parent" ref="234033301"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">97</int>
<reference key="object" ref="114365069"/>
<reference key="parent" ref="1066205493"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">98</int>
<reference key="object" ref="402231619"/>
<reference key="parent" ref="1066205493"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">99</int>
<reference key="object" ref="797274929"/>
<reference key="parent" ref="1066205493"/>
</object>
</array>
</object>
<dictionary class="NSMutableDictionary" key="flattenedProperties">
<string key="-1.CustomClassName">VLCHTTPDownloadViewController</string>
<string key="-1.CustomClassName">VLCDownloadViewController</string>
<string key="-1.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="-2.CustomClassName">UIResponder</string>
<string key="-2.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
......@@ -552,14 +672,109 @@
<string key="86.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="91.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="95.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="97.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="98.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="99.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
</dictionary>
<dictionary class="NSMutableDictionary" key="unlocalizedProperties"/>
<nil key="activeLocalization"/>
<dictionary class="NSMutableDictionary" key="localizations"/>
<nil key="sourceID"/>
<int key="maxID">96</int>
<int key="maxID">102</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<array class="NSMutableArray" key="referencedPartialClassDescriptions">
<object class="IBPartialClassDescription">
<string key="className">VLCDownloadViewController</string>
<string key="superclassName">UIViewController</string>
<dictionary class="NSMutableDictionary" key="actions">
<string key="cancelDownload:">id</string>
<string key="downloadAction:">id</string>
</dictionary>
<dictionary class="NSMutableDictionary" key="actionInfosByName">
<object class="IBActionInfo" key="cancelDownload:">
<string key="name">cancelDownload:</string>
<string key="candidateClassName">id</string>
</object>
<object class="IBActionInfo" key="downloadAction:">
<string key="name">downloadAction:</string>
<string key="candidateClassName">id</string>
</object>
</dictionary>
<dictionary class="NSMutableDictionary" key="outlets">
<string key="activityIndicator">UIActivityIndicatorView</string>
<string key="cancelButton">UIButton</string>
<string key="currentDownloadLabel">UILabel</string>
<string key="downloadButton">UIButton</string>
<string key="downloadsTable">UITableView</string>
<string key="progressPourcent">UILabel</string>
<string key="progressView">UIProgressView</string>
<string key="speedRate">UILabel</string>
<string key="timeDL">UILabel</string>
<string key="urlField">UITextField</string>
<string key="whatToDownloadHelpLabel">UILabel</string>
</dictionary>
<dictionary class="NSMutableDictionary" key="toOneOutletInfosByName">
<object class="IBToOneOutletInfo" key="activityIndicator">
<string key="name">activityIndicator</string>
<string key="candidateClassName">UIActivityIndicatorView</string>
</object>
<object class="IBToOneOutletInfo" key="cancelButton">
<string key="name">cancelButton</string>
<string key="candidateClassName">UIButton</string>
</object>
<object class="IBToOneOutletInfo" key="currentDownloadLabel">
<string key="name">currentDownloadLabel</string>
<string key="candidateClassName">UILabel</string>
</object>
<object class="IBToOneOutletInfo" key="downloadButton">
<string key="name">downloadButton</string>
<string key="candidateClassName">UIButton</string>
</object>
<object class="IBToOneOutletInfo" key="downloadsTable">
<string key="name">downloadsTable</string>
<string key="candidateClassName">UITableView</string>
</object>
<object class="IBToOneOutletInfo" key="progressPourcent">
<string key="name">progressPourcent</string>
<string key="candidateClassName">UILabel</string>
</object>
<object class="IBToOneOutletInfo" key="progressView">
<string key="name">progressView</string>
<string key="candidateClassName">UIProgressView</string>
</object>
<object class="IBToOneOutletInfo" key="speedRate">
<string key="name">speedRate</string>
<string key="candidateClassName">UILabel</string>
</object>
<object class="IBToOneOutletInfo" key="timeDL">
<string key="name">timeDL</string>
<string key="candidateClassName">UILabel</string>
</object>
<object class="IBToOneOutletInfo" key="urlField">
<string key="name">urlField</string>
<string key="candidateClassName">UITextField</string>
</object>
<object class="IBToOneOutletInfo" key="whatToDownloadHelpLabel">
<string key="name">whatToDownloadHelpLabel</string>
<string key="candidateClassName">UILabel</string>
</object>
</dictionary>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">./Classes/VLCDownloadViewController.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">VLCMenuButton</string>
<string key="superclassName">UIButton</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">./Classes/VLCMenuButton.h</string>
</object>
</object>
</array>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes"/>
<int key="IBDocument.localizationMode">0</int>
<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaTouchFramework</string>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencies">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment