Difference between revisions of "Projects/PIM/KMail Junior Jobs"

< Projects‎ | PIM
Jump to: navigation, search
m (add newlines)
(add filenames for starting points)
Line 31: Line 31:
 
=== Folder quick search should have "Search" as initial search text ===
 
=== Folder quick search should have "Search" as initial search text ===
  
'''Starting point:'''
+
'''Starting point:''' kmmainwidget.cpp
  
 
'''Difficulty:''' Easy
 
'''Difficulty:''' Easy
Line 40: Line 40:
 
=== Pressing enter in the filter dialog opens the help by default ===
 
=== Pressing enter in the filter dialog opens the help by default ===
  
'''Starting point:'''
+
'''Starting point:''' kmfilterdlg.cpp
  
 
'''Difficulty:''' Easy
 
'''Difficulty:''' Easy
Line 49: Line 49:
 
=== The default column sizes of the message structure viewer are too small ===
 
=== The default column sizes of the message structure viewer are too small ===
  
'''Starting point:'''
+
'''Starting point:''' kmmimeparttree.cpp
  
 
'''Difficulty:''' Easy
 
'''Difficulty:''' Easy
Line 58: Line 58:
 
=== Add an indicator to the composer's toolbar whether the mail is in plain text or HTML ===
 
=== Add an indicator to the composer's toolbar whether the mail is in plain text or HTML ===
  
'''Starting point:'''
+
'''Starting point:''' kmcomposewin.cpp
  
 
'''Difficulty:''' Easy
 
'''Difficulty:''' Easy
Line 67: Line 67:
 
=== Move aggregation, theme and sorting options to the menubar ===
 
=== Move aggregation, theme and sorting options to the menubar ===
  
'''Starting point:'''
+
'''Starting point:''' kmmainwidget.cpp, messagelistview.cpp/core/widgetbase.cpp, configuredialog.cpp, kmmainwin.cpp/kmail_part.rc
  
 
'''Difficulty:''' Medium
 
'''Difficulty:''' Medium
Line 76: Line 76:
 
=== Unify options to enable or disable the tooltips in the folder and message list ===
 
=== Unify options to enable or disable the tooltips in the folder and message list ===
  
'''Starting point:'''
+
'''Starting point:''' configuredialog.cpp, folderview.cpp, messagelistview/core/view.cpp
  
 
'''Difficulty:''' Medium
 
'''Difficulty:''' Medium
Line 85: Line 85:
 
=== Better handling of empty column titles in the message list ===
 
=== Better handling of empty column titles in the message list ===
  
'''Starting point:'''
+
'''Starting point:''' messagelistview/core/themeeditor.cpp, messagelistview/core/view.cpp
  
 
'''Difficulty:''' Medium
 
'''Difficulty:''' Medium
Line 94: Line 94:
 
=== [http://bugs.kde.org/show_bug.cgi?id=187041 Bug 187041]: Folder filter persistent after restart ===
 
=== [http://bugs.kde.org/show_bug.cgi?id=187041 Bug 187041]: Folder filter persistent after restart ===
  
'''Starting point:'''
+
'''Starting point:''' kmmainwidget.cpp
  
 
'''Difficulty:''' Easy
 
'''Difficulty:''' Easy
Line 103: Line 103:
 
=== [http://bugs.kde.org/show_bug.cgi?id=186803 Bug 186803]: Missing newline in folder tooltip ===
 
=== [http://bugs.kde.org/show_bug.cgi?id=186803 Bug 186803]: Missing newline in folder tooltip ===
  
'''Starting point:'''
+
'''Starting point:''' folderview.cpp
  
'''Difficulty:''' Dead Easy
+
'''Difficulty:''' Dead Easy (although you need an IMAP account with quota support to test the problem)
  
 
'''Description:'''
 
'''Description:'''
Line 112: Line 112:
 
=== [http://bugs.kde.org/show_bug.cgi?id=185069 Bug 185069]: After renaming a SMTP account, the identities are not updated ===
 
=== [http://bugs.kde.org/show_bug.cgi?id=185069 Bug 185069]: After renaming a SMTP account, the identities are not updated ===
  
'''Starting point:'''
+
'''Starting point:''' configuredialog.cpp, identitydialog.cpp
  
 
'''Difficulty:''' Easy to Medium
 
'''Difficulty:''' Easy to Medium
Line 121: Line 121:
 
=== [http://bugs.kde.org/show_bug.cgi?id=182581 Bug 182581]: KMail should warn when creating a filter without a filter action ===
 
=== [http://bugs.kde.org/show_bug.cgi?id=182581 Bug 182581]: KMail should warn when creating a filter without a filter action ===
  
'''Starting point:'''
+
'''Starting point:''' kmfilterdlg.cpp
  
 
'''Difficulty:''' Medium
 
'''Difficulty:''' Medium
Line 130: Line 130:
 
=== [http://bugs.kde.org/show_bug.cgi?id=156653 Bug 156653]: Changing the font size has no effect on the separate reader window ===
 
=== [http://bugs.kde.org/show_bug.cgi?id=156653 Bug 156653]: Changing the font size has no effect on the separate reader window ===
  
'''Starting point:'''
+
'''Starting point:''' kmreaderwin.cpp, kmreadermainwin.cpp
  
 
'''Difficulty:''' Medium
 
'''Difficulty:''' Medium
Line 139: Line 139:
 
=== [http://bugs.kde.org/show_bug.cgi?id=71945 Bug 71945]: Refresh IMAP cache even enabled when action can't be used ===
 
=== [http://bugs.kde.org/show_bug.cgi?id=71945 Bug 71945]: Refresh IMAP cache even enabled when action can't be used ===
  
'''Starting point:'''
+
'''Starting point:''' kmmainwidget.cpp
  
 
'''Difficulty:''' Easy
 
'''Difficulty:''' Easy
Line 148: Line 148:
 
=== [http://bugs.kde.org/show_bug.cgi?id=89446 Bug 89446]: Convert more settings to [[Development/Tutorials/Using_KConfig_XT|KConfigXT]] ===
 
=== [http://bugs.kde.org/show_bug.cgi?id=89446 Bug 89446]: Convert more settings to [[Development/Tutorials/Using_KConfig_XT|KConfigXT]] ===
  
'''Starting point:'''
+
'''Starting point:''' kmail.kcfg
  
 
'''Difficulty:''' Easy (but possibly boring)
 
'''Difficulty:''' Easy (but possibly boring)
  
 
'''Description:'''
 
'''Description:'''

Revision as of 15:40, 20 March 2009

Contents

KMail Junior Jobs

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:

  • KDE Techbase: Contains a lot of information about developing KDE, in particular a section on how to build KDE from source
  • KMail's HACKING file: Some KMail specific information.

The steps for your first coding contribution are roughly like this:

  1. Build KDE trunk from sources, including KDEPIM
  2. Set up your development environment, i.e. your editor or IDE
  3. Pick something to work on, like some of the things suggested below
  4. Start coding and fix the problem!
  5. Send in a patch

Should you need help, feel free to ask us in the #kontact IRC channel.

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.

noframe
 
This section needs improvements: Please help us to

cleanup confusing sections and fix sections which contain a todo


As you can see, the section below is not yet filled out. I'll try my best to fill it out. --TMG 23:33, 19 March 2009 (UTC)

Folder quick search should have "Search" as initial search text

Starting point: kmmainwidget.cpp

Difficulty: Easy

Description:


Pressing enter in the filter dialog opens the help by default

Starting point: kmfilterdlg.cpp

Difficulty: Easy

Description:


The default column sizes of the message structure viewer are too small

Starting point: kmmimeparttree.cpp

Difficulty: Easy

Description:


Add an indicator to the composer's toolbar whether the mail is in plain text or HTML

Starting point: kmcomposewin.cpp

Difficulty: Easy

Description:


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

Difficulty: Medium

Description:


Unify options to enable or disable the tooltips in the folder and message list

Starting point: configuredialog.cpp, folderview.cpp, messagelistview/core/view.cpp

Difficulty: Medium

Description:


Better handling of empty column titles in the message list

Starting point: messagelistview/core/themeeditor.cpp, messagelistview/core/view.cpp

Difficulty: Medium

Description:


Bug 187041: Folder filter persistent after restart

Starting point: kmmainwidget.cpp

Difficulty: Easy

Description:


Bug 186803: Missing newline in folder tooltip

Starting point: folderview.cpp

Difficulty: Dead Easy (although you need an IMAP account with quota support to test the problem)

Description:


Bug 185069: After renaming a SMTP account, the identities are not updated

Starting point: configuredialog.cpp, identitydialog.cpp

Difficulty: Easy to Medium

Description:


Bug 182581: KMail should warn when creating a filter without a filter action

Starting point: kmfilterdlg.cpp

Difficulty: Medium

Description:


Bug 156653: Changing the font size has no effect on the separate reader window

Starting point: kmreaderwin.cpp, kmreadermainwin.cpp

Difficulty: Medium

Description:


Bug 71945: Refresh IMAP cache even enabled when action can't be used

Starting point: kmmainwidget.cpp

Difficulty: Easy

Description:


Bug 89446: Convert more settings to KConfigXT

Starting point: kmail.kcfg

Difficulty: Easy (but possibly boring)

Description:


KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V.Legal