V0.5.1
---------
 * Considered the new behavior of horizontal wheel scrolling in Qt 5.14.0.
 * Added a workaround for the bug in horizontal scrollbars of Qt 5.14.0.

V0.5.0
---------
 * No need to elide the systray tooltip.
 * Added a shortcut editor to Preferences for customizing shortcuts.
 * Don't allow multiple custom shortcuts for one action. This is also a workaround for Qt's Meta key bug, that treats Meta like a non-modifier.
 * Added an info bar to Preferences. It shows up only when needed.
 * Always remember the Preferences dialog size.
 * Set the selected text and highlight colors if those of the app style aren't suitable.
 * Better placement of text context menu actions.
 * Replaced the Qt methods that were deprecated by Qt 5.13.
 * Basic Hurd support.
 * Don't let the current item change during a tree DND.
 * Drag a tree node only if there is a real mouse movement (and not when the view is scrolled by the wheel of a motionless mouse).
 * Smarter Shift+Enter, especially with numbered lists.
 * Added an option for auto-replacing (triple periods, double hyphens, etc.).
 * On triple clicking, select the current block without selecting its newline and start and end whitespaces.
 * Smooth wheel scrolling (touchpad scrolling is already smooth).
 * Fixed a problem in backward search and replacement.
 * Fixes for RTL, including a workaround for a Qt bug.

V0.4.6
---------
 * Removed an old workaround for KDE's clipboard.
 * Use C++11 raw string literals (thanks to shlyakpavel at GitHub).
 * Set the point size of the default document font to that of the widget font.
 * No focus for search buttons.
 * Many (similar) fixes in searching, replacing, printing and exporting.
 * Dropped QDesktopWidget.
 * Don't auto-save deleted files.
 * Allow compilation without X11.
 * macOS support by shlyakpavel at GitHub.
 * Fixed pasting of images into the doc.
 * Fixed DND with an image without extension.
 * Added an option for small toolbar icon size.
 * Separated the preferences code for adding new options more easily.
 * Update settings when the Preferences dialog is shown (because settings may have been changed in another FeatherNotes window).
 * Allow opening docs by DND.
 * Added a magic string to `text/feathernotes-fnx` but the extension has priority.

V0.4.5
---------
 * Added some text-editor shortcuts of FeatherPad.
 * Auto-bracketing support.
 * Better text tabulation.
 * Translation support.
 * Added SVG symbolic icons (that change color to have high contrast with their backgrounds) and removed system icon support because some important icons may not be found in system themes.
 * Support node icons.
 * First try "gio" for opening hyperlinks because Qt may resort to "xdg-open", which isn't a good choice sometimes.
 * Polish translation and a fix by Marcin Mikołajczak (m4sk1n at GitHub).
 * Added a workaround for a new bug in KDE's file dialog, which doesn't change directory with selectFile().
 * Wayland support.

V0.4.4
---------
 * Transformed signal-slot connections into the new syntax.
 * Removed saving of window states because although it works with well-behaved window managers like kwin and openbox, some WM's don't respect window states completely.
 * Added a preliminary help doc.
 * Don't respond to the tray icon when there's a dialog!
 * Put the real image scale in the scale dialog!
 * Implemented auto-scrolling to selected file in file dialogs.
 * Added the ability to save selected images.
 * Added support for text zooming with Ctrl+wheel.
 * An option to set a fixed start size (700x500 by default).
 * Set minimum widths of some message boxes.
 * Changed node moving shortcuts from Ctrl+ to Alt+ for all of them to work when the text edit has focus.
 * Don't let a selected node be deselected by Ctrl + left click!
 * Fixed text direction (for RTL).
 * A workaround for Qt's backward search bug.
 * Removed the translucency workaround.
 * A method for bypassing focus stealing prevention.
 * Options for hiding toolbar or menubar.
 * An option to choose between own and system icons.
 * An option for a transparent tree view.
 * Support Shift+Enter (useful e.g. to create lists).

V0.4.3
---------
 * Readded own icons because, first, not all icon themes have all the needed icons and, second, QTBUG-50829 exists.
 * Interpret relative URLs as local paths.
 * Removed the senseless stylesheet of search and replace buttons.
 * When activating the window by clicking on the tray icon, also consider the current viewport in addition to the current desktop. For example, Compiz has only one desktop, which may be divided into multiple viewports.
 * When closing a node, consider the possibility that it may be the last node.
 * Added a minimal support for Enlightenment.

V0.4.2
---------
 * At last, found a simple workaround for Qt5's scroll jump bug.
 * Also unminimize the window if the tray icon is clicked.
 * At startup, wait 1 min for the system tray.
 * Don't hide but minimize the window on closing if the tray icon couldn't be created.
 * Added a "Raise/Hide" item to the tray menu.
 * Removed the Enlightenment setting. (Why caring for Enlightenment when it wants to have its own world?).
 * Never use native dialogs (since KFileDialog can't be trusted).
 * Fixed an old bug in auto-indentation.
 * Explicitly delete the timer and tray icon on exiting.

V0.4.1
---------
 * Removed own icons.
 * Added a setting for Enlightenment.
 * Included the header of QDataStream in 'simplecrypt.cpp' for compilation against Qt 5.5.1.
 * Set the modification flag on the main window.

V0.4
---------
 * Exported to Qt5 because Qt 5.4.2 seems OK.
 * Workaround for a Qt5 bug, which prevents insertion of the non-breaking space (zero-width non-joiner, ZWNJ) with SHIFT+SPACE.

V0.3.1
---------
 * Made the systray icon optional and added a command line option for starting minimized.
 * Give the main window an ID when starting minimized to tray for translucency to work with Kvantum.

V0.3
---------
 * Use QStackedWidget instead of QTabWidget.

V0.2.5
---------
 * Reversed the last three changes made in V0.2.4 and used another method for hiding/showing window based on reparenting with a dummy widget.
 * Guarantee a fixed height for lineedits.
 * Don't increase the row height; leave it to the style in use.

V0.2.4
---------
 * Faster mouse wheel scrolling when the mouse cursor is on the vertical scrollbar.
 * Rehighlight found matches after zooming out or changing font.
 * Emit resized() for TextEdit from resizeEvent() and not from event() because "QEvent::Resize" doesn't cover all kinds of resizing.
 * For returning to the default size to be possible under all circumstances, hide the window before resizing and show it again afterward.
 * On quitting with the tray icon, show the window only if something is unsaved.
 * Use changeEvent() to get the window state because not all window managers trigger resizeEvent() when a window is unmaximized.
 * Minimize the window without taskbar icon instead of hiding it when its tray icon is clicked. Only in this way, its state info is correctly preserved.
 * Instead of moving to the current desktop, hide and show the window to preserve its state info correctly.
 * Don't use native open or save dialogs because they may cause problems when "Qt::WA_WState_Created" is reset after showing the window in trayActivated().

V0.2.3
---------
 * Put setGeometry() in showEvent() to make restoration of position possible with translucency.
 * Don't clear Qt::WA_WState_Created with translucency (-> BlurHelper() in oxygenblurhelper.cpp from oxygen-transparent).
 * Remove the settings for "max" and "fullscreen" when the window size isn't saved.
 * Under KDE, when text is selected for the first time after starting FeatherNotes, it isn't copied to the selection clipboard. Although I still don't know the cause (Klipper?), I found a workaround.
 * Activate auto-saving again if opening of another file is canceled.

V0.2.2
---------
 * Added text direction menu items and toolbar buttons because sometimes the direction isn't set automatically.
 * Keep tack of the window state and size even if they aren't supposed to be remembered because they're used when the tray icon is clicked.
 * By clearing the attribute "Qt::WA_WState_Created" before setGeometry() and setting it again after showing the window, the window positioning will be correct under all window managers on clicking the tray icon (see QWidget::setGeometry() in qwidget.cpp). So, there's no need to an extra option for position enforcing anymore.

V0.2.1
---------
 * Added '/usr/lib/x86_64-linux-gnu/libX11.so' as a system library to the project to fix the new error messages "x11.o: undefined reference to symbol...".
 * Don't use at() before checking the list size.
 * Made the background of the text area white with light themes.
 * Use tooltips in the Preferences dialog.
 * Also save the geometric settings on closing the Preferences dialog.
 * Always use restoreState() for the splitter.
 * Don't use setFixedSize() or resize() with dialogs because they may prevent them from being centered when shown.
 * Added an option for enforcing position when it's saved on exit because even by using the position of the client area, correct positioning isn't possible with all window managers or decorations.

V0.2
---------
 * Made FeatherNotes independent from any icon set.
 * Cleaned up auto-saving.
 * Added file path to the status bar info.
 * Change the status bar info when needed.
 * Always focus the text widget after raising the window with the tray icon.
 * Fixed bugs in searching for multiline strings.
 * When text is selected, use the left and right arrow keys to go to the start and end of the selection respectively.
 * Use the position of the client area for correct positioning under all desktop environments, including Gnome-Shell.

V0.1.9
---------
 * Set the text cursor at the position of right clicking if no text is selected.
 * When highlighting found matches, search for them only inside the visible part of the text.
 * Consider case-sensitivity when skipping nodes that don't contain the search string.
 * Use formatChanged() to set the pressed states of the format buttons after changing format.
 * If some text is selected and the cursor is put somewhere inside the selection with mouse, Qt may not emit currentCharFormatChanged() when it should. A workaround is added for this bug.
 * No need to enforce a central position for dialogs anymore.

V0.1.8
---------
 * Added keyboard shortcuts for text zooming (without changing the font size).

V0.1.7
---------
 * Don't write useless HTML code when there's nothing to see.
 * Added tree properties and menu based node renaming.
 * Close tag matches dialog when starting another type of search.
 * Added node name search.
 * Always use raise() after activateWindow().

V0.1.6
---------
 * Added support for encryption and password protection.
 * Added command-line option.
 * Always cancel search if the search bar is closed.

V0.1.5
---------
 * Printing is complete now.
 * Added HTML export.

V0.1.4
---------
 * Added support for text tables.
 * Fixes.

V0.1.3
---------
 * Added support for clickable links.
 * Custom context menus for TextEdits.

V0.1.2
---------
 * Consider returnPressed() in line-edits and spin-boxes as confirmation in most dialogs.
 * When FeatherNotes is started minimized to tray, bring it to the current desktop on clicking its tray icon.
 * Always expand the current node after adding a child to it.
 * Added a context menu to the tree-view.
 * Added a keyboard shortcut for toggling minimization to tray (useful when in fullscreen).
 * Care for window states when showing the window from the tray.
 * Added icons for GTK+ based environments.

V0.1.1
---------
 * Implemented the ability to add searchable tags to each node (something I missed since I stopped using NoteCase after it went closed-source).

V0.1
---------
 * FeatherNotes is reborn in Qt :) And it's far better than its GTK+ predecessor. It's quite usable but not finished yet.
