Enar Väikene [Fri, 2 Dec 2011 07:46:16 +0000 (09:46 +0200)]
* Added commands to copy current file name or all names to the clipboard.
* Hack to fix '?' characters in file/directory names. Needs testing on Windows.
Enar Väikene [Thu, 1 Dec 2011 14:17:44 +0000 (16:17 +0200)]
The LogView widget is now subclassed from Gui::Panel and adds itself to the document interface manager.
* Is currently hardcoded to use the SdiWindow::iSdiWindow
* The name of the panel defaults to "LogView", but can be changed in the XML file attribute "panelName".
Enar Väikene [Thu, 1 Dec 2011 14:08:19 +0000 (16:08 +0200)]
In the process of creating a more generic document interface manager (or window manager) interface.
* Now adds panels instead of windows - one becomes part of the main windows; others act as separate windows.
* Can manage multiple windows
- when the main window is closed, closes all the other managed windows;
- when the main window is minimized/restores, does the same for all the other managed windows.
* XML file attribute 'mainPanelName' is used to set the main panel; if no attribute is set, uses the first panel.
* Panels can be deleted externally; a garbage collector makes sure that the list of managed windows does not grow
forever if somebody decides to add/delete millions of panels.
Enar Väikene [Wed, 30 Nov 2011 12:26:14 +0000 (14:26 +0200)]
Changed the Common::IniFile class to work with 7-bit character INI files only.
* Strings and byte arrays are now escaped;
* Strings and byte arrays can now be in single or double quotes; makes it possible to
have leading and trailing spaces.
* When saving string or byte array values with leading or trailing spaces, automatically adds
double quotes.
Enar Väikene [Mon, 28 Nov 2011 11:36:28 +0000 (13:36 +0200)]
* Added auto-completor to the directory field
* Limited the number of history items that are stored
* Search fields are disabled while the search is ongoing.
Enar Väikene [Mon, 28 Nov 2011 11:33:36 +0000 (13:33 +0200)]
Improved canceling and terminating the worker thread.
* The search is now also canceled when the thread is busy reading a large file;
* Fixed a deadlock situation where the thread was waiting on the wait condition, but there was nobody to wake it up.
Enar Väikene [Thu, 17 Nov 2011 07:44:03 +0000 (09:44 +0200)]
Added iApp::exec() function, which enters the Qt event loop and runs the application.
* Sets the application ready;
* Calls QCoreApplication::exec();
* Sets the application back to not ready.
Changed main application to use the iApp::exec() instead of QApplication::exec().
Enar Väikene [Wed, 16 Nov 2011 15:06:34 +0000 (17:06 +0200)]
* The iEventQueue interface is now properly registered.
* The iApp interface implementation now registers events and listens for EV_QUIT and EV_RESTART events.
Broadcasting EV_READY and EV_TERMINATING events still needs to be implemented. This is also valid for
iApp::ready() and iApp::terminating() signals.
Enar Väikene [Wed, 19 Oct 2011 10:08:01 +0000 (13:08 +0300)]
Changed the SdiWindow::iSdiWindow interface to be not derived from QObject.
* No plans to use signals in this interface
* Simplifies the implementation as we can now have one single class derived both from
Widget and iSdiWindow
* No need to link against the SdiWindow library as long as the iSdiWindow::instance() method is not used.
Enar Väikene [Wed, 5 Oct 2011 11:26:01 +0000 (14:26 +0300)]
More work with the IniFile class:
* Uses the last '/' character to separate section names from key names. 'extensions/about/module' means now
section name 'extensions/about' and key name 'module'.
* Fixed reading platform-specific parameters where we forgot to store the thisOsOnly flag.
* Fixed writing parameters where we forgot to update the internal cache.
* The main window widget is no more accessable from other modules
* Modules should use addWidget() and addLayout() methods to add widgets
and layouts to the main window.
* Any widgets and layouts added to the main window are deleted in the done()
method.
Fixes the issue where the main window widget tried to delete its children and failed, because
modules that created them were already unloaded.
Info message that initialization is completed is now output at the end of the init() function where it belongs.
Some reformatting of the code for better readability.
Changed the position of master password and name fields.
With the new auto-completer support, it makes more sense to enter the master password first and then name of the
application or web site.
Merged the Common::iEnv interface into Common::iApp
We had a chicken-egg problem here where functions in the iApp interface depended on the iEnv interface and vice versa. The easiest
solution was to merge them into one.
Added support for the iStorage interface.
Non-sensitive data for password generator is stored using the iStorage interface.
The name field uses an auto-completer with data from the Storage module.
Added the PswStorage module.
This module stores data for password generation and allows lookups using the name of the password.
The module also acts as an item model for auto-completion of the name field.
Enar Väikene [Wed, 18 May 2011 12:22:51 +0000 (15:22 +0300)]
Fixed Plugin manager.
* Plugin manager now deletes only root components from external modules. Any iPlugin interface objects created
using the iPluginFactory interface shall now be deleted by the external module.
Enar Väikene [Wed, 18 May 2011 06:56:49 +0000 (09:56 +0300)]
Moved setting initial root and bin directories to the Env::init() function. The Env object is constructed before
the QCoreApplication object and we have no access to the QCoreApplication::applicationDirPath().