bool KEnvVarProxyDlg::validate(bool erase)
{
    m_bHasValidData = false;

    if(!mDlg->cbShowValue->isChecked())
        updateVariables();

    bool notFound = getProxyEnv(mEnvVarsMap["http"]).isEmpty();
    m_bHasValidData |= !notFound;
    setHighLight(mDlg->lbHttp, notFound);
    if(notFound && erase)
        mEnvVarsMap["http"] = QString::null;

    notFound = getProxyEnv(mEnvVarsMap["https"]).isEmpty();
    m_bHasValidData |= !notFound;
    setHighLight(mDlg->lbHttps, notFound);
    if(notFound && erase)
        mEnvVarsMap["https"] = QString::null;

    notFound = getProxyEnv(mEnvVarsMap["ftp"]).isEmpty();
    m_bHasValidData |= !notFound;
    setHighLight(mDlg->lbFtp, notFound);
    if(notFound && erase)
        mEnvVarsMap["ftp"] = QString::null;

    notFound = getProxyEnv(mEnvVarsMap["noProxy"]).isEmpty();
    m_bHasValidData |= !notFound;
    setHighLight(mDlg->lbNoProxy, notFound);
    if(notFound && erase)
        mEnvVarsMap["noProxy"] = QString::null;

    return m_bHasValidData;
}
void KEnvVarProxyDlg::autoDetectPressed()
{
    bool found = false;

    setHighLight(mDlg->lbHttp, false);
    setHighLight(mDlg->lbHttps, false);
    setHighLight(mDlg->lbFtp, false);
    setHighLight(mDlg->lbNoProxy, false);

    // Detect HTTP proxy settings...
    found |= autoDetectProxySetting(QString::fromLatin1(ENV_HTTP_PROXY), mEnvVarsMap["http"]);

    // Detect HTTPS proxy settings...
    found |= autoDetectProxySetting(QString::fromLatin1(ENV_HTTPS_PROXY), mEnvVarsMap["https"]);

    // Detect FTP proxy settings...
    found |= autoDetectProxySetting(QString::fromLatin1(ENV_FTP_PROXY), mEnvVarsMap["ftp"]);

    // Detect the NO_PROXY settings...
    found |= autoDetectProxySetting(QString::fromLatin1(NO_PROXY), mEnvVarsMap["noProxy"]);

    if(!found)
    {
        QString msg = i18n(
            "Did not detect any environment variables "
            "commonly used to set system wide proxy "
            "information.");

        QString details = i18n(
            "<qt>To learn about the variable names the "
            "automatic detection process searches for, "
            "press OK, click on the quick help button "
            "on the window title bar of the "
            "previous dialog and then click on the "
            "\"<b>Auto Detect</b>\" button.</qt>");

        KMessageBox::detailedSorry(this, msg, details, i18n("Automatic Proxy Variable Detection"));
        return;
    }

    showValue();
}
Beispiel #3
0
bool KManualProxyDlg::validate()
{
    KURL filteredURL;
    unsigned short count = 0;

    if ( isValidURL( mDlg->leHttp->text(), &filteredURL ) )
    {
        mDlg->leHttp->setText( filteredURL.url() );
        count++;
    }
    else
        setHighLight( mDlg->lbHttp, true );

    if ( !mDlg->cbSameProxy->isChecked () )
    {
        if ( isValidURL( mDlg->leHttps->text(), &filteredURL ) )
        {
            mDlg->leHttps->setText( filteredURL.url() );
            count++;
        }
        else
            setHighLight( mDlg->lbHttps, true );

        if ( isValidURL( mDlg->leFtp->text(), &filteredURL ) )
        {
            mDlg->leFtp->setText( filteredURL.url() );
            count++;
        }
        else
            setHighLight( mDlg->lbFtp, true );
    }

    if ( count == 0 )
    {
        showErrorMsg( i18n("Invalid Proxy Setting"),
                      i18n("One or more of the specified proxy settings are "
                           "invalid. The incorrect entries are highlighted.") );
    }

    return (count > 0);
}
Beispiel #4
0
void KManualProxyDlg::sameProxy( bool enable )
{
    mDlg->leHttps->setEnabled (!enable );
    mDlg->leFtp->setEnabled (!enable );
    mDlg->sbHttps->setEnabled (!enable );
    mDlg->sbFtp->setEnabled (!enable );
    mDlg->pbCopyDown->setEnabled( !enable );

    if (enable)
    {
      mOldFtpText = mDlg->leFtp->text();
      mOldHttpsText = mDlg->leHttps->text();

      mOldFtpPort = mDlg->sbFtp->value();
      mOldHttpsPort = mDlg->sbHttps->value();

      int port = mDlg->sbHttp->value();
      QString text = mDlg->leHttp->text();

      mDlg->leFtp->setText (text);
      mDlg->leHttps->setText (text);

      mDlg->sbFtp->setValue (port);
      mDlg->sbHttps->setValue (port);
      
      if (mDlg->lbHttps->font().bold())
        setHighLight( mDlg->lbHttps, false );
      
      if (mDlg->lbFtp->font().bold())
        setHighLight( mDlg->lbFtp, false );
    }
    else
    {
      mDlg->leFtp->setText (mOldFtpText);
      mDlg->leHttps->setText (mOldHttpsText);

      mDlg->sbFtp->setValue (mOldFtpPort);
      mDlg->sbHttps->setValue (mOldHttpsPort);
    }
}
Beispiel #5
0
void MGuiEditText::onEvent(MWinEvent * windowEvent)
{
	MGuiWindow * parent = getParentWindow();

	MMouse * mouse = MMouse::getInstance();

	switch(windowEvent->type)
	{
	case MWIN_EVENT_MOUSE_WHEEL_MOVE:
	case MWIN_EVENT_MOUSE_MOVE:
		if(parent->isHighLight() && isMouseInside())
		{
			setHighLight(true);

			if(m_pointerEvent) // send mouse move gui event
			{
				MGuiEvent guiEvent;

				guiEvent.type = MGUI_EVENT_MOUSE_MOVE;
				guiEvent.data[0] = windowEvent->data[0];
				guiEvent.data[1] = windowEvent->data[1];

				m_pointerEvent(this, &guiEvent);
			}

			// break events
			if(parent->breakEvents())
				return;
		}
		else
		{
			setHighLight(false);
		}

		if(isPressed() && mouse->isLeftButtonPushed())
		{
			m_endSelectionId = getFont()->findPointedCharacter(
				getText(),
				getPosition(),
				getTextSize(),
				getMouseLocalPosition()
			);

			autoScrolling();
		}
		break;
	case MWIN_EVENT_MOUSE_BUTTON_DOWN:
		if(isHighLight())
		{
			if(windowEvent->data[0] == MMOUSE_BUTTON_LEFT)
			{
				// unpress all edit text
				unsigned int i;
				unsigned int size = parent->getEditTextsNumber();
				for(i=0; i<size; i++)
					parent->getEditText(i)->setPressed(false);

				setPressed(true);

				setCharId(
					getFont()->findPointedCharacter(
						getText(),
						getPosition(),
						getTextSize(),
						getMouseLocalPosition()
					)
				);

				// start select
				setSelection(getCharId(), getCharId());
			}

			if(m_pointerEvent) // send mouse button down gui event
			{
				MGuiEvent guiEvent;

				guiEvent.type = MGUI_EVENT_MOUSE_BUTTON_DOWN;
				guiEvent.data[0] = windowEvent->data[0];

				m_pointerEvent(this, &guiEvent);
			}
		}
		else
		{
			if(isPressed() && windowEvent->data[0] == MMOUSE_BUTTON_LEFT)
			{
				setPressed(false);
				sendVariable();
			}
		}
		break;
	case MWIN_EVENT_CHAR:
	case MWIN_EVENT_KEY_DOWN:
		if(isPressed())
		{
			editText(windowEvent);
			autoScrolling();
		}
		break;
	}
}
Beispiel #6
0
void MGuiEditText::editText(MWinEvent * windowEvent)
{
	unsigned int sStart;
	unsigned int sEnd;

	bool selection = getSelectionIds(&sStart, &sEnd);

	if(selection)
		setCharId(sStart);

	// events
	if(windowEvent->type == MWIN_EVENT_KEY_DOWN)
	{
		switch(windowEvent->data[0])
		{
		case MKEY_UP:
			if(! isSingleLine())
				upCharId(-1);

			setSelection(0, 0);
			return;

		case MKEY_DOWN:
			if(! isSingleLine())
				upCharId(1);

			setSelection(0, 0);
			return;

		case MKEY_RIGHT:
			addCharId();
			setSelection(0, 0);
			return;

		case MKEY_LEFT:
			subCharId();
			setSelection(0, 0);
			return;

		case MKEY_SPACE:
			if(selection)
			{
				m_text.erase(m_text.begin() + sStart, m_text.begin() + sEnd);
				setSelection(0, 0);
			}

			if(! canAddCharacter())
				return;

			m_text.insert(getCharId(), " ", 1);
			addCharId();
			autoScaleFromText();
			onChange();
			return;

		case MKEY_TAB:
			if(! isSingleLine())
			{
				if(selection)
				{
					m_text.erase(m_text.begin() + sStart, m_text.begin() + sEnd);
					setSelection(0, 0);
				}

				if(! canAddCharacter())
					return;

				m_text.insert(getCharId(), "	", 1);
				addCharId();
				autoScaleFromText();
				onChange();
			}
			return;

		case MKEY_BACKSPACE:
			if(selection)
			{
				m_text.erase(m_text.begin() + sStart, m_text.begin() + sEnd);
				setSelection(0, 0);
				autoScaleFromText();
				onChange();
			}
			else if(getCharId() > 0)
			{
				m_text.erase(m_text.begin() + getCharId() - 1);
				subCharId();
				autoScaleFromText();
				onChange();
			}
			return;

		case MKEY_DELETE:
			if(getCharId() < m_text.size())
			{
				if(selection)
				{
					m_text.erase(m_text.begin() + sStart, m_text.begin() + sEnd);
					setSelection(0, 0);
				}
				else
				{
					m_text.erase(m_text.begin() + getCharId());
				}

				autoScaleFromText();
				onChange();
			}
			return;

		case MKEY_RETURN:
			if(! isSingleLine())
			{
				if(selection)
				{
					m_text.erase(m_text.begin() + sStart, m_text.begin() + sEnd);
					setSelection(0, 0);
				}

				if(! canAddCharacter())
					return;

				m_text.insert(getCharId(), "\n", 1);
				addCharId();
				autoScaleFromText();
				onChange();
			}
			else
			{
				setHighLight(false);
				autoScaleFromText();
				setSelection(0, 0);
				sendVariable();
			}
			return;
		}
	}

	if(windowEvent->type == MWIN_EVENT_CHAR)
	{
		char character = windowEvent->data[0];

		if(character >= 0 && character < 33)
			return;

		// add character
		if(character)
		{
			if(selection)
			{
				m_text.erase(m_text.begin() + sStart, m_text.begin() + sEnd);
				setSelection(0, 0);
			}

			if(! canAddCharacter())
				return;

			m_text.insert(getCharId(), &character, 1);
			addCharId();
			autoScaleFromText();
			onChange();
		}
	}
}
void MGuiSlide::onEvent(MWinEvent * windowEvent)
{
	MGuiWindow * parent = getParentWindow();

	MMouse * mouse = MMouse::getInstance();

	switch(windowEvent->type)
	{
	case MWIN_EVENT_MOUSE_WHEEL_MOVE:
	case MWIN_EVENT_MOUSE_MOVE:
		if(parent->isHighLight() && m_button.isPointInside(getMouseLocalPosition()) && (! mouse->isLeftButtonPushed()) && (! mouse->isMiddleButtonPushed()) && (! mouse->isRightButtonPushed()))
		{
			setHighLight(true);

			if(m_pointerEvent) // send gui event
			{
				MGuiEvent guiEvent;

				guiEvent.type = MGUI_EVENT_MOUSE_MOVE;
				guiEvent.data[0] = windowEvent->data[0];
				guiEvent.data[1] = windowEvent->data[1];

				m_pointerEvent(this, &guiEvent);
			}

			// break events
			if(parent->breakEvents())
				return;
		}
		else{
			setHighLight(false);
		}

		if(isPressed())
		{
			float value = getValueFromPoint(getMouseLocalPosition());
			setValue(value);
		}
		break;
	case MWIN_EVENT_MOUSE_BUTTON_DOWN:
		if(isHighLight())
		{
			if(windowEvent->data[0] == MMOUSE_BUTTON_LEFT){
				setPressed(true);
				m_offset = getMouseLocalPosition() - m_button.getPosition();
			}

			if(m_pointerEvent) // send gui event
			{
				MGuiEvent guiEvent;

				guiEvent.type = MGUI_EVENT_MOUSE_BUTTON_DOWN;
				guiEvent.data[0] = windowEvent->data[0];

				m_pointerEvent(this, &guiEvent);
			}
		}
		break;
	case MWIN_EVENT_MOUSE_BUTTON_UP:
		if(windowEvent->data[0] == MMOUSE_BUTTON_LEFT)
		{
			setPressed(false);
		}
		break;
	}
}
Beispiel #8
0
void MGuiWindow::onEvent(MWinEvent * windowEvent)
{
	MMouse * mouse = MMouse::getInstance();

	switch(windowEvent->type)
	{
	case MWIN_EVENT_WINDOW_RESIZE:
		if(m_pointerEvent) // send gui event
		{
			MGuiEvent guiEvent;
			guiEvent.type = MGUI_EVENT_RESIZE;
			m_pointerEvent(this, &guiEvent);
		}
		resizeScroll();
		break;
	case MWIN_EVENT_KEY_DOWN:
		switch(windowEvent->data[0])
		{
			case MKEY_TAB:
				{
					// editTexts
					unsigned int eSize = m_editTexts.size();
					unsigned int i;

					// select next edit text
					for(i=0; i<eSize; i++)
					{
						if(m_editTexts[i]->isSingleLine() && m_editTexts[i]->isPressed())
						{
							m_editTexts[i]->setPressed(false);
							m_editTexts[i]->sendVariable();
							unsigned int nextId = i + 1;

							if(nextId >= eSize)
								nextId = 0;

							m_editTexts[nextId]->setPressed(true);
							m_editTexts[nextId]->setCharId(0);
							m_editTexts[nextId]->setSelection(0, strlen(m_editTexts[nextId]->getText()));

							return;
						}
					}

					break;
				}
			case MKEY_DOWN:
				{
					// editTexts
					unsigned int eSize = m_editTexts.size();
					unsigned int i;

					// select next edit text
					for(i=0; i<eSize; i++)
					{
						if(m_editTexts[i]->isSingleLine() && m_editTexts[i]->isPressed())
						{
							m_editTexts[i]->setPressed(false);
							m_editTexts[i]->sendVariable();
							unsigned int nextId = i + 1;

							if(nextId >= eSize)
								nextId = 0;

							m_editTexts[nextId]->setPressed(true);
							m_editTexts[nextId]->setCharId(m_editTexts[i]->getCharId());

							return;
						}
					}

					break;
				}
			case MKEY_UP:
				{
					// editTexts
					unsigned int eSize = m_editTexts.size();
					unsigned int i;

					// select previous edit text
					for(i=0; i<eSize; i++)
					{
						if(m_editTexts[i]->isSingleLine() && m_editTexts[i]->isPressed())
						{
							m_editTexts[i]->setPressed(false);
							m_editTexts[i]->sendVariable();
							int nextId = i - 1;

							if(nextId < 0)
								nextId = eSize - 1;

							m_editTexts[nextId]->setPressed(true);
							m_editTexts[nextId]->setCharId(m_editTexts[i]->getCharId());

							return;
						}
					}

					break;
				}
		}
		break;
	case MWIN_EVENT_MOUSE_WHEEL_MOVE:
		if(isHighLight())
			moveScroll(MVector2(0, mouse->getWheelDirection() * (getTextSize() * 3)));

		break;
	case MWIN_EVENT_MOUSE_MOVE:
		if(isScrolled())
			moveScroll(MVector2((float)mouse->getXDirection(), (float)mouse->getYDirection()));

		if(isMouseInside()){
			setHighLight(true);

			if(m_pointerEvent) // send mouse move gui event
			{
				MGuiEvent guiEvent;

				guiEvent.type = MGUI_EVENT_MOUSE_MOVE;
				guiEvent.data[0] = windowEvent->data[0];
				guiEvent.data[1] = windowEvent->data[1];

				m_pointerEvent(this, &guiEvent);
			}
		}
		else{
		    setHighLight(false);
		}
		break;
	case MWIN_EVENT_MOUSE_BUTTON_DOWN:

		if(isHighLight())
		{
			if(windowEvent->data[0] == MMOUSE_BUTTON_LEFT){
				setPressed(true);
			}

			if(windowEvent->data[0] == MMOUSE_BUTTON_MIDDLE){
				resizeScroll();
				setScrolled(true);
			}
		}
			
		if(m_pointerEvent) // send mouse button down gui event
		{
			MGuiEvent guiEvent;
				
			guiEvent.type = MGUI_EVENT_MOUSE_BUTTON_DOWN;
			guiEvent.data[0] = windowEvent->data[0];
				
			m_pointerEvent(this, &guiEvent);
		}

		break;
	case MWIN_EVENT_MOUSE_BUTTON_UP:

		if(windowEvent->data[0] == MMOUSE_BUTTON_MIDDLE)
			setScrolled(false);

		if(windowEvent->data[0] == MMOUSE_BUTTON_LEFT)
			setPressed(false);

		if(isHighLight())
		{
			if(m_pointerEvent) // send mouse button up gui event
			{
				MGuiEvent guiEvent;

				guiEvent.type = MGUI_EVENT_MOUSE_BUTTON_UP;
				guiEvent.data[0] = windowEvent->data[0];

				m_pointerEvent(this, &guiEvent);
			}
		}

		break;
	}

	internalEvent(windowEvent);
}