Notes (weeks 45-47) – Developing plugin support

November 24th, 2012

Still suffering from the autumn/winter darkness. This week was ok but last week was useless because I was too tired to do anything. I really should buy a bright light lamp to combat against the lack of light. Hopefully there will be snow soon.

Anyway, I’ve been working with the plugin support. At first I was meaning to add plugin support only for QuickView but decided to do more generic solution. So, eventually it should be possible to add new panels, tabs, buttons…etc. from plugins. This plugin work I’m currently doing is research for CE 2.0. Trying different things to see what works and what doesn’t. Since CE 2.0 is completely build from plugins, it’s essential to get it right.

plugins

I wasn’t planning to release a snapshot this week, but since there are few bug fixes available, I though why not.

Change Log

  • Added icons for Toolbars, Panels, Lock Toolbars and Lock Panels.
  • Fixed translation issues.
  • Fixed Rename edit’s font color issue.
  • Fixed "Bring CE to front" bug.
  • Fixed "Ctrl+W closes wrong tab" bug.
  • Removed "Stay on top" from dialogs/forms.
  • Updated French translation. (thanks to BB)
  • Updated Italian translation. (thanks to Folgore101)

CubicExplorer 0.96.0.1582 (SVN Snapshot)
Installer (3.1MB)
Portable (3.6MB)

Notes (weeks 35-44) – SumatraPDF in QuickView

November 2nd, 2012

I took a bit of a break. It happens every year when autumn starts. I guess it takes few weeks or so for the body to get used to the idea that winter is coming. It’s colder and there’s less light which makes you dead tired, all the time. I’ve been boosting my serotonin and melatonin levels with eggs (they contain tryptophan) and it has helped a lot. Feeling good and energized, so I started to work again few weeks ago.

I don’t really remember why I started to work with SumatraPDF last week but it has resulted in almost complete rewrite of the QuickView system. The plan has been to finally add the plugin support I’ve meant to do for a long time. It’s pretty much finished already but it’s still in a prototype application. I need to move it from there to CE which takes about a week or so.

So before I start breaking the existing QuickView, I though I’d release a snapshot. It’s now possible to open PDF, XPS, CHM, CBR, CRZ and DjVu files in QuickView if SumatraPDF is installed to the system. SumatraPDF does support few other formats too but there’s some issue which makes it hang when used in CE so I disabled those formats.

sumatrapdf

You can download SumatraPDF from here:
http://blog.kowalczyk.info/software/sumatrapdf/download-free-pdf-viewer.html

TIP, If you want to use the portable version, just create sub folder named Plugins next to CubicExplorer.exe and put SumatraPDF.exe in there.

EDIT, it’s also possible to put SumatraPDF in the same folder where CubicExplorer is but there’s a bug in this snapshot which requires you to rename SumatraPDF.exe as Sumatra.PDF.exe before it works.

 

Change Log

  • Added support for SumatraPDF to QuickView.
  • Added Lock Panels options.
  • Added TrackChangesInMappedDrives advanced options in FileView and FolderTree.
  • Fixed random crashes when closing a tab.
  • Updated Spanish translation. (thanks to juanmanuel)
  • Updated Norwegian translation. (thanks to lars.h.eriksen)

CubicExplorer 0.96.0.1578 (SVN Snapshot)
Installer (3.1MB)
Portable (3.6MB)

Notes (weeks 29-34) – CubicCore assembly

August 26th, 2012

I took a little break on the notes and from the forum. For the past month I’ve been writing the new UI/application framework I talked about in the last note. There has been nice progress and I already have some working code ready. Thanks to the proper planning/designing (talked in last note), writing the code has been pretty easy and all the pieces fall into their places by themselves. I just need to remember not to rush things and think before writing anything.

CubicCore Assembly IDE

The reason I have taken some distance to the forum is because it’s like a wrecking ball that breaks down the plans and ideas I have in my mind. If only our minds could be upgraded similar to computer, more RAM would be the first item on my shopping list. Currently all the variables needed for this UI system are loaded into my memory. Now, if I start to solve CE’s bugs and think about new features for it, my memory gets filled with unrelated information making it more difficult to work with the current project. Maybe someday it becomes possible to load/save the state of our minds, it sure would be a useful feature. But until that happens, I’ll need to keep my distance to distracting things and work with only one project at a time.

This thing I’m writing right now will be the base for CubicExplorer 2.0. There’s still a long way to go but it’s worth the journey. There’s really no point in using much time with the current CE version because it just delays the inevitable. CE 2.0 will be a complete rewrite, meaning most of the work I do with CE 1.0 becomes obsolete. However, there are some bugs that need to be fixed, and a new official version should be released.

Notes (weeks 27-28) – Designing new UI system

July 14th, 2012

I spent last week in designing a new UI system for CE. I’ve hated the current docking system (JVCL Docking) from the very beginning. It has some bugs but because it’s coded to be terribly complex web of objects, it’s almost impossible to find the cause without spending weeks in studying how the damn thing works. So I thought, why not give it a go and try to write my own system. As always, plans changed on the way and I ended up with a sketch for complete UI system.

It’s still at a design level, very little code has been written. Designing it turned out to be a good lesson. I usually jump to coding very quickly and don’t do much planning. It works fine for small things but with big concepts, it usually means many wasted hours. If there’s no proper plan, it’s very easy to get lost or end up in a dead end. In those situations, you start to make compromises. It’s difficult to backtrack and delete the code you’ve spent days to write. So you try to find ways to make the broken code work, even if it’s not the best solution.

So I started from the user end and wrote an XML file that is used to create a UI for simple text editor. It was pretty easy to write and I was able to do major design changes on the fly without losing much time. Although, there were some struggles on the way. Right after I wrote a simple XML document for the docking system, I wanted to open Delphi and start coding. But I kept fighting against that urge and kept tweaking the XML. Few days later the simple docking system had been turned into a complete application framework.

I guess I should always start my work from the user’s point of view. I know it’s pretty self-evident but when your mind is a chaos like mine, it’s easy to be blind to the most obvious things.

layout_system_sketch

Here’s the XML file if anyone is interested. It’s still a sketch but you can see the idea I’m after.
http://cubicreality.pp.fi/ce/samples/notepad.xml

 

CE Snapshot

I did do few changes in CE too. Mainly bug fixes. QuickView panel now shows the selected file from search tab. I added Copy- and Move Selected Here items in the tab right click menu (be careful with them, they aren’t that well tested). I also fixed few issues that might cause CE to hang. If you have experienced hanging issues, let me know if this snapshot fixes them.

copy_selected_here

Change Log

  • Added "Copy/Move Selected Here" items in tab’s right click menu.
  • QuickView panel now works with search results.
  • QuickView now updates on tab change.
  • Changed UI updating as a possible fix for hanging issues.
  • Fixed "Zip extensions not showing in Filters panel" bug.
  • Fixed "CE hangs if F5 is pressed while copying file" bug.
  • Fixed crash on start if tab bar has a stretcher item.
  • Fixed "manage wireless networks" Opens "My Documents" bug.

CubicExplorer 0.96.0.1570 (SVN Snapshot)
Installer (3.1MB)
Portable (3.6MB)

Notes (weeks 23-26) – Enjoying the summer

June 29th, 2012

Not much has happened. My concentration problems have gotten worse and I had a flu which took me out of the game for a week. I though, I might as well take a break and try to enjoy the summer before the long winter starts again. So I’ve been mainly just chilling, done some cycling and took few photos (my flickr page).

However, there are few small changes to CE. In the Text Editor, there’s now an option to colorize the different sections when using the multi highlighter. It should make reading complex html/php/js/css code little easier. I’ll try to add some options to fine tune the colors.

Oh and, I’d like to say a special thanks to sl23 for helping out in the forum. I haven’t been able to interact as much as I would like to in there so it’s good to have some help.

multi-highlighter

Change Log

  • Added "Colorize multi highlighter sections" option to Text Editor.
  • Added HideShortcutExtension advanced setting for FileView.
  • PHP highlighter now also works inside JavaScript or CSS block.
  • CE now remembers Fullscreen mode on restart.
  • Fixed "Fullscreen mode makes CE too big" bug.
  • Fixed "tab text doesn’t use theme color" bug.
  • Updated Romanian translation (thanks to Silviu).
  • Updated French translation (thanks to BB).
  • Updated Slovak translation (thanks to Sepp Winkler).
  • Updated Finnish translation (thanks to hannes).

CubicExplorer 0.96.0.1565 (SVN Snapshot)
Installer (3.1MB)
Portable (3.6MB)

Notes (weeks 20-22) – FileView settings

June 1st, 2012

Let’s see, I spent last week in learning UML and sketching the new item system. I’ve tried to learn UML before but for some reason it’s difficult. The reason why it’s so difficult is probably because there aren’t many sources that explains it well. Maybe I should buy a book or something. Anyway, I found this site which explains the basics of different UML diagrams pretty well. I also (finally) found a nice program that let’s you draw diagrams easily but still has a powerful set of features, Visual Paradigm. It’s a commercial product but they offer a free community version that fits just fine for my needs.

Item system sketch

This week I did some work with CE. Quite random stuff, still having troubles in concentration. Biggest things added are Extension colors and Thumbnail caching. Extension colors mean that you can assign different font styles/colors to different file types.

Extension colors

Thumbnail caching saves thumbnails and loads them from the cache next time you visit the folder. It speeds up browsing quite a bit. By default, thumbnails are saved in the settings folder. You can change the location of that folder (StorageRepositoryFolder) or choose to save per folder (StorageType) from Advanced settings: FileView -> Thumbnails.

Remember thumbnailsThumbnail settings

I also added options to change the font and background color of the FileView. The FontSize setting is now removed so if you are using custom font size, you need to change it again. The line height is now calculated automatically depending on the font. Notice, this happens only if the height setting in Advanced -> FileView -> CellSizes is -1. I’ll have to add similar font and background color options to the panels also.

Fileview display settings

Oh and, the list of Advanced Settings is now fully collapsed at opening. There’s so many options that it began to be a bit difficult to find things in there. The category should expand on a single click but at the moment it doesn’t, I’ll see if I can fix that. In the mean while, you can use double click to expand/collapse categories, or just click on the + sign.

Change Log

  • Added Extension Color settings for FileView.
  • Added Thumbnail settings for FileView.
  • Added Font and Background color options for Fileview.
  • Added Zip browsing options to Fileview and Folders.
  • Added FullRowContextMenu advanced option to FileView.
  • Fixed SelectPreviousFolder bugs.
  • Fixed "QuickView crashes on file end" bug.
  • Fixed "CE won’t show when opening bookmark from tray" bug.
  • Fixed resize bug in FilmStrip view style.
  • Fixed "Selection and scroll position lost on Refresh".
  • Fixed possible crash on exit.
  • Fixed "Address bar won’t open unicode path" bug.
  • Fixed "Won’t restore when minimized" bug.
  • Updated Italian translation (thanks to Folgore101).
  • Updated French translation (thanks to BB).
  • Updated Slovak translation (thanks to Sepp Winkler).

CubicExplorer 0.96.0.1562 (SVN Snapshot)
Installer (3.1MB)
Portable (3.6MB)

Notes (weeks 18-19) – Per folder settings and Workspace

May 12th, 2012

It’s been quite random two weeks. It’s probably the spring that makes it difficult to concentrate. Last week I started to work with the plugin scheme. It’s part of the CubicCore project so I didn’t hurry with it. Lot’s of time went in research to find out what is the best way to do things so it works cross platform and cross language. There’s still a lot to learn but I managed to write some code that can be implemented in CE. I didn’t have time to implement it yet, maybe next week.

For the past few days I’ve done lot’s of random changes. There’s now a Workspace panel which basically is another FileView. Until we have a proper dual/multi pane support, this panel can be used. I wrote it just yesterday so there is very little testing done, let me know if you find bugs or have ideas for improvement.

Workspace

I also added support for per folder settings. It’s part of the component set I’m using so I don’t if it has some performance penalties. It’s disabled by default but you can enable it from Options -> Display -> FileView -> Use per folder settings. All those settings are stored in a perfolder.dat file located in the settings folder. Let me know how it works.

Oh, and you can now access bookmarks by right clicking the Tray Icon.

Per folder settingsTray icon bookmarks

 

Change Log (0.96.0.1544)

  • Added Workspace panel.
  • Added Per folder settings to FileView.
  • Added Bookmarks to Tray icon.
  • Added Panels popup menu.
  • Added Make Visible action.
  • Added AlwaysSaveAsPIDL advanced option to Bookmarks.
  • It’s now possible to open links from the text editor.
  • Esc now closes Text Editor. It can be disabled from Advanced settings.
  • Unknown files are now opened in Text Editor by default.
  • Fixed focus and usability issues in Text editor’s Find and Replace.
  • Fixed issues in tab bar.
  • Fixed translation bugs.
  • Fixed Alt key bug in Options dialogs.
  • Fixed Alt+Click issue in FileView’s Single click mode.
  • Fixed memory leak and dialog visibility issue in Version Manager.
  • Fixed crashes in QuickView’s image viewer.
  • Fixed bug in text file preview.
  • Misc changes to fix possible crashes.
  • Fixed bug when closing detached QuickView.
  • Updated French translation (thanks to BB).
  • Updated Japanese translation (thanks to Benok).
  • Updated Italian translation (thanks to Folgore101).

 

****** EDIT – 14.5.2012 ******
There was one nasty bug that caused all sort of weird behavior in last snapshot. So here’s an update with bunch of fixes and few new advanced settings.

Change Log (0.96.0.1550)

  • Added advanced options HideComputerCrumb, HideDesktopCrumb and MaxCrumbSize for Breadcrumb.
  • Added OpenOnFilelistSelect and OpenOnPlaylistSelect advanced options to QuickView.
  • Added MainForm->Wow64Enabled advanced setting.
  • Double click on tray now works correctly.
  • Enter now opens file in QuickView’s file/playlist.
  • Text editor is now focused when file is opened.
  • Shift+Enter now searches backward in Text Editor.
  • Fixed "CE clicks mouse" bug.
  • Small speed improvement to Bookmarks.
  • Fixed bug that opens tab when Alt+Left dragging file/folder.
  • Fixed "Select first item" issue with Per folder settings.
  • Fixed tab closing issues.
  • Fixed drawing issues in text file preview.
  • Updated Polish translation (thanks to Seethi).

CubicExplorer 0.96.0.1550 (SVN Snapshot)
Installer (3.1MB)
Portable (3.6MB)

Notes (weeks 16-17) – New Text Editor

April 29th, 2012

So, I rewrote the text editor. Or to be precise, I replaced it with QuickView and a text editor plugin. It’s not very big change to the old editor but it finally saves those editor settings. Also I redesigned the find/replace function. It’s now smaller and more simple to use.

text_editor_findtext_editor_options

I changed the highlighters to be little more colorful. Also there’s a new multi highlighter for HTML that supports inline sections for PHP, CSS and JS. The colors used are my personal preferences so they might not fit everyone’s taste. I am planning to add a customizer at some point for the highlighters so you can tweak the colors yourself.

For the file preview you see in QuickView panel when selecting a file, I added a text thumbnail for unknown files. It shows the content of any file that doesn’t have regular thumbnail. It’s not very pretty looking at the moment but I’ll try to work on that.

file_preview_text

Change Log

  • Rewrote text editor.
  • Added file preview for text files.
  • Added FontSize to Options->Advanced->Tabs.
  • Dragging file/folder to tab bar will now open a new tab.
  • QuickView video/audio player now moves to click position.
  • Old file previews should be now disregarded properly.
  • QuickView tab now closes on Detach.
  • Fixed startup crash when CubicExplorer.exe is located in Unicode path.
  • Fixed translation issues.
  • Added "Paint It Black" theme (thanks to PirateMonkey)
  • Updated French translation (thanks to BB).
  • Updated Slovak translation (thanks to Sepp Winkler).
  • Updated Russian translation (thanks to lzsaver).
  • Updated Swedish translation (thanks to eson).

CubicExplorer 0.96.0.1528 (SVN Snapshot)
Installer (3.1MB)
Portable (3.6MB)

Notes (week 15) – New QuickView

April 14th, 2012

Phew, finally the new QuickView is ready. Or well, it’s not ready but it’s usable. I wasn’t planning on spending so much time with this but it turned out to be more complicated job than I initially thought (as usual). However, I’m quite happy how it turned out. Also I learned a lot on the road and wrote some reusable code that will be helpful in the future.

Little bit about how the QuickView works. The QuickView panel will show a file preview (thumbnail and information) when you select a file (or folder). When you click on that preview, the file will be opened in a viewer that will let you pan/zoom images, play videos or edit text (the text editor is still a work in progress). QuickView tab will open the file directly in a viewer.

There is a Filelist that will automatically find all supported files from current folder. If you want to play a slideshow of those files, make sure to change the loop mode to “Loop Filelist”. At the moment all supported files will be added in the Filelist, including text files. I’ll add some way to filter that list.

There’s also a Playlist where you can drag and drop files. I’ll create more ways to add files there including the possibility to load/save playlists. Again, if you want to automatically play all files from the Playlist, choose the “Loop Playlist” option as a loop mode.

QuickView's filelistQuickView's loopmode

By right clicking and selecting “Detach to Window”, you can open the QuickView in a separate window. At the moment if you have video open, you’ll need to right click over the toolbar to show that popup. I’ll fix that.

Detach QuickView

Notice, the QuickView is running but it’s still a work in progress, so there are bugs and missing features in it. I’ll keep tweaking it next week. After it’s finished, I’ll start a bug hunt/feature request tour. I’ll try to (finally) fix/implement those long standing bugs/features (like the "text editor settings not saving" and "per folder settings"). All these changes will be part of version 0.96 to which I moved with this snapshot.

Change Log

  • Added new QuickView.
  • Added Save As button to translator.
  • Updated Polish translation (thanks to Seethi).
  • Updated Hungarian translation (thanks to Mezei Zoltan).
  • Updated Italian translation (thanks to Folgore101).
  • Updated French translation (thanks to BB).
  • Updated Swedish translation (thanks to eson).

CubicExplorer 0.96.0.1512 (SVN Snapshot)
Installer (3.0MB)
Portable (3.5MB)

Notes (weeks 13-14) – No more QuickView prototypes

April 7th, 2012

Still no snapshot I’m afraid. Last week I coded a file previewer for the QuickView (first image). This week I finished coding the image viewer (second image). I’m pretty happy how it turned out. You can now zoom and pan images. Also it supports optimized loading of JPEG images which makes things nice and fast.

I was planning to release a snapshot this week but due to some nasty memory leaks (Delphi’s TJPEGImage is not thread-safe it turns out) I wasn’t able to finish things on time. However, I have managed to finally move the prototype code into CE.

I’ll finish things up next week and release new snapshot on Friday.

File previewQuickView image viewer

QuickView tab

1 of 1812345678910...18