diff options
Diffstat (limited to 'tqtinterface/qt4/tools/qconfig/main.cpp')
-rw-r--r-- | tqtinterface/qt4/tools/qconfig/main.cpp | 734 |
1 files changed, 0 insertions, 734 deletions
diff --git a/tqtinterface/qt4/tools/qconfig/main.cpp b/tqtinterface/qt4/tools/qconfig/main.cpp deleted file mode 100644 index c304f3e..0000000 --- a/tqtinterface/qt4/tools/qconfig/main.cpp +++ /dev/null @@ -1,734 +0,0 @@ -/********************************************************************** -** Copyright (C) 1999-2008 Trolltech ASA. All rights reserved. -** -** This file is part of TQt/Embedded. -** -** This file may be used under the terms of the GNU General -** Public License versions 2.0 or 3.0 as published by the Free -** Software Foundation and appearing in the files LICENSE.GPL2 -** and LICENSE.GPL3 included in the packaging of this file. -** Alternatively you may (at your option) use any later version -** of the GNU General Public License if such license has been -** publicly approved by Trolltech ASA (or its successors, if any) -** and the KDE Free TQt Foundation. -** -** Please review the following information to ensure GNU General -** Public Licensing requirements will be met: -** http://trolltech.com/products/qt/licenses/licensing/opensource/. -** If you are unsure which license is appropriate for your use, please -** review the following information: -** http://trolltech.com/products/qt/licenses/licensing/licensingoverview -** or contact the sales department at sales@trolltech.com. -** -** Licensees holding valid TQt Commercial licenses may use this file in -** accordance with the TQt Commercial License Agreement provided with -** the Software. -** -** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, -** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted -** herein. -** -**********************************************************************/ - -#include "main.h" -#include <tqapplication.h> -#include <tqfile.h> -#include <tqtextstream.h> -#include <tqlistview.h> -#include <tqhbox.h> -#include <tqlabel.h> -#include <tqmessagebox.h> -#include <tqpopupmenu.h> -#include <tqmenubar.h> -#include <tqtoolbutton.h> -#include <tqstatusbar.h> -#include <tqsplitter.h> -#include <tqregexp.h> -#if defined(TQ_OS_WIN32) -#include <direct.h> -#else -#include <unistd.h> -#endif -#include <stdlib.h> - -using namespace Qt; - -/* XPM */ -static const char * const logo_xpm[] = { -/* width height ncolors chars_per_pixel */ -"50 50 17 1", -/* colors */ -" c #000000", -". c #495808", -"X c #2A3304", -"o c #242B04", -"O c #030401", -"+ c #9EC011", -"@ c #93B310", -"# c #748E0C", -"$ c #A2C511", -"% c #8BA90E", -"& c #99BA10", -"* c #060701", -"= c #181D02", -"- c #212804", -"; c #61770A", -": c #0B0D01", -"/ c None", -/* pixels */ -"/$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$/", -"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$", -"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$", -"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$", -"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$", -"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$", -"$$$$$$$$$$$$$$$$$$$$$$$+++$$$$$$$$$$$$$$$$$$$$$$$$", -"$$$$$$$$$$$$$$$$$$$@;.o=::=o.;@$$$$$$$$$$$$$$$$$$$", -"$$$$$$$$$$$$$$$$+#X* **X#+$$$$$$$$$$$$$$$$", -"$$$$$$$$$$$$$$$#oO* O **o#+$$$$$$$$$$$$$$", -"$$$$$$$$$$$$$&.* OO O*.&$$$$$$$$$$$$$", -"$$$$$$$$$$$$@XOO * OO X&$$$$$$$$$$$$", -"$$$$$$$$$$$@XO OO O **:::OOO OOO X@$$$$$$$$$$$", -"$$$$$$$$$$&XO O-;#@++@%.oOO X&$$$$$$$$$$", -"$$$$$$$$$$.O : *-#+$$$$$$$$+#- : O O*.$$$$$$$$$$", -"$$$$$$$$$#*OO O*.&$$$$$$$$$$$$+.OOOO **#$$$$$$$$$", -"$$$$$$$$+-OO O *;$$$$$$$$$$$&$$$$;* o+$$$$$$$$", -"$$$$$$$$#O* O .+$$$$$$$$$$@X;$$$+.O *#$$$$$$$$", -"$$$$$$$$X* -&$$$$$$$$$$@- :;$$$&- OX$$$$$$$$", -"$$$$$$$@*O *O#$$$$$$$$$$@oOO**;$$$# O*%$$$$$$$", -"$$$$$$$; -+$$$$$$$$$@o O OO ;+$$-O *;$$$$$$$", -"$$$$$$$. ;$$$$$$$$$@-OO OO X&$$;O .$$$$$$$", -"$$$$$$$o *#$$$$$$$$@o O O O-@$$$#O *o$$$$$$$", -"$$$$$$+= *@$$$$$$$@o* OO -@$$$$&: =$$$$$$$", -"$$$$$$+: :+$$$$$$@- *-@$$$$$$: :+$$$$$$", -"$$$$$$+: :+$$$$$@o* O *-@$$$$$$: :+$$$$$$", -"$$$$$$$= :@$$$$@o*OOO -@$$$$@: =+$$$$$$", -"$$$$$$$- O%$$$@o* O O O O-@$$$#* OX$$$$$$$", -"$$$$$$$. O *O;$$&o O*O* *O -@$$; O.$$$$$$$", -"$$$$$$$;* Oo+$$;O*O:OO-- Oo@+= *;$$$$$$$", -"$$$$$$$@* O O#$$$;*OOOo@@-O Oo;O* **@$$$$$$$", -"$$$$$$$$X* OOO-+$$$;O o@$$@- O O OX$$$$$$$$", -"$$$$$$$$#* * O.$$$$;X@$$$$@-O O O#$$$$$$$$", -"$$$$$$$$+oO O OO.+$$+&$$$$$$@-O o+$$$$$$$$", -"$$$$$$$$$#* **.&$$$$$$$$$$@o OO:#$$$$$$$$$", -"$$$$$$$$$+. O* O-#+$$$$$$$$+;O OOO:@$$$$$$$$$", -"$$$$$$$$$$&X *O -;#@++@#;=O O -@$$$$$$$$", -"$$$$$$$$$$$&X O O*O::::O OO Oo@$$$$$$$", -"$$$$$$$$$$$$@XOO OO O*X+$$$$$$", -"$$$$$$$$$$$$$&.* ** O :: *:#$$$$$$$", -"$$$$$$$$$$$$$$$#o*OO O Oo#@-OOO=#$$$$$$$$", -"$$$$$$$$$$$$$$$$+#X:* * O**X#+$$@-*:#$$$$$$$$$", -"$$$$$$$$$$$$$$$$$$$%;.o=::=o.#@$$$$$$@X#$$$$$$$$$$", -"$$$$$$$$$$$$$$$$$$$$$$$$+++$$$$$$$$$$$+$$$$$$$$$$$", -"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$", -"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$", -"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$", -"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$", -"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$", -"/$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$/", -}; - - -#define FIXED_LAYOUT - -static const char*back_xpm[]={ -"16 16 5 1", -"# c #000000", -"a c #ffffff", -"c c #808080", -"b c #c0c0c0", -". c None", -"................", -".......#........", -"......##........", -".....#a#........", -"....#aa########.", -"...#aabaaaaaaa#.", -"..#aabbbbbbbbb#.", -"...#abbbbbbbbb#.", -"...c#ab########.", -"....c#a#ccccccc.", -".....c##c.......", -"......c#c.......", -".......cc.......", -"........c.......", -"................", -"......................"}; - -static const char*forward_xpm[]={ -"16 16 5 1", -"# c #000000", -"a c #ffffff", -"c c #808080", -"b c #c0c0c0", -". c None", -"................", -"................", -".........#......", -".........##.....", -".........#a#....", -"..########aa#...", -"..#aaaaaaabaa#..", -"..#bbbbbbbbbaa#.", -"..#bbbbbbbbba#..", -"..########ba#c..", -"..ccccccc#a#c...", -"........c##c....", -"........c#c.....", -"........cc......", -"........c.......", -"................", -"................"}; - -class ChoiceItem : public TQCheckListItem { -public: - TQString id; - ChoiceItem(const TQString& i, TQListViewItem* parent) : - TQCheckListItem(parent, - i.mid(6), // strip "TQT_NO_" as we reverse the logic - CheckBox), - id(i) - { - setOpen(TRUE); - label = text(0); - avl = TRUE; - } - - // We reverse the logic - void setDefined(bool y) { setOn(!y); } - bool isDefined() const { return !isOn(); } - - void setAvailable(bool y) - { - if ( avl != y ) { - avl = y; - tqrepaint(); - } - } - bool isAvailable() const { return avl; } - - virtual void setOn(bool y) - { - TQCheckListItem::setOn(y); - setOpen(y); -/* - for (TQListViewItem* i=firstChild(); i; i = i->nextSibling() ) { - ChoiceItem* ci = (ChoiceItem*)i; // all are ChoiceItem - if ( ci->isSelectable() != y ) { - ci->setSelectable(y); - listView()->repaintItem(ci); - } - } -*/ - } - - void paintBranches( TQPainter * p, const TQColorGroup & cg, - int w, int y, int h) - { - TQListViewItem::paintBranches(p,cg,w,y,h); - } - - void paintCell( TQPainter * p, const TQColorGroup & cg, - int column, int width, int align ) - { - if ( !isSelectable() || !isAvailable() ) { - TQColorGroup c = cg; - c.setColor(TQColorGroup::Text, lightGray); - TQCheckListItem::paintCell(p,c,column,width,align); - } else { - TQCheckListItem::paintCell(p,cg,column,width,align); - } - } - - void setInfo(const TQString& l, const TQString& d) - { - label = l; - doc = d; - setText(0,label); - } - - TQString label; - - TQString info() const - { - return "<h2>"+label+"</h2>"+doc; - } - -private: - TQString doc; - bool avl; -}; - -Main::Main() -{ - setIcon( (const char**)logo_xpm ); -#ifdef FIXED_LAYOUT - TQHBox* horizontal = new TQHBox(this); -#else - TQSplitter* horizontal = new TQSplitter(this); -#endif - - lv = new TQListView(horizontal); - lv->setSorting(-1); - lv->setRootIsDecorated(TRUE); - lv->addColumn("ID"); - - info = new Info(horizontal); - info->setBackgroundMode(TQt::PaletteBase); - info->setMargin(10); - info->setFrameStyle(TQFrame::WinPanel|TQFrame::Sunken); - info->tqsetAlignment(AlignTop); - - connect(info, TQT_SIGNAL(idClicked(const TQString&)), - this, TQT_SLOT(selectId(const TQString&))); - -#ifdef FIXED_LAYOUT - horizontal->setStretchFactor(info,2); -#endif - - connect(lv, TQT_SIGNAL(pressed(TQListViewItem*)), - this, TQT_SLOT(updateAvailability(TQListViewItem*))); - connect(lv, TQT_SIGNAL(selectionChanged(TQListViewItem*)), - this, TQT_SLOT(showInfo(TQListViewItem*))); - - setCentralWidget(horizontal); - - TQToolBar* tb = new TQToolBar( this, "browser controls" ); - tb->setLabel( "Browser Controls" ); - (void)new TQToolButton( TQPixmap(back_xpm), "Back", TQString(), - info, TQT_SLOT(back()), tb, "back" ); - (void)new TQToolButton( TQPixmap(forward_xpm), "Forward", TQString(), - info, TQT_SLOT(forward()), tb, "forward" ); - - TQPopupMenu* file = new TQPopupMenu( menuBar() ); - file->insertItem( "&Open", this, TQT_SLOT(open()), CTRL+Key_O ); - file->insertItem( "&Save", this, TQT_SLOT(save()), CTRL+Key_S ); - file->insertSeparator(); - file->insertItem( "&Test all", this, TQT_SLOT(testAll()), CTRL+Key_T ); - file->insertSeparator(); - file->insertItem( "E&xit", tqApp, TQT_SLOT(quit()), CTRL+Key_Q ); - - menuBar()->insertItem( "&File",file ); - - menuBar()->insertSeparator(); - - TQPopupMenu *help = new TQPopupMenu( menuBar() ); - help->insertItem( "&About", this, TQT_SLOT(about()) ); - help->insertItem( "About &TQt", this, TQT_SLOT(aboutTQt()) ); - - menuBar()->insertItem( "&Help", help ); - - statusBar()->message( "Ready" ); -} - -void Main::open() -{ -} - -void Main::save() -{ -} - -void Main::testAll() -{ - TQString qtdir = getenv("TQTDIR"); - chdir((qtdir+"/src").ascii()); - TQString c; - for (TQStringList::ConstIterator it = choices.begin(); it != choices.end(); ++it) - { - c += "Feature: "; - c += *it; - c += "\n"; - - c += "Section: "; - c += section[*it]; - c += "\n"; - - c += "Requires: "; - c += dependencies[*it].join(" "); - c += "\n"; - - c += "Name: "; - c += label[*it]; - c += "\n"; - - c += "SeeAlso: ???\n"; - - c += "\n"; - } - TQFile f("features.txt"); - f.open(IO_WriteOnly); - f.writeBlock(c.ascii(),c.length()); - f.close(); - // system("./feature_size_calculator"); - -#if 0 - system("mv ../include/qconfig.h ../include/qconfig.h-orig"); - for (TQStringList::ConstIterator it = choices.begin(); it != choices.end(); ++it) - { - TQString choice = *it; - TQFile f("../include/tqconfig.h"); - f.open(IO_WriteOnly); - TQCString s = "#define "; - s += choice.latin1(); - s += "\n"; - f.writeBlock(s,s.length()); - f.close(); - int err = system("make"); - if ( err != 0 ) - break; - } - system("mv ../include/tqconfig.h-orig ../include/qconfig.h"); -#endif -} - - -// ##### should be in TQMap? -template <class K, class D> -TQValueList<K> keys(TQMap<K,D> map) -{ - TQValueList<K> result; - for (TQ_TYPENAME TQMap<K,D>::ConstIterator it = map.begin(); it!=map.end(); ++it) - result.append(it.key()); - return result; -} - -void Main::loadFeatures(const TQString& filename) -{ - TQFile file(filename); - if ( !file.open(IO_ReadOnly) ) { - TQMessageBox::warning(this,"Warning", - "Cannot open file " + filename); - return; - } - TQTextStream s(&file); - TQRegExp qt_no_xxx("TQT_NO_[A-Z_0-9]*"); - TQStringList sections; - -#if 1 - TQString line = s.readLine(); - TQString feature, lab, sec; - TQStringList deps, seealso; - TQMap<TQString,TQStringList> sectioncontents; - while (!s.atEnd()) { - if ( line.length() <= 1 ) { - if ( !feature.isEmpty() ) { - dependencies[feature] = deps; - for (TQStringList::ConstIterator it = deps.begin(); it!=deps.end(); ++it) - rdependencies[*it].append(feature); - label[feature] = lab; - links[feature] = seealso; - section[feature] = sec; - sectioncontents[sec].append(feature); - choices.append(feature); - } else { - qDebug("Unparsed text"); - } - - feature = lab = sec = TQString(); - deps.clear(); seealso.clear(); - line = s.readLine(); - continue; - } - - TQString nextline = s.readLine(); - while ( nextline[0] == ' ' ) { - line += nextline; - nextline = s.readLine(); - } - - int colon = line.find(':'); - if ( colon < 0 ) { - qDebug("Cannot parse: %s",line.ascii()); - } else { - TQString tag = line.left(colon); - TQString value = line.mid(colon+1).stripWhiteSpace(); - if ( tag == "Feature" ) - feature = value; - else if ( tag == "Requires" ) - deps = TQStringList::split(TQChar(' '),value); - else if ( tag == "Name" ) - lab = value; - else if ( tag == "Section" ) - sec = value; - else if ( tag == "SeeAlso" ) - seealso = TQStringList::split(TQChar(' '),value); - } - - line = nextline; - } - sections = keys(sectioncontents); - -#else - TQString sec; - TQString lab; - TQString doc; - bool on = FALSE; - bool docmode = FALSE; - TQStringList deps; - - do { - TQString line = s.readLine(); - line.replace(TQRegExp("# *define"),"#define"); - - TQStringList token = TQStringList::split(TQChar(' '),line); - if ( on ) { - if ( docmode ) { - if ( token[0] == "*/" ) - docmode = FALSE; - else if ( lab.isEmpty() ) - lab = line.stripWhiteSpace(); - else - doc += line.simplifyWhiteSpace() + "\n"; - } else if ( token[0] == "//#define" || token[0] == "#define" ) { - dependencies[token[1]] = deps; - for (TQStringList::ConstIterator it = deps.begin(); it!=deps.end(); ++it) - rdependencies[*it].append(token[1]); - section[token[1]] = sec; - documentation[token[1]] = doc; - label[token[1]] = lab; - choices.append(token[1]); - doc = ""; - lab = ""; - } else if ( token[0] == "/*!" ) { - docmode = TRUE; - } else if ( token[0] == "//" ) { - token.remove(token.begin()); - sec = token.join(" "); - sections.append(sec); - } else if ( token[0] == "#if" ) { - TQ_ASSERT(deps.isEmpty()); - for (int i=1; i<(int)token.count(); i++) { - if ( token[i][0] == 'd' ) { - int index; - int len; - index = qt_no_xxx.match(token[i],0,&len); - if ( index >= 0 ) { - TQString d = token[i].mid(index,len); - deps.append(d); - } - } - } - } else if ( token[0] == "#endif" ) { - deps.clear(); - } else if ( token[0].isEmpty() ) { - } else { - qDebug("Cannot parse: %s",token.join(" ").ascii()); - } - } else if ( token[0] == "#include" ) { - on = TRUE; - } - } while (!s.atEnd()); -#endif - - lv->clear(); - sections.sort(); - // ##### TQListView default sort order is reverse of insertion order - for (TQStringList::Iterator se = sections.fromLast(); se != sections.end(); --se) { - sectionitem[*se] = new TQListViewItem(lv,*se); - } - for (TQStringList::Iterator ch = choices.begin(); ch != choices.end(); ++ch) { - createItem(*ch); - } - -#ifdef FIXED_LAYOUT - lv->setFixedWidth(lv->tqsizeHint().width()); -#endif -} - -void Main::createItem(const TQString& ch) -{ - if ( !item[ch] ) { - TQStringList deps = dependencies[ch]; - TQString sec = section[ch]; - TQListViewItem* parent = 0; - for (TQStringList::Iterator dp = deps.begin(); dp != deps.end(); ++dp) { - TQString dsec = section[*dp]; - if ( dsec.isEmpty() ) - qDebug("No section for %s",(*dp).latin1()); - if ( !parent && dsec == sec ) { - createItem(*dp); - parent = item[*dp]; - } - } - if ( !parent ) - parent = sectionitem[section[ch]]; - ChoiceItem* ci = new ChoiceItem(ch,parent); - item[ch] = ci; - if ( !label[ch].isEmpty() ) - ci->setInfo(label[ch],documentation[ch]); - } -} - -void Main::loadConfig(const TQString& filename) -{ - TQFile file(filename); - if ( !file.open(IO_ReadOnly) ) { - TQMessageBox::warning(this,"Warning", - "Cannot open file " + filename); - return; - } - TQTextStream s(&file); - TQRegExp qt_no_xxx("TQT_NO_[A-Z_0-9]*"); - - for (TQStringList::Iterator ch = choices.begin(); ch != choices.end(); ++ch) { - item[*ch]->setDefined(FALSE); - } - do { - TQString line = s.readLine(); - TQStringList token = TQStringList::split(TQChar(' '),line); - if ( token[0] == "#define" ) { - ChoiceItem* i = item[token[1]]; - if ( i ) - i->setDefined(TRUE); - else - qDebug("The item %s is not used by qfeatures.h", token[1].latin1()); - } - } while (!s.atEnd()); -} - -void Main::updateAvailability(TQListViewItem* i) -{ - if ( !i || !i->parent() ) { - // section. do nothing for now - } else { - ChoiceItem* choice = (ChoiceItem*)i; - TQStringList deps = rdependencies[choice->id]; - for (TQStringList::ConstIterator it = deps.begin(); - it != deps.end(); ++it) - { - ChoiceItem* d = item[*it]; - TQStringList ddeps = dependencies[d->id]; - bool av = TRUE; - for (TQStringList::ConstIterator dit = ddeps.begin(); - av && dit != ddeps.end(); ++dit) - { - ChoiceItem* dd = item[*dit]; - if ( dd ) { - if ( dd->isDefined() || !dd->isAvailable() ) - av = FALSE; - } else - qDebug("%s ???",(*dit).latin1()); - } - if ( d->isAvailable() != av ) { - d->setAvailable(av); - updateAvailability(d); - } - } -qDebug("%s: %d",choice->id.latin1(),choice->isAvailable()); - } -} - -void Main::showInfo(TQListViewItem* i) -{ - if ( !i ) - return; - if ( !i->parent() ) { - // section. do nothing for now - } else { - ChoiceItem* choice = (ChoiceItem*)i; - TQString i = choice->info(); - TQStringList deps = dependencies[choice->id]; - if ( !deps.isEmpty() ) { - i += "<h3>Requires:</h3><ul>"; - for (TQStringList::ConstIterator it = deps.begin(); - it != deps.end(); ++it) - { - ChoiceItem* d = item[*it]; - if ( d ) { - bool got = d->isAvailable() && !d->isDefined(); - i += "<li>"; - if ( !got ) i += "<font color=red>"; - i += "<a href=id://"+d->id+">"+d->label+"</a>"; - if ( !got ) i += "</font>"; - } - } - i += "</ul>"; - } - TQStringList rdeps = rdependencies[choice->id]; - if ( !rdeps.isEmpty() ) { - i += "<h3>Required for:</h3><ul>"; - for (TQStringList::ConstIterator it = rdeps.begin(); - it != rdeps.end(); ++it) - { - ChoiceItem* d = item[*it]; - if ( d ) - i += "<li><a href=id://"+d->id+">"+d->label+"</a>"; - } - i += "</ul>"; - } - info->setText(i); - } -} - -void Main::selectId(const TQString& id) -{ - TQListViewItem* it = item[id]; - if ( it ) { - lv->setSelected(it,TRUE); - lv->ensureItemVisible(it); - } -} - -Info::Info( TQWidget* parent, const char* name ) : - TQTextBrowser(parent, name) -{ -} - -void Info::setSource(const TQString& name) -{ - if ( name.left(5) == "id://" ) { - emit idClicked(name.mid(5,name.length()-6)); // skip trailing "/" too - } else { - TQTextBrowser::setSource(name); - } -} - -void Main::about() -{ - TQMessageBox::about(this, "About qconfig", - "<p><b><font size=+2>TQt/Embedded build configuration</font></b></p>" - "<p></p>" - "<p>Version 1.0</p>" - "<p>Copyright (C) 2001-2008 Trolltech ASA. All rights reserved.</p>" - "<p></p>" - "<p>This program is licensed to you under the terms of the GNU General " - "Public License Version 2 as published by the Free Software Foundation. This " - "gives you legal permission to copy, distribute and/or modify this software " - "under certain conditions. For details, see the file 'LICENSE.GPL' that came with " - "this software distribution. If you did not get the file, send email to " - "info@trolltech.com.</p>\n\n<p>The program is provided AS IS with NO WARRANTY " - "OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS " - "FOR A PARTICULAR PURPOSE.</p>" - ); -} - -void Main::aboutTQt() -{ - TQMessageBox::aboutTQt( this, tr("qconfig") ); -} - -int main(int argc, char** argv) -{ - TQApplication app(argc,argv); - Main m; - TQString qtdir = getenv("TQTDIR"); - TQString qfeatures = qtdir + "/src/tools/qfeatures.txt"; - //TQString qfeatures = qtdir + "/include/tqfeatures.h"; - TQString qconfig = qtdir + "/include/tqconfig.h"; - for (int i=1; i<argc; i++) { - TQString arg = argv[i]; - if ( arg == "-f" && i+i<argc ) { - qfeatures = argv[++i]; - } else { - qconfig = argv[i]; - } - } - m.loadFeatures(qfeatures); - m.loadConfig(qconfig); - m.resize(m.tqsizeHint()+TQSize(500,300)); - app.setMainWidget(&m); - m.show(); - return app.exec(); -} |