(Marked "Unify options to enable or disable the tooltips in the folder and message list" as done.) |
(→Move aggregation, theme and sorting options to the menubar) |
||
| Line 37: | Line 37: | ||
=== Move aggregation, theme and sorting options to the menubar === | === Move aggregation, theme and sorting options to the menubar === | ||
| − | |||
| − | |||
'''Starting point:''' kmmainwidget.cpp, messagelistview.cpp/core/widgetbase.cpp, configuredialog.cpp, kmmainwin.cpp/kmail_part.rc | '''Starting point:''' kmmainwidget.cpp, messagelistview.cpp/core/widgetbase.cpp, configuredialog.cpp, kmmainwin.cpp/kmail_part.rc | ||
| Line 44: | Line 42: | ||
'''Difficulty:''' Medium | '''Difficulty:''' Medium | ||
| − | '''Description:''' Currently, there are 3 little comboboxes next to the quick search dialog, that control the theme, aggregation and sort order. Experience has shown that people don't find it there. Your task is to clean this up a bit. Move the 3 little comboboxes to the menubar, as submenues of the ''View'' menu. Also, make those submenus available when right-clicking a header of the message list. Also, it would be nice to add settings to the configure dialog to change the default theme, aggregation and sort order. | + | '''Description:''' Currently, there are 3 little comboboxes next to the quick search dialog, that control the theme, aggregation and sort order. Experience has shown that people don't find it there. Your task is to clean this up a bit. Move the 3 little comboboxes to the menubar, as submenues of the ''View'' menu. Also, make those submenus available when right-clicking a header of the message list. Also, it would be nice to add settings to the configure dialog to change the default theme, aggregation and sort order. |
=== Unify options to enable or disable the tooltips in the folder and message list [done]<br> === | === Unify options to enable or disable the tooltips in the folder and message list [done]<br> === | ||
On this page, you'll find small coding jobs for a beginner to work on. All these problems are relatively easy, some of them might even be one-liners. Of course, it is always a good idea to find your own thing to fix, the best motivation is scratching your own itch.
These tasks are intended for beginners with little or no experience programming with KDE. For those beginners, the biggest challenges are not actually the coding problems, but setting the development environment up, finding the correct place of code where the bug happens (in the jungle of all those source files) and interacting with the community, with the final step being sending the patch.
The knowledge prerequisite for those jobs are not that big. You should be familiar in C++, and knowing Qt a bit would help. Knowing kdelibs or KMail internals is not required, that can usually be picked up during coding.
For more general information, visit the following places:
The steps for your first coding contribution are roughly like this:
Should you need help, feel free to ask us in the #kontact IRC channel, or mail either Thomas McGuire (the KMail maintainer) or the kde-pim mailing list.
If you find some information missing, feel free to add it to this page after you learn it.
Below follows a list of junior jobs. It always includes a rough location where in the KMail sources to start.
Starting point: kmmimeparttree.cpp
Difficulty: Easy
Description: When starting KMail for the first time (i.e. empty kmailrc configuration file), the column sizes for the message structure viewer are not good. The name column is too small, although it should be the largest. KMail should provide good default column sizes for the default window size.
Starting point: kmmainwidget.cpp, messagelistview.cpp/core/widgetbase.cpp, configuredialog.cpp, kmmainwin.cpp/kmail_part.rc
Difficulty: Medium
Description: Currently, there are 3 little comboboxes next to the quick search dialog, that control the theme, aggregation and sort order. Experience has shown that people don't find it there. Your task is to clean this up a bit. Move the 3 little comboboxes to the menubar, as submenues of the View menu. Also, make those submenus available when right-clicking a header of the message list. Also, it would be nice to add settings to the configure dialog to change the default theme, aggregation and sort order.
Starting point: configuredialog.cpp, folderview.cpp, messagelistview/core/view.cpp
Difficulty: Medium
Description: The message list and the folder list both have tooltips that can be enabled or disabled. However, the options for this are not in the same places. The folder list tooltip can be disabled by right-clicking the header of the folder list, while the message list can only be disabled in the configure dialog. Your job is to unify this: add an option to disable the folder list tooltip to the configure dialog, and an option to disable the message list tooltip to the message list header context menu.
Starting point: messagelistview/core/themeeditor.cpp, messagelistview/core/view.cpp
Difficulty: Medium
Description: When using the classic theme, you can select additional columns by right-clicking the header. There are many icon-only columns here, like Action Item or Signature. For those icon columns, the column header text doesn't fit into the width, and this looks bad. Your job would be to add an option to the theme editor like Don't display column header text. This would simply show nothing as the column header, but still show the column names in the context menu. Also, the default themes should be adjusted to use this.
Starting point: kmreaderwin.cpp, kmreadermainwin.cpp
Difficulty: Medium
Description: The font setting has no effect when using a fixed font, and when using the separate reader window. Your job is to fix the situation.
Starting point: kmmainwidget.cpp
Difficulty: Easy
Description: The Refresh IMAP Cache action in the File menu is even enabled when there are no IMAP accounts or when no IMAP folder is currently selected. Your job is to fix this be disabling the action when necessary.
Starting point: kmail.kcfg
Difficulty: Easy (but possibly boring)
Description: KMail does many manual calls to readEntry() and writeEntry() for reading and saving configuration. These are error-prone and should be ported to the 'new' KConfigXT system, that is already used in some places (you'll notice the GlobalSettings class being used a lot).
Starting point: accountwizard.cpp
Difficulty: Easy
Description: See the forum post. Basically, when the user sees Cancel, he might think that would quit KMail entirely.
Starting point: accountdialog.cpp
Difficulty: Dead Easy
Description: The message mentioned in the bug report refers to a button at the bottom of the dialog, however the button is in another tab now. Your job is to fix the message to refer to the correct place.
Starting point: configuredialog.cpp, messagelistview/core/themeeditor.cpp, messagelistview/core/themedelegate.cpp
Difficulty: Medium
Description: In the configure dialog in KMail, one has the option to change the font of the messages in the message list. However, this setting is not honored, which is a clear bug.
The problem is that the fonts can be configured in two places: In the theme dialog and in the normal configure dialog.
In the normal dialog, the option of configuring the date field should probably be dropped, since other fields don't have this special treating. However, the font setting for normal, unread, new, todo and important messages should be honored, at least if the font set in the theme editor is set to "default".