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

Class Index

kscd'CDDBSetup (./kdemultimedia/kscd/CDDBSetup.h:12)

class CDDBSetup : public CDDBSetupData
{
    Q_OBJECT

public:

    CDDBSetup
    (
        QWidget* parent = NULL,
        const char* name = NULL
    );

    virtual ~CDDBSetup();

public slots:
    void serverlist_update();

    void getData(QStrList& _serverlist,
                 QStrList& _submitlist,
                 QString& _basedir,
                 QString& _submitaddress,
                 QString& _current_server,
                 bool& _remote_enabled,
                 unsigned short int &cddb_timeout,
                 bool&    http_proxy_enabled,
                 QString  &http_proxy_host,
                 unsigned short int &http_proxy_port
                );

    void insertData(const QStrList& _serverlist,
                    const QStrList& _submitlist,
		    const QString& _basedir,
                    const QString& _submitaddress,
                    const QString& _current_server,
                    const bool&    _remote_enabled,
                    const unsigned short int &cddb_timeout,
                    const bool&    http_proxy_enabled,
                    const QString  &http_proxy_host,
                    const unsigned short int &http_proxy_port
                   );

protected slots:
   void help();
   void enable_remote_cddb(bool en);
   void basedir_changed(const QString &str);
   void set_current_server(int i);
   void set_current_submission_address(int i);
   void set_defaults();
   virtual void http_access_toggled(bool);
   void insertSL();
   void removeSL();
   void insertSUL();
   void removeSUL();

signals:
   void updateCDDBServers();
   void updateCurrentServer();

public:
   void insertServerList(const QStrList& list);
   void getCurrentServer(QString& ser);

private:

   QString basedirstring;
   QString submitaddressstring;
   QString current_server_string;
   QStrList submitlist;
};

kscd'CDDBSetup::CDDBSetup() (./kdemultimedia/kscd/CDDBSetup.cpp:19)

CDDBSetup::CDDBSetup
(
    QWidget* parent,
    const char* name
)
    :
    Inherited( parent, name )
{


    QString temp;
    QString basedirdefault;


    basedir_edit->setText(temp);
    connect(basedir_edit,SIGNAL(textChanged(const QString &)),
            this,SLOT(basedir_changed(const QString &)));

    connect(update_button,SIGNAL(clicked()),
            this,SLOT(serverlist_update()));

    connect(defaults_button,SIGNAL(clicked()),
            this,SLOT(set_defaults()));

    connect(help_button,SIGNAL(clicked()),
            this,SLOT(help()));

    connect(server_listbox, SIGNAL(highlighted(int)), this,
            SLOT(set_current_server(int)));
    
    connect(submission_listbox,SIGNAL(highlighted(int)),
            this,SLOT(set_current_submission_address(int)));

    connect(remote_cddb_cb,SIGNAL(toggled(bool)),
            this,SLOT(enable_remote_cddb(bool)));

    cddb_timeout_ef->setEnabled(remote_cddb_cb->isChecked());

    connect(currentServerAddPB, SIGNAL(clicked()), this, SLOT(insertSL()));
    connect(currentServerDelPB, SIGNAL(clicked()), this, SLOT(removeSL()));

    connect(currentSubmitAddPB, SIGNAL(clicked()), this, SLOT(insertSUL()));
    connect(currentSubmitDelPB, SIGNAL(clicked()), this, SLOT(removeSUL()));

    QIntValidator *port_validator=new QIntValidator(this,"HTTP Port Validator");
    port_validator->setRange(0, INT_MAX );  
    proxy_port_ef->setValidator(port_validator); 

    proxy_port_ef->setEnabled(cddb_http_cb->isChecked());
    proxy_host_ef->setEnabled(cddb_http_cb->isChecked());
} // CDDBSetup


kscd'CDDBSetup::~CDDBSetup() (./kdemultimedia/kscd/CDDBSetup.cpp:71)

CDDBSetup::~CDDBSetup()
{
} // ~CDDBSetup

void 

kscd'CDDBSetup::insertSL() (./kdemultimedia/kscd/CDDBSetup.cpp:76)

CDDBSetup::insertSL(void)
{
    uint i;

    current_server_string = currentServerLE->text();
    for(i = 0; i < server_listbox->count(); i++)
      {
        if(current_server_string == server_listbox->text(i))
	  {
            server_listbox->setCurrentItem(i);
            server_listbox->centerCurrentItem();
            return;
	  }
      }
    server_listbox->insertItem(current_server_string);
    server_listbox->setCurrentItem(server_listbox->count()-1);
    server_listbox->centerCurrentItem();
} // insertSL

void 

kscd'CDDBSetup::removeSL() (./kdemultimedia/kscd/CDDBSetup.cpp:96)

CDDBSetup::removeSL(void)
{
    int it = server_listbox->currentItem();
    if(it == -1)
        return;
    server_listbox->removeItem(it);
} // removeSL

void 

kscd'CDDBSetup::insertSUL() (./kdemultimedia/kscd/CDDBSetup.cpp:105)

CDDBSetup::insertSUL(void)
{
    uint i;

    submitaddressstring = currentSubmitLE->text();
    for(i = 0; i < submission_listbox->count(); i++)
      {
        if(submitaddressstring == submission_listbox->text(i))
	  {
	    submission_listbox->setCurrentItem(i);
            submission_listbox->centerCurrentItem();
            return;
	  }
      }
    submission_listbox->insertItem(submitaddressstring);
    submission_listbox->setCurrentItem(submission_listbox->count()-1);
    submission_listbox->centerCurrentItem();
} // insertSUL

void 

kscd'CDDBSetup::removeSUL() (./kdemultimedia/kscd/CDDBSetup.cpp:125)

CDDBSetup::removeSUL(void)
{
    int it = submission_listbox->currentItem();
    if(it == -1)
        return;
    submission_listbox->removeItem(it);
} // removeSUL


void 

kscd'CDDBSetup::set_current_server() (./kdemultimedia/kscd/CDDBSetup.cpp:135)

CDDBSetup::set_current_server(int i)
{
    current_server_string = server_listbox->text(i);
    currentServerLE->setText(current_server_string);
    emit updateCurrentServer();
} // set_current_server

void 

kscd'CDDBSetup::set_current_submission_address() (./kdemultimedia/kscd/CDDBSetup.cpp:143)

CDDBSetup::set_current_submission_address(int i)
{
    submitaddressstring = submission_listbox->text(i);
    currentSubmitLE->setText(submitaddressstring);
} // set_current_submission_address

void 

kscd'CDDBSetup::basedir_changed() (./kdemultimedia/kscd/CDDBSetup.cpp:150)

CDDBSetup::basedir_changed(const QString &str)
{
    basedirstring = str;
} // basedir_changed

void 

kscd'CDDBSetup::enable_remote_cddb() (./kdemultimedia/kscd/CDDBSetup.cpp:156)

CDDBSetup::enable_remote_cddb(bool state)
{
     cddb_timeout_ef->setEnabled(state);
} // enable_remote_cddb

void 

kscd'CDDBSetup::help() (./kdemultimedia/kscd/CDDBSetup.cpp:162)

CDDBSetup::help()
{
    kapp->invokeHTMLHelp("kscd/kscd.html","");
} // help

void 

kscd'CDDBSetup::insertData() (./kdemultimedia/kscd/CDDBSetup.cpp:168)

CDDBSetup::insertData(const QStrList& _serverlist,
		      const QStrList& _submitlist,
		      const QString& _basedir,
		      const QString& _submitaddress,
		      const QString& _current_server,
		      const bool&    remote_enabled,
		      const unsigned short int& cddb_timeout,
		      const bool&    http_proxy_enabled,
		      const QString& http_proxy_host,
		      const unsigned short int& http_proxy_port)
{

    current_server_string = _current_server.copy();
    currentServerLE->setText(current_server_string);

    submitaddressstring = _submitaddress.copy();
    currentSubmitLE->setText(submitaddressstring);

    submitlist.clear();
    for(uint i = 0; i < _submitlist.count(); i++)
      {
        submitlist.append(QStrList(_submitlist).at(i));
      }
    
    insertServerList(_serverlist);
//    server_listbox->setCurrentItem(_serverlist.find(_current_server.data()));
//    server_listbox->find(_current_server.data());
//    server_listbox->centerCurrentItem();

    debug("check point: server_listbox->centerCurrentItem()\n");
    
    basedirstring = _basedir.copy();
    basedir_edit->setText(basedirstring);
    
    remote_cddb_cb->setChecked(remote_enabled);

    char timeout_str[40];
    sprintf(timeout_str,"%d",cddb_timeout);
    cddb_timeout_ef->setText(timeout_str);

    cddb_http_cb->setChecked(http_proxy_enabled);
    proxy_host_ef->setText(http_proxy_host);
    char port_str[40];
    sprintf(port_str,"%d",http_proxy_port);
    proxy_port_ef->setText(port_str);
    debug("check point: ::insertData{...;return;}\n");
} // insertData

void 

kscd'CDDBSetup::set_defaults() (./kdemultimedia/kscd/CDDBSetup.cpp:217)

CDDBSetup::set_defaults()
{
    server_listbox->setAutoUpdate(false);
    server_listbox->clear();
    server_listbox->insertItem(DEFAULT_CDDB_SERVER, -1);
    // We should provide at least one entry
    // with HTTP protocol so people behind firewals can get servers list
    server_listbox->insertItem(DEFAULT_CDDBHTTP_SERVER, -1); 
    server_listbox->setAutoUpdate(true);
    server_listbox->repaint();
    server_listbox->setCurrentItem(0);

    basedirstring = KGlobal::dirs()->resourceDirs("cddb").last();
    basedir_edit->setText(basedirstring);

    submission_listbox->setAutoUpdate(false);
    submission_listbox->clear();
    submission_listbox->insertItem(DEFAULT_SUBMIT_EMAIL,-1);
    submission_listbox->insertItem(DEFAULT_TEST_EMAIL, -1);
    submission_listbox->setAutoUpdate(true);
    submission_listbox->repaint();
    submission_listbox->setCurrentItem(0);

    remote_cddb_cb->setChecked(true);
    cddb_http_cb->setChecked(false);
    // Leave proxy host and port values unchanged, just disable them

    emit updateCurrentServer();
} // set_defaults

void 

kscd'CDDBSetup::getData() (./kdemultimedia/kscd/CDDBSetup.cpp:248)

CDDBSetup::getData(QStrList& _serverlist,
		   QStrList& _submitlist,
		   QString& _basedir,
		   QString& _submitaddress, 
		   QString& _current_server,
		   bool&    remote_enabled,
		   unsigned short int &cddb_timeout,
		   bool&    http_proxy_enabled,
		   QString  &http_proxy_host,
		   unsigned short int &http_proxy_port)
{
    uint i;

    _serverlist.clear();
    _submitlist.clear();
    for(i = 0; i < server_listbox->count();i++)
      {
        _serverlist.append(server_listbox->text(i).ascii());
      }
    for(i = 0; i < submission_listbox->count(); i++)
      {
        _submitlist.append(submission_listbox->text(i).ascii());
      }
    _basedir = basedirstring.copy();
    _submitaddress = submitaddressstring.copy();

    _current_server     = current_server_string.copy();
    remote_enabled      = remote_cddb_cb->isChecked();
    cddb_timeout        = atoi(cddb_timeout_ef->text().ascii());
    http_proxy_enabled  = cddb_http_cb->isChecked();
    http_proxy_host     = proxy_host_ef->text();
    http_proxy_port     = atoi(proxy_port_ef->text().ascii());
} // getData

void 

kscd'CDDBSetup::getCurrentServer() (./kdemultimedia/kscd/CDDBSetup.cpp:283)

CDDBSetup::getCurrentServer(QString& ser)
{
    ser = current_server_string.copy();
} // getCurrentServer

void 

kscd'CDDBSetup::serverlist_update() (./kdemultimedia/kscd/CDDBSetup.cpp:289)

CDDBSetup::serverlist_update()
{
    emit updateCDDBServers();
} // serverlist_update

void 

kscd'CDDBSetup::insertServerList() (./kdemultimedia/kscd/CDDBSetup.cpp:295)

CDDBSetup::insertServerList(const QStrList& list)
{
    QString current_server_string_backup;
    uint i;

    current_server_string_backup = current_server_string.copy();
    server_listbox->setAutoUpdate(false);
    server_listbox->clear();
    submission_listbox->setAutoUpdate(false);
    submission_listbox->clear();

    bool have_email = false;
    bool have_srv   = false;

    QListIterator<char> it(list);

    for(;it.current();++it)
      {
        char ser   [CDDB_FIELD_BUFFER_LEN];
        char por   [CDDB_FIELD_BUFFER_LEN];
        char proto [CDDB_FIELD_BUFFER_LEN];
        char extra [CDDB_FIELD_BUFFER_LEN];
        char email [CDDB_FIELD_BUFFER_LEN];
        
        const char* srv=it.current();
        sscanf(srv,"%s %s %s %s",ser,proto,por,extra);
        CDDB::transport t=CDDB::decodeTransport(proto);
        if(t==CDDB::UNKNOWN)
	  {
            continue;
	  } else {
            if(t==CDDB::SMTP)
	      {
                sprintf(email,"%s@%s",extra,ser);
                have_email=true;
                submission_listbox->insertItem(email, -1);
	      } else {
                have_srv=true;
                server_listbox->insertItem(srv, -1);
	      }
	  }
      }
    
    if(!have_srv)
      {
        server_listbox->insertItem(DEFAULT_CDDB_SERVER, -1);
        server_listbox->insertItem(DEFAULT_CDDBHTTP_SERVER, -1); 
      }
    
    if(!have_email)
      {
	for(i = 0; i < submitlist.count(); i++)
	  {
	    submission_listbox->insertItem(submitlist.at(i));
	  }
//        submission_listbox->insertItem(DEFAULT_SUBMIT_EMAIL,-1);
//        submission_listbox->insertItem(DEFAULT_TEST_EMAIL, -1);
      }
   
    server_listbox->setAutoUpdate(true);
    server_listbox->repaint();
    submission_listbox->setAutoUpdate(true);
    submission_listbox->repaint();

    bool found = 0;

    current_server_string = current_server_string_backup.copy();
    //current_server_string = currentServerLE->text();
    debug("current_server_string: %s\n", current_server_string.data());
    for(i = 0; i < server_listbox->count(); i++)
      {
        if(current_server_string == server_listbox->text(i))
	  {
            server_listbox->setCurrentItem(i);
            server_listbox->centerCurrentItem();
            found = 1;
            break;
	  }
      }

    if(!found)
      {
        server_listbox->setCurrentItem(0);
        server_listbox->centerCurrentItem();
      }

//    submitaddressstring = currentSubmitLE->text();
    for(i = 0; i < submission_listbox->count(); i++)
      {
        if(submitaddressstring == submission_listbox->text(i))
	  {
            submission_listbox->setCurrentItem(i);
            submission_listbox->centerCurrentItem();
            found = 1;
            break;
	  }
      }
    if(!found)
      {
        submission_listbox->setCurrentItem(0);
        submission_listbox->centerCurrentItem();
      }
//    server_listbox->setCurrentItem(0);
//    submission_listbox->setCurrentItem(0);
} // insertServerList

void 

kscd'CDDBSetup::http_access_toggled() (./kdemultimedia/kscd/CDDBSetup.cpp:402)

CDDBSetup::http_access_toggled(bool state)
{
    proxy_port_ef->setEnabled(state);
    proxy_host_ef->setEnabled(state);
} // http_access_toggled