Source Code (Use browser search to find items of interest.)

Class Index

kmidi'ConfigDlg (./kdemultimedia/kmidi/configdlg.h:62)

class ConfigDlg : public QDialog
{
    Q_OBJECT
public:

    ConfigDlg( QWidget *parent=0, struct configstruct * data=0, const char *name=0 );
   ~ConfigDlg() {}

    struct configstruct * getData();

//    KHelpMenu *helpmenu;

protected:
    void resizeEvent(QResizeEvent *);
    KTabCtl *test;
    KAboutWidget *about;
    KAboutWidget *patches;
    QWidget *pages[3];
    KIntNumInput *meg;
    QWhatsThis *what;

public slots:
    void tabChanged(int);

protected slots:
  void sendEmailSlot(const QString& , const QString& );
  void openURLSlot(const QString& );
  void cancelbutton();
  void okbutton();
  void set_led_color( const QColor & );
  void set_background_color( const QColor & );
  void help();
  void ttclicked();
  void megChanged( int );

public:
  QSize configsize, aboutsize, patchessize;

private:

  struct configstruct configdata;
  QGroupBox *box;

  KButtonBox *bbox;
  QVBoxLayout *tl;
  QPushButton *ok;
  QPushButton *cancel;
  QPushButton *helpbutton;

  QLabel *label1;
  KColorButton *button1;

  QLabel *label2;
  KColorButton *button2;

  QLabel *tooltipslabel;
  QCheckBox *ttcheckbox;
 
};

kmidi'ConfigDlg::ConfigDlg() (./kdemultimedia/kmidi/configdlg.cpp:57)

ConfigDlg::ConfigDlg(QWidget *parent, struct configstruct *data, const char *name)
    : QDialog(parent, name, TRUE)
{
    setCaption("kmidi configuration");
    setMinimumSize(300, 200);

  configdata.background_color = black;
  configdata.led_color = green;
  configdata.tooltips = true;
  configdata.max_patch_megs = 60;

  if(data){
    configdata.background_color = data->background_color;
    configdata.led_color = data->led_color;
    configdata.tooltips = data->tooltips;
    configdata.max_patch_megs = data->max_patch_megs;
  }


    /*
     * add a tabctrl widget
     */

    test = new KTabCtl(this, "test");
    connect(test, SIGNAL(tabSelected(int)), this, SLOT(tabChanged(int)));


    tl = new QVBoxLayout(this, 5);
    bbox = new KButtonBox(this);
    ok = bbox->addButton("OK");
    ok->setDefault(TRUE);
    cancel = bbox->addButton("Cancel");
    cancel->setDefault(TRUE);

    connect(ok, SIGNAL(clicked()), this, SLOT(accept()));
    connect(cancel, SIGNAL(clicked()), this, SLOT(reject()));
    bbox->addStretch(1);
    helpbutton = bbox->addButton("Help");
    connect(helpbutton, SIGNAL(clicked()), this, SLOT(help()));
    QPixmap p( whatsthis_image );
    helpbutton->setPixmap( p );

    //helpmenu = new KHelpMenu(this, "kmidi plays midi files");
    what = new QWhatsThis(this);

// Page 1
    QWidget *w = new QWidget(test, "_page1");

    //box = new QGroupBox(w, "box");
    //box->setGeometry(10,10,320,260);
    configsize = QSize( 320+20, 260+80 );

    QString str = i18n("The led color is used in<br>\nthe panel and meter.");
    label1 = new QLabel(w);
    label1->setGeometry(60,25,135,25);
    label1->setText(i18n("LED Color:"));
    what->add(label1, str);

    button1 = new KColorButton(configdata.led_color, w);
    button1->setGeometry(205,25,100,45);
    connect(button1,SIGNAL(changed( const QColor & )),this,SLOT(set_led_color( const QColor & )));
    what->add(button1, str);

    str = i18n("This color is for<br>\nthe panel and meter backgrounds.");
    label2 = new QLabel(w);
    label2->setGeometry(60,85,135,25);
    label2->setText(i18n("Background Color:"));
    what->add(label2, str);

    button2 = new KColorButton(configdata.background_color, w);
    button2->setGeometry(205,85,100,45);
    connect(button2,SIGNAL(changed( const QColor & )),this,SLOT(set_background_color( const QColor & )));
    what->add(button2, str);

    ttcheckbox = new QCheckBox(i18n("Show Tool Tips"), w, "tooltipscheckbox");
    ttcheckbox->setGeometry(30,150,135,25);
    ttcheckbox->setFixedSize( ttcheckbox->sizeHint() );
    ttcheckbox->setChecked(configdata.tooltips);
    connect(ttcheckbox,SIGNAL(clicked()),this,SLOT(ttclicked()));
    what->add(ttcheckbox, i18n("Provide brief descriptions<br>\n"
			       "when cursor is left over a<br>\n"
			       "object on the screen"));

    meg = new KIntNumInput(configdata.max_patch_megs, w, 10, "hex_with_slider" );
    meg->setRange(0, 255);
    meg->setLabel("Limit megabytes of patch memory");
    //meg = new KIntNumInput("Limit megabytes of patch memory",
    //                      0, 255, 1, configdata.max_patch_megs, "megs", 10, true, w, "hex_with_slider");
    meg->setSpecialValueText("no limit");
    meg->move(30, 200);
    connect(meg,SIGNAL(valueChanged(int)),this,SLOT(megChanged(int)));
    what->add(meg, i18n("Try to stop KMidi from<br>\nusing up too much of your ram."));

    w->resize(320, 260);
    test->addTab(w, "Configure");
    pages[0] = w;

// Page 2
    w = new QWidget(test, "_page2");
    about = new KAboutWidget(w, "_about");
    QPixmap pm = UserIcon("kmidilogo");
    about->setLogo(pm);
    about->setCaption(i18n("About KMidi"));
    about->setVersion(i18n(KMIDIVERSION));
    about->setAuthor
    ("Bernd Johannes Wuebben", "wuebben@kde.org", QString::null, i18n("Initial developer."));
    // ----- set the application maintainer:
    about->setMaintainer("Greg Lee", // name
		      "lee@hawaii.edu", // email address
		      QString::null, // URL
		      i18n("lyrics, IW patches, current maintainer.")); // description
    // ----- add some contributors:
    about->addContributor("Tuukka Toivonen",
		       "toivonen@clinet.fi",
		       "http://www.cgs.fi/~tt/discontinued.html",
		       i18n("TiMidity sound, patch loader, interface design, ..."));
    about->addContributor("Takashi Iwai", "iwai@dragon.mm.t.u-tokyo.ac.jp",
			"http://bahamut.mm.t.u-tokyo.ac.jp/~iwai/midi.html",
		       i18n("soundfonts, window communication"));
    about->addContributor("Nicolas Witczak", "witczak@geocities.fr",
			"http://www.geocities.com/SiliconValley/Lab/6307/",
		       i18n("effects: reverb, chorus, phaser, celeste"));
    about->addContributor("Masanao Izumo", "mo@goice.co.jp",
			"http://www.goice.co.jp/member/mo/timidity.html",
		       i18n("mod wheel, portamento ..."));
    about->addContributor("see the timidity.1 man page", "for authors of",
			"", 
		       i18n("drivers, interfaces, configure scripts"));

    connect(about, SIGNAL( sendEmail(const QString& , const QString& ) ),
	this, SLOT ( sendEmailSlot(const QString& , const QString& ) ) );
    connect(about, SIGNAL( openURL(const QString& ) ),
	this, SLOT ( openURLSlot(const QString& ) ) );

    // ----- contents of the dialog have changed, adapt sizes:
    about->adjust();
    aboutsize = QSize( about->width() + 30, about->height() + 80 );
    w->resize(width(), height());
    test->addTab(w, "About");
    pages[1] = w;


// Page 3
    w = new QWidget(test, "_page3");
    patches = new KAboutWidget(w, "_patches");
    QPixmap km = BarIcon("kmidi");
    patches->setLogo(km);
    //patches->setCaption(i18n("Patchsets"));
    patches->setVersion(i18n("Where to get sets of patches."));
    patches->setAuthor("Thomas Hammer", QString::null,
	"http://metalab.unc.edu/thammer/HammerSound/",
	i18n("links to many sf2 soundfonts"));
    patches->setMaintainer("Eric A. Welsh",
	"mailto:ewelsh@gpc.ibc.wustl.edu",
	"http://www.stardate.bc.ca/gus_patches.htm",
	i18n("GUS patches -- unrar needed to decompress."));
    patches->addContributor("Chaos", "mailto:chaos@soback.kornet.nm.kr",
		"http://taeback.kornet.nm.kr/~chaos/soundfont/",
		"A very moderately sized soundfont (12 megs).");
    patches->addContributor("Personal Copy v4.0.0", QString::null,
		"http://www.personalcopy.com/sfarkfonts.htm",
		"A very good large soundfont (38 megs).");
    patches->addContributor("Msdos sfark decompressor.", QString::null,
		"http://www.melodymachine.com/",
		i18n("You may need this msdos-only tool."));

    connect(patches, SIGNAL( sendEmail(const QString& , const QString& ) ),
	this, SLOT ( sendEmailSlot(const QString& , const QString& ) ) );
    connect(patches, SIGNAL( openURL(const QString& ) ),
	this, SLOT ( openURLSlot(const QString& ) ) );

    patches->adjust();
    patchessize = QSize( patches->width() + 30, patches->height() + 80 );
    w->resize(width(), height());
    test->addTab(w, "Patchsets");
    pages[2] = w;

//------------------------
    test->resize(configsize);
    test->move(0, 0);
    tl->addWidget(test,1);
    bbox->layout();
    tl->addWidget(bbox,0);
    tl->activate();

    move(20, 20);
    resize(400, 500);
    adjustSize();
}


kmidi'ConfigDlg::sendEmailSlot() (./kdemultimedia/kmidi/configdlg.cpp:247)

void ConfigDlg::sendEmailSlot(const QString& , const QString& email)
{
  thisapp->invokeMailer( email, QString::null );
}


kmidi'ConfigDlg::openURLSlot() (./kdemultimedia/kmidi/configdlg.cpp:252)

void ConfigDlg::openURLSlot(const QString& url)
{
  thisapp->invokeBrowser( url );
}


kmidi'ConfigDlg::resizeEvent() (./kdemultimedia/kmidi/configdlg.cpp:257)

void ConfigDlg::resizeEvent( QResizeEvent * )
{
    test->resize(width(), height());
    about->setGeometry(10, 10, pages[1]->width() - 20, pages[1]->height() - 20);
}


kmidi'ConfigDlg::tabChanged() (./kdemultimedia/kmidi/configdlg.cpp:263)

void ConfigDlg::tabChanged(int newpage)
{
    //printf("tab number %d selected\n", newpage);
    //if(newpage == 1)
    //    e->setFocus();
    if (newpage == 1) resize(aboutsize);
    else if (newpage == 2) resize(patchessize);
    else resize(configsize);
}



kmidi'ConfigDlg::okbutton() (./kdemultimedia/kmidi/configdlg.cpp:274)

void ConfigDlg::okbutton() {
//    hide();
}


kmidi'ConfigDlg::ttclicked() (./kdemultimedia/kmidi/configdlg.cpp:278)

void ConfigDlg::ttclicked(){

  if(ttcheckbox->isChecked())
    configdata.tooltips = TRUE;
  else
    configdata.tooltips = FALSE;

}

kmidi'ConfigDlg::help() (./kdemultimedia/kmidi/configdlg.cpp:286)

void ConfigDlg::help(){

//  if(thisapp)
//    thisapp->invokeHTMLHelp("","");

//the damn thing won't go away
//   (helpmenu->menu())->move( QCursor::pos() );
//   (helpmenu->menu())->show();
//    helpmenu->aboutApp();
    QWhatsThis::enterWhatsThisMode();
}


kmidi'ConfigDlg::cancelbutton() (./kdemultimedia/kmidi/configdlg.cpp:298)

void ConfigDlg::cancelbutton() {
//  reject();
}


kmidi'ConfigDlg::set_led_color() (./kdemultimedia/kmidi/configdlg.cpp:302)

void ConfigDlg::set_led_color( const QColor &newColor ) {

  //KColorDialog::getColor(configdata.led_color);
  configdata.led_color = newColor;
  //qframe1->setBackgroundColor(configdata.led_color);


}


kmidi'ConfigDlg::set_background_color() (./kdemultimedia/kmidi/configdlg.cpp:311)

void ConfigDlg::set_background_color( const QColor &newColor ) {

  //KColorDialog::getColor(configdata.background_color);
  configdata.background_color = newColor;
  //qframe2->setBackgroundColor(configdata.background_color);

}


kmidi'ConfigDlg::megChanged() (./kdemultimedia/kmidi/configdlg.cpp:319)

void ConfigDlg::megChanged( int newMegs ) {
  configdata.max_patch_megs = newMegs;
}

struct configstruct * ConfigDlg::getData(){

  return &configdata;

}