00001
00002
00003
00004
00005
00006 #include <kapplication.h>
00007 #include <kfiledialog.h>
00008 #include <kaboutdata.h>
00009 #include <kcmdlineargs.h>
00010 #include <klocale.h>
00011 #include <kconfig.h>
00012 #include <ksimpleconfig.h>
00013 #include <qurl.h>
00014
00015 #include <qfileinfo.h>
00016 #include <qstringlist.h>
00017
00018 #include "karamba.h"
00019
00020
00021 static const char *description = I18N_NOOP("A KDE Eye-candy Application");
00022
00023 static const char *version = "0.17";
00024
00025 static KCmdLineOptions options[] =
00026 {
00027
00028 { "+file", I18N_NOOP("A required argument 'file'."), 0 },
00029 { 0, 0, 0 }
00030
00031 };
00032
00033 int main(int argc, char **argv)
00034 {
00035 KAboutData about("karamba", I18N_NOOP("karamba"), version, description,
00036 KAboutData::License_GPL, "(C) 2003 Hans Karlsson", 0, 0, "karlsson.h@home.se");
00037 about.addAuthor( "Hans Karlsson", 0, "karlsson.h@home.se" );
00038 about.addAuthor( "Bosselut Cyril",I18N_NOOP("XMMS Sensor") , "bosselut@b1project.com" );
00039 KCmdLineArgs::init(argc, argv, &about);
00040 KCmdLineArgs::addCmdLineOptions( options );
00041
00042 KApplication app;
00043 karamba *mainWin = 0;
00044
00045 KCmdLineArgs *args = KCmdLineArgs::parsedArgs();
00046
00047 KSimpleConfig conf("karambarc",true);
00048 conf.setGroup("karamba");
00049 QString dDir = conf.readEntry("ThemeDir", "/usr/share/apps/karamba/themes/");
00050 QString dTheme = conf.readEntry("DefaultTheme", "");
00051
00052
00053 bool OK = false;
00054 if(args->count() > 0)
00055 {
00056 for (int i = 0; i < (args->count()); i++)
00057 {
00058 if( args->arg(i) != "" )
00059 {
00060 QFileInfo file( args->arg(i) );
00061
00062 if( file.exists() && !file.isDir() )
00063 {
00064
00065 mainWin = new karamba( ( args->arg(i) ) );
00066 mainWin->show();
00067 OK = true;
00068 }
00069 }
00070 }
00071
00072
00073 int ret = 0;
00074 if( OK )
00075 ret = app.exec();
00076 return ret;
00077 }
00078 else if(dTheme != ""){
00079 QUrl url(dTheme);
00080 QString dir = url.dirPath ();
00081 QString fn = (dir == ".")?dDir + "/" + dTheme:dTheme;
00082 QFileInfo file( fn );
00083 if( file.exists() && !file.isDir() ){
00084 mainWin = new karamba( fn );
00085 mainWin->show();
00086 OK = true;
00087 }
00088 int ret = 0;
00089 if( OK ){
00090 ret = app.exec();
00091 }
00092 return ret;
00093 }
00094 else
00095 {
00096 QStringList fileNames;
00097 fileNames = KFileDialog::getOpenFileNames(dDir, "*.theme", 0, "Open configurations");
00098 for ( QStringList::Iterator it = fileNames.begin(); it != fileNames.end(); ++it )
00099 {
00100 QFileInfo file( *it );
00101 if( file.exists() && !file.isDir() )
00102 {
00103 mainWin = new karamba( *it );
00104 mainWin->show();
00105 OK = true;
00106 }
00107 }
00108 int ret = 0;
00109 if( OK ){
00110 ret = app.exec();
00111 }
00112 return ret;
00113 }
00114
00115 args->clear();
00116 return 0;
00117
00118
00119
00120 }