Fix final 41 QA issues: strip .html from blog links, fix WP upload assets, fix malformed URLs

This commit is contained in:
Jarvis Prime
2026-03-24 18:07:16 +00:00
parent 4c6906ff1f
commit 9c347c2034
90 changed files with 7033 additions and 7033 deletions

View File

@@ -1786,7 +1786,7 @@ provided.</p>
<h4>Better ListView Express 3.14.0 released!</h4>
<p>
<a href="/better-listview-express/releases%3Fsince=3.14.0">See what's new</a>
<a href="/better-listview-express/releases">See what's new</a>
or
<a href="/betterlistviewexpress.exe" onclick="download_email('better-listview-express');">Download latest release</a>

View File

@@ -848,7 +848,7 @@ var t = {"antispam":"capek-rulz","purchase_email":"valid purchase email","valid_
<h4>Better ListView Express 3.14.0 released!</h4>
<p>
<a href="/better-listview-express/releases%3Fsince=3.14.0">See what's new</a>
<a href="/better-listview-express/releases">See what's new</a>
or
<a href="/betterlistviewexpress.exe" onclick="download_email('better-listview-express');">Download latest release</a>

View File

@@ -123,185 +123,185 @@ var t = {"antispam":"capek-rulz","purchase_email":"valid purchase email","valid_
</ul>
<div id="nav-panel" class="nav-panel product-detail">The tables below explain the main differences between <strong>regular .NET list view</strong> and <strong>Better ListView</strong>. However, it would be a mistake to look on Better ListView just as an improved or fixed listview - it can do so much more. The <strong><a href="/blog/page/6/index">Overview</a></strong> and our <strong><a href="/blog/tag/better-listview-2/index">blog</a></strong> highlights many of these extra features and possibilities.
<h2>Better behavior and fixed issues:</h2>
<table cellspacing="0" class="comparison-pair">
<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 &amp; 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>
<div class="testimonial-intext"><div class="testimonial-wrap"><blockquote><em>
In addition to creating a new List View control to incorporate <b>broader flexibility and functionality</b>, Better ListView could also be called <b>Fixed ListView</b>, as it corrects a number of annoying problems with the standard List View that Microsoft delivers to Visual Studio customers.
</em></blockquote><strong>DevProConnections.com Review</strong></div></div>
<h2>Removed limitations:</h2>
<table cellspacing="0" class="comparison-pair">
<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>No group header customization</td>
<td>Added, each group header is fully customizable</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 &ldquo;Details&rdquo; layout</td>
<td>Columns can be shown in all layouts</td>
</tr>
<tr>
<td>Only &ldquo;SmallIcon&rdquo; and &ldquo;LargeIcon&rdquo; size supported</td>
<td>Images can be of any size</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 for 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&rsquo;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 &amp; Drop item highlighting</td>
<td>Items under cursor are properly highlighted during dragging; Highlighting can be switched off for selected items</td>
</tr>
</table>
<div class="testimonial-intext"><div class="testimonial-wrap"><blockquote><em>
The control is <b>very easy and intuitive to use and is well documented</b>.
</em></blockquote><strong>DevProConnections.com Review</strong></div></div>
<h2>Other extra features:</h2>
<table cellspacing="0" class="comparison-pair">
<tr>
<th>Regular .NET ListView Control</th>
<th>Better ListView control</th>
</tr>
<tr>
<td>No thumbnails view</td>
<td>Added support; can be used for viewing thumbnails of photos or other images</td>
</tr>
<tr>
<td>No inbuilt saving/loading</td>
<td>Added support; save/load contents to file or string (XML or binary)</td>
</tr>
<tr>
<td>No item hierarchy</td>
<td>Added support; tree-like hierarchical items supported</td>
</tr>
<tr>
<td>No image shadows or borders</td>
<td>Added support; you can use image shadows or borders, supports custom image padding (eg. useful when owner-drawing overlay icons)</td>
</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>
</table>
<div class="testimonial-intext"><div class="testimonial-wrap"><blockquote><em>
The enhancements I found most useful for my own projects were the automatic layout, context menus, improved drag and drop, item searching, and sorting options. Thanks to both the source codeincluded demos, the online documentation, and the obvious property names of the control's "better" features, <b>I was able to put the component to use faster than it took me to install the setup package.</b>
<div id="nav-panel" class="nav-panel product-detail">The tables below explain the main differences between <strong>regular .NET list view</strong> and <strong>Better ListView</strong>. However, it would be a mistake to look on Better ListView just as an improved or fixed listview - it can do so much more. The <strong><a href="/blog/page/6/index">Overview</a></strong> and our <strong><a href="/blog/tag/better-listview-2/index">blog</a></strong> highlights many of these extra features and possibilities.
<h2>Better behavior and fixed issues:</h2>
<table cellspacing="0" class="comparison-pair">
<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 &amp; 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>
<div class="testimonial-intext"><div class="testimonial-wrap"><blockquote><em>
In addition to creating a new List View control to incorporate <b>broader flexibility and functionality</b>, Better ListView could also be called <b>Fixed ListView</b>, as it corrects a number of annoying problems with the standard List View that Microsoft delivers to Visual Studio customers.
</em></blockquote><strong>DevProConnections.com Review</strong></div></div>
<h2>Removed limitations:</h2>
<table cellspacing="0" class="comparison-pair">
<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>No group header customization</td>
<td>Added, each group header is fully customizable</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 &ldquo;Details&rdquo; layout</td>
<td>Columns can be shown in all layouts</td>
</tr>
<tr>
<td>Only &ldquo;SmallIcon&rdquo; and &ldquo;LargeIcon&rdquo; size supported</td>
<td>Images can be of any size</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 for 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&rsquo;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 &amp; Drop item highlighting</td>
<td>Items under cursor are properly highlighted during dragging; Highlighting can be switched off for selected items</td>
</tr>
</table>
<div class="testimonial-intext"><div class="testimonial-wrap"><blockquote><em>
The control is <b>very easy and intuitive to use and is well documented</b>.
</em></blockquote><strong>DevProConnections.com Review</strong></div></div>
<h2>Other extra features:</h2>
<table cellspacing="0" class="comparison-pair">
<tr>
<th>Regular .NET ListView Control</th>
<th>Better ListView control</th>
</tr>
<tr>
<td>No thumbnails view</td>
<td>Added support; can be used for viewing thumbnails of photos or other images</td>
</tr>
<tr>
<td>No inbuilt saving/loading</td>
<td>Added support; save/load contents to file or string (XML or binary)</td>
</tr>
<tr>
<td>No item hierarchy</td>
<td>Added support; tree-like hierarchical items supported</td>
</tr>
<tr>
<td>No image shadows or borders</td>
<td>Added support; you can use image shadows or borders, supports custom image padding (eg. useful when owner-drawing overlay icons)</td>
</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>
</table>
<div class="testimonial-intext"><div class="testimonial-wrap"><blockquote><em>
The enhancements I found most useful for my own projects were the automatic layout, context menus, improved drag and drop, item searching, and sorting options. Thanks to both the source codeincluded demos, the online documentation, and the obvious property names of the control's "better" features, <b>I was able to put the component to use faster than it took me to install the setup package.</b>
</em></blockquote><strong>DevProConnections.com Review</strong></div></div></div>
@@ -498,7 +498,7 @@ The enhancements I found most useful for my own projects were the automatic layo
<h4>Better ListView Express 3.14.0 released!</h4>
<p>
<a href="/better-listview-express/releases%3Fsince=3.14.0">See what's new</a>
<a href="/better-listview-express/releases">See what's new</a>
or
<a href="/betterlistviewexpress.exe" onclick="download_email('better-listview-express');">Download latest release</a>
@@ -522,19 +522,19 @@ Copyright &copy; 2018 ComponentOwl.com, Dextronet.com. All rights reserved. Read
</div>
<script src="/javascripts/app_packaged.js%3F1455269826" type="text/javascript"></script>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-16362539-4']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-16362539-4']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
<script src="http://load.sumome.com/" data-sumo-site-id="854b5e00f297990012cc230023375a00787c0000216621002775a800d79ad500" async="async"></script>
<!-- Place this tag after the last plusone tag -->

View File

@@ -123,16 +123,16 @@ var t = {"antispam":"capek-rulz","purchase_email":"valid purchase email","valid_
</ul>
<div id="nav-panel" class="nav-panel product-detail"><p>The setup package that you can download from our website contains more than 20 sample projects with full source code that demonstrate various features. In addition to that, you can also use the following:</p>
<p>
<strong>
<ol class="common">
<li><a href="/better-listview/quick-start-guide" onclick="window.open(this.href); return false">Quick Start Guide (Step-by-step)</a></li>
<li><a href="/better-listview/documentation" onclick="window.open(this.href); return false">Documentation</a></li>
<li><a href="/better-listview/class-reference" onclick="window.open(this.href); return false">Class Reference</a></li>
</ol>
</strong>
<div id="nav-panel" class="nav-panel product-detail"><p>The setup package that you can download from our website contains more than 20 sample projects with full source code that demonstrate various features. In addition to that, you can also use the following:</p>
<p>
<strong>
<ol class="common">
<li><a href="/better-listview/quick-start-guide" onclick="window.open(this.href); return false">Quick Start Guide (Step-by-step)</a></li>
<li><a href="/better-listview/documentation" onclick="window.open(this.href); return false">Documentation</a></li>
<li><a href="/better-listview/class-reference" onclick="window.open(this.href); return false">Class Reference</a></li>
</ol>
</strong>
</p></div>
@@ -329,7 +329,7 @@ var t = {"antispam":"capek-rulz","purchase_email":"valid purchase email","valid_
<h4>Better ListView Express 3.14.0 released!</h4>
<p>
<a href="/better-listview-express/releases%3Fsince=3.14.0">See what's new</a>
<a href="/better-listview-express/releases">See what's new</a>
or
<a href="/betterlistviewexpress.exe" onclick="download_email('better-listview-express');">Download latest release</a>
@@ -353,19 +353,19 @@ Copyright &copy; 2018 ComponentOwl.com, Dextronet.com. All rights reserved. Read
</div>
<script src="/javascripts/app_packaged.js%3F1455269826" type="text/javascript"></script>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-16362539-4']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-16362539-4']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
<script src="http://load.sumome.com/" data-sumo-site-id="854b5e00f297990012cc230023375a00787c0000216621002775a800d79ad500" async="async"></script>
<!-- Place this tag after the last plusone tag -->

View File

@@ -123,124 +123,124 @@ var t = {"antispam":"capek-rulz","purchase_email":"valid purchase email","valid_
</ul>
<div id="nav-panel" class="nav-panel product-detail"><div class="screenshots">
<div class="screenshot-row">
<div class="odd"><a href="/assets/screenshots/15/blv-overview_original_1326499754.png?1326474554" class="screenshot" title="Better ListView control"><img alt="Better ListView" src="/assets/screenshots/15/blv-overview_thumb_big_1326499754.png?1326474554" /></a><strong>Better ListView control</strong></div>
<div class="even"><a href="/assets/screenshots/16/thumbnails_original_1312133021.png?1312107821" class="screenshot" title="Image thumbnails in groups"><img alt="Thumbnails" src="/assets/screenshots/16/thumbnails_thumb_big_1312133021.png?1312107821" /></a><strong>Image thumbnails in groups</strong></div>
</div>
<div class="screenshot-row">
<div class="odd"><a href="/assets/screenshots/21/multi-line-items_original_1312133213.png?1312108013" class="screenshot" title="Items with multi-line text"><img alt="Multi-line Items" src="/assets/screenshots/21/multi-line-items_thumb_big_1312133213.png?1312108013" /></a><strong>Items with multi-line text</strong></div>
<div class="even"><a href="/assets/screenshots/18/betterlistview-tree-hierarchy_original_1313676477.png?1313651277" class="screenshot" title="Items organized in a tree-like hierarchy"><img alt="Item Hierarchy" src="/assets/screenshots/18/betterlistview-tree-hierarchy_thumb_big_1313676477.png?1313651277" /></a><strong>Items organized in a tree-like hierarchy</strong></div>
</div>
<div class="screenshot-row">
<div class="odd"><a href="/assets/screenshots/17/groups_original_1312133064.png?1312107864" class="screenshot" title="Items organized in groups"><img alt="Groups" src="/assets/screenshots/17/groups_thumb_big_1312133064.png?1312107864" /></a><strong>Items organized in groups</strong></div>
<div class="even"><a href="/assets/screenshots/20/item-reorder_original_1312133166.png?1312107966" class="screenshot" title="Item reordering in hierarchy"><img alt="Item Reordering" src="/assets/screenshots/20/item-reorder_thumb_big_1312133166.png?1312107966" /></a><strong>Item reordering in hierarchy</strong></div>
</div>
<div class="screenshot-row">
<div class="odd"><a href="/assets/screenshots/19/column-reorder_original_1312133137.png?1312107937" class="screenshot" title="Column reordering"><img alt="Column Reordering" src="/assets/screenshots/19/column-reorder_thumb_big_1312133137.png?1312107937" /></a><strong>Column reordering</strong></div>
<div class="even"><a href="/assets/screenshots/22/data-binding_original_1312133281.png?1312108081" class="screenshot" title="Binding a DataTable to Better ListView"><img alt="Data Binding" src="/assets/screenshots/22/data-binding_thumb_big_1312133281.png?1312108081" /></a><strong>Binding a DataTable to Better ListView</strong></div>
</div>
<div class="screenshot-row">
<div class="odd"><a href="/assets/screenshots/23/label-edit_original_1312133326.png?1312108126" class="screenshot" title="Label editing of sub-item date"><img alt="Label Editing" src="/assets/screenshots/23/label-edit_thumb_big_1312133326.png?1312108126" /></a><strong>Label editing of sub-item date</strong></div>
<div class="even"><a href="/assets/screenshots/24/sorting_original_1312133350.png?1312108150" class="screenshot" title="Multi-column sorting"><img alt="Sorting" src="/assets/screenshots/24/sorting_thumb_big_1312133350.png?1312108150" /></a><strong>Multi-column sorting</strong></div>
</div>
<div class="screenshot-row">
<div class="odd"><a href="/assets/screenshots/25/tooltips_original_1312133393.png?1312108193" class="screenshot" title="Tooltip on custom location"><img alt="Tooltips" src="/assets/screenshots/25/tooltips_thumb_big_1312133393.png?1312108193" /></a><strong>Tooltip on custom location</strong></div>
<div class="even"><a href="/assets/screenshots/26/insertion-mark_original_1312133426.png?1312108226" class="screenshot" title="Customizable insertion mark"><img alt="Insertion Mark" src="/assets/screenshots/26/insertion-mark_thumb_big_1312133426.png?1312108226" /></a><strong>Customizable insertion mark</strong></div>
</div>
<div class="screenshot-row">
<div class="odd"><a href="/assets/screenshots/27/text-format_original_1312133463.png?1312108263" class="screenshot" title="Various text trimming methods"><img alt="Text Formatting" src="/assets/screenshots/27/text-format_thumb_big_1312133463.png?1312108263" /></a><strong>Various text trimming methods</strong></div>
<div class="even"><a href="/assets/screenshots/28/save-load_original_1312133518.png?1312108318" class="screenshot" title="Content stored in XML format"><img alt="Save/Load Content" src="/assets/screenshots/28/save-load_thumb_big_1312133518.png?1312108318" /></a><strong>Content stored in XML format</strong></div>
</div>
<div class="screenshot-row">
<div class="odd"><a href="/assets/screenshots/29/searching_original_1312133543.png?1312108343" class="screenshot" title="Advanced item searching"><img alt="Searching" src="/assets/screenshots/29/searching_thumb_big_1312133543.png?1312108343" /></a><strong>Advanced item searching</strong></div>
<div class="even"><a href="/assets/screenshots/33/owner-drawing_original_1312133847.png?1312108647" class="screenshot" title="Owner drawing support"><img alt="Owner Drawing" src="/assets/screenshots/33/owner-drawing_thumb_big_1312133847.png?1312108647" /></a><strong>Owner drawing support</strong></div>
</div>
<div class="screenshot-row">
<div class="odd"><a href="/assets/screenshots/30/grid-lines_original_1312133570.png?1312108370" class="screenshot" title="Customizable grid lines"><img alt="Grid Lines" src="/assets/screenshots/30/grid-lines_thumb_big_1312133570.png?1312108370" /></a><strong>Customizable grid lines</strong></div>
<div class="even"><a href="/assets/screenshots/31/check-boxes_original_1312133600.png?1312108400" class="screenshot" title="Three state check boxes"><img alt="Check Boxes" src="/assets/screenshots/31/check-boxes_thumb_big_1312133600.png?1312108400" /></a><strong>Three state check boxes</strong></div>
</div>
<div class="screenshot-row">
<div class="odd"><a href="/assets/screenshots/32/empty-text_original_1312133802.png?1312108602" class="screenshot" title="Display of text on empty control"><img alt="Empty Text" src="/assets/screenshots/32/empty-text_thumb_big_1312133802.png?1312108602" /></a><strong>Display of text on empty control</strong></div>
<div class="even"><a href="/assets/screenshots/39/alignment_original_1340892913.png?1340867713" class="screenshot" title="Text and Image Alignment"><img alt="Text and Image Alignment" src="/assets/screenshots/39/alignment_thumb_big_1340892913.png?1340867713" /></a><strong>Text and Image Alignment</strong></div>
</div>
<div class="screenshot-row">
<div class="odd"><a href="/assets/screenshots/40/customheight_original_1340892963.png?1340867763" class="screenshot" title="Items of Arbitrary Sizes"><img alt="Items of Arbitrary Sizes" src="/assets/screenshots/40/customheight_thumb_big_1340892963.png?1340867763" /></a><strong>Items of Arbitrary Sizes</strong></div>
<div class="even"><a href="/assets/screenshots/41/nonselectable_original_1340893198.png?1340867998" class="screenshot" title="Non-selectable Items"><img alt="Non-selectable Items" src="/assets/screenshots/41/nonselectable_thumb_big_1340893198.png?1340867998" /></a><strong>Non-selectable Items</strong></div>
</div>
<div class="screenshot-row">
<div class="odd"><a href="/assets/screenshots/42/radios_original_1340893228.png?1340868028" class="screenshot" title="Radio Buttons"><img alt="Radio Buttons" src="/assets/screenshots/42/radios_thumb_big_1340893228.png?1340868028" /></a><strong>Radio Buttons</strong></div>
</div>
<div id="nav-panel" class="nav-panel product-detail"><div class="screenshots">
<div class="screenshot-row">
<div class="odd"><a href="/assets/screenshots/15/blv-overview_original_1326499754.png?1326474554" class="screenshot" title="Better ListView control"><img alt="Better ListView" src="/assets/screenshots/15/blv-overview_thumb_big_1326499754.png?1326474554" /></a><strong>Better ListView control</strong></div>
<div class="even"><a href="/assets/screenshots/16/thumbnails_original_1312133021.png?1312107821" class="screenshot" title="Image thumbnails in groups"><img alt="Thumbnails" src="/assets/screenshots/16/thumbnails_thumb_big_1312133021.png?1312107821" /></a><strong>Image thumbnails in groups</strong></div>
</div>
<div class="screenshot-row">
<div class="odd"><a href="/assets/screenshots/21/multi-line-items_original_1312133213.png?1312108013" class="screenshot" title="Items with multi-line text"><img alt="Multi-line Items" src="/assets/screenshots/21/multi-line-items_thumb_big_1312133213.png?1312108013" /></a><strong>Items with multi-line text</strong></div>
<div class="even"><a href="/assets/screenshots/18/betterlistview-tree-hierarchy_original_1313676477.png?1313651277" class="screenshot" title="Items organized in a tree-like hierarchy"><img alt="Item Hierarchy" src="/assets/screenshots/18/betterlistview-tree-hierarchy_thumb_big_1313676477.png?1313651277" /></a><strong>Items organized in a tree-like hierarchy</strong></div>
</div>
<div class="screenshot-row">
<div class="odd"><a href="/assets/screenshots/17/groups_original_1312133064.png?1312107864" class="screenshot" title="Items organized in groups"><img alt="Groups" src="/assets/screenshots/17/groups_thumb_big_1312133064.png?1312107864" /></a><strong>Items organized in groups</strong></div>
<div class="even"><a href="/assets/screenshots/20/item-reorder_original_1312133166.png?1312107966" class="screenshot" title="Item reordering in hierarchy"><img alt="Item Reordering" src="/assets/screenshots/20/item-reorder_thumb_big_1312133166.png?1312107966" /></a><strong>Item reordering in hierarchy</strong></div>
</div>
<div class="screenshot-row">
<div class="odd"><a href="/assets/screenshots/19/column-reorder_original_1312133137.png?1312107937" class="screenshot" title="Column reordering"><img alt="Column Reordering" src="/assets/screenshots/19/column-reorder_thumb_big_1312133137.png?1312107937" /></a><strong>Column reordering</strong></div>
<div class="even"><a href="/assets/screenshots/22/data-binding_original_1312133281.png?1312108081" class="screenshot" title="Binding a DataTable to Better ListView"><img alt="Data Binding" src="/assets/screenshots/22/data-binding_thumb_big_1312133281.png?1312108081" /></a><strong>Binding a DataTable to Better ListView</strong></div>
</div>
<div class="screenshot-row">
<div class="odd"><a href="/assets/screenshots/23/label-edit_original_1312133326.png?1312108126" class="screenshot" title="Label editing of sub-item date"><img alt="Label Editing" src="/assets/screenshots/23/label-edit_thumb_big_1312133326.png?1312108126" /></a><strong>Label editing of sub-item date</strong></div>
<div class="even"><a href="/assets/screenshots/24/sorting_original_1312133350.png?1312108150" class="screenshot" title="Multi-column sorting"><img alt="Sorting" src="/assets/screenshots/24/sorting_thumb_big_1312133350.png?1312108150" /></a><strong>Multi-column sorting</strong></div>
</div>
<div class="screenshot-row">
<div class="odd"><a href="/assets/screenshots/25/tooltips_original_1312133393.png?1312108193" class="screenshot" title="Tooltip on custom location"><img alt="Tooltips" src="/assets/screenshots/25/tooltips_thumb_big_1312133393.png?1312108193" /></a><strong>Tooltip on custom location</strong></div>
<div class="even"><a href="/assets/screenshots/26/insertion-mark_original_1312133426.png?1312108226" class="screenshot" title="Customizable insertion mark"><img alt="Insertion Mark" src="/assets/screenshots/26/insertion-mark_thumb_big_1312133426.png?1312108226" /></a><strong>Customizable insertion mark</strong></div>
</div>
<div class="screenshot-row">
<div class="odd"><a href="/assets/screenshots/27/text-format_original_1312133463.png?1312108263" class="screenshot" title="Various text trimming methods"><img alt="Text Formatting" src="/assets/screenshots/27/text-format_thumb_big_1312133463.png?1312108263" /></a><strong>Various text trimming methods</strong></div>
<div class="even"><a href="/assets/screenshots/28/save-load_original_1312133518.png?1312108318" class="screenshot" title="Content stored in XML format"><img alt="Save/Load Content" src="/assets/screenshots/28/save-load_thumb_big_1312133518.png?1312108318" /></a><strong>Content stored in XML format</strong></div>
</div>
<div class="screenshot-row">
<div class="odd"><a href="/assets/screenshots/29/searching_original_1312133543.png?1312108343" class="screenshot" title="Advanced item searching"><img alt="Searching" src="/assets/screenshots/29/searching_thumb_big_1312133543.png?1312108343" /></a><strong>Advanced item searching</strong></div>
<div class="even"><a href="/assets/screenshots/33/owner-drawing_original_1312133847.png?1312108647" class="screenshot" title="Owner drawing support"><img alt="Owner Drawing" src="/assets/screenshots/33/owner-drawing_thumb_big_1312133847.png?1312108647" /></a><strong>Owner drawing support</strong></div>
</div>
<div class="screenshot-row">
<div class="odd"><a href="/assets/screenshots/30/grid-lines_original_1312133570.png?1312108370" class="screenshot" title="Customizable grid lines"><img alt="Grid Lines" src="/assets/screenshots/30/grid-lines_thumb_big_1312133570.png?1312108370" /></a><strong>Customizable grid lines</strong></div>
<div class="even"><a href="/assets/screenshots/31/check-boxes_original_1312133600.png?1312108400" class="screenshot" title="Three state check boxes"><img alt="Check Boxes" src="/assets/screenshots/31/check-boxes_thumb_big_1312133600.png?1312108400" /></a><strong>Three state check boxes</strong></div>
</div>
<div class="screenshot-row">
<div class="odd"><a href="/assets/screenshots/32/empty-text_original_1312133802.png?1312108602" class="screenshot" title="Display of text on empty control"><img alt="Empty Text" src="/assets/screenshots/32/empty-text_thumb_big_1312133802.png?1312108602" /></a><strong>Display of text on empty control</strong></div>
<div class="even"><a href="/assets/screenshots/39/alignment_original_1340892913.png?1340867713" class="screenshot" title="Text and Image Alignment"><img alt="Text and Image Alignment" src="/assets/screenshots/39/alignment_thumb_big_1340892913.png?1340867713" /></a><strong>Text and Image Alignment</strong></div>
</div>
<div class="screenshot-row">
<div class="odd"><a href="/assets/screenshots/40/customheight_original_1340892963.png?1340867763" class="screenshot" title="Items of Arbitrary Sizes"><img alt="Items of Arbitrary Sizes" src="/assets/screenshots/40/customheight_thumb_big_1340892963.png?1340867763" /></a><strong>Items of Arbitrary Sizes</strong></div>
<div class="even"><a href="/assets/screenshots/41/nonselectable_original_1340893198.png?1340867998" class="screenshot" title="Non-selectable Items"><img alt="Non-selectable Items" src="/assets/screenshots/41/nonselectable_thumb_big_1340893198.png?1340867998" /></a><strong>Non-selectable Items</strong></div>
</div>
<div class="screenshot-row">
<div class="odd"><a href="/assets/screenshots/42/radios_original_1340893228.png?1340868028" class="screenshot" title="Radio Buttons"><img alt="Radio Buttons" src="/assets/screenshots/42/radios_thumb_big_1340893228.png?1340868028" /></a><strong>Radio Buttons</strong></div>
</div>
</div></div>
@@ -407,7 +407,7 @@ var t = {"antispam":"capek-rulz","purchase_email":"valid purchase email","valid_
<h4>Better ListView Express 3.14.0 released!</h4>
<p>
<a href="/better-listview-express/releases%3Fsince=3.14.0">See what's new</a>
<a href="/better-listview-express/releases">See what's new</a>
or
<a href="/betterlistviewexpress.exe" onclick="download_email('better-listview-express');">Download latest release</a>
@@ -431,19 +431,19 @@ Copyright &copy; 2018 ComponentOwl.com, Dextronet.com. All rights reserved. Read
</div>
<script src="/javascripts/app_packaged.js%3F1455269826" type="text/javascript"></script>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-16362539-4']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-16362539-4']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
<script src="http://load.sumome.com/" data-sumo-site-id="854b5e00f297990012cc230023375a00787c0000216621002775a800d79ad500" async="async"></script>
<!-- Place this tag after the last plusone tag -->

View File

@@ -123,67 +123,67 @@ var t = {"antispam":"capek-rulz","purchase_email":"valid purchase email","valid_
</ul>
<div id="nav-panel" class="nav-panel product-detail"><h2>The story behind Better Listview</h2>
<p>Hi, my name is Jiri Novotny and I'm the founder of <a href="http://www.dextronet.com" target="_blank">Dextronet.com</a>, a software company that operates ComponentOwl.com. Me and my team think of ourselves as independent software vendors (or ISVs).</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 <a href="http://www.dextronet.com/swift-to-do-list-software" target="_blank">Swift To-Do List</a>, 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 &amp; 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>Better hit-test</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 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 <em>wanted</em> 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 <a href="http://www.dextronet.com/swift-to-do-list-software" target="_blank">Swift To-Do List 7</a> 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 12 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 Better Listview.</p>
<p>Better ListView is now used not just in Swift To-Do List, but also in Libor's own product <a href="http://www.imagingshop.com">ImagingShop</a>, so we are truly eating our own dog food. 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>
<div id="nav-panel" class="nav-panel product-detail"><h2>The story behind Better Listview</h2>
<p>Hi, my name is Jiri Novotny and I'm the founder of <a href="http://www.dextronet.com" target="_blank">Dextronet.com</a>, a software company that operates ComponentOwl.com. Me and my team think of ourselves as independent software vendors (or ISVs).</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 <a href="http://www.dextronet.com/swift-to-do-list-software" target="_blank">Swift To-Do List</a>, 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 &amp; 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>Better hit-test</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 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 <em>wanted</em> 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 <a href="http://www.dextronet.com/swift-to-do-list-software" target="_blank">Swift To-Do List 7</a> 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 12 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 Better Listview.</p>
<p>Better ListView is now used not just in Swift To-Do List, but also in Libor's own product <a href="http://www.imagingshop.com">ImagingShop</a>, so we are truly eating our own dog food. 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 <span class="emil">novotny (at) dextronet (dot) com</span></div>
@@ -380,7 +380,7 @@ var t = {"antispam":"capek-rulz","purchase_email":"valid purchase email","valid_
<h4>Better ListView Express 3.14.0 released!</h4>
<p>
<a href="/better-listview-express/releases%3Fsince=3.14.0">See what's new</a>
<a href="/better-listview-express/releases">See what's new</a>
or
<a href="/betterlistviewexpress.exe" onclick="download_email('better-listview-express');">Download latest release</a>
@@ -404,19 +404,19 @@ Copyright &copy; 2018 ComponentOwl.com, Dextronet.com. All rights reserved. Read
</div>
<script src="/javascripts/app_packaged.js%3F1455269826" type="text/javascript"></script>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-16362539-4']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-16362539-4']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
<script src="http://load.sumome.com/" data-sumo-site-id="854b5e00f297990012cc230023375a00787c0000216621002775a800d79ad500" async="async"></script>
<!-- Place this tag after the last plusone tag -->

View File

@@ -117,34 +117,34 @@ var t = {"antispam":"capek-rulz","purchase_email":"valid purchase email","valid_
</ul>
<div id="nav-panel" class="nav-panel product-detail"><div class="screenshots">
<div class="screenshot-row">
<div class="odd"><a href="/assets/screenshots/34/better-splitbutton-overview_original_1328267692.png?1328242492" class="screenshot" title="Better SplitButton (Dropdown button) for .NET overview"><img alt="Better SplitButton (Dropdown button) for .NET overview" src="/assets/screenshots/34/better-splitbutton-overview_thumb_big_1328267692.png?1328242492" /></a><strong>Better SplitButton (Dropdown button) ...</strong></div>
<div class="even"><a href="/assets/screenshots/35/always-drop-down_original_1328267712.png?1328242512" class="screenshot" title="Better SplitButton Always Dropdown Option"><img alt="Better SplitButton Always Dropdown Option" src="/assets/screenshots/35/always-drop-down_thumb_big_1328267712.png?1328242512" /></a><strong>Better SplitButton Always Dropdown Op...</strong></div>
</div>
<div class="screenshot-row">
<div class="odd"><a href="/assets/screenshots/36/flat-style_original_1328267962.png?1328242762" class="screenshot" title="SplitButton with Custom Flat Style"><img alt="SplitButton with Custom Flat Style" src="/assets/screenshots/36/flat-style_thumb_big_1328267962.png?1328242762" /></a><strong>SplitButton with Custom Flat Style</strong></div>
<div class="even"><a href="/assets/screenshots/37/image-list_original_1328268002.png?1328242802" class="screenshot" title="Better SplitButton with ImageList for all DropDown states"><img alt="Better SplitButton with ImageList for all DropDown states" src="/assets/screenshots/37/image-list_thumb_big_1328268002.png?1328242802" /></a><strong>Better SplitButton with ImageList for...</strong></div>
</div>
<div class="screenshot-row">
<div class="odd"><a href="/assets/screenshots/38/custom-glyph-size-in-split-part-of-split-button_original_1328268038.png?1328242838" class="screenshot" title="Custom glyph size in the split-part"><img alt="Custom glyph size in the split-part" src="/assets/screenshots/38/custom-glyph-size-in-split-part-of-split-button_thumb_big_1328268038.png?1328242838" /></a><strong>Custom glyph size in the split-part</strong></div>
</div>
<div id="nav-panel" class="nav-panel product-detail"><div class="screenshots">
<div class="screenshot-row">
<div class="odd"><a href="/assets/screenshots/34/better-splitbutton-overview_original_1328267692.png?1328242492" class="screenshot" title="Better SplitButton (Dropdown button) for .NET overview"><img alt="Better SplitButton (Dropdown button) for .NET overview" src="/assets/screenshots/34/better-splitbutton-overview_thumb_big_1328267692.png?1328242492" /></a><strong>Better SplitButton (Dropdown button) ...</strong></div>
<div class="even"><a href="/assets/screenshots/35/always-drop-down_original_1328267712.png?1328242512" class="screenshot" title="Better SplitButton Always Dropdown Option"><img alt="Better SplitButton Always Dropdown Option" src="/assets/screenshots/35/always-drop-down_thumb_big_1328267712.png?1328242512" /></a><strong>Better SplitButton Always Dropdown Op...</strong></div>
</div>
<div class="screenshot-row">
<div class="odd"><a href="/assets/screenshots/36/flat-style_original_1328267962.png?1328242762" class="screenshot" title="SplitButton with Custom Flat Style"><img alt="SplitButton with Custom Flat Style" src="/assets/screenshots/36/flat-style_thumb_big_1328267962.png?1328242762" /></a><strong>SplitButton with Custom Flat Style</strong></div>
<div class="even"><a href="/assets/screenshots/37/image-list_original_1328268002.png?1328242802" class="screenshot" title="Better SplitButton with ImageList for all DropDown states"><img alt="Better SplitButton with ImageList for all DropDown states" src="/assets/screenshots/37/image-list_thumb_big_1328268002.png?1328242802" /></a><strong>Better SplitButton with ImageList for...</strong></div>
</div>
<div class="screenshot-row">
<div class="odd"><a href="/assets/screenshots/38/custom-glyph-size-in-split-part-of-split-button_original_1328268038.png?1328242838" class="screenshot" title="Custom glyph size in the split-part"><img alt="Custom glyph size in the split-part" src="/assets/screenshots/38/custom-glyph-size-in-split-part-of-split-button_thumb_big_1328268038.png?1328242838" /></a><strong>Custom glyph size in the split-part</strong></div>
</div>
</div></div>
@@ -310,7 +310,7 @@ var t = {"antispam":"capek-rulz","purchase_email":"valid purchase email","valid_
<h4>Better ListView Express 3.14.0 released!</h4>
<p>
<a href="/better-listview-express/releases%3Fsince=3.14.0">See what's new</a>
<a href="/better-listview-express/releases">See what's new</a>
or
<a href="/betterlistviewexpress.exe" onclick="download_email('better-listview-express');">Download latest release</a>
@@ -334,19 +334,19 @@ Copyright &copy; 2018 ComponentOwl.com, Dextronet.com. All rights reserved. Read
</div>
<script src="/javascripts/app_packaged.js%3F1455269826" type="text/javascript"></script>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-16362539-4']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-16362539-4']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
<script src="http://load.sumome.com/" data-sumo-site-id="854b5e00f297990012cc230023375a00787c0000216621002775a800d79ad500" async="async"></script>
<!-- Place this tag after the last plusone tag -->

View File

@@ -117,49 +117,49 @@ var t = {"antispam":"capek-rulz","purchase_email":"valid purchase email","valid_
</ul>
<div id="nav-panel" class="nav-panel product-detail"><div class="screenshots">
<div class="screenshot-row">
<div class="odd"><a href="/assets/screenshots/43/overview_original_1354296079.png?1354270879" class="screenshot" title="Better ThumbnailBrowser"><img alt="Overview" src="/assets/screenshots/43/overview_thumb_big_1354296079.png?1354270879" /></a><strong>Better ThumbnailBrowser</strong></div>
<div class="even"><a href="/assets/screenshots/44/using-auto-populate_original_1354296146.png?1354270946" class="screenshot" title="Auto-loading images from folders"><img alt="Auto populate" src="/assets/screenshots/44/using-auto-populate_thumb_big_1354296146.png?1354270946" /></a><strong>Auto-loading images from folders</strong></div>
</div>
<div class="screenshot-row">
<div class="odd"><a href="/assets/screenshots/45/using-sorting_original_1354296174.png?1354270974" class="screenshot" title="Multi-column sorting on thumbnails"><img alt="Sorting" src="/assets/screenshots/45/using-sorting_thumb_big_1354296174.png?1354270974" /></a><strong>Multi-column sorting on thumbnails</strong></div>
<div class="even"><a href="/assets/screenshots/46/layout-thumbnails-spacing_original_1354296209.jpg?1354271009" class="screenshot" title="Custom spacing between thumbnails"><img alt="Custom spacing" src="/assets/screenshots/46/layout-thumbnails-spacing_thumb_big_1354296209.jpg?1354271009" /></a><strong>Custom spacing between thumbnails</strong></div>
</div>
<div class="screenshot-row">
<div class="odd"><a href="/assets/screenshots/47/layout-thumbnails-border_original_1354296243.jpg?1354271043" class="screenshot" title="Custom borders"><img alt="Custom borders" src="/assets/screenshots/47/layout-thumbnails-border_thumb_big_1354296243.jpg?1354271043" /></a><strong>Custom borders</strong></div>
<div class="even"><a href="/assets/screenshots/48/layout-thumbnails_original_1354296261.png?1354271061" class="screenshot" title="Custom layout"><img alt="Custom layout" src="/assets/screenshots/48/layout-thumbnails_thumb_big_1354296261.png?1354271061" /></a><strong>Custom layout</strong></div>
</div>
<div class="screenshot-row">
<div class="odd"><a href="/assets/screenshots/49/checkboxes-thumbnails_original_1354296287.png?1354271087" class="screenshot" title="Check boxes on thumbnails"><img alt="Check boxes" src="/assets/screenshots/49/checkboxes-thumbnails_thumb_big_1354296287.png?1354271087" /></a><strong>Check boxes on thumbnails</strong></div>
<div class="even"><a href="/assets/screenshots/50/views-thumbnails2_original_1354296314.png?1354271114" class="screenshot" title="Thumbnails with groups"><img alt="Groups" src="/assets/screenshots/50/views-thumbnails2_thumb_big_1354296314.png?1354271114" /></a><strong>Thumbnails with groups</strong></div>
</div>
<div id="nav-panel" class="nav-panel product-detail"><div class="screenshots">
<div class="screenshot-row">
<div class="odd"><a href="/assets/screenshots/43/overview_original_1354296079.png?1354270879" class="screenshot" title="Better ThumbnailBrowser"><img alt="Overview" src="/assets/screenshots/43/overview_thumb_big_1354296079.png?1354270879" /></a><strong>Better ThumbnailBrowser</strong></div>
<div class="even"><a href="/assets/screenshots/44/using-auto-populate_original_1354296146.png?1354270946" class="screenshot" title="Auto-loading images from folders"><img alt="Auto populate" src="/assets/screenshots/44/using-auto-populate_thumb_big_1354296146.png?1354270946" /></a><strong>Auto-loading images from folders</strong></div>
</div>
<div class="screenshot-row">
<div class="odd"><a href="/assets/screenshots/45/using-sorting_original_1354296174.png?1354270974" class="screenshot" title="Multi-column sorting on thumbnails"><img alt="Sorting" src="/assets/screenshots/45/using-sorting_thumb_big_1354296174.png?1354270974" /></a><strong>Multi-column sorting on thumbnails</strong></div>
<div class="even"><a href="/assets/screenshots/46/layout-thumbnails-spacing_original_1354296209.jpg?1354271009" class="screenshot" title="Custom spacing between thumbnails"><img alt="Custom spacing" src="/assets/screenshots/46/layout-thumbnails-spacing_thumb_big_1354296209.jpg?1354271009" /></a><strong>Custom spacing between thumbnails</strong></div>
</div>
<div class="screenshot-row">
<div class="odd"><a href="/assets/screenshots/47/layout-thumbnails-border_original_1354296243.jpg?1354271043" class="screenshot" title="Custom borders"><img alt="Custom borders" src="/assets/screenshots/47/layout-thumbnails-border_thumb_big_1354296243.jpg?1354271043" /></a><strong>Custom borders</strong></div>
<div class="even"><a href="/assets/screenshots/48/layout-thumbnails_original_1354296261.png?1354271061" class="screenshot" title="Custom layout"><img alt="Custom layout" src="/assets/screenshots/48/layout-thumbnails_thumb_big_1354296261.png?1354271061" /></a><strong>Custom layout</strong></div>
</div>
<div class="screenshot-row">
<div class="odd"><a href="/assets/screenshots/49/checkboxes-thumbnails_original_1354296287.png?1354271087" class="screenshot" title="Check boxes on thumbnails"><img alt="Check boxes" src="/assets/screenshots/49/checkboxes-thumbnails_thumb_big_1354296287.png?1354271087" /></a><strong>Check boxes on thumbnails</strong></div>
<div class="even"><a href="/assets/screenshots/50/views-thumbnails2_original_1354296314.png?1354271114" class="screenshot" title="Thumbnails with groups"><img alt="Groups" src="/assets/screenshots/50/views-thumbnails2_thumb_big_1354296314.png?1354271114" /></a><strong>Thumbnails with groups</strong></div>
</div>
</div></div>
@@ -325,7 +325,7 @@ var t = {"antispam":"capek-rulz","purchase_email":"valid purchase email","valid_
<h4>Better ListView Express 3.14.0 released!</h4>
<p>
<a href="/better-listview-express/releases%3Fsince=3.14.0">See what's new</a>
<a href="/better-listview-express/releases">See what's new</a>
or
<a href="/betterlistviewexpress.exe" onclick="download_email('better-listview-express');">Download latest release</a>
@@ -349,19 +349,19 @@ Copyright &copy; 2018 ComponentOwl.com, Dextronet.com. All rights reserved. Read
</div>
<script src="/javascripts/app_packaged.js%3F1455269826" type="text/javascript"></script>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-16362539-4']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-16362539-4']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
<script src="http://load.sumome.com/" data-sumo-site-id="854b5e00f297990012cc230023375a00787c0000216621002775a800d79ad500" async="async"></script>
<!-- Place this tag after the last plusone tag -->

View File

@@ -456,7 +456,7 @@ Thanks.</p>
<li class="comment odd alt thread-even depth-1" id="comment-1233">
<div id="div-comment-1233" class="comment-body">
<div class="comment-author vcard">
<img alt='' src='http://2.gravatar.com/avatar/b5cc9ec9d382c06d89cc4b785a67951e?s=32&#038;d=retro&#038;r=g' srcset="http://2.gravatar.com/avatar/b5cc9ec9d382c06d89cc4b785a67951e?s=64&#038;d=retro&#038;r=g 2x" class='avatar avatar-32 photo' height='32' width='32' /> <cite class="fn"><a href='http:/www.timonv.nl' rel='external nofollow' class='url'>Timon Vonk</a></cite> <span class="says">says:</span> </div>
<img alt='' src='http://2.gravatar.com/avatar/b5cc9ec9d382c06d89cc4b785a67951e?s=32&#038;d=retro&#038;r=g' srcset="http://2.gravatar.com/avatar/b5cc9ec9d382c06d89cc4b785a67951e?s=64&#038;d=retro&#038;r=g 2x" class='avatar avatar-32 photo' height='32' width='32' /> <cite class="fn"><a href='http://www.timonv.nl' rel='external nofollow' class='url'>Timon Vonk</a></cite> <span class="says">says:</span> </div>
<div class="comment-meta commentmetadata"><a href="/blog/are-you-a-zen-coder-or-distraction-junkie#comment-1233">
February 12, 2012 at 2:07 pm</a> </div>

View File

@@ -96,7 +96,7 @@ img.emoji {
<li>Added new label editing controls (calendar and drop down box)</li>
<li>Better ListView content (columns, items and groups) can be saved to file (XML or binary)</li>
<li>Multi-line items support added</li>
<li><a title="Better ListView 2.000 Changelog" href="/better-listview/releases%3Fsince=2.000">See full changelog</a> for details</li>
<li><a title="Better ListView 2.000 Changelog" href="/better-listview/releases">See full changelog</a> for details</li>
</ul>
<p>We have also fixed many issues and improved performance of Thumbnails view and operations with collections.</p>
<h1>About then new version</h1>

View File

@@ -551,7 +551,7 @@ In addition to creating a new List View control to incorporate <b>broader flexib
<h4>Better ListView Express 3.14.0 released!</h4>
<p>
<a href="/better-listview-express/releases%3Fsince=3.14.0">See what's new</a>
<a href="/better-listview-express/releases">See what's new</a>
or
<a href="/betterlistviewexpress.exe" onclick="download_email('better-listview-express');">Download latest release</a>

View File

@@ -263,7 +263,7 @@ var t = {"antispam":"capek-rulz","purchase_email":"valid purchase email","valid_
<h4>Better ListView Express 3.14.0 released!</h4>
<p>
<a href="/better-listview-express/releases%3Fsince=3.14.0">See what's new</a>
<a href="/better-listview-express/releases">See what's new</a>
or
<a href="/betterlistviewexpress.exe" onclick="download_email('better-listview-express');">Download latest release</a>

View File

@@ -263,7 +263,7 @@ var t = {"antispam":"capek-rulz","purchase_email":"valid purchase email","valid_
<h4>Better ListView Express 3.14.0 released!</h4>
<p>
<a href="/better-listview-express/releases%3Fsince=3.14.0">See what's new</a>
<a href="/better-listview-express/releases">See what's new</a>
or
<a href="/betterlistviewexpress.exe" onclick="download_email('better-listview-express');">Download latest release</a>

View File

@@ -263,7 +263,7 @@ var t = {"antispam":"capek-rulz","purchase_email":"valid purchase email","valid_
<h4>Better ListView Express 3.14.0 released!</h4>
<p>
<a href="/better-listview-express/releases%3Fsince=3.14.0">See what's new</a>
<a href="/better-listview-express/releases">See what's new</a>
or
<a href="/betterlistviewexpress.exe" onclick="download_email('better-listview-express');">Download latest release</a>

View File

@@ -263,7 +263,7 @@ var t = {"antispam":"capek-rulz","purchase_email":"valid purchase email","valid_
<h4>Better ListView Express 3.14.0 released!</h4>
<p>
<a href="/better-listview-express/releases%3Fsince=3.14.0">See what's new</a>
<a href="/better-listview-express/releases">See what's new</a>
or
<a href="/betterlistviewexpress.exe" onclick="download_email('better-listview-express');">Download latest release</a>

View File

@@ -263,7 +263,7 @@ var t = {"antispam":"capek-rulz","purchase_email":"valid purchase email","valid_
<h4>Better ListView Express 3.14.0 released!</h4>
<p>
<a href="/better-listview-express/releases%3Fsince=3.14.0">See what's new</a>
<a href="/better-listview-express/releases">See what's new</a>
or
<a href="/betterlistviewexpress.exe" onclick="download_email('better-listview-express');">Download latest release</a>

View File

@@ -263,7 +263,7 @@ var t = {"antispam":"capek-rulz","purchase_email":"valid purchase email","valid_
<h4>Better ListView Express 3.14.0 released!</h4>
<p>
<a href="/better-listview-express/releases%3Fsince=3.14.0">See what's new</a>
<a href="/better-listview-express/releases">See what's new</a>
or
<a href="/betterlistviewexpress.exe" onclick="download_email('better-listview-express');">Download latest release</a>

View File

@@ -263,7 +263,7 @@ var t = {"antispam":"capek-rulz","purchase_email":"valid purchase email","valid_
<h4>Better ListView Express 3.14.0 released!</h4>
<p>
<a href="/better-listview-express/releases%3Fsince=3.14.0">See what's new</a>
<a href="/better-listview-express/releases">See what's new</a>
or
<a href="/betterlistviewexpress.exe" onclick="download_email('better-listview-express');">Download latest release</a>

View File

@@ -263,7 +263,7 @@ var t = {"antispam":"capek-rulz","purchase_email":"valid purchase email","valid_
<h4>Better ListView Express 3.14.0 released!</h4>
<p>
<a href="/better-listview-express/releases%3Fsince=3.14.0">See what's new</a>
<a href="/better-listview-express/releases">See what's new</a>
or
<a href="/betterlistviewexpress.exe" onclick="download_email('better-listview-express');">Download latest release</a>

View File

@@ -263,7 +263,7 @@ var t = {"antispam":"capek-rulz","purchase_email":"valid purchase email","valid_
<h4>Better ListView Express 3.14.0 released!</h4>
<p>
<a href="/better-listview-express/releases%3Fsince=3.14.0">See what's new</a>
<a href="/better-listview-express/releases">See what's new</a>
or
<a href="/betterlistviewexpress.exe" onclick="download_email('better-listview-express');">Download latest release</a>

View File

@@ -263,7 +263,7 @@ var t = {"antispam":"capek-rulz","purchase_email":"valid purchase email","valid_
<h4>Better ListView Express 3.14.0 released!</h4>
<p>
<a href="/better-listview-express/releases%3Fsince=3.14.0">See what's new</a>
<a href="/better-listview-express/releases">See what's new</a>
or
<a href="/betterlistviewexpress.exe" onclick="download_email('better-listview-express');">Download latest release</a>

View File

@@ -263,7 +263,7 @@ var t = {"antispam":"capek-rulz","purchase_email":"valid purchase email","valid_
<h4>Better ListView Express 3.14.0 released!</h4>
<p>
<a href="/better-listview-express/releases%3Fsince=3.14.0">See what's new</a>
<a href="/better-listview-express/releases">See what's new</a>
or
<a href="/betterlistviewexpress.exe" onclick="download_email('better-listview-express');">Download latest release</a>

View File

@@ -263,7 +263,7 @@ var t = {"antispam":"capek-rulz","purchase_email":"valid purchase email","valid_
<h4>Better ListView Express 3.14.0 released!</h4>
<p>
<a href="/better-listview-express/releases%3Fsince=3.14.0">See what's new</a>
<a href="/better-listview-express/releases">See what's new</a>
or
<a href="/betterlistviewexpress.exe" onclick="download_email('better-listview-express');">Download latest release</a>

View File

@@ -263,7 +263,7 @@ var t = {"antispam":"capek-rulz","purchase_email":"valid purchase email","valid_
<h4>Better ListView Express 3.14.0 released!</h4>
<p>
<a href="/better-listview-express/releases%3Fsince=3.14.0">See what's new</a>
<a href="/better-listview-express/releases">See what's new</a>
or
<a href="/betterlistviewexpress.exe" onclick="download_email('better-listview-express');">Download latest release</a>

View File

@@ -263,7 +263,7 @@ var t = {"antispam":"capek-rulz","purchase_email":"valid purchase email","valid_
<h4>Better ListView Express 3.14.0 released!</h4>
<p>
<a href="/better-listview-express/releases%3Fsince=3.14.0">See what's new</a>
<a href="/better-listview-express/releases">See what's new</a>
or
<a href="/betterlistviewexpress.exe" onclick="download_email('better-listview-express');">Download latest release</a>

View File

@@ -263,7 +263,7 @@ var t = {"antispam":"capek-rulz","purchase_email":"valid purchase email","valid_
<h4>Better ListView Express 3.14.0 released!</h4>
<p>
<a href="/better-listview-express/releases%3Fsince=3.14.0">See what's new</a>
<a href="/better-listview-express/releases">See what's new</a>
or
<a href="/betterlistviewexpress.exe" onclick="download_email('better-listview-express');">Download latest release</a>

View File

@@ -263,7 +263,7 @@ var t = {"antispam":"capek-rulz","purchase_email":"valid purchase email","valid_
<h4>Better ListView Express 3.14.0 released!</h4>
<p>
<a href="/better-listview-express/releases%3Fsince=3.14.0">See what's new</a>
<a href="/better-listview-express/releases">See what's new</a>
or
<a href="/betterlistviewexpress.exe" onclick="download_email('better-listview-express');">Download latest release</a>

View File

@@ -263,7 +263,7 @@ var t = {"antispam":"capek-rulz","purchase_email":"valid purchase email","valid_
<h4>Better ListView Express 3.14.0 released!</h4>
<p>
<a href="/better-listview-express/releases%3Fsince=3.14.0">See what's new</a>
<a href="/better-listview-express/releases">See what's new</a>
or
<a href="/betterlistviewexpress.exe" onclick="download_email('better-listview-express');">Download latest release</a>

View File

@@ -263,7 +263,7 @@ var t = {"antispam":"capek-rulz","purchase_email":"valid purchase email","valid_
<h4>Better ListView Express 3.14.0 released!</h4>
<p>
<a href="/better-listview-express/releases%3Fsince=3.14.0">See what's new</a>
<a href="/better-listview-express/releases">See what's new</a>
or
<a href="/betterlistviewexpress.exe" onclick="download_email('better-listview-express');">Download latest release</a>

View File

@@ -263,7 +263,7 @@ var t = {"antispam":"capek-rulz","purchase_email":"valid purchase email","valid_
<h4>Better ListView Express 3.14.0 released!</h4>
<p>
<a href="/better-listview-express/releases%3Fsince=3.14.0">See what's new</a>
<a href="/better-listview-express/releases">See what's new</a>
or
<a href="/betterlistviewexpress.exe" onclick="download_email('better-listview-express');">Download latest release</a>

View File

@@ -263,7 +263,7 @@ var t = {"antispam":"capek-rulz","purchase_email":"valid purchase email","valid_
<h4>Better ListView Express 3.14.0 released!</h4>
<p>
<a href="/better-listview-express/releases%3Fsince=3.14.0">See what's new</a>
<a href="/better-listview-express/releases">See what's new</a>
or
<a href="/betterlistviewexpress.exe" onclick="download_email('better-listview-express');">Download latest release</a>

View File

@@ -263,7 +263,7 @@ var t = {"antispam":"capek-rulz","purchase_email":"valid purchase email","valid_
<h4>Better ListView Express 3.14.0 released!</h4>
<p>
<a href="/better-listview-express/releases%3Fsince=3.14.0">See what's new</a>
<a href="/better-listview-express/releases">See what's new</a>
or
<a href="/betterlistviewexpress.exe" onclick="download_email('better-listview-express');">Download latest release</a>

View File

@@ -263,7 +263,7 @@ var t = {"antispam":"capek-rulz","purchase_email":"valid purchase email","valid_
<h4>Better ListView Express 3.14.0 released!</h4>
<p>
<a href="/better-listview-express/releases%3Fsince=3.14.0">See what's new</a>
<a href="/better-listview-express/releases">See what's new</a>
or
<a href="/betterlistviewexpress.exe" onclick="download_email('better-listview-express');">Download latest release</a>

View File

@@ -263,7 +263,7 @@ var t = {"antispam":"capek-rulz","purchase_email":"valid purchase email","valid_
<h4>Better ListView Express 3.14.0 released!</h4>
<p>
<a href="/better-listview-express/releases%3Fsince=3.14.0">See what's new</a>
<a href="/better-listview-express/releases">See what's new</a>
or
<a href="/betterlistviewexpress.exe" onclick="download_email('better-listview-express');">Download latest release</a>

View File

@@ -263,7 +263,7 @@ var t = {"antispam":"capek-rulz","purchase_email":"valid purchase email","valid_
<h4>Better ListView Express 3.14.0 released!</h4>
<p>
<a href="/better-listview-express/releases%3Fsince=3.14.0">See what's new</a>
<a href="/better-listview-express/releases">See what's new</a>
or
<a href="/betterlistviewexpress.exe" onclick="download_email('better-listview-express');">Download latest release</a>

View File

@@ -263,7 +263,7 @@ var t = {"antispam":"capek-rulz","purchase_email":"valid purchase email","valid_
<h4>Better ListView Express 3.14.0 released!</h4>
<p>
<a href="/better-listview-express/releases%3Fsince=3.14.0">See what's new</a>
<a href="/better-listview-express/releases">See what's new</a>
or
<a href="/betterlistviewexpress.exe" onclick="download_email('better-listview-express');">Download latest release</a>

View File

@@ -263,7 +263,7 @@ var t = {"antispam":"capek-rulz","purchase_email":"valid purchase email","valid_
<h4>Better ListView Express 3.14.0 released!</h4>
<p>
<a href="/better-listview-express/releases%3Fsince=3.14.0">See what's new</a>
<a href="/better-listview-express/releases">See what's new</a>
or
<a href="/betterlistviewexpress.exe" onclick="download_email('better-listview-express');">Download latest release</a>

View File

@@ -263,7 +263,7 @@ var t = {"antispam":"capek-rulz","purchase_email":"valid purchase email","valid_
<h4>Better ListView Express 3.14.0 released!</h4>
<p>
<a href="/better-listview-express/releases%3Fsince=3.14.0">See what's new</a>
<a href="/better-listview-express/releases">See what's new</a>
or
<a href="/betterlistviewexpress.exe" onclick="download_email('better-listview-express');">Download latest release</a>

View File

@@ -263,7 +263,7 @@ var t = {"antispam":"capek-rulz","purchase_email":"valid purchase email","valid_
<h4>Better ListView Express 3.14.0 released!</h4>
<p>
<a href="/better-listview-express/releases%3Fsince=3.14.0">See what's new</a>
<a href="/better-listview-express/releases">See what's new</a>
or
<a href="/betterlistviewexpress.exe" onclick="download_email('better-listview-express');">Download latest release</a>

View File

@@ -263,7 +263,7 @@ var t = {"antispam":"capek-rulz","purchase_email":"valid purchase email","valid_
<h4>Better ListView Express 3.14.0 released!</h4>
<p>
<a href="/better-listview-express/releases%3Fsince=3.14.0">See what's new</a>
<a href="/better-listview-express/releases">See what's new</a>
or
<a href="/betterlistviewexpress.exe" onclick="download_email('better-listview-express');">Download latest release</a>

View File

@@ -263,7 +263,7 @@ var t = {"antispam":"capek-rulz","purchase_email":"valid purchase email","valid_
<h4>Better ListView Express 3.14.0 released!</h4>
<p>
<a href="/better-listview-express/releases%3Fsince=3.14.0">See what's new</a>
<a href="/better-listview-express/releases">See what's new</a>
or
<a href="/betterlistviewexpress.exe" onclick="download_email('better-listview-express');">Download latest release</a>

View File

@@ -263,7 +263,7 @@ var t = {"antispam":"capek-rulz","purchase_email":"valid purchase email","valid_
<h4>Better ListView Express 3.14.0 released!</h4>
<p>
<a href="/better-listview-express/releases%3Fsince=3.14.0">See what's new</a>
<a href="/better-listview-express/releases">See what's new</a>
or
<a href="/betterlistviewexpress.exe" onclick="download_email('better-listview-express');">Download latest release</a>

View File

@@ -263,7 +263,7 @@ var t = {"antispam":"capek-rulz","purchase_email":"valid purchase email","valid_
<h4>Better ListView Express 3.14.0 released!</h4>
<p>
<a href="/better-listview-express/releases%3Fsince=3.14.0">See what's new</a>
<a href="/better-listview-express/releases">See what's new</a>
or
<a href="/betterlistviewexpress.exe" onclick="download_email('better-listview-express');">Download latest release</a>

View File

@@ -263,7 +263,7 @@ var t = {"antispam":"capek-rulz","purchase_email":"valid purchase email","valid_
<h4>Better ListView Express 3.14.0 released!</h4>
<p>
<a href="/better-listview-express/releases%3Fsince=3.14.0">See what's new</a>
<a href="/better-listview-express/releases">See what's new</a>
or
<a href="/betterlistviewexpress.exe" onclick="download_email('better-listview-express');">Download latest release</a>

View File

@@ -263,7 +263,7 @@ var t = {"antispam":"capek-rulz","purchase_email":"valid purchase email","valid_
<h4>Better ListView Express 3.14.0 released!</h4>
<p>
<a href="/better-listview-express/releases%3Fsince=3.14.0">See what's new</a>
<a href="/better-listview-express/releases">See what's new</a>
or
<a href="/betterlistviewexpress.exe" onclick="download_email('better-listview-express');">Download latest release</a>

View File

@@ -263,7 +263,7 @@ var t = {"antispam":"capek-rulz","purchase_email":"valid purchase email","valid_
<h4>Better ListView Express 3.14.0 released!</h4>
<p>
<a href="/better-listview-express/releases%3Fsince=3.14.0">See what's new</a>
<a href="/better-listview-express/releases">See what's new</a>
or
<a href="/betterlistviewexpress.exe" onclick="download_email('better-listview-express');">Download latest release</a>

View File

@@ -263,7 +263,7 @@ var t = {"antispam":"capek-rulz","purchase_email":"valid purchase email","valid_
<h4>Better ListView Express 3.14.0 released!</h4>
<p>
<a href="/better-listview-express/releases%3Fsince=3.14.0">See what's new</a>
<a href="/better-listview-express/releases">See what's new</a>
or
<a href="/betterlistviewexpress.exe" onclick="download_email('better-listview-express');">Download latest release</a>

View File

@@ -263,7 +263,7 @@ var t = {"antispam":"capek-rulz","purchase_email":"valid purchase email","valid_
<h4>Better ListView Express 3.14.0 released!</h4>
<p>
<a href="/better-listview-express/releases%3Fsince=3.14.0">See what's new</a>
<a href="/better-listview-express/releases">See what's new</a>
or
<a href="/betterlistviewexpress.exe" onclick="download_email('better-listview-express');">Download latest release</a>

View File

@@ -263,7 +263,7 @@ var t = {"antispam":"capek-rulz","purchase_email":"valid purchase email","valid_
<h4>Better ListView Express 3.14.0 released!</h4>
<p>
<a href="/better-listview-express/releases%3Fsince=3.14.0">See what's new</a>
<a href="/better-listview-express/releases">See what's new</a>
or
<a href="/betterlistviewexpress.exe" onclick="download_email('better-listview-express');">Download latest release</a>

View File

@@ -263,7 +263,7 @@ var t = {"antispam":"capek-rulz","purchase_email":"valid purchase email","valid_
<h4>Better ListView Express 3.14.0 released!</h4>
<p>
<a href="/better-listview-express/releases%3Fsince=3.14.0">See what's new</a>
<a href="/better-listview-express/releases">See what's new</a>
or
<a href="/betterlistviewexpress.exe" onclick="download_email('better-listview-express');">Download latest release</a>

View File

@@ -263,7 +263,7 @@ var t = {"antispam":"capek-rulz","purchase_email":"valid purchase email","valid_
<h4>Better ListView Express 3.14.0 released!</h4>
<p>
<a href="/better-listview-express/releases%3Fsince=3.14.0">See what's new</a>
<a href="/better-listview-express/releases">See what's new</a>
or
<a href="/betterlistviewexpress.exe" onclick="download_email('better-listview-express');">Download latest release</a>

View File

@@ -263,7 +263,7 @@ var t = {"antispam":"capek-rulz","purchase_email":"valid purchase email","valid_
<h4>Better ListView Express 3.14.0 released!</h4>
<p>
<a href="/better-listview-express/releases%3Fsince=3.14.0">See what's new</a>
<a href="/better-listview-express/releases">See what's new</a>
or
<a href="/betterlistviewexpress.exe" onclick="download_email('better-listview-express');">Download latest release</a>

View File

@@ -263,7 +263,7 @@ var t = {"antispam":"capek-rulz","purchase_email":"valid purchase email","valid_
<h4>Better ListView Express 3.14.0 released!</h4>
<p>
<a href="/better-listview-express/releases%3Fsince=3.14.0">See what's new</a>
<a href="/better-listview-express/releases">See what's new</a>
or
<a href="/betterlistviewexpress.exe" onclick="download_email('better-listview-express');">Download latest release</a>

View File

@@ -263,7 +263,7 @@ var t = {"antispam":"capek-rulz","purchase_email":"valid purchase email","valid_
<h4>Better ListView Express 3.14.0 released!</h4>
<p>
<a href="/better-listview-express/releases%3Fsince=3.14.0">See what's new</a>
<a href="/better-listview-express/releases">See what's new</a>
or
<a href="/betterlistviewexpress.exe" onclick="download_email('better-listview-express');">Download latest release</a>