dccoptionsplugin.cpp
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #include <qvbox.h>
00012 #include <qdialog.h>
00013
00014 #include <kdebug.h>
00015 #include <klocale.h>
00016 #include <kgenericfactory.h>
00017
00018 #include "dccoptionsplugin.h"
00019
00020 #include "optiontabs.h"
00021
00022 K_EXPORT_COMPONENT_FACTORY( libkdevdccoptions, KGenericFactory<DccOptionsPlugin>( "kdevdccoptions" ) )
00023
00024 DccOptionsPlugin::DccOptionsPlugin(QObject *parent, const char *name, const QStringList)
00025 : KDevCompilerOptions(parent, name)
00026 {
00027 }
00028
00029 DccOptionsPlugin::~DccOptionsPlugin()
00030 {
00031 }
00032
00033 QString DccOptionsPlugin::exec(QWidget *parent, const QString &flags)
00034 {
00035 DccOptionsDialog *dlg = new DccOptionsDialog(parent, "dcc options dialog");
00036 QString newFlags = flags;
00037 dlg->setFlags(flags);
00038 if(dlg->exec() == QDialog::Accepted)
00039 newFlags = dlg->flags();
00040 delete dlg;
00041 return newFlags;
00042 }
00043
00044
00045 DccOptionsDialog::DccOptionsDialog( QWidget * parent, const char * name )
00046 : KDialogBase(Tabbed, i18n("Delphi Compiler Options"), Ok|Cancel, Ok, parent, name, true)
00047 {
00048 QVBox *vbox;
00049
00050 vbox = addVBoxPage(i18n("General"));
00051 general = new GeneralTab(vbox, "general tab");
00052
00053 vbox = addVBoxPage(i18n("Locations I"));
00054 locations = new LocationsTab(vbox, "locations tab");
00055
00056 vbox = addVBoxPage(i18n("Locations II"));
00057 locations2 = new Locations2Tab(vbox, "locations2 tab");
00058
00059 vbox = addVBoxPage(i18n("Code Generation"));
00060 codegen = new CodegenTab(vbox, "codegen tab");
00061
00062 vbox = addVBoxPage(i18n("Debug && Optimization"));
00063 debug_optim = new DebugOptimTab(vbox, "debug and optim tab");
00064
00065 vbox = addVBoxPage(i18n("Linker"));
00066 linker = new LinkerTab(vbox, "linker tab");
00067 }
00068
00069 DccOptionsDialog::~DccOptionsDialog( )
00070 {
00071 }
00072
00073 void DccOptionsDialog::setFlags( const QString & flags )
00074 {
00075 QStringList flaglist = QStringList::split(" ", flags);
00076
00077 general->readFlags(&flaglist);
00078 codegen->readFlags(&flaglist);
00079 debug_optim->readFlags(&flaglist);
00080 locations->readFlags(&flaglist);
00081 locations2->readFlags(&flaglist);
00082 linker->readFlags(&flaglist);
00083
00084 unrecognizedFlags = flaglist;
00085 }
00086
00087 QString DccOptionsDialog::flags( ) const
00088 {
00089 QStringList flaglist;
00090
00091 general->writeFlags(&flaglist);
00092 locations->writeFlags(&flaglist);
00093 locations2->writeFlags(&flaglist);
00094 codegen->writeFlags(&flaglist);
00095 debug_optim->writeFlags(&flaglist);
00096 linker->writeFlags(&flaglist);
00097
00098 QString flags;
00099 QStringList::ConstIterator li;
00100 for (li = flaglist.begin(); li != flaglist.end(); ++li) {
00101 flags += (*li);
00102 flags += " ";
00103 }
00104
00105 for (li = unrecognizedFlags.begin(); li != unrecognizedFlags.end(); ++li) {
00106 flags += (*li);
00107 flags += " ";
00108 }
00109
00110 flags.truncate(flags.length()-1);
00111 return flags;
00112 }
00113
00114 #include "dccoptionsplugin.moc"
This file is part of the documentation for KDevelop Version 3.1.2.