Archive: ComponentOwl Rails app, DB backups, go redirect script
This commit is contained in:
104
db/import/allowed_values.yml
Normal file
104
db/import/allowed_values.yml
Normal file
@@ -0,0 +1,104 @@
|
||||
location_hp_featured:
|
||||
type: TestimonialLocation
|
||||
code: homepage-featured
|
||||
value: Homepage Featured
|
||||
|
||||
location_order:
|
||||
type: TestimonialLocation
|
||||
code: order
|
||||
value: Order Page
|
||||
|
||||
location_product:
|
||||
type: TestimonialLocation
|
||||
code: product
|
||||
value: Product Page
|
||||
|
||||
location_download:
|
||||
type: TestimonialLocation
|
||||
code: download
|
||||
value: Download Page
|
||||
|
||||
description_featured_phrase:
|
||||
type: ProductDescriptionType
|
||||
code: featured-phrase
|
||||
value: Featured Phrase
|
||||
|
||||
description_featured_subphrase:
|
||||
type: ProductDescriptionType
|
||||
code: featured-subphrase
|
||||
value: Featured Subphrase
|
||||
|
||||
description_heading:
|
||||
type: ProductDescriptionType
|
||||
code: heading
|
||||
value: Section Heading
|
||||
|
||||
description_section:
|
||||
type: ProductDescriptionType
|
||||
code: section
|
||||
value: Section Description
|
||||
|
||||
support_request_origin_support:
|
||||
type: SupportRequestOrigin
|
||||
code: support
|
||||
value: Support Page
|
||||
position: 1
|
||||
|
||||
support_request_origin_order:
|
||||
type: SupportRequestOrigin
|
||||
code: order
|
||||
value: Order Page
|
||||
position: 2
|
||||
|
||||
support_request_origin_product:
|
||||
type: SupportRequestOrigin
|
||||
code: product
|
||||
value: Product Page
|
||||
position: 3
|
||||
|
||||
support_request_origin_why_uninstall:
|
||||
type: SupportRequestOrigin
|
||||
code: why-uninstall
|
||||
value: Why Uninstall
|
||||
position: 4
|
||||
|
||||
support_request_origin_why_uninstall:
|
||||
type: SupportRequestOrigin
|
||||
code: landing-page
|
||||
value: Landing Page
|
||||
position: 5
|
||||
|
||||
url_destination_product_detail:
|
||||
type: UrlDestination
|
||||
code: product-detail
|
||||
value: Product Detail Page
|
||||
position: 1
|
||||
|
||||
url_destination_product_download:
|
||||
type: UrlDestination
|
||||
code: product-download
|
||||
value: Product Download Page
|
||||
position: 2
|
||||
|
||||
url_destination_order:
|
||||
type: UrlDestination
|
||||
code: order
|
||||
value: Order Page
|
||||
position: 3
|
||||
|
||||
url_destination_support:
|
||||
type: UrlDestination
|
||||
code: support
|
||||
value: Support Page
|
||||
position: 4
|
||||
|
||||
promo_dropdown_listed:
|
||||
type: Promotion
|
||||
code: dropdown
|
||||
value: Dropdown Menu
|
||||
|
||||
template_type_articles_sidebar:
|
||||
type: SubtemplateType
|
||||
code: article-sidebar
|
||||
value: Article Sidebar
|
||||
position: 1
|
||||
1
db/import/faqs/questions.csv
Normal file
1
db/import/faqs/questions.csv
Normal file
@@ -0,0 +1 @@
|
||||
"product_code","faq_category_url_param","url_param","question","featured","position"
|
||||
|
150
db/import/product_pages/better-listview_features.erb
Normal file
150
db/import/product_pages/better-listview_features.erb
Normal file
@@ -0,0 +1,150 @@
|
||||
<h2>Bugs and wrong behavior:</h2>
|
||||
|
||||
<table cellspacing="0">
|
||||
<tr>
|
||||
<th>Regular .NET ListView Control</th>
|
||||
<th>Better ListView control</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Some events fire twice bug</td>
|
||||
<td>Fixed</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Selection behavior different from Windows Explorer</td>
|
||||
<td>Fixed; Behaves as expected</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Drag & Drop behavior different from Windows Explorer</td>
|
||||
<td>Fixed; Behaves as expected</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Checkboxes do not stay in the first column when the first column is reordered</td>
|
||||
<td>Fixed; Behaves as expected</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Non-standard checkboxes behavior (e.g. when using spacebar)</td>
|
||||
<td>Fixed</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Non-standard look, incompatible with system themes</td>
|
||||
<td>Fixed; Always uses system theme. Looks great on all Windows versions. Works with Windows 7 themes and Aero</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<h2>Limitations:</h2>
|
||||
|
||||
<table cellspacing="0">
|
||||
<tr>
|
||||
<th>Regular .NET ListView Control</th>
|
||||
<th>Better ListView control</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Just one image per item</td>
|
||||
<td>Enhanced; Each sub-item can have image</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ImageList must be used to display images</td>
|
||||
<td>Both ImageList and Image instances can be used</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Simple sorting only</td>
|
||||
<td>Multi-column sorting; Users can use Shift+Click to add additional columns to the sort</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Three-state checkboxes not supported</td>
|
||||
<td>Support for both two-state and three-state check boxes</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Very limited event data</td>
|
||||
<td>Enhanced; Many events have rich event data with useful information</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Only 1 context menu for whole ListView</td>
|
||||
<td>Up to 3 separate context menus: One for column headers, one for items, and one for empty area</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Columns can be shown only in “Details” layout</td>
|
||||
<td>Columns can be shown in all layouts</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Only “SmallIcon” and “LargeIcon” size supported</td>
|
||||
<td>Images can be of arbitrary size per layout.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Image size is static</td>
|
||||
<td>Images are scaled and centered smoothly when necessary while keeping their respective aspect ratios</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Column header images are not supported</td>
|
||||
<td>Both ImageList and custom Image instances can be set on column headers</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Custom comparer for sorting has to be implemented from scratch</td>
|
||||
<td>Custom comparer can be inherited from BetterListView’s default comparer to extend its functionality; Any custom IComparer is supported as well</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Sub-item images very limited; Usable only via WinAPI with limitations in size and color depth</td>
|
||||
<td>Images for sub-item fully supported (both ImageList and custom Image instances)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Check boxes do not have animation effect like the standard control</td>
|
||||
<td>Check boxes are animated when used with mouse or keyboard the same way as the CheckBox control</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Searching with keyboard only on first column and limited to string prefixes</td>
|
||||
<td>Keyboard searching can be used on columns of choice and the searching behavior can be further adjusted (any substring, character-based or word-based search)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Only simple item tooltips supported</td>
|
||||
<td>Automatic and customizable tooltips on items, sub-items and columns are supported</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Can scroll to just one item</td>
|
||||
<td>One or several items can be specified to be scrolled into view</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Vista-look only with WinAPI extension</td>
|
||||
<td>Visual elements are used by default</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>No Drag & Drop item highlighting</td>
|
||||
<td>Items under cursor are properly highlighted during dragging; Highlighting can be switched off for selected items</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<h2>Missing features:</h2>
|
||||
|
||||
<table cellspacing="0">
|
||||
<tr>
|
||||
<th>Regular .NET ListView Control</th>
|
||||
<th>Better ListView control</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>No empty text support (watermark text when ListView is empty)</td>
|
||||
<td>Added support; Empty text for empty ListView is supported; You can give hint to your users now</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>No inbuilt sort</td>
|
||||
<td>Added inbuilt sort support; Zero-code sorting</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>No auto-scroll when reordering items</td>
|
||||
<td>Added; Auto-scroll speed can be adjusted</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>No auto-scroll when reordering columns</td>
|
||||
<td>Added; Auto-scroll speed can be adjusted</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>No inbuilt item/column reordering</td>
|
||||
<td>Added item/column reordering support; Zero-code reordering</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>No auto-scroll when dragging an item</td>
|
||||
<td>Added; Auto-scroll speed can be adjusted</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Complex data binding not supported</td>
|
||||
<td>Support for complex data binding; Any IList, DataSet, DataTable or several other types can be bound directly to the Better ListView</td>
|
||||
</tr>
|
||||
</table>
|
||||
191
db/import/product_pages/better-listview_pricing-licensing.erb
Normal file
191
db/import/product_pages/better-listview_pricing-licensing.erb
Normal file
@@ -0,0 +1,191 @@
|
||||
<h1>Licensing & pricing for Better ListView</h1>
|
||||
<p class="section-info">Purchase the ideal replacement component for .NET ListView.</p>
|
||||
|
||||
<ul id="buy-nav" class="nav">
|
||||
<li><%= link_to("Buy new licenses", {}, :class => "current") %></li>
|
||||
<li><%= link_to("Renew subscription", {}) %></li>
|
||||
</ul>
|
||||
|
||||
<div id="buy-panels">
|
||||
<div class="panel">
|
||||
|
||||
<% form_tag "https://secure.bmtmicro.com/servlets/Orders.ShoppingCart", :method => :get do -%>
|
||||
<%= hidden_field_tag "CID", Settings.order.cid %>
|
||||
<%= hidden_field_tag "CLR", Settings.order.clr %>
|
||||
<%= hidden_field_tag "PRODUCTID", "", :class => "product-id" %>
|
||||
|
||||
<table cellspacing="0">
|
||||
<tr>
|
||||
<th colspan="4">Single developer licenses</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Single developer license with 1 year subscription</td>
|
||||
<td class="price">$345</td>
|
||||
<td class="addon" rowspan="2">
|
||||
<%= check_box_tag "PRODUCTID", "18300056", false, :id => "support-single" %>
|
||||
<%= label_tag "support-single", "Add 1 year priority support ($99)" %>
|
||||
</td>
|
||||
<td class="buy"><%= buy "18300042" %></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Single developer license with source code and 1 year subscription</td>
|
||||
<td class="price">$795</td>
|
||||
<td class="buy"><%= buy "18300043" %></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th colspan="4">5 developers licenses</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>5 developer license with 1 year subscription</td>
|
||||
<td class="price">$995</td>
|
||||
<td class="addon" rowspan="2">
|
||||
<%= check_box_tag "PRODUCTID", "18300057", false, :id => "support-5" %>
|
||||
<%= label_tag "support-5", "Add 1 year priority support ($295)" %>
|
||||
</td>
|
||||
<td class="buy"><%= buy "18300044" %></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>5 developer license with source code and 1 year subscription</td>
|
||||
<td class="price">$1995</td>
|
||||
<td class="buy"><%= buy "18300045" %></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th colspan="4">Site licenses - use at 1 site (office or building)</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Site license with 1 year subscription</td>
|
||||
<td class="price">$1995</td>
|
||||
<td class="addon" rowspan="2">
|
||||
<%= check_box_tag "PRODUCTID", "18300058", false, :id => "support-site" %>
|
||||
<%= label_tag "support-site", "Add 1 year priority support ($495)" %>
|
||||
</td>
|
||||
<td class="buy"><%= buy "18300046" %></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Site license with source code and 1 year subscription</td>
|
||||
<td class="price">$3995</td>
|
||||
<td class="buy"><%= buy "18300047" %></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th colspan="4">Enterprise license - use world-wide at unlimited sites</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Enterprise license with source code and 1 year subscription</td>
|
||||
<td class="price">$8995</td>
|
||||
<td class="addon">
|
||||
<%= check_box_tag "PRODUCTID", "18300059", false, :id => "support-enterprise" %>
|
||||
<%= label_tag "support-enterprise", "Add 1 year priority support ($995)" %>
|
||||
</td>
|
||||
<td class="buy"><%= buy "18300048" %></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<% end -%>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="panel">
|
||||
|
||||
<% form_tag "https://secure.bmtmicro.com/servlets/Orders.ShoppingCart", :method => :get do -%>
|
||||
<%= hidden_field_tag "CID", Settings.order.cid %>
|
||||
<%= hidden_field_tag "CLR", Settings.order.clr %>
|
||||
<%= hidden_field_tag "PRODUCTID", "", :class => "product-id" %>
|
||||
|
||||
<table cellspacing="0">
|
||||
<tr>
|
||||
<th colspan="4">Single developer licenses</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Renew single developer 1 year subscription</td>
|
||||
<td class="price">$138</td>
|
||||
<td class="addon" rowspan="2">
|
||||
<%= check_box_tag "PRODUCTID", "18300056", false, :id => "renew-support-single" %>
|
||||
<%= label_tag "renew-support-single", "Add 1 year priority support ($99)" %>
|
||||
</td>
|
||||
<td class="buy"><%= renew "18300049" %></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Renew single developer 1 year subscription with source code</td>
|
||||
<td class="price">$318</td>
|
||||
<td class="buy"><%= renew "18300050" %></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th colspan="4">5 developers licenses</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Renew 5 developer 1 year subscription</td>
|
||||
<td class="price">$398</td>
|
||||
<td class="addon" rowspan="2">
|
||||
<%= check_box_tag "PRODUCTID", "18300057", false, :id => "renew-support-5" %>
|
||||
<%= label_tag "renew-support-5", "Add 1 year priority support ($295)" %>
|
||||
</td>
|
||||
<td class="buy"><%= renew "18300051" %></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Renew 5 developer 1 year subscription with source code</td>
|
||||
<td class="price">$798</td>
|
||||
<td class="buy"><%= renew "18300052" %></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th colspan="4">Site licenses - use at 1 site (office or building)</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Renew site license 1 year subscription</td>
|
||||
<td class="price">$798</td>
|
||||
<td class="addon" rowspan="2">
|
||||
<%= check_box_tag "PRODUCTID", "18300058", false, :id => "renew-support-site" %>
|
||||
<%= label_tag "renew-support-site", "Add 1 year priority support ($495)" %>
|
||||
</td>
|
||||
<td class="buy"><%= renew "18300053" %></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Renews site license 1 year subscription with source code</td>
|
||||
<td class="price">$1598</td>
|
||||
<td class="buy"><%= renew "18300054" %></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th colspan="4">Enterprise license - use world-wide at unlimited sites</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Renew enterprise license 1 year subscription with source code</td>
|
||||
<td class="price">$3598</td>
|
||||
<td class="addon">
|
||||
<%= check_box_tag "PRODUCTID", "18300059", false, :id => "renew-support-enterprise" %>
|
||||
<%= label_tag "renew-support-enterprise", "Add 1 year priority support ($995)" %>
|
||||
</td>
|
||||
<td class="buy"><%= renew "18300055" %></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<% end -%>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="licenses-info">
|
||||
|
||||
<div class="block">
|
||||
<p>All licenses are:</p>
|
||||
<ul class="common">
|
||||
<li>Life-time (non-expiring)</li>
|
||||
<li>Royalty free</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="block">
|
||||
<p>Subscription gets you:</p>
|
||||
<ul class="common">
|
||||
<li>Support</li>
|
||||
<li>Updates</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="block last">
|
||||
<p>Priority support gets you:</p>
|
||||
<ul class="common">
|
||||
<li>Guaranteed 24 hour reply</li>
|
||||
<li>Help with implementing new features and extending Better ListView</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
9
db/import/product_pages/better-listview_screenshots.erb
Normal file
9
db/import/product_pages/better-listview_screenshots.erb
Normal file
@@ -0,0 +1,9 @@
|
||||
<div class="screenshots">
|
||||
<% reset_cycle %>
|
||||
<% for screenshot in @product.screenshots.all_ordered %>
|
||||
<% c = cycle("odd", "even") %>
|
||||
<% if c == "odd" %><div class="screenshot-row"><% end %>
|
||||
<div class="<%= c %>"><%= screenshot_link(screenshot, :version => :thumb_big) %><strong><%= truncate(screenshot.label, 40) %></strong></div>
|
||||
<% if c == "even" || @product.screenshots.all_ordered.last == screenshot %></div><% end %>
|
||||
<% end %>
|
||||
</div>
|
||||
91
db/import/product_pages/better-listview_story.erb
Normal file
91
db/import/product_pages/better-listview_story.erb
Normal file
@@ -0,0 +1,91 @@
|
||||
<h2>The story behind Better Listview</h2>
|
||||
|
||||
<p>Hi, my name is Jiri Novotny and I’m the founder of Dextronet.com, a small software startup that operates ComponentOwl.com among other things.
|
||||
Me and my team think of ourselves as independent software vendors (or mISV).</p>
|
||||
|
||||
<p>Surprise surprise - as it is with most independent components today, we did not originally actually intended to create Better ListView.</p>
|
||||
|
||||
<p>Our flagship product is Swift To-Do List, a desktop task management software. The old version of Swift To-Do List has been written in Visual Basic 6
|
||||
which has many limitations, so we’ve decided to make a total rewrite in VB.NET and C#. The development started in July 2009.</p>
|
||||
|
||||
<p>Because Swift To-Do List is highly list-centric product (as the name suggests ), it soon become apparent that we will need excellent ListView control.
|
||||
The ListView control included in .NET just didn’t cut it. Not only its features are very limited, but there are braincracking bugs and strange behavior
|
||||
in lots of cases. In fact, the default .NET ListView was so bad, that I’ve oftentimes wished I could just use the ListView included in VB6 –
|
||||
it has at least behaved mostly correctly.</p>
|
||||
|
||||
<p>So, because we couldn’t use the default .NET ListView, I began searching for a replacement ListView
|
||||
control. My requirements were actually not very demanding - I wanted a ListView control that looked and
|
||||
behaved similarly as the one used in Windows Explorer. </p>
|
||||
|
||||
<p>Unfortunately, I‘ve soon discovered that in reality, I want lots of things that are not taken for granted in any ListView control that I’ve found.
|
||||
My requirements for a usable .NET ListView control are:</p>
|
||||
|
||||
<ul class="common">
|
||||
<li>It must either inherit from native ListView or mimick it perfectly</li>
|
||||
<li>It must use system theme seamlessly and not have some weird inconsistent custom look</li>
|
||||
<li>It must support sub-item images flawlessly</li>
|
||||
<li>It must have excellent drag & drop support for item reordering</li>
|
||||
<li>It must have perfect implementation of selection and drag-selection</li>
|
||||
<li>It must support 3 different context menus: For items, column headers, and empty space</li>
|
||||
<li>Multi-column sort</li>
|
||||
<li>Must not be part of some huge control pack that I need to bundle with my app</li>
|
||||
<li>Must be light-weight, fast and optimized</li>
|
||||
<li>Must have all bugs and strange behavior of .NET ListView fixed</li>
|
||||
</ul>
|
||||
|
||||
<p>There was also lot of nice-to-have things that I’ve looked for, like:</p>
|
||||
<ul class="common">
|
||||
<li>Watermark text that is shown when the ListView is empty</li>
|
||||
<li>Column reordering with auto-scrolling</li>
|
||||
<li>100% managed code</li>
|
||||
<li>... co mame dal? Napady! ...</li>
|
||||
</ul>
|
||||
|
||||
<p>I did not want to use any DataGrid-based control, as it can’t really replace ListView control – it is much harder to manipulate for the user in most
|
||||
cases, and it doesn’t support many things that ListView does. </p>
|
||||
|
||||
<p>Swift To-Do List is a mass-market product, so it needed a ListView control that behaved as expected in all cases, no exceptions.
|
||||
The ListView control used in Windows Explorer is a great model: Because every user knows how to work with Windows Explorer ListView already,
|
||||
you can leverage that knowledge in your own applications. Your applications will be truly easy to use and learn.</p>
|
||||
|
||||
<p>I’ve looked over dozen of ListView controls – and I’m not afraid to name them, because they just don’t meet the above criteria.
|
||||
The controls I looked over included ListView from SoftGroup, three different open source ListView controls from CodeProject,
|
||||
ListView from Lidor systems, Grid and TreeView-Grid hybrid from DevExpres, WinListView from Infragistics, I’ve also looked at all
|
||||
ListView controls to be found at CodeGuru and ComponentSource and more – basically everything that I could Google and everything
|
||||
from all well-known (or not so well known) component providers.</p>
|
||||
|
||||
<p>I was disappointed with every single of these controls. Not one of them met my criteria.</p>
|
||||
|
||||
<p>Believe me, I *wanted* to find the perfect ListView control – after all, I desperately needed it so we could use it in our own product.
|
||||
But what I‘ve found during my extensive research? Nothing. Null. Nilch. Nada. Zero. My heart was broken. The dreams of our awesome Swift To-Do List 7
|
||||
product started to shatter, because we needed an adequate ListView control first. When it comes to user experience, we simply couldn’t settle
|
||||
for anything less than great.</p>
|
||||
|
||||
<p>But we haven’t given up. The solution? To create our own ListView control. A Better ListView control. It was not originally intended to be
|
||||
a product on it’s own, but when it has been finished, it was so good that it would be a sin to keep it selfishly just for ourselves.
|
||||
So we’ve started selling it.</p>
|
||||
|
||||
<p>When we started building our own better ListView control, we wanted it to inherit from System.Windows.Forms.ListView at first.
|
||||
We’ve tried our best, but some of the bugs of .NET ListView were simply impossible to fix, even with ridiculous hacks. However, luck has shined upon us. </p>
|
||||
|
||||
<p>We’ve met Libor Tinka, a genius C# developer with extensive experience with not just programming in general, but specifically Windows
|
||||
control development as well. He’s the author and sole developer of ImagingShop, a powerful digital photography processing desktop application
|
||||
that includes many of his custom controls, and lot’s of hardcore mathematics and unique algorithms (It has over 220k lines of code in total!).
|
||||
That guy <strong>really</strong> is a genius and let me tell you, the code he writes is just beautiful. He’s an artist.</p>
|
||||
|
||||
<p>When we’ve asked Libor to create a better ListView control for us, he accepted the challenge. </p>
|
||||
|
||||
<p>(By the way, it might look easy at first, but implementing your own ListView control is extremely difficult, daunting and complicated task –
|
||||
there are so many corner cases in the control‘s behavior that it will make your brain want run away.)</p>
|
||||
|
||||
<p>We’ve worked very closely with Libor during the intensive development process. Fast forward 10 months into the future - Better ListView is done,
|
||||
and Libor is an integral part of our team. We still work together as we support and constantly enhance BetterListview.</p>
|
||||
|
||||
<p>Better ListView is now used not just in Swift To-Do List, but also in Libor’s own product ImagingShop, so we are trully eating our own dog foot.
|
||||
This is your <strong>guarantee</strong> that we will <strong>not</strong> stop supporting Better ListView, fixing bugs and implementing new features –
|
||||
it’s the <strong>core</strong> and <strong>heart</strong> of our own desktop software products after all. We walk the talk.</p>
|
||||
|
||||
<p>If Better ListView existed before, I know I would be absolutely positively <strong>thrilled</strong> about it.
|
||||
And so I hope that you are thrilled about it now that you’ve found it.</p>
|
||||
|
||||
<p>Any questions or comments? I would love to get them. Contact me at novotny@dextronet.com
|
||||
4
db/import/product_pages/product_pages.csv
Normal file
4
db/import/product_pages/product_pages.csv
Normal file
@@ -0,0 +1,4 @@
|
||||
"product_code","code","name","tab","position"
|
||||
"better-listview","story","Story",1,3
|
||||
"better-listview","screenshots","Screenshots",1,3
|
||||
"better-listview","pricing-licensing","Pricing & Licensing",0,1
|
||||
|
51
db/import/static_pages/about.erb
Normal file
51
db/import/static_pages/about.erb
Normal file
@@ -0,0 +1,51 @@
|
||||
<h1>About Component Owl</h1>
|
||||
|
||||
<p>ComponentOwl.com has been founded in 2010 as a part of Dextronet.com network.</p>
|
||||
|
||||
<p>Our goal is to provide light-weight, flexible and reliable <strong>components and controls for Microsoft .NET</strong>
|
||||
that are both user friendly and developer friendly.</p>
|
||||
|
||||
<p>Important thing about our controls is that they always use system themes, look, and behavior. We are opposed to controls with custom look and non-standard
|
||||
behavior - in our opinion, controls that don’t look and behave as expected are not user friendly. Aero looks great, and so do our controls. That being said,
|
||||
you can still customize our controls to suit your special needs, using many properties and owner-drawing options.</p>
|
||||
|
||||
<p>Our first product is Better ListView. It is aimed to be the number one replacement for the regular .NET ListView included with Visual Studio. Read the
|
||||
<%= link_to "Better ListView story", story_path(featured_product) %>.</p>
|
||||
|
||||
<h2>Support and development continuance</h2>
|
||||
|
||||
<p>All components provided are used in our own products. For example, Better ListView is used in
|
||||
<%= link_to "task management software", "http://www.dextronet.com/swift-to-do-list-software" %> Swift To-Do List and professional photography processing
|
||||
application ImagingShop. This is your guarantee that we will <strong>not</strong> stop developing and supporting our components. It is quite common to find abandoned
|
||||
controls and components – and this won’t happen with Component Owl controls!</p>
|
||||
|
||||
<h2>Quality assurance</h2>
|
||||
|
||||
<p>Our quality assurance stands on three main pillars:</p>
|
||||
|
||||
<ol class="common">
|
||||
<li>Unit tests. All code is covered by unit tests whenever possible.</li>
|
||||
<li>Rigorous in-house testing with extreme focus on details.</li>
|
||||
<li>Usage of our controls in real world. Thousands of users work with Better ListView every day, because it is part of Swift To-Do List
|
||||
and other software products developed by us, our partners and customers.</li>
|
||||
</ol>
|
||||
|
||||
<h2>Our team</h2>
|
||||
|
||||
<p>Our team members have more than 10+ years of experience with Win32 development on average.</p>
|
||||
|
||||
<p><strong>Jiri Novotny</strong> – Dextronet.com founder and author of Swift To-Do List. Better ListView project leader and specs author.
|
||||
Jiri has focused on making Better ListView as user friendly as possible. He also ensured its compatibility with all Windows versions and themes.</p>
|
||||
|
||||
<p><strong>Libor Tinka</strong> – Chief developer of Better ListView. Control development and C# expert. Libor is author of ImagingShop, digital photography
|
||||
processing application.</p>
|
||||
|
||||
<p><strong>Ondrej Tomec</strong> – Dextronet.com developer, author of various software projects, and co-developer of Better ListView. Ondrej helped to make
|
||||
Better ListView better with his rigorous quality assurance procedures and code analysis.</p>
|
||||
|
||||
<h2>Contact us today</h2>
|
||||
|
||||
<p>Get in touch using the contact form in <%= link_to "Support", "/support" %> section, or directly at <span class="emil">support (at) componentowl (dot) com</span>.</p>
|
||||
|
||||
<h2>ComponentSource Author</h2>
|
||||
<p>We are certified ComponentSource author. ComponentSource is our authorized reseller.<br /><br /><%= image_tag("Online-AuthorTierLogo.gif", :alt => "Online ComponentSource Author") %></p>
|
||||
346
db/import/static_pages/customer-service.erb
Normal file
346
db/import/static_pages/customer-service.erb
Normal file
@@ -0,0 +1,346 @@
|
||||
<h1>Resellers and Customer Service</h1>
|
||||
|
||||
<p>Our Customer Services representatives speak English, French, German, Italian, Spanish, Japanese and Korean and are available to assist
|
||||
with all your sales and technical queries. Call us free of charge from the countries listed below.</p>
|
||||
|
||||
<%= image_tag "CSLogo.gif", :alt => "ComponentSource.com" %>
|
||||
|
||||
<table cellspacing="0">
|
||||
<thead>
|
||||
<tr>
|
||||
<th colspan="2">Country</th>
|
||||
<th>Toll Free Number</th>
|
||||
<th>Availability (Mon - Fri Local Time)</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="flag"><%= image_tag('countries/us.gif', :alt => "USA", :width => 16, :height => 11) %></td>
|
||||
<td class="country">USA</td>
|
||||
<td class="number">(888) 850 9911</td>
|
||||
<td class="availability">24 hour</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="flag"><%= image_tag('countries/us.gif', :alt => "USA - Gov Sales", :width => 16, :height => 11) %></td>
|
||||
<td class="country">USA - Gov Sales</td>
|
||||
<td class="number">(888) 850 9966</td>
|
||||
<td class="availability">24 hour</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="flag"><%= image_tag('countries/ca.gif', :alt => "Canada", :width => 16, :height => 11) %></td>
|
||||
<td class="country">Canada</td>
|
||||
<td class="number">(888) 850 9911</td>
|
||||
<td class="availability">24 hour</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="flag"><%= image_tag('countries/gb.gif', :alt => "United Kingdom", :width => 16, :height => 11) %></td>
|
||||
<td class="country">United Kingdom</td>
|
||||
<td class="number">0800 581111</td>
|
||||
<td class="availability">24 hour </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="flag"><%= image_tag('countries/ar.gif', :alt => "Argentina", :width => 16, :height => 11) %></td>
|
||||
<td class="country">Argentina</td>
|
||||
<td class="number">0800 666 3484</td>
|
||||
<td class="availability">5:00am-7:00pm</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="flag"><%= image_tag('countries/au.gif', :alt => "Australia", :width => 16, :height => 11) %></td>
|
||||
<td class="country">Australia</td>
|
||||
<td class="number">1 800 0 15292</td>
|
||||
<td class="availability">11:00am-7:00pm EST</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="flag"><%= image_tag('countries/at.gif', :alt => "Austria", :width => 16, :height => 11) %></td>
|
||||
<td class="country">Austria</td>
|
||||
<td class="number">0800 281 750</td>
|
||||
<td class="availability">9:00am-5:30pm CEST</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="flag"><%= image_tag('countries/be.gif', :alt => "Belgium", :width => 16, :height => 11) %></td>
|
||||
<td class="country">Belgium</td>
|
||||
<td class="number">0800 7 5603</td>
|
||||
<td class="availability">9:00am-5:30pm CEST</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="flag"><%= image_tag('countries/br.gif', :alt => "Brazil", :width => 16, :height => 11) %></td>
|
||||
<td class="country">Brazil</td>
|
||||
<td class="number">0800 891 6478</td>
|
||||
<td class="availability">6:00am-7:00pm</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="flag"><%= image_tag('countries/bg.gif', :alt => "Bulgaria", :width => 16, :height => 11) %></td>
|
||||
<td class="country">Bulgaria</td>
|
||||
<td class="number">00800 115 4445</td>
|
||||
<td class="availability">24 hour</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="flag"><%= image_tag('countries/cl.gif', :alt => "Chile", :width => 16, :height => 11) %></td>
|
||||
<td class="country">Chile</td>
|
||||
<td class="number">1230 020 6857</td>
|
||||
<td class="availability">4:00am-6:00pm</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="flag"><%= image_tag('countries/cn.gif', :alt => "China (North)", :width => 16, :height => 11) %></td>
|
||||
<td class="country">China (North)</td>
|
||||
<td class="number">10800 481 1661</td>
|
||||
<td class="availability">8:00am-4:00pm</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="flag"><%= image_tag('countries/cn.gif', :alt => "China (South)", :width => 16, :height => 11) %></td>
|
||||
<td class="country">China (South)</td>
|
||||
<td class="number">10800 813 1594 </td>
|
||||
<td class="availability">8:00am-4:00pm</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="flag"><%= image_tag('countries/co.gif', :alt => "Colombia", :width => 16, :height => 11) %></td>
|
||||
<td class="country">Colombia</td>
|
||||
<td class="number">01800 710 2043</td>
|
||||
<td class="availability">3:00am-5:00pm</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="flag"><%= image_tag('countries/hr.gif', :alt => "Croatia", :width => 16, :height => 11) %></td>
|
||||
<td class="country">Croatia</td>
|
||||
<td class="number">0800 22255</td>
|
||||
<td class="availability">24 hour</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="flag"><%= image_tag('countries/cz.gif', :alt => "Czech Republic", :width => 16, :height => 11) %></td>
|
||||
<td class="country">Czech Republic</td>
|
||||
<td class="number">800 143 313</td>
|
||||
<td class="availability">24 hour</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="flag"><%= image_tag('countries/dm.gif', :alt => "Denmark", :width => 16, :height => 11) %></td>
|
||||
<td class="country">Denmark</td>
|
||||
<td class="number">80 88 17 20</td>
|
||||
<td class="availability">24 hour</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="flag"><%= image_tag('countries/ec.gif', :alt => "Ecuador", :width => 16, :height => 11) %></td>
|
||||
<td class="country">Ecuador</td>
|
||||
<td class="number">1 800 010 562</td>
|
||||
<td class="availability">3:00am-5:00pm</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="flag"><%= image_tag('countries/fi.gif', :alt => "Finland", :width => 16, :height => 11) %></td>
|
||||
<td class="country">Finland</td>
|
||||
<td class="number">0800 1 18002</td>
|
||||
<td class="availability">24 hour</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="flag"><%= image_tag('countries/fr.gif', :alt => "France", :width => 16, :height => 11) %></td>
|
||||
<td class="country">France</td>
|
||||
<td class="number">0800 90 92 62</td>
|
||||
<td class="availability">9:00am-5:30pm CEST</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="flag"><%= image_tag('countries/de.gif', :alt => "Germany", :width => 16, :height => 11) %></td>
|
||||
<td class="country">Germany</td>
|
||||
<td class="number">0800 186 07 06</td>
|
||||
<td class="availability">9:00am-5:30pm CEST</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="flag"><%= image_tag('countries/gr.gif', :alt => "Greece", :width => 16, :height => 11) %></td>
|
||||
<td class="country">Greece</td>
|
||||
<td class="number">00800 44121891</td>
|
||||
<td class="availability">24 hour </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="flag"><%= image_tag('countries/hk.gif', :alt => "Hong Kong", :width => 16, :height => 11) %></td>
|
||||
<td class="country">Hong Kong</td>
|
||||
<td class="number">800 908 581</td>
|
||||
<td class="availability">8:00am-4:00pm</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="flag"><%= image_tag('countries/hu.gif', :alt => "Hungary", :width => 16, :height => 11) %></td>
|
||||
<td class="country">Hungary</td>
|
||||
<td class="number">06800 16674</td>
|
||||
<td class="availability">24 hour</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="flag"><%= image_tag('countries/in.gif', :alt => "India", :width => 16, :height => 11) %></td>
|
||||
<td class="country">India</td>
|
||||
<td class="number">000 800 44 01 455</td>
|
||||
<td class="availability">24 hour</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="flag"><%= image_tag('countries/ie.gif', :alt => "Ireland", :width => 16, :height => 11) %></td>
|
||||
<td class="country">Ireland</td>
|
||||
<td class="number">1 800 535 661</td>
|
||||
<td class="availability">24 hour</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="flag"><%= image_tag('countries/il.gif', :alt => "Israel", :width => 16, :height => 11) %></td>
|
||||
<td class="country">Israel</td>
|
||||
<td class="number">180 924 2003</td>
|
||||
<td class="availability">24 hour </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="flag"><%= image_tag('countries/it.gif', :alt => "Italy", :width => 16, :height => 11) %></td>
|
||||
<td class="country">Italy</td>
|
||||
<td class="number">800 790046</td>
|
||||
<td class="availability">9:00am-5:30pm CEST</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="flag"><%= image_tag('countries/jp.gif', :alt => "Japan", :width => 16, :height => 11) %></td>
|
||||
<td class="country">Japan</td>
|
||||
<td class="number">0120 343 550 </td>
|
||||
<td class="availability">10:00am-6:00pm JST</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="flag"><%= image_tag('countries/mx.gif', :alt => "Mexico", :width => 16, :height => 11) %></td>
|
||||
<td class="country">Mexico</td>
|
||||
<td class="number">01 800 681 1559</td>
|
||||
<td class="availability">2:00am-4:00pm CST</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="flag"><%= image_tag('countries/nl.gif', :alt => "Netherlands", :width => 16, :height => 11) %></td>
|
||||
<td class="country">Netherlands</td>
|
||||
<td class="number">0800 022 8832</td>
|
||||
<td class="availability">24 hour </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="flag"><%= image_tag('countries/nz.gif', :alt => "New Zealand", :width => 16, :height => 11) %></td>
|
||||
<td class="country">New Zealand</td>
|
||||
<td class="number">800 449181</td>
|
||||
<td class="availability">12:00pm-8:00pm</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="flag"><%= image_tag('countries/no.gif', :alt => "Norway", :width => 16, :height => 11) %></td>
|
||||
<td class="country">Norway</td>
|
||||
<td class="number">800 1 3685</td>
|
||||
<td class="availability">24 hour </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="flag"><%= image_tag('countries/pa.gif', :alt => "Panama", :width => 16, :height => 11) %></td>
|
||||
<td class="country">Panama</td>
|
||||
<td class="number">00 1 800 203 1587</td>
|
||||
<td class="availability">3:00am-5:00pm</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="flag"><%= image_tag('countries/pe.gif', :alt => "Peru", :width => 16, :height => 11) %></td>
|
||||
<td class="country">Peru</td>
|
||||
<td class="number">0800 53288</td>
|
||||
<td class="availability">3:00am-5:00pm</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="flag"><%= image_tag('countries/pl.gif', :alt => "Poland", :width => 16, :height => 11) %></td>
|
||||
<td class="country">Poland</td>
|
||||
<td class="number">00800 442 1092</td>
|
||||
<td class="availability">24 hour </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="flag"><%= image_tag('countries/pt.gif', :alt => "Portugal", :width => 16, :height => 11) %></td>
|
||||
<td class="country">Portugal</td>
|
||||
<td class="number">800 844 125 </td>
|
||||
<td class="availability">9:00am-10:00pm WEST</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="flag"><%= image_tag('countries/ru.gif', :alt => "Russia", :width => 16, :height => 11) %></td>
|
||||
<td class="country">Russia</td>
|
||||
<td class="number">810 800 2251 1044</td>
|
||||
<td class="availability">24 hour </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="flag"><%= image_tag('countries/sg.gif', :alt => "Singapore", :width => 16, :height => 11) %></td>
|
||||
<td class="country">Singapore</td>
|
||||
<td class="number">800 810 2136</td>
|
||||
<td class="availability">8:00am-4:00pm</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="flag"><%= image_tag('countries/si.gif', :alt => "Slovenia", :width => 16, :height => 11) %></td>
|
||||
<td class="country">Slovenia</td>
|
||||
<td class="number">0800 80297</td>
|
||||
<td class="availability">24 hour </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="flag"><%= image_tag('countries/za.gif', :alt => "South Africa", :width => 16, :height => 11) %></td>
|
||||
<td class="country">South Africa</td>
|
||||
<td class="number">0800 99 1088</td>
|
||||
<td class="availability">24 hour </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="flag"><%= image_tag('countries/kr.gif', :alt => "South Korea", :width => 16, :height => 11) %></td>
|
||||
<td class="country">South Korea</td>
|
||||
<td class="number">00798 14 800 6332 </td>
|
||||
<td class="availability">10:00am-6:00pm</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="flag"><%= image_tag('countries/es.gif', :alt => "Spain", :width => 16, :height => 11) %></td>
|
||||
<td class="country">Spain</td>
|
||||
<td class="number">900 93 8926</td>
|
||||
<td class="availability">9:00am-11:00pm CEST</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="flag"><%= image_tag('countries/se.gif', :alt => "Sweden", :width => 16, :height => 11) %></td>
|
||||
<td class="country">Sweden</td>
|
||||
<td class="number">020 794 989</td>
|
||||
<td class="availability">24 hour </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="flag"><%= image_tag('countries/ch.gif', :alt => "Switzerland", :width => 16, :height => 11) %></td>
|
||||
<td class="country">Switzerland</td>
|
||||
<td class="number">0800 83 5305</td>
|
||||
<td class="availability">9:00am-5:30pm CEST</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="flag"><%= image_tag('countries/tw.gif', :alt => "Taiwan", :width => 16, :height => 11) %></td>
|
||||
<td class="country">Taiwan</td>
|
||||
<td class="number">00 801 814313</td>
|
||||
<td class="availability">8:00am-4:00pm</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="flag"><%= image_tag('countries/tr.gif', :alt => "Turkey", :width => 16, :height => 11) %></td>
|
||||
<td class="country">Turkey</td>
|
||||
<td class="number">00 800 4491 3617</td>
|
||||
<td class="availability">24 hour </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="flag"><%= image_tag('countries/uy.gif', :alt => "Uruguay", :width => 16, :height => 11) %></td>
|
||||
<td class="country">Uruguay</td>
|
||||
<td class="number">000 401 902 38</td>
|
||||
<td class="availability">5:00am-7:00pm</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="flag"><%= image_tag('countries/ve.gif', :alt => "Venezuela", :width => 16, :height => 11) %></td>
|
||||
<td class="country">Venezuela</td>
|
||||
<td class="number">0 800 100 9103</td>
|
||||
<td class="availability">3:30am-5:30pm</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<div class="blocks">
|
||||
<div class="block">
|
||||
<h3>US Headquarters</h3>
|
||||
ComponentSource<br />
|
||||
650 Claremore Professional Way<br />
|
||||
Suite 100<br />
|
||||
Woodstock GA 30188-5188<br />
|
||||
USA<br /><br /><br />
|
||||
Tel: +1 770 250 6100<br />
|
||||
Fax: +1 770 250 6199
|
||||
</div>
|
||||
<div class="block">
|
||||
<h3>US Headquarters</h3>
|
||||
ComponentSource<br />
|
||||
30 Greyfriars Road<br />
|
||||
Reading, Berkshire<br />
|
||||
RG1 1PE<br />
|
||||
United Kingdom<br /><br /><br />
|
||||
Tel: +44 118 958 1111<br />
|
||||
Fax: +44 118 958 9999
|
||||
</div>
|
||||
<div class="block">
|
||||
<h3>Asia-Pac Headquarters</h3>
|
||||
ComponentSource<br />
|
||||
3F Kojimachi Square Bldg<br />
|
||||
3-3 Kojimachi Chiyoda-ku<br />
|
||||
Tokyo<br />
|
||||
Japan<br />
|
||||
102-0083<br /><br />
|
||||
Tel: +81 3 3237 0281<br />
|
||||
Fax: +81 3 3237 0282
|
||||
</div>
|
||||
</div>
|
||||
21
db/import/static_pages/disclaimer.erb
Normal file
21
db/import/static_pages/disclaimer.erb
Normal file
@@ -0,0 +1,21 @@
|
||||
<p>The information contained in this website is for general information purposes only. The information is provided by Jiri Novotny and
|
||||
Dextronet.com and while we endeavor to keep the information up to date and correct, we make no representations or warranties of any kind,
|
||||
express or implied, about the completeness, accuracy, reliability, suitability or availability with respect to the website or the information,
|
||||
products, services, or related graphics contained on the website for any purpose. Any reliance you place on such information is therefore
|
||||
strictly at your own risk. All content is provided "as is".</p>
|
||||
|
||||
<p>In no event will we be liable for any loss or damage including without limitation, indirect or consequential loss or damage, or any loss
|
||||
or damage whatsoever arising from loss of data or profits arising out of, or in connection with, the use of this website.</p>
|
||||
|
||||
<p>Through this website you are able to link to other websites which are not under our control. We have no control over the nature, content
|
||||
and availability of those sites. The inclusion of any links does not necessarily imply a recommendation or endorse the views expressed
|
||||
within them.</p>
|
||||
|
||||
<p>Every effort is made to keep the website up and running smoothly. However, Jiri Novotny and Dextronet.com take no responsibility for,
|
||||
and will not be liable for, the website or any related products or services being temporarily unavailable due to technical issues
|
||||
beyond our control.</p>
|
||||
|
||||
<p>All software offered by Jiri Novotny and Dextronet.com comes with End User License Agreement that you are bound to accept and agree
|
||||
to in order to install and use the software.</p>
|
||||
|
||||
<p>This website and its content is copyright of Jiri Novotny and Dextronet.com © Jiri Novotny and Dextronet.com 2005-2010. All rights reserved.</p>
|
||||
1
db/import/static_pages/eula.erb
Normal file
1
db/import/static_pages/eula.erb
Normal file
@@ -0,0 +1 @@
|
||||
<h1>EULA</h1>
|
||||
108
db/import/static_pages/home-blv20.erb
Normal file
108
db/import/static_pages/home-blv20.erb
Normal file
@@ -0,0 +1,108 @@
|
||||
<h3 class="compatiblehd">Better ListView is compatible with:</h3>
|
||||
|
||||
<div class="compatiblelists">
|
||||
<ul class="compatiblelist list-l">
|
||||
<li class="logo vs"><%= image_tag('logo-vs-big.gif') %></li>
|
||||
<li>Visual Studio 2005, 2008, 2010, and newer.</li>
|
||||
<li>C#, Visual Basic .NET (VB.NET), managed C++, and other CLI languages.</li>
|
||||
</ul>
|
||||
|
||||
<ul class="compatiblelist list-r">
|
||||
<li class="logo dotnet"><%= image_tag('logo-dotnet-big.gif') %></li>
|
||||
<li>.NET 2, .NET 3, .NET 3.5, .NET 4, and newer.</li>
|
||||
<li>Windows 2000, XP, 2003, Vista, 7, and newer, both 32-bit and 64-bit.</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="lists">
|
||||
|
||||
<div class="list-l">
|
||||
<h3>Better ListView<strong> advantages:</strong></h3>
|
||||
|
||||
<ul class="common checklist">
|
||||
<li>Single small DLL file (less than 250kB when compressed).</li>
|
||||
<li>Easy deployment (xcopy). No dependencies. No installation.</li>
|
||||
<li>Royalty-free distribution. No runtime licensing.</li>
|
||||
<li>Written from scratch in pure managed code.</li>
|
||||
<li>Lightning fast, optimized for 100.000+ items.</li>
|
||||
<li>Minimum learning needed. Very similar to regular .NET ListView control.</li>
|
||||
<li>User-friendly and developer-friendly.</li>
|
||||
<li>No limits of the regular Microsoft .NET ListView control bundled with Visual Studio!</li>
|
||||
<li>Tested by thousands of users world-wide.</li>
|
||||
<li>Guaranteed continued support and development. We use Better ListView ourselves in our
|
||||
popular and successful desktop products, like
|
||||
<%= link_to 'Swift To-Do List', 'http://www.dextronet.com/swift-to-do-list-software', :class => "nowrap" %>.</li>
|
||||
<li>Well documented, intuitive method/properties names.</li>
|
||||
<li>Always looks great. Always fully uses the current Windows theme, including Aero support.</li>
|
||||
<li>Enterprise source code licenses available.</li>
|
||||
<li>Well documented.</li>
|
||||
<li>Fast 24-hour or faster support.</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="list-r">
|
||||
<h3>BetterListView<strong> extra features:</strong></h3>
|
||||
|
||||
<p>Better ListView has hundreds of extra features, compared to the regular .NET ListView control.
|
||||
Plus, it removes all its limitations and bugs. Some of the most notable extra features include:</p>
|
||||
|
||||
<ul class="common checklist">
|
||||
<li>Hierarchical items. Supports sub-items like in the tree view control.</li>
|
||||
<li>Thumbnails view.</li>
|
||||
<li>Serialization – XML and Binary</li>
|
||||
<li>Save/load Better ListView content into XML or binary, string or file, in just 1 line of code.</li>
|
||||
<li>Inbuilt drag & drop reordering (with insertion mark indicator).</li>
|
||||
<li>Sub-item images</li>
|
||||
<li>Double-buffered and flicker-free.</li>
|
||||
<li>Highly customizable and flexible.</li>
|
||||
<li>Multi-column sorting.</li>
|
||||
<li>Inbuilt sorting (zero code needed).</li>
|
||||
<li>Checkboxes in all views, 3-state support</li>
|
||||
<li>Better grouping – preserves item order, customizable group headers look and behavior,
|
||||
collapsible, image support, context menu support, focusable, etc.</li>
|
||||
<li>Embedded editing controls, support for custom controls.</li>
|
||||
<li>Many other useful features - <%= link_to 'see more Better ListView features', featured_product %>.</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="testimonial-wide">
|
||||
<blockquote>“Better List View is <b>awesome</b>.” – Daniel N.</blockquote>
|
||||
</div>
|
||||
|
||||
<div class="tellingct">
|
||||
<div class="tellingcnt">
|
||||
<h3 class="tellinghd">Why is Better ListView the best ListView<br />replacement component for .NET (C#, VB)?</h3>
|
||||
|
||||
<p>To put it simply, there is nothing like Better ListView out there. Nothing.</p>
|
||||
|
||||
<p>Better ListView has been designed as a component that can easily replace the original
|
||||
ListView control supplied with .NET.</p>
|
||||
|
||||
<p>There is virtually no learning needed. It’s just intuitive.</p>
|
||||
|
||||
<p>Better ListView looks native and always fully utilizes the current system theme (so there is
|
||||
no weird inconsistent look), and it also behaves exactly like it should. We’ve modeled it after
|
||||
the original list view component and the list view used in Windows Explorer – everyone already
|
||||
knows how to use it. It fully leverages the previous user knowledge.</p>
|
||||
|
||||
<p>We put extreme attention to details. All the little quirks and nuances that drive us crazy when
|
||||
it comes to components of many smaller vendors are resolved in Better ListView. You will be
|
||||
amazed how flexible and customizable it is, and how great it feels to use it. The users of your
|
||||
application will feel right at home.</p>
|
||||
|
||||
<p>And most importantly, Better ListView is packed full of great features.</p>
|
||||
|
||||
<p>If you are wondering why we created Better ListView, you can read
|
||||
<%= link_to 'our story', story_path(featured_product) %>.</p>
|
||||
|
||||
<p class="ending">And by the way, Better ListView comes with awesome samples gallery. Download and install
|
||||
the trial package right now and see for yourself what Better ListView can do:</p>
|
||||
</div>
|
||||
|
||||
<div class="testimonial ">
|
||||
<blockquote>Better ListView really is better - it kills the standard!</blockquote>
|
||||
<em>Mitchell V.</em>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
107
db/import/static_pages/home.erb
Normal file
107
db/import/static_pages/home.erb
Normal file
@@ -0,0 +1,107 @@
|
||||
<h2>Why is Better ListView the best ListView replacement component for .NET?</h2>
|
||||
<p class="intro">Let’s face it – the regular .NET ListView control included with Visual Studio is not very good and other alternatives are usually complex overkills.
|
||||
<strong>Better ListView is just what you are looking for. It is the ideal replacement component for .NET ListView.</strong></p>
|
||||
|
||||
<div class="hilightbox"><%= link_to(t('txt.home.see_comparison_table'), features_path(featured_product)) %></div>
|
||||
|
||||
<h3><b>Fast, light-weight, pure managed code</b></h3>
|
||||
<ol>
|
||||
<li>Written from scratch in pure managed C# code – does <strong class="underline">not</strong> inherit from regular ListView</li>
|
||||
<li>No dependencies</li>
|
||||
<li>Easy deployment - single DLL binary that has just 80 kB when compressed in a ZIP archive</li>
|
||||
<li>100% compatible with .NET 2.0 or higher</li>
|
||||
<li>Lightning fast. Optimized for 100.000+ items</li>
|
||||
</ol>
|
||||
|
||||
<h3><b>Fixed all bugs and issues related to regular .NET ListView control</b></h3>
|
||||
<p>Since we’ve written the whole control from scratch and it does <strong>not</strong> inherit from the regular Microsoft .NET ListView component,
|
||||
the original ListView bugs are not present.</p>
|
||||
<p>Furthermore, we’ve fixed all issues and some limitations related to the regular .NET ListView control, especially incorrect behavior and non-standard
|
||||
implementation of many features (selections, drag & drop, checkboxes, etc).</p>
|
||||
<p>Surprisingly, .NET ListView <strong>does not</strong> support complex data binding. This forces developers to write additional code for populating and
|
||||
updating the control. Better ListView, however, <strong>has the ability</strong> just like the DataGrid control – one can simply bound any IList, DataSet,
|
||||
DataTable and several other types directly to Better ListView and left all the management on .NET internals.</p>
|
||||
|
||||
<h3><b>Better drag & drop support:</b></h3>
|
||||
<ol>
|
||||
<li>Insertion mark for inner reordering of items helps users preview the action</li>
|
||||
<li>Auto-scroll while reordering items added</li>
|
||||
</ol>
|
||||
|
||||
<h3><b>Better column headers:</b></h3>
|
||||
<ol>
|
||||
<li>Columns can be shown in all layouts (not just Details)</li>
|
||||
<li>Column headers have their own context menu</li>
|
||||
<li>Auto-scroll when reordering column headers added</li>
|
||||
</ol>
|
||||
|
||||
<h3><b>Better sorting:</b></h3>
|
||||
<ol>
|
||||
<li>Inbuilt sorting (zero code needed)</li>
|
||||
<li>Multi-column sort supported (use Shift+Click to add additional columns to sort)</li>
|
||||
<li>Ability to create custom comparer</li>
|
||||
</ol>
|
||||
|
||||
<div class="screenshot">
|
||||
<div><%= product_image(1) %></div>
|
||||
</div>
|
||||
|
||||
<h3><b>Images support:</b></h3>
|
||||
<ol>
|
||||
<li>Each sub-item can have its own image</li>
|
||||
<li>Use both ImageList control or individual images</li>
|
||||
<li>Supports images of all sizes</li>
|
||||
<li>Can automatically resize images nicely if needed (no pixelated horrors!)</li>
|
||||
<li>Column header images are supported</li>
|
||||
</ol>
|
||||
|
||||
<h3><b>Better checkboxes:</b></h3>
|
||||
<ol>
|
||||
<li>Checkboxes can be used in all layouts (not just Details)</li>
|
||||
<li>Fixed behavior. Checkboxes behave as expected – this makes Better ListView user friendly, compared to regular ListView.</li>
|
||||
<li>Three-state checkboxes supported</li>
|
||||
</ol>
|
||||
|
||||
<div class="screenshot">
|
||||
<div><%= product_image(2) %></div>
|
||||
</div>
|
||||
|
||||
<h3><b>Looks and feels great</b></h3>
|
||||
<ol>
|
||||
<li>Better ListView always fully utilizes the current Windows theme</li>
|
||||
<li>Double-buffered and flicker-free</li>
|
||||
</ol>
|
||||
|
||||
<h3><b>Fixed bugs and wrong behavior of regular .NET ListView</b></h3>
|
||||
<p>The regular ListView has various obscure bugs (like events firing twice) and non-standard implementation of behavior in many cases. We’ve fixed all the bugs,
|
||||
and made it to <strong>always behave as expected</strong>. See more below.</p>
|
||||
|
||||
<h3><b>User friendly:</b></h3>
|
||||
<p><strong>Leverage the user knowledge of Windows Explorer ListView.</strong> The ListView in Windows Explorer is a great model, because every Windows user already
|
||||
knows how it works and how to use it. Unfortunately, the regular .NET ListView deviates from this behavior, and is thus not user friendly. Better Listview
|
||||
replicates the correct standard behavior of Windows Explorer ListView whenever possible. <strong>Better ListView always works as expected.</strong></p>
|
||||
|
||||
<h3><b>Developer friendly:</b></h3>
|
||||
<p><strong>BetterListview can be used just like the common ListView.</strong> All the method names and property names are the same whenever possible. If you know
|
||||
how to use the common ListView, BetterListview will require nearly no learning on your side. Better ListView is a true pragmatic choice —
|
||||
<strong>skip the learning time, and focus on development.</strong></p>
|
||||
|
||||
<h3><b>Powerful, flexible, customizable:</b></h3>
|
||||
<p>Advanced features like super powerful HitTest and ability to have owner-drawn item are supported. You might be surprised by all the things that
|
||||
are possible to do with Better ListView.</p>
|
||||
|
||||
<h3><b>Guaranteed supported and continued development</b></h3>
|
||||
<p>Better ListView is developed as a joint-venture of two software companies that use it in their flagship products (Swift To-Do List and ImagingShop), used
|
||||
by thousands of users daily. <strong>This is your guarantee that it will be supported and developed in the future.</strong></p>
|
||||
|
||||
<h3><b>Tested in real world applications by thousands of users</b></h3>
|
||||
<p>Because Better ListView is used in professional consumer software applications - Swift To-Do List and ImagingShop, thousands of users work with it every day.
|
||||
Although we do <strong>unit tests</strong>, and do thorough inhouse testing, <strong>this is your true bullet-proof guarantee that it is tested thoroughly
|
||||
in the real world.</strong></p>
|
||||
|
||||
<h3><b>Other nice-to-have and might-come-handy features:</b></h3>
|
||||
<ol>
|
||||
<li>Customizable searching by typing</li>
|
||||
<li>Ability to set custom size for items in all layouts</li>
|
||||
<li>Any element of the control can be customized with properties and owner-drawing</li>
|
||||
</ol>
|
||||
46
db/import/static_pages/privacy-policy.erb
Normal file
46
db/import/static_pages/privacy-policy.erb
Normal file
@@ -0,0 +1,46 @@
|
||||
<h1>Our Commitment To Privacy</h1>
|
||||
|
||||
<p>Your privacy is important to us. To better protect your privacy we provide this notice explaining our online information practices and the choices you can make
|
||||
about the way your information is collected and used. You retain rights to all your information and data.</p>
|
||||
|
||||
<p>Your credit card information is used by our BMT Micro ecommerce partner only to process your order and it is not stored in any way and never viewed by us
|
||||
or available to us.</p>
|
||||
|
||||
<h2>The Information We Collect</h2>
|
||||
|
||||
<p>We collect only the necessary contact information when you contact us and personal information provided by you when you purchase a product from us.</p>
|
||||
|
||||
|
||||
<h2>The Way We Use Information</h2>
|
||||
|
||||
<p>We do not share your personal information with outside parties except to the extent necessary to complete your order.</p>
|
||||
|
||||
<p>The information provided by you is used only to process your order and/or to inform you about new products and product updates.
|
||||
You can opt-out from these email updates.</p>
|
||||
|
||||
<p>We use non-identifying and aggregate information to better design our website and products.</p>
|
||||
|
||||
<p>When you contact us, we might use a part of the email message in our promotion materials as a testimonial, without publishing your full name.
|
||||
You have to right to decline any such use and we will promptly remove any such materials in 24 hours after your written request.</p>
|
||||
|
||||
<p>We reserve the right to publish the name and logo of your company in the list of our customers. We will promptly remove the name of your company
|
||||
in 24 hours after your written request.</p>
|
||||
|
||||
<p>Finally, we never use or share the personally identifiable information provided to us online in ways unrelated to the ones described above without
|
||||
also providing you an opportunity to opt-out or otherwise prohibit such unrelated uses.</p>
|
||||
|
||||
|
||||
<h2>Our Commitment To Data Security</h2>
|
||||
|
||||
<p>To prevent unauthorized access, maintain data accuracy, and ensure the correct use of information, we have put in place appropriate physical,
|
||||
electronic, and managerial procedures to safeguard and secure the information we collect online.</p>
|
||||
|
||||
|
||||
<h2>How You Can Access Or Correct Your Information</h2>
|
||||
|
||||
<p>You can access or correct all your personally identifiable information that we collect online and maintain by contacting us.</p>
|
||||
|
||||
|
||||
<h2>How To Contact Us</h2>
|
||||
|
||||
<p>Should you have other questions or concerns about these privacy policies, please contact us via our <%= link_to("support form", "/support") %>.</p>
|
||||
9
db/import/static_pages/static_pages.csv
Normal file
9
db/import/static_pages/static_pages.csv
Normal file
@@ -0,0 +1,9 @@
|
||||
"code","url_param","name"
|
||||
"about","about-us","About"
|
||||
"home","home","Home"
|
||||
"home-blv20","home-blv20","Home BLV 2.0"
|
||||
"disclaimer","disclaimer","Disclaimer"
|
||||
"privacy-policy","privacy-policy","Privacy Policy"
|
||||
"eula","eula","EULA"
|
||||
"press-resources","press-resources","Press Resources"
|
||||
"customer-service","customer-service","Resellers and Customer Service"
|
||||
|
Reference in New Issue
Block a user