Chapter 2. Main concepts

User Interface

The Skrooge window is composed of a main area, surrounded by docks, and a status bar. Docks can be closed and reopened, and positioned left or right of the main area.

The main area

This is where Skrooge will display the information you are interested in. It can contain many tabs, each one with the view you assigned to it.

Docks

Docks can be found in many KDE applications. They are a subpart of an application window, and can be relocated, stacked, closed, or even detached from the main window.

Some examples of docks layout:

Skrooge docks are:

Page Chooser

The page chooser is a dock where you can select the view to be displayed in the current tab or in a new tab. To open in a new tab, hold the Ctrl key while clicking on the selected view.

Tip

You can customize this list by using the contextual menu on this list.

The page chooser

Each context will be described in a specific chapter in this handbook.

Bookmarks

Imagine you need to customize the operations view on a per account basis: each account would be displayed in its own tab, maybe with different columns in each table. The forementioned method does not work, since it applies on all tabs with the same type.

The solution here is to save each individual tab as a Bookmark. Much like in a web browser, bookmarks can be organized in a hierarchy of bookmark folders, that you can visualize in the Bookmark Browser:

The bookmarks browser

To create a bookmark, select a page from the page chooser you want to bookmark, and customize its content to your liking. Once you are done with that, in the Bookmarks dock, bring up the contextual menu, and select Bookmark current page.

Each bookmark or bookmark folder can be "autostarted", i.e. it will be automatically opened when starting Skrooge. This way, you can fully customize the default Skrooge layout.

You can select the text and icon you want for each bookmark or bookmark folder.

Undo / Redo

Skrooge manages undo/redo in a rather classic fashion, except that you can undo or redo any action, even if it was made several days ago. As per default settings, the history is not cleared upon closing Skrooge (you can change this behaviour in the settings), which means you could undo virtually everything up to the document creation.

In order to limit the impact on filesize, Skrooge is configured by default to keep a history of 50 entries. You can change this value in the settings.

Skrooge has a dock that lists all undoable actions.

The history browser

The history browser shows three columns:

  • an icon showing the state of the action. A yellow counter clockwise arrow means the action is undoable. A green clockwise icon means the action is redoable.

  • the description of the action

  • the date when the action was made

  • a disk icon means this action corresponds to a saved state, i.e. the document was saved right after this action.

To undo an undoable operation, or redo a redoable operation, double click on it.

Property Editor

One of Skrooge rather uncommon features is the ability to add custom properties to any object. For example, you may want to add the name and phone number of a bank employee to an account, because he / she is your contact. Or maybe attach a file to an operation, like an invoice scan.

This can be achieved using the property editor, which is a dock of its own.

The property editor, with an attachment

When this dock is visible, it will display the custom properties of the selected object (For: Selection) or of all objects (For: All) , whether it is an account, an operation, category, unit... This dock allows to create, update or delete properties.

A property can be:

  • A simple string

  • A copied file whatever the format (odt, png, pdf, ...). It means that the file is copied into the Skrooge document. This file can be opened from Skrooge by clicking on the appropriate button. Take care, all modifications of original file are not replicated in the version saved in Skrooge document.

  • A link to an existing file whatever the format (odt, png, pdf, ...). It means that the file is not copied into the Skrooge document but just linked. This file can be opened from Skrooge by clicking on the appropriate button.

  • A link to an http page. Example: the website of your bank.

Added properties can be displayed as a column on tables

Message list

This dock allows you to see all message displayed.

The message list

Each context will be described in a specific chapter in this handbook.

Multiple Tabs

Skrooge showing several tabs

Skrooge can display several tabs. You can add as many tabs as you want, each one containing the information you need. The above screenshot shows 4 tabs (accounts, operations, and two graphs).

Edition Panels

In most Skrooge tabs, the way to edit items is to use the edition panel, located at the bottom of the page. In order to preserve maximum space for visualizing information, especially on small screens, edition panels can be hidden or displayed using buttons.

Buttons for showing or hiding Operations edition panels.

When more than one edition mode is available, several buttons allow choosing amongst them. In the above screenshot, there are four buttons allowing to choose the edition mode for Operations, "Standard", "Split", "Transfer" and "Shares".

All numerical fields are interpreted. It means that you can enter mathematical expressions like this:

  • 5*3+10

  • 5*(3+10)

  • Math.sin(10)

Tables

In Skrooge, all tables are customizable. Bring up the contextual menu (usually by right-clicking) on the column header, and you will see a menu appear:

Customizing a table
Columns

Customize the columns appearance.

View Appearance

Use a predefined set of columns. The "default" column usually shows all columns. Other predefined sets may exist on a per table basis.

Resize to Content

Resize all columns to fit to the content.

Auto Resize

When activated, you will not be able to manually resize columns, Skrooge will do it automatically based on the columns content.

List of displayed columns

Shows the list of all columns that can be displayed for this table. The ones currently displayed are ticked. Untick to hide a column, tick to show. The added properties can be selected to be displayed as a column.

Group by

Choose how to group the lines.

None

No grouping.

Sorting column

The lines will be grouped by the column where the sort is applied.

List of columns

Shows the list of all columns that can be used for grouping.

Alternate row colors

Alternate the colors used for each row. The colors used are based on the chosen KDE color scheme.

Export

Export the table as a stand-alone file. Supported formats are pdf, csv, html, svg, odt or txt.

You may also click on a header to choose the sorting column, or reorder columns by dragging them left or right.

Filter the table

Show table menu

In all Skrooge views, you will find a "Show" menu allowing you to filter the view.

Search as you type

Search field

In all Skrooge views, you will find a "filter" field allowing you to search as you type in the view:

  • In an operation view, it will filter the operations containing the text entered, whatever the column (date, payee, category, comment...)

  • In an accounts view, it will filter the accounts containing the text entered, whatever the column (bank, account name, number...)

  • In a report view, it will redraw the graph based on this filter

  • In a... well, you get the idea, right?

Tip

The filtering string follows these rules:

  • Searching is case-insensitive. So table, Table, and TABLE are all the same.

  • If you just put a word or series of words in the search box, the application will filter the table to keep all lines having these words (logical operator AND).

  • If you want to add (logical operator OR) some lines, you must prefix your word by "+".

  • If you want to remove (logical operator NOT) some lines, you must prefix your word by "-".

  • If you want to search only on one column, you must prefix your word by the column name like: col1:word.

  • If you want to use the character ":" in value, you must specify the column name like this: col1:value:rest.

  • If you want to search for a phrase or something that contains spaces, you must put it in quotes, like: "yes, this is a phrase".

  • You can also use operator "<" and ">".

Some examples are better to explain:

  • +val1 +val2 => Keep lines containing val1 OR val2

  • +val1 -val2 => Keep lines containing val1 but NOT val2

  • "abc def" => Keep lines containing the sentence "abc def"

  • "-att:abc def" => Remove lines having a column name starting by abc and containing "abc def"

  • abc:def => Keep lines having a column name starting by abc and containing def

  • :abc:def => Keep lines containing "abc:def"

  • Date>2015-03-01 => Keep lines where Date attribute is greater than 2015-03-01

  • Amount<10 =>Keep lines where Amount attribute is less than 10

Save Customized Content

As explained in the previous chapter, tables can be totally customized to your liking. But you probably do not want to loose all the customization work you made upon closing a tab. There are two ways to save this work.

Save page state

This option allows you saving the current tab state as the default state that will always be called when opening this page. For example, you may want your Dashboard to contain 4 widgets, organized to your liking. What's even more important is that you always want the Dashboard to look the same, you do not want to repeat the customization work every time you open it.

To do this, you simply need to do customization work once, then to save the tab state as the Default State for the page being displayed. Setting the default state is done either by right clicking on the tab and selecting Save page state. If you want to keep more than one state for a page then you must use bookmarks.

Contextual menu on tabs

A faster way is to click on the disk icon that appears on the left of the tab title whenever you modified the default state in a tab.

Mass Update

In Skrooge, it is possible to massively update a selection of items. Though mostly useful for operations, it can also be used on accounts, units, scheduled operations...

The way to do this is quite straightforward : select items to be updated, set the attribute value(s) that should be applied on all items, and click on Apply. For all attributes where you didn't set a value, it will be left untouched on items.

Set mode as "Credit Card" and payee as "ACME" on selected operations.

Updated operations.

Note

It is intentionally impossible to set date or quantity with a mass update

Status Bar

The status bar is a small section at the bottom of the Skrooge window, displaying various information as you work. It includes a progress bar and a cancel button, in case you want to interrupt a long task, such as importing a large file.

The Skrooge progress bar