<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2713.1100" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial size=2>Not sure which email list to throw this at, but I 
have been hacking away at the KDM source in order to make myself a new 
interface, since I got bored with the older one.  I also noted that 
according to the KDE 3.1 Feature Plan, Chris Howells was supposedly working on 
something similar in order to use UI files from QT Designer.  I am not sure 
what he has implemented, but seemingly nothing has been done in the HEAD of CVS 
as I have been compiling and building from that.  Nonetheless, if anyone is 
interested in seeing the code or wants more information, let me know and I can 
let you know the information you need.  I am also not on the mailing list, 
so please include me in any replies.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>To get to the point, here is so far what I have 
implemented or plan to implement:</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>- Made new library libkdm in the kdelibs directory 
(kdelibs/kdm).</FONT></DIV>
<DIV><FONT face=Arial size=2>    - This library includes generic 
classes for the following classes:</FONT></DIV>
<DIV><FONT face=Arial size=2>        - KDMWindow: 
The main dialog window to be shown.  KGreeter now inherits this class 
rather than FDialog.  The class also contains the functionality for loading 
the KDMWidget modules.</FONT></DIV>
<DIV><FONT face=Arial size=2>        - KDMWidget: 
The main widget module that is used within KDMWindow to generate the view.  
This is the class that is inherited by each module in order to create a custom 
KDM module.  KDMWindow basically just has a QHBoxLayout with one widget, 
that being the KDMWidget or the class inherited from it.</FONT></DIV>
<DIV><FONT face=Arial size=2>        - KDMConfig: 
The base class that provides the structure for KDM options.  This class is 
used by KDMWindow and KDMWidget in order for the user to layout the correct 
information according to the configuration.  Actual reading/writing the 
configuration is handled by the actual KDM code within kdebase/kdm</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>- Changed KDMConfig class in 
kdebase/kdm/kfrontend/kdm_greet to KDMConfiguration : public KDMConfig.  
This class does the same as before, but inherits from KDMConfig so that 
KDMWidget and KDMWindow correctly use it.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>- In process of fully changing KGreeter to use 
KDMWindow and its functionality.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>- In process of fully moving the UI code from 
KGreeter into KTraditional that inherits from KDMWidget in order to create the 
traditional look.  KTraditional, however, is compiled into KDM itself, 
instead of a module, in order that a UI always exists for the user in case no 
modules exist.  Most of this code has not been ported, but I have a small 
portion in order to compile and test that KDM correctly loads it</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>- In process of creating a module library Klassic 
that inherits from KDMWidget, but is not compiled into KDM.  I think that 
all these plugins for future modules should eventually go into kdeaddons if 
anyone thinks this implementation is worth it.  This module is very generic 
right now, but is able to be installed as a library and then loaded by KGreeter 
and KDMWindow on the fly.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>This isn't the same route that Chris was taking as 
he was dealing with UI files, although I think it might be easy to add that 
functionality as well and just create a default module based on the UI that 
would be loaded by KDM.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Now what has not been done and prolly needs to be 
done:</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>- The KDM configuration needs a way to save the 
module name that should be loaded.  This module will then prolly have a 
.desktop file associated to it which will contain the library name and create 
function.  This code would be done similar to how KCModule is handled for 
KControl modules.  Currently I do not read any .desktop files and I just 
have a hardcoded library name supplied that gets loaded, and if that load fails, 
then the default gets loaded.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>- Source would need to be added to the KControl KDM 
module in order for the user to see a list of KDM modules that exist as well as 
select the module they wish to use.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>- The API for the kdelibs/kdm library needs to be 
finalized in order that it provides all the functions necessary for the main 
Widget and main Window to correctly work effectively.  Most of the 
functions in these classes are pure virtual calls so that inherited classes must 
define them.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Anyways, let me know what anyone 
thinks.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Thanks,</FONT></DIV>
<DIV><FONT face=Arial size=2>Nicholas Hagen</FONT></DIV>
<DIV><FONT face=Arial size=2><A 
href="mailto:tommy@zidnet.net">tommy@zidnet.net</A></FONT></DIV></BODY></HTML>