Example #1
0
PrivacyDlg::PrivacyDlg(JabberAccount* acc, QWidget* parent) : KDialog(parent), acc_(acc)
{
	QWidget * w = new QWidget (this);
	ui_.setupUi(w);
	setMainWidget (w);
	setAttribute(Qt::WA_DeleteOnClose);
	setCaption(i18n("%1: Privacy Lists", (acc->myself()->nickName() ) ) );
	setButtons (KDialog::Close);
	ui_.lv_rules->setFocus (Qt::PopupFocusReason);

	PrivacyManager* manager = acc->client()->privacyManager();
	connect(manager,SIGNAL(listsReceived(QString,QString,QStringList)),SLOT(updateLists(QString,QString,QStringList)));
	connect(manager,SIGNAL(listReceived(PrivacyList)),SLOT(refreshList(PrivacyList)));
	connect(manager,SIGNAL(listError()),SLOT(list_failed()));
	//connect(manager,SIGNAL(listNamesError()),SLOT(listNamesError()));
	//connect(manager,SIGNAL(listReceiveError()),SLOT(listReceiveError()));

	connect(ui_.cb_active,SIGNAL(activated(int)),SLOT(active_selected(int)));
	connect(ui_.cb_default,SIGNAL(activated(int)),SLOT(default_selected(int)));
	connect(ui_.cb_lists,SIGNAL(activated(int)),SLOT(list_selected(int)));
	connect(ui_.cb_lists,SIGNAL(currentIndexChanged(int)),SLOT(list_changed(int)));
	connect(manager,SIGNAL(changeActiveList_success()),SLOT(change_succeeded()));
	connect(manager,SIGNAL(changeActiveList_error()),SLOT(change_failed()));
	connect(manager,SIGNAL(changeDefaultList_success()),SLOT(change_succeeded()));
	connect(manager,SIGNAL(changeDefaultList_error()),SLOT(change_failed()));
	connect(manager,SIGNAL(changeList_success()),SLOT(changeList_succeeded()));
	connect(manager,SIGNAL(changeList_error()),SLOT(changeList_failed()));

	connect(ui_.pb_newList,SIGNAL(clicked()),SLOT(newList()));
	connect(ui_.pb_deleteList,SIGNAL(clicked()),SLOT(removeList()));
	
	connect(ui_.pb_add,SIGNAL(clicked()),SLOT(addRule()));
	connect(ui_.pb_edit,SIGNAL(clicked()),SLOT(editCurrentRule()));
	connect(ui_.pb_remove,SIGNAL(clicked()),SLOT(removeCurrentRule()));
	connect(ui_.pb_up,SIGNAL(clicked()),SLOT(moveCurrentRuleUp()));
	connect(ui_.pb_down,SIGNAL(clicked()),SLOT(moveCurrentRuleDown()));
	connect(ui_.pb_apply,SIGNAL(clicked()),SLOT(applyList()));
	
	ui_.pb_newList->setIcon(KIcon("list-add"));
	ui_.pb_deleteList->setIcon(KIcon("list-remove"));
	ui_.pb_add->setIcon(KIcon("list-add"));
	ui_.pb_remove->setIcon(KIcon("list-remove"));
	ui_.pb_up->setIcon(KIcon("arrow-up"));
	ui_.pb_down->setIcon(KIcon("arrow-down"));
	ui_.pb_edit->setIcon(KIcon("edit-rename"));
	ui_.pb_apply->setIcon(KIcon("dialog-ok-apply"));

	setWidgetsEnabled(false);

	// Disable all buttons
	ui_.pb_deleteList->setEnabled(false);
	setEditRuleEnabled(false);
	ui_.pb_add->setEnabled(false);
	ui_.pb_apply->setEnabled(false);

	// FIXME: Temporarily disabling auto-activate
	ui_.ck_autoActivate->hide();
	
	manager->requestListNames();
}
Example #2
0
PrivacyDlg::PrivacyDlg(const QString& account_name, PrivacyManager* manager, QWidget* parent) : QDialog(parent), manager_(manager)
{
	ui_.setupUi(this);
	setAttribute(Qt::WA_DeleteOnClose);
	setWindowTitle(tr("%1: Privacy Lists").arg(account_name));
	setWindowFlags(Qt::Dialog | Qt::WindowTitleHint | Qt::WindowMinimizeButtonHint | Qt::WindowMaximizeButtonHint | Qt::WindowCloseButtonHint | Qt::CustomizeWindowHint);

	connect(manager_,SIGNAL(listsReceived(const QString&, const QString&, const QStringList&)),SLOT(updateLists(const QString&, const QString&, const QStringList&)));
	connect(manager_,SIGNAL(listReceived(const PrivacyList&)),SLOT(refreshList(const PrivacyList&)));
	connect(manager_,SIGNAL(listError()),SLOT(list_failed()));
	//connect(manager_,SIGNAL(listNamesError()),SLOT(listNamesError()));
	//connect(manager_,SIGNAL(listReceiveError()),SLOT(listReceiveError()));

	connect(ui_.cb_active,SIGNAL(activated(int)),SLOT(active_selected(int)));
	connect(ui_.cb_default,SIGNAL(activated(int)),SLOT(default_selected(int)));
	connect(ui_.cb_lists,SIGNAL(activated(int)),SLOT(list_selected(int)));
	connect(ui_.cb_lists,SIGNAL(currentIndexChanged(int)),SLOT(list_changed(int)));
	connect(manager_,SIGNAL(changeActiveList_success(QString)),SLOT(changeActiveList_succeeded(QString)));
	connect(manager_,SIGNAL(changeActiveList_error()),SLOT(change_failed()));
	connect(manager_,SIGNAL(changeDefaultList_success(QString)),SLOT(changeDefaultList_succeeded(QString)));
	connect(manager_,SIGNAL(changeDefaultList_error()),SLOT(change_failed()));
	connect(manager_,SIGNAL(changeList_success(QString)),SLOT(changeList_succeeded(QString)));
	connect(manager_,SIGNAL(changeList_error()),SLOT(changeList_failed()));

	connect(ui_.pb_newList,SIGNAL(clicked()),SLOT(newList()));
	connect(ui_.pb_deleteList,SIGNAL(clicked()),SLOT(removeList()));
	connect(ui_.pb_renameList,SIGNAL(clicked()),SLOT(renameList()));

	connect(ui_.pb_add,SIGNAL(clicked()),SLOT(addRule()));
	connect(ui_.pb_edit,SIGNAL(clicked()),SLOT(editCurrentRule()));
	connect(ui_.pb_remove,SIGNAL(clicked()),SLOT(removeCurrentRule()));
	connect(ui_.pb_up,SIGNAL(clicked()),SLOT(moveCurrentRuleUp()));
	connect(ui_.pb_down,SIGNAL(clicked()),SLOT(moveCurrentRuleDown()));
	connect(ui_.pb_apply,SIGNAL(clicked()),SLOT(applyList()));

	connect(ui_.buttonBox->button(QDialogButtonBox::Close),SIGNAL(clicked()),SLOT(close()));
	setWidgetsEnabled(false);

	// Disable all buttons
	ui_.pb_deleteList->setEnabled(false);
	setEditRuleEnabled(false);
	ui_.pb_add->setEnabled(false);
	ui_.pb_apply->setEnabled(false);

	// FIXME: Temporarily disabling auto-activate
	ui_.ck_autoActivate->hide();

	manager_->requestListNames();
}
Example #3
0
Listserver::Listserver(QObject *parent) :
	QObject(parent)
{
	connect(this, SIGNAL(config(QString, QVariant)), this->parent(), SIGNAL(config(QString, QVariant)));
	connect(this, SIGNAL(log(QVariant)), this->parent(), SIGNAL(log(QVariant)));

	this->listserverSock = new QTcpSocket(this);
	this->timeout = config("listserver/timeout", 5).toInt();
	this->reconnectDelay = config("listserver/reconnectDelay", 10).toInt();
	this->listPort = config("listserver/port", 10054).toInt();
	this->listservers = config("listserver/hosts", QString("list.jazzjackrabbit.com,list1.digiex.net,list2.digiex.net").split(",")).toStringList();
	this->currentServer = 0;
	this->isListed = config("listserver/list", true).toBool();
	this->instantReconnect = false;
	this->unexpectedDisconnect = true;

	connect(this->listserverSock, SIGNAL(connected()), this, SLOT(listConnected()));
	connect(this->listserverSock, SIGNAL(readyRead()), this, SLOT(listProcessPackets()));
	connect(this->listserverSock, SIGNAL(disconnected()), this, SLOT(listDisconnected()));
	connect(this->listserverSock, SIGNAL(stateChanged(QAbstractSocket::SocketState)), this, SLOT(listError()));

	this->timeoutTimer = new QTimer(this);
	this->timeoutTimer->setInterval(this->timeout*1000);
	this->timeoutTimer->setSingleShot(true);
	connect(this->timeoutTimer, SIGNAL(timeout()), this, SLOT(listTimeout()));

	this->reconnectTimer = new QTimer(this);
	this->reconnectTimer->setInterval(this->reconnectDelay*1000);
	this->reconnectTimer->setSingleShot(true);
	connect(this->reconnectTimer, SIGNAL(timeout()), this, SLOT(listReconnect()));

	// old code, keep for reference, will be useful sometime in the future
	/*PACKET_SERVERLIST_LIST packet;
	packet.port = 10052;
	packet.servername = "AAAAAA";
	packet.flags.isPrivate = true;
	packet.flags.gametype = 3;

	QByteArray bytes;
	QDataStream stream(&bytes, QIODevice::ReadWrite);
	stream << packet.port;
	//bytes.append(packet.servername);
	//bytes.append(QByteArray(33-packet.servername.length(), 0)); // padding
	stream << packet.flags;

	qDebug() << bytes.toHex();*/
}
Example #4
0
int printError(FILE *outFile, int errorCode, int lineNum)
{
  if (errorCode == OK)          // if no errors detected
    return NORMAL;
  // if there are only warnings and warnings are disabled
  if (errorCode < MINOR && errorCode > WARNING && WARflag == false)
    return NORMAL;

  if (lineNumL68 >= 0)
    sprintf(numBuf, "Line %d ", lineNumL68);
  else
    numBuf[0] = '\0';

  // ---------- display warning messages ----------
  switch (errorCode) {
    case NUMBER_TOO_BIG:
      sprintf(buffer, "WARNING: Numeric constant exceeds 32 bits\n");
      break;
    case ASCII_TOO_BIG:
      sprintf(buffer, "WARNING: ASCII constant exceeds 4 characters\n");
      break;
    case INCOMPLETE:
      sprintf(buffer, "WARNING: Evaluation of expression could not be completed\n");
      break;
    case FORCING_SHORT:
      sprintf(buffer, "WARNING: Forcing SHORT addressing disables range checking of extension word\n");
      break;
    case ODD_ADDRESS:
      sprintf(buffer, "WARNING: Origin value is odd (Location counter set to next highest address)\n");
      break;
    case END_MISSING:
      sprintf(buffer, "WARNING: END directive missing, starting address not set\n");
      break;
    case ADDRESS_MISSING:
      sprintf(buffer, "WARNING: Address expected\n");
      break;
    case THEN_EXPECTED:
      sprintf(buffer, "WARNING: THEN expected\n");
      break;
    case DO_EXPECTED:
      sprintf(buffer, "WARNING: DO expected\n");
      break;
    case FORWARD_REF:
      sprintf(buffer, "WARNING: Forward reference may cause 'Symbol value differs...' error\n");
      break;
    case LABEL_TOO_LONG:
      sprintf(buffer, "WARNING: Label too long\n");
      break;
    default :
      if (errorCode < MINOR && errorCode > WARNING)
        sprintf(buffer, "WARNING: No message defined\n");
  }

  // ---------- display error messages ----------
  switch (errorCode) {
    case SYNTAX:
      sprintf(buffer, "ERROR: Invalid syntax\n");
      break;
    case UNDEFINED:
      sprintf(buffer, "ERROR: Undefined symbol\n");
      break;
    case DIV_BY_ZERO:
      sprintf(buffer, "ERROR: Division by zero attempted\n");
      break;
    case INV_OPCODE:
      sprintf(buffer, "ERROR: Invalid opcode\n");
      break;
    case INV_SIZE_CODE:
      sprintf(buffer, "ERROR: Invalid size code\n");
      break;
    case INV_ADDR_MODE:
      sprintf(buffer, "ERROR: Invalid addressing mode\n");
      break;
    case MULTIPLE_DEFS:
      sprintf(buffer, "ERROR: Symbol defined more than once\n");
      break;
    case NO_ENDM:
      sprintf(buffer, "ERROR: ENDM expected\n");
      break;
    case TOO_MANY_ARGS:
      sprintf(buffer, "ERROR: Too many arguments\n");
      break;
    case INVALID_ARG:
      sprintf(buffer, "ERROR: Invalid argument\n");
      break;
    case PHASE_ERROR:
      sprintf(buffer, "ERROR: Symbol value differs between first and second pass\n");
      break;
    case INV_QUICK_CONST:
      sprintf(buffer, "ERROR: Quick immediate data range must be 1 to 8\n");
      break;
    case INV_MOVE_QUICK_CONST:
      sprintf(buffer, "ERROR: Quick immediate data range exceeds 1 byte\n");
      break;
    case INV_VECTOR_NUM:
      sprintf(buffer, "ERROR: Invalid vector number\n");
      break;
    case INV_BRANCH_DISP:
      sprintf(buffer, "ERROR: Branch instruction displacement is out of range or invalid\n");
      break;
    case LABEL_REQUIRED:
      sprintf(buffer, "ERROR: Label required with this directive\n");
      break;
    case INV_DISP:
      sprintf(buffer, "ERROR: Displacement out of range\n");
      break;
    case INV_ABS_ADDRESS:
      sprintf(buffer, "ERROR: Absolute address exceeds 16 bits\n");
      break;
    case INV_8_BIT_DATA:
      sprintf(buffer, "ERROR: Immediate data exceeds 8 bits\n");
      break;
    case INV_16_BIT_DATA:
      sprintf(buffer, "ERROR: Immediate data exceeds 16 bits\n");
      break;
    case NOT_REG_LIST:
      sprintf(buffer, "ERROR: Symbol is not a register list symbol\n");
      break;
    case REG_LIST_SPEC:
      sprintf(buffer, "ERROR: Register list symbol used in an expression\n");
      break;
    case REG_LIST_UNDEF:
      sprintf(buffer, "ERROR: Register list symbol not previously defined\n");
      break;
    case INV_SHIFT_COUNT:
      sprintf(buffer, "ERROR: Invalid constant shift count\n");
      break;
    case INV_OPERATOR:
      sprintf(buffer, "ERROR: Invalid operator\n");
      break;
    case INV_FORWARD_REF:
      sprintf(buffer, "ERROR: Forward references not allowed with this directive\n");
      break;
    case INV_LENGTH:
      sprintf(buffer, "ERROR: Invalid block length\n");
      break;
    case COMMA_EXPECTED:
      sprintf(buffer, "ERROR: Comma expected\n");
      break;
    case FAIL_ERROR:    // user defined error
      //the error message has already been written to buffer
      break;
    case EXCEPTION:     // an exception occurred
      //the error message has already been written to buffer
      break;
    case FILE_ERROR:
      sprintf(buffer, "ERROR: Unable to access specified file\n");
      break;
    case MACRO_NEST:    // possible recursive macro call
      sprintf(buffer, "ERROR: Nested Macro calls are too many levels deep\n");
      break;
    case NO_IF:
      sprintf(buffer, "ERROR: No matching IF statement was found\n");
      break;
    case NO_WHILE:
      sprintf(buffer, "ERROR: No matching WHILE statement was found\n");
      break;
    case NO_REPEAT:
      sprintf(buffer, "ERROR: No matching REPEAT statement was found\n");
      break;
    case NO_DBLOOP:
      sprintf(buffer, "ERROR: No matching DBLOOP statement was found\n");
      break;
    case NO_FOR:
      sprintf(buffer, "ERROR: No matching FOR statement was found\n");
      break;
    case ENDI_EXPECTED:
      sprintf(buffer, "ERROR: IF without ENDI\n");
      break;
    case ENDW_EXPECTED:
      sprintf(buffer, "ERROR: WHILE without ENDW\n");
      break;
    case ENDF_EXPECTED:
      sprintf(buffer, "ERROR: FOR without ENDF\n");
      break;
    case REPEAT_EXPECTED:
      sprintf(buffer, "ERROR: UNTIL without REPEAT\n");
      break;
    case DBLOOP_EXPECTED:
      sprintf(buffer, "ERROR: UNLESS without DBLOOP\n");
      break;
    case LABEL_ERROR:
      sprintf(buffer, "ERROR: Label is not allowed\n");
      break;
    case BAD_BITFIELD:
      sprintf(buffer, "ERROR: Invalid bitfield\n");
      break;
    default :
      if (errorCode > MINOR)
        sprintf(buffer, "ERROR: No message defined\n");
  } // end switch

  if (outFile)
    listError(numBuf, buffer);  // add error to listing file

  // display error messages in edit window

  // if include file then display error in proper window
  if (includeFile[0]) {         // if not NULL
    bool openIncFile = true;    // open included file when true
    AnsiString incFile(includeFile);

    // check to see if file is already open
    for(int i = Main->MDIChildCount-1; i >= 0; i--) {
      TextStuff = (TTextStuff*)Main->MDIChildren[i];
      //if(TextStuff->Project.CurrentFile == ExpandFileName(incFile)) { // if file already open
      if(ExpandFileName(TextStuff->Project.CurrentFile).AnsiCompareIC(ExpandFileName(incFile)) == 0) {
        if (TextStuff->Project.Modified) {         // if it is modified
          if (includedFileError == false) {
            AnsiString asBuffer = "An Error occurred in the included file " +
                          ExtractFileName(incFile) +
                          ".\nThe file is currently open and has been modified." +
                          "\nThe line numbers of errors may not be correct.";
            ShowMessage(asBuffer);
            includedFileError = true;   // prevent multiple messages
          }
        }
        openIncFile = false;
        TextStuff->BringToFront();
        break;
      }
    }
    if (openIncFile)
      Main->OpenFile(incFile);
  }

  //Grab the active Child Form
  TTextStuff *Active = (TTextStuff*)Main->ActiveMDIChild; //grab active mdi child

  Active->Messages->Enabled = true; //need to allow user to click errors
  if (Active->Messages->Height < 87)
    Active->Messages->Height = 87;
  ListItem = Active->Messages->Items->Add();
  if (lineNum >= 0)
    sprintf(numBuf, "Line %d ", lineNum);
  else
    numBuf[0] = '\0';
  ListItem->Caption = lineNum;        // display line number of error
  buffer[strlen(buffer)-1]='\0';      // trim off '\n'
  ListItem->SubItems->Add(buffer);    // add error message to edit window
  ListItem->SubItems->Add(Active->Project.CurrentFile);       // display file

  return NORMAL;
}