Notes (weeks 11-12) – Hunt for bug

March 24th, 2012

No snapshot this week unfortunately. I started last week by transferring the QuickView prototype code into CE. Once everything was up and running I noticed severe painting issues on resize. It was something I hadn’t seen before and it made very little sense. So I spent many days in trying to figure out what the problem was. Eventually I realized that the problem appeared when using too many nested windows. In the prototype everything worked fine because I was using only few nested windows but since CE has more complex layout, the limit was reached.


It turned out to be a limit in Windows Kernel that caused those painting issues. Here’s a good description about the issue by Jordan Russell: Thankfully there was already a fix available so I didn’t have to do any major changes.

For those interested, here’s the fix (credits goes to Andreas Hausladen)

ControlResizeBugFix.pas (not needed for Delphi 2009 and up)

CubicExplorer 0.95.1 – Official update

March 13th, 2012

Just a quick note. For the past few days I’ve been rewriting the About and Download page for CE. I thought we might as well update the official version. Compared to previous snapshot, there’s not many changes. Few bug fixes and I changed the update type Weekly to Snapshot.

Change Log (from previous Snapshot)

  • Fixed Allow Move button in Stack toolbar.
  • Check selection now changes focus.
  • Fixed status bar not updating on tab change bug.
  • Chanced Update type Weekly to Snapshot.
  • Updated Chinese Simplified translation (thanks to lcz20).

CubicExplorer (Official)
Installer (3.0MB)
Portable (3.4MB)

Notes (weeks 9-10) – QuickView development

March 9th, 2012

Did tons of work in the past two weeks. My goal was to have the new QuickView in this snapshot but couldn’t get it finished in time. Hopefully I can finish it next week, it’s about 3/4 done. This new QuickView will be available in panel, tab and as a separate window. I’ll also add a command line switch for it so it’s possible to use it as a standalone media player.

QuickView development

There was some progress on CE itself too. Mainly some random bug fixes. Biggest visible changes are the loading screen at start and the possibility to customize Stack toolbar. I added the loading screen to hide the bouncing layout when CE is started. It also speeds up the loading time about 20% since CE don’t have to draw the layout until it’s fully loaded.

Customizing Stack toolbarLoading screen


Biweekly snapshots

In the past I’ve tried to release a snapshot every week. Lately I’ve been doing it every other week and it feels much better. I get more done and it’s easier to concentrate on big features when you don’t have to break the flow every Friday. So I’ll keep this biweekly schedule for now.


Change Log

  • Added loading screen.
  • Fixed bug that caused MainToolbar to not remember it’s visibility.
  • Fixed crash in FileSearch when search has finished.
  • Removed exceptions when setting files are locked.
  • Fixed translation issue in FileSearch.
  • Fixed toolbar bugs.
  • It’s now possible to customize StackToolbar.
  • Changed QuickView text viewer so it doesn’t lock files.
  • Shortcuts are now opened properly when middle clicking.
  • Updated French translation (thanks to BB).
  • Updated Portuguese translation (thanks to Mário Gonçalves).

CubicExplorer (SVN Snapshot)
Installer (3.0MB)
Portable (3.4MB)

Notes (weeks 7-8) – Toolbar tweaks

February 25th, 2012

It’s been pretty random two weeks. I decided to take little distance to CubicCore so it’s easier to see the big picture. So instead of working with that, I started to work with QuickView. I created a new picture viewer and base for new media player. The picture viewer turned out great although it was quite a challenge, lot’s of math involved. The media player is still a work in progress. Once it’s finished, it will let you choose what engine to use for playing video/audio (DirectShow, WMP and VLC are supported at first). I’m hoping to finish the new QuickView for next snapshot.

This week I did bunch of random stuff here and there. I added Tabs toolbar button. By default it will show you controls to add/close tabs but you can hide them from Options -> Advanced -> Buttons -> Tabs_ShowTabControls.


I also added a Stretcher toolbar item. You can use it to stretch buttons or text fields to fill the empty space in toolbar. It’s not that useful for buttons (unless you like wide buttons), it’s mainly meant to be used with text fields. Another visible change is the Filters toolbar which can now be customized. I also did bunch of changes under the skin to make things easier when adding new customizable toolbars. The Stack toolbar is not yet customizable but I’ll convert it.


Notice, for the Stretcher to work, the toolbar has to have the Stretch option enabled.

Change Log

  • Added Tabs toolbar button.
  • Added Stretcher toolbar item.
  • Added "New File" button.
  • Fixed translation bug.
  • Fixed tab X button draw bug.
  • Fixed bug that might cause crash when closing File Search tab.
  • Filters toolbar can now be customized.
  • Text Filter toolbar item now supports history.
  • File Search now shows the search values in the tab title.
  • Session now remembers most of FileSearch settings.
  • Updated default settings.
  • Updated Italian translation (thanks to Folgore101).
  • Updated French translation (thanks to BB).
  • Updated Spanish translation (thanks to juanmanuel).

CubicExplorer (SVN Snapshot)
Installer (2.9MB)
Portable (3.4MB)

Notes (weeks 5-6) – Filter enhancements

February 10th, 2012

Good progress on CubicCore/CE 2.0. I’ve started to build the base structure for the application itself. ServiceHost and two services, MessageHub and Jobs (threaded tasks) are ready. I still need to go over the code and figure out if there are some limitations in the design. After that I’ll move on to Components and Setting storage. It’s been really fun to code this stuff, enjoying every minute.

There’s some progress in CE 1.0 too. Mainly I rewrote some of the filtering stuff. Now it updates the extension list and file counts when using text filter. I also fixed few bugs and added confirmation prompt on Close if there’s any dialogs found. Oh, and there’s now a “Restore Default Layout” button in Help menu and Options -> Display. It only restores toolbar and panel positions, it does not restore toolbar buttons.

Closing promptRestore Default Layout

Last week I made it so that CE changes the CurrentDirectory to active folder. This caused a “Folder in use” problem when trying to delete a folder that is open in CE. There’s now an advanced option MainForm -> ChangeCurrentDirVar to let you control this behaviour. It’s disabled by default. If you don’t need it or don’t know what I’m talking about, just leave it like that.

Change Log

  • Added "OpenInNewTab" advanced option for DriveBar.
  • Added icon for InfoBar.
  • Added confirmation prompt if open dialogs are found when quitting CE.
  • Added "Restore Default Layout" button to Help menu and Options->Display.
  • Added "New Folder" to the background menu.
  • Added advanced option MainForm -> ChangeCurrentDirVar.
  • Added Exclude to Filters menu.
  • Added Exclude and Strict filter buttons to Customizer.
  • Fixed background text bug when file/folder is added in empty folder.
  • Filter list now updated file counts when text filter is used.
  • Changed Text editor default title from "Untitled" to "New text file".
  • Auto scrolls now after paste.
  • Pressing Enter or selecting "Open in new tab" from context menu will now open multiple folders.
  • Updated Brazilian Portuguese translation (thanks to Luciano Sturaro).
  • Updated Russian translation (thanks to sergus).

CubicExplorer (SVN Snapshot)
Installer (2.9MB)
Portable (3.4MB)

Notes (weeks 3-4) – Exclude filter

January 27th, 2012

I’m still working with the basic stuff needed for cross-platform support. For those interested, I’ve been collecting/creating code that can be used in both Delphi and FPC, mainly string handling routines and classes like StringList. To make things easier, I’ll only support Windows versions that have Unicode support (Win2000 and up).

Today I did some work with CE. I added Exclude button to the Filters panel. If it’s checked, filtered files will be hidden instead of shown. I also added options to automatically select and/or sort pasted files. Both are enabled by default but they can be turned off from Options -> Advanced -> FileView. I did very little testing with them so let me know if there’s problems.


Change Log

  • Added exclude button to filters panel.
  • Added SelectPasted and SortAfterPaste settings for Fileview.
  • Fixed resize bug when using Fullscreen mode.
  • Rename is now possible in Search tab.
  • Changed "Refresh Fileview" icon to green.
  • Text filter now searches from complete filename (including extension).
  • Swapped default mapping of Ctrl+PageUp and Ctrl+PageDown to work other way around.
  • Updated French translation (thanks to BB).
  • Updated Russian translation (thanks to Vitaly).

CubicExplorer (SVN Snapshot)
Installer (2.9MB)
Portable (3.4MB)

Notes (week 2) – Cross-platform research

January 16th, 2012

Little offbeat timing on these notes but… who cares. Last week I was supposed to continue my work with the UI platform but decided to create the basics before that. I did lot’s of research on what it takes to add cross-platform support. Also been learning things about FPC which I’ll be using to compile CE 2.0. I won’t bother with Lazarus because I only need the compiler. I’ll do the coding in Delphi’s IDE which is much better IMHO.

Cross-platform development 

Register as Default File Manager

On weekend I somehow ended up working with the “Register as Default File Manager” feature. Not really sure why I did it but it’s done now. It should work in XP, Vista and Win7, at least those I’ve tested. It probably will work in 2000, 2003 and 2008 too.


Notice, in Vista and Win7, Control Panel will open in Windows Explorer. Also child items in Control Panel will open in a separate window. At the moment I’m out of ideas on how to fix it. But it’s only a minor grief I think.

Change Log

  • Added option to register CE as default file manager.
  • Fixed bug in session loading when /icon switch is used.
  • Fixed separator bug in FileSearch when using multible locations.
  • Search button now shows progress dots when running.
  • CurrentDirectory is now changed to the active path.
  • Changed path handling to support environment variables.
  • Updated Dutch translation (thanks to Karel Baerten).
  • Updated Romanian translation (thanks to Stefan Arhip).

CubicExplorer (SVN Snapshot)
Installer (2.9MB)
Portable (3.4MB)

Notes (weeks 51-1) – CubicExplorer 2.0

January 6th, 2012

It’s been steady progress. This week I’ve been working with a component that will be used to display items. It’s already fairly general design meaning the same code could be used for toolbars, menus… etc. Next week I’ll push it even deeper and hope to end up with a general platform for UI creation. After that, I’ll tackle the infamous docking system.


At this point, I guess there’s no turning back. Full speed ahead towards CE 2.0. Looking forward to see what this year brings with it. Lot’s of cool stuff coming to CE, can’t wait to see them in action!

Notes (weeks 46-50) – CubicCore progress

December 16th, 2011

Slowly starting work again. For the past two weeks I’ve been working with some fresh code. Last week I started to create a new framework for QuickView. My plan was to add support for plugins. It eventually developed into a more generic solution for creating plugin based applications.

QuickView developmentAddons prototype

In 2012, I’m going to aim my focus on CubicExplorer 2.0. Even though it’s going to be a complete rewrite, it doesn’t mean there’s not going to be any progress in CE 1.0. Current CE will be used as a testing ground for new stuff. For example, the new QuickView code I’ve been working will be implemented in there.

Next snapshot?

Not sure. Maybe next week, maybe in January. I honestly don’t know at this point. At the moment I’m on a nice track in developing some fresh ideas, don’t want to disturb that.

Notes (weeks 43-45) – The annual break

November 11th, 2011

Well here we are, once again. Looks like the break happens every year whether I want it or not. Thankfully this time it doesn’t feel as bad as previously so there has been some progress. I’ve also been busy with tests relating to the week 14 post.

Anyway, I managed to get some work done last Friday and today. Nothing much, few bug fixes and few improvements. There’s now a Refresh Fileview button available which let’s you refresh only the fileview area. This might be helpful in terms of speed when working with network drives. Also I added /icon command line switch which let’s you change CE’s icon (only ico files work).

Refresh FileviewChange application icon

Change Log

  • Added support for libraries on command line.
  • Added support for system variables in Address Bar.
  • Added hint to Tray Icon.
  • Added /icon command line switch to change CE’s icon.
  • Added "Refresh Fileview" button.
  • Fixed missing 7z.dll bug.
  • Fixed issue where CE saved settings to working folder.
  • Fixed CheckBox selection bug in SingleClickBrowse mode.
  • Updated Brazilian Portuguese translation (thanks to Luciano Sturaro).

CubicExplorer (SVN Snapshot)
Installer (2.9MB)
Portable (3.4MB)