/* standalone.cpp ** ** Copyright (C) 2000,2001 by Bernhard Rosenkraenzer ** */ /* ** This program is free software; you can redistribute it and/or modify ** it under the terms of the GNU General Public License as published by ** the Free Software Foundation; either version 2 of the License, or ** (at your option) any later version. ** ** This program is distributed in the hope that it will be useful, ** but WITHOUT ANY WARRANTY; without even the implied warranty of ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ** GNU General Public License for more details. ** ** You should have received a copy of the GNU General Public License ** along with this program in a file called COPYING; if not, write to ** the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, ** MA 02110-1301, USA. */ /* ** Bug reports and questions can be sent to kde-devel@kde.org */ #include #include #include #include #include #include #include "standalone.moc" Standalone::Standalone(TQWidget *parent, const char *name):TQWidget(parent,name) { m=new MainWidget(this); connect(m, TQT_SIGNAL(configChanged()), TQT_SLOT(configChanged())); actions=new TQHButtonGroup(this); _whatsthis=new TQPushButton(_("&What's This?"), actions); _whatsthis->setAccel(SHIFT+Key_F1); TQWhatsThis::add(_whatsthis, _("The What's This? button is part of this program's help system. Click on the What's This? button then on any widget in the window to get information (like this) on it.")); connect(_whatsthis, TQT_SIGNAL(clicked()), TQT_SLOT(whatsthis())); _help=new TQPushButton(_("&Help"), actions); _help->setAccel(Key_F1); TQWhatsThis::add(_help, _("This button calls up the program's online help system. If it does nothing, no help file has been written (yet); in that case, use the What's This button on the left.")); connect(_help, TQT_SIGNAL(clicked()), this, TQT_SLOT(help())); _deflt=new TQPushButton(_("&Default"), actions); TQWhatsThis::add(_deflt, _("This button resets all parameters to some (hopefully sane) default values.")); connect(_deflt, TQT_SIGNAL(clicked()), this, TQT_SLOT(defaults())); _reset=new TQPushButton(_("&Reset"), actions); TQWhatsThis::add(_reset, _("This button resets all parameters to what they were before you started the program.")); connect(_reset, TQT_SIGNAL(clicked()), this, TQT_SLOT(reset())); _apply=new TQPushButton(_("&Apply"), actions); TQWhatsThis::add(_apply, _("This button saves all your changes without exiting.")); connect(_apply, TQT_SIGNAL(clicked()), this, TQT_SLOT(apply())); _ok=new TQPushButton(_("&OK"), actions); TQWhatsThis::add(_ok, _("This button saves all your changes and exits the program.")); connect(_ok, TQT_SIGNAL(clicked()), this, TQT_SLOT(ok())); _cancel=new TQPushButton(_("&Cancel"), actions); TQWhatsThis::add(_cancel, _("This button exits the program without saving your changes.")); connect(_cancel, TQT_SIGNAL(clicked()), this, TQT_SLOT(cancel())); _apply->setEnabled(false); setMinimumWidth(actions->sizeHint().width()+10); arrangeWidgets(); } void Standalone::arrangeWidgets() { m->setGeometry(SPACE_MARGIN, SPACE_MARGIN, width()-2*SPACE_MARGIN, height()-actions->sizeHint().height()-SPACE_MARGIN-SPACE_INSIDE); actions->setGeometry(SPACE_MARGIN, height()-actions->sizeHint().height()-SPACE_MARGIN, width()-2*SPACE_MARGIN, actions->sizeHint().height()); } void Standalone::resizeEvent(TQResizeEvent *e) { TQWidget::resizeEvent(e); arrangeWidgets(); } void Standalone::whatsthis() { TQWhatsThis::enterWhatsThisMode(); } void Standalone::help() { } void Standalone::defaults() { m->defaults(); } void Standalone::reset() { m->reset(); } void Standalone::apply() { m->save(); } void Standalone::ok() { m->save(); emit done(); } void Standalone::cancel() { emit done(); } void Standalone::configChanged() // SLOT { _apply->setEnabled(true); } int main(int argc, char **argv) { TQApplication a(argc, argv); Standalone *s=new Standalone(0); int ret; a.setStyle(new TQWindowsStyle()); a.setMainWidget(s); TQObject::connect(s, TQT_SIGNAL(done()), &a, TQT_SLOT(quit())); s->show(); ret=a.exec(); delete s; return ret; }