startupdata::startupdata ( QWidget* parent, const char* name ) : Inherited( parent, name, 0 ) { QButtonGroup* dlgedit_ButtonGroup_1; dlgedit_ButtonGroup_1 = new("QButtonGroup") QButtonGroup( this, "ButtonGroup_1" ); dlgedit_ButtonGroup_1->setGeometry( 10, 90, 380, 200 ); dlgedit_ButtonGroup_1->setMinimumSize( 10, 10 ); dlgedit_ButtonGroup_1->setMaximumSize( 32767, 32767 ); dlgedit_ButtonGroup_1->setFrameStyle( 49 ); dlgedit_ButtonGroup_1->setTitle( "Notify List" ); dlgedit_ButtonGroup_1->setAlignment( 1 ); QLabel* dlgedit_Label_1; dlgedit_Label_1 = new("QLabel") QLabel( this, "Label_1" ); dlgedit_Label_1->setGeometry( 10, 10, 100, 30 ); dlgedit_Label_1->setMinimumSize( 10, 10 ); dlgedit_Label_1->setMaximumSize( 32767, 32767 ); dlgedit_Label_1->setText( "Nick" ); dlgedit_Label_1->setAlignment( 289 ); dlgedit_Label_1->setMargin( -1 ); QLabel* dlgedit_Label_2; dlgedit_Label_2 = new("QLabel") QLabel( this, "Label_2" ); dlgedit_Label_2->setGeometry( 10, 50, 100, 30 ); dlgedit_Label_2->setMinimumSize( 10, 10 ); dlgedit_Label_2->setMaximumSize( 32767, 32767 ); dlgedit_Label_2->setText( "Real Name" ); dlgedit_Label_2->setAlignment( 289 ); dlgedit_Label_2->setMargin( -1 ); SLE_Nick = new("QLineEdit") QLineEdit( this, "LineEdit_1" ); SLE_Nick->setGeometry( 120, 10, 270, 30 ); SLE_Nick->setMinimumSize( 10, 10 ); SLE_Nick->setMaximumSize( 32767, 32767 ); SLE_Nick->setText( "" ); SLE_Nick->setMaxLength( 32767 ); SLE_Nick->setEchoMode( QLineEdit::Normal ); SLE_Nick->setFrame( TRUE ); SLE_RealName = new("QLineEdit") QLineEdit( this, "LineEdit_2" ); SLE_RealName->setGeometry( 120, 50, 270, 30 ); SLE_RealName->setMinimumSize( 10, 10 ); SLE_RealName->setMaximumSize( 32767, 32767 ); SLE_RealName->setText( "" ); SLE_RealName->setMaxLength( 32767 ); SLE_RealName->setEchoMode( QLineEdit::Normal ); SLE_RealName->setFrame( TRUE ); LB_Nicks = new("QListBox") QListBox( this, "ListBox_1" ); LB_Nicks->setGeometry( 20, 110, 170, 170 ); LB_Nicks->setMinimumSize( 10, 10 ); LB_Nicks->setMaximumSize( 32767, 32767 ); LB_Nicks->setFrameStyle( 51 ); LB_Nicks->setLineWidth( 2 ); LB_Nicks->setMultiSelection( FALSE ); QPushButton* dlgedit_PushButton_1; dlgedit_PushButton_1 = new("QPushButton") QPushButton( this, "PushButton_1" ); dlgedit_PushButton_1->setGeometry( 200, 110, 180, 30 ); dlgedit_PushButton_1->setMinimumSize( 10, 10 ); dlgedit_PushButton_1->setMaximumSize( 32767, 32767 ); connect( dlgedit_PushButton_1, SIGNAL(clicked()), SLOT(nicks_delete()) ); dlgedit_PushButton_1->setText( "&Delete" ); dlgedit_PushButton_1->setAutoRepeat( FALSE ); dlgedit_PushButton_1->setAutoResize( FALSE ); B_AddNicks = new("QPushButton") QPushButton( this, "PushButton_2" ); B_AddNicks->setGeometry( 200, 150, 180, 30 ); B_AddNicks->setMinimumSize( 10, 10 ); B_AddNicks->setMaximumSize( 32767, 32767 ); connect( B_AddNicks, SIGNAL(clicked()), SLOT(nicks_add()) ); B_AddNicks->setText( "&Add" ); B_AddNicks->setAutoRepeat( FALSE ); B_AddNicks->setAutoResize( FALSE ); SLE_Nicks = new("QLineEdit") QLineEdit( this, "LineEdit_3" ); SLE_Nicks->setGeometry( 200, 190, 180, 30 ); SLE_Nicks->setMinimumSize( 10, 10 ); SLE_Nicks->setMaximumSize( 32767, 32767 ); connect( SLE_Nicks, SIGNAL(textChanged(const char*)), SLOT(sle_add_update(const char*)) ); SLE_Nicks->setText( "" ); SLE_Nicks->setMaxLength( 32767 ); SLE_Nicks->setEchoMode( QLineEdit::Normal ); SLE_Nicks->setFrame( TRUE ); dlgedit_ButtonGroup_1->insert( dlgedit_PushButton_1 ); dlgedit_ButtonGroup_1->insert( B_AddNicks ); resize( 400,300 ); setMinimumSize( 400, 300 ); setMaximumSize( 400, 300 ); }
/******************************************************************** NICKS_ADD Tilføjer en person til nicks arrayen ved at oprette en pointer til en ny dbase_nicks, hvortil informationerne fra data kopieres (der bliver oprettet nye pointere til pointer-elementer). Sørg for at ALLE elementer i data er valid. OBS: Hvis der eksisterer en person med samme navn vil denne blive OVERSKREVET !! nicks_add finder automatisk det sted i arrayen hvor data skal tilføjes så arrayen hele tiden er sorteret alfabetisk efter nick og numeric. Parameter og return: [in] dbase_nicks *data = struct med de data der skal tilføjen [out] long return >= 0 = OK < 0 = Fejl ********************************************************************/ long nicks_add(dbase_nicks *info, char *modes) { long nr, num; if ((nr = nicks_search_nick(info->nick)) < 0) { nr += 1; nr *= -1; nicks = (dbase_nicks **)realloc(nicks, (nicks_count+1) * sizeof(dbase_nicks*)); if (nr < (nicks_count)) memmove(&nicks[nr+1], &nicks[nr], (nicks_count - nr) * sizeof(dbase_nicks*)); nicks[nr] = (dbase_nicks*)malloc(sizeof(dbase_nicks)); } else { nicks_remove(nicks[nr]->numeric); return nicks_add(info, modes); } if ((num = nicks_search_numeric(info->numeric)) < 0) { num += 1; num *= -1; nicks_num = (dbase_nicks**)realloc(nicks_num, (nicks_count+1) * sizeof(dbase_nicks*)); if (num < (nicks_count)) memmove(&nicks_num[num+1], &nicks_num[num], (nicks_count - num) * sizeof(dbase_nicks*)); } else { nicks_remove(nicks_num[num]->numeric); return nicks_add(info, modes); } nicks_count++; nicks_num[num] = nicks[nr]; nicks[nr]->nick = (char *)malloc(sizeof(char)*(strlen(info->nick)+1)); strcpy(nicks[nr]->nick, info->nick); nicks[nr]->numeric = (char *)malloc(sizeof(char)*(strlen(info->numeric)+1)); strcpy(nicks[nr]->numeric, info->numeric); nicks[nr]->username = (char *)malloc(sizeof(char)*(strlen(info->username)+1)); strcpy(nicks[nr]->username, info->username); nicks[nr]->host = (char *)malloc(sizeof(char)*(strlen(info->host)+1)); strcpy(nicks[nr]->host, info->host); nicks[nr]->userinfo = (char *)malloc(sizeof(char)*(strlen(info->userinfo)+1)); strcpy(nicks[nr]->userinfo, info->userinfo); nicks[nr]->away = NULL; nicks[nr]->channels = (dbase_channels_nicks **)calloc(0, sizeof(dbase_channels_nicks*)); nicks[nr]->IP = info->IP; nicks[nr]->timestamp = info->timestamp; nicks[nr]->hopcount = info->hopcount; nicks[nr]->channels_count = 0; nicks[nr]->modes = 0; nicks[nr]->nickserv = NULL; nicks[nr]->ignored = 0; nicks[nr]->ignore_lines = 0; nicks[nr]->ignore_ts[0] = 0; nicks[nr]->ignore_ts[1] = 0; nicks_setmode(nicks[nr]->numeric, modes); return num; }