diff options
| author | 2015-08-01 01:18:19 +0200 | |
|---|---|---|
| committer | 2015-08-01 01:18:19 +0200 | |
| commit | 3be4b73530a61fae785b33a91eaeaefd7e94cd69 (patch) | |
| tree | 83373e1cb7022168b9f788b0cae3c316db24a275 /src | |
| parent | Disable DCC Canvas support in CMakeLists.txt. It's broken since long time. (diff) | |
| download | KVIrc-3be4b73530a61fae785b33a91eaeaefd7e94cd69.tar.gz KVIrc-3be4b73530a61fae785b33a91eaeaefd7e94cd69.tar.bz2 KVIrc-3be4b73530a61fae785b33a91eaeaefd7e94cd69.zip | |
Force the user to choose a nickname at first startup.
Closes #1489
Diffstat (limited to 'src')
| -rw-r--r-- | src/kvilib/tal/KviTalWizard.cpp | 23 | ||||
| -rw-r--r-- | src/kvirc/kernel/KviApplication_setup.cpp | 3 | ||||
| -rw-r--r-- | src/kvirc/kernel/KviOptions.cpp | 2 | ||||
| -rw-r--r-- | src/kvirc/ui/KviSelectors.h | 2 | ||||
| -rw-r--r-- | src/modules/setup/SetupWizard.cpp | 32 | ||||
| -rw-r--r-- | src/modules/setup/SetupWizard.h | 8 |
6 files changed, 48 insertions, 22 deletions
diff --git a/src/kvilib/tal/KviTalWizard.cpp b/src/kvilib/tal/KviTalWizard.cpp index 24c8c2264..2047c3dea 100644 --- a/src/kvilib/tal/KviTalWizard.cpp +++ b/src/kvilib/tal/KviTalWizard.cpp @@ -333,13 +333,22 @@ void KviTalWizard::setCurrentPage(KviTalWizardPageData * pData) QString szTitle; QString szSteps; + bool bHaveNextPage = false; + bool bHavePrevPage = false; + if(pData) { - bNextEnabled = (pData->iEnableFlags & KviTalWizardPageData::EnableNext) && m_p->findNextEnabledPage(pData->pWidget); - bBackEnabled = (pData->iEnableFlags & KviTalWizardPageData::EnableBack) && m_p->findPrevEnabledPage(pData->pWidget); + bHavePrevPage = m_p->findPrevEnabledPage(pData->pWidget); + bHaveNextPage = m_p->findNextEnabledPage(pData->pWidget); + + bNextEnabled = (pData->iEnableFlags & KviTalWizardPageData::EnableNext) && bHaveNextPage; + bBackEnabled = (pData->iEnableFlags & KviTalWizardPageData::EnableBack) && bHavePrevPage; + bCancelEnabled = (pData->iEnableFlags & KviTalWizardPageData::EnableCancel); bFinishEnabled = (pData->iEnableFlags & KviTalWizardPageData::EnableFinish); + bHelpEnabled = (pData->iEnableFlags & KviTalWizardPageData::EnableHelp); + m_p->pWidgetStack->setCurrentWidget(pData->pWidget); szTitle = "<b>"; @@ -365,7 +374,7 @@ void KviTalWizard::setCurrentPage(KviTalWizardPageData * pData) m_p->pStepsLabel->setText(szSteps); m_p->pNextButton->setEnabled(bNextEnabled); - if(bNextEnabled) + if(bHaveNextPage) { m_p->pNextButton->show(); m_p->pNextSpacer->show(); @@ -375,14 +384,22 @@ void KviTalWizard::setCurrentPage(KviTalWizardPageData * pData) m_p->pNextSpacer->hide(); m_p->pNextButton->setDefault(false); } + m_p->pBackButton->setEnabled(bBackEnabled); + if(bHavePrevPage) + m_p->pBackButton->show(); + else + m_p->pBackButton->hide(); + m_p->pHelpButton->setEnabled(bHelpEnabled); if(bHelpEnabled) m_p->pHelpButton->show(); else m_p->pHelpButton->hide(); + m_p->pCancelButton->setEnabled(bCancelEnabled); m_p->pFinishButton->setEnabled(bFinishEnabled); + if(bFinishEnabled) { m_p->pFinishButton->show(); diff --git a/src/kvirc/kernel/KviApplication_setup.cpp b/src/kvirc/kernel/KviApplication_setup.cpp index 4cbdf2f04..e80711b4d 100644 --- a/src/kvirc/kernel/KviApplication_setup.cpp +++ b/src/kvirc/kernel/KviApplication_setup.cpp @@ -23,7 +23,6 @@ //============================================================================= - //#define _KVI_DEBUG_CHECK_RANGE_ //#include "kvi_debug.h" @@ -48,7 +47,6 @@ #ifdef COMPILE_KDE_SUPPORT #include <kconfig.h> #include <KConfigGroup> -// #include <kstddirs.h> #endif #endif @@ -856,3 +854,4 @@ void KviApplication::saveKvircDirectory() cfgx.writeEntry("LocalKvircDirectory",m_szLocalKvircDir); cfgx.writeEntry("SourcesDate",KVI_SOURCES_DATE_NUMERIC); } + diff --git a/src/kvirc/kernel/KviOptions.cpp b/src/kvirc/kernel/KviOptions.cpp index 4c33ac1a7..1b2f788c7 100644 --- a/src/kvirc/kernel/KviOptions.cpp +++ b/src/kvirc/kernel/KviOptions.cpp @@ -355,7 +355,7 @@ KviBoolOption g_boolOptionsTable[KVI_NUM_BOOL_OPTIONS]= KviStringOption g_stringOptionsTable[KVI_NUM_STRING_OPTIONS]= { STRING_OPTION("UNUSED:FrameCaption","",KviOption_sectFlagFrame), - STRING_OPTION("Nickname1",KVI_DEFAULT_NICKNAME1,KviOption_sectFlagUser), + STRING_OPTION("Nickname1","",KviOption_sectFlagUser), STRING_OPTION("Nickname2","",KviOption_sectFlagUser), STRING_OPTION("Nickname3","",KviOption_sectFlagUser), STRING_OPTION("Nickname4","",KviOption_sectFlagUser), diff --git a/src/kvirc/ui/KviSelectors.h b/src/kvirc/ui/KviSelectors.h index cc071c60d..8b2f4f178 100644 --- a/src/kvirc/ui/KviSelectors.h +++ b/src/kvirc/ui/KviSelectors.h @@ -112,6 +112,8 @@ public: void setText(const QString& text); QString textForSearch(){return m_pLabel->text();}; QWidget *widgetToHighlight(){return (QWidget *)m_pLabel;}; + QLineEdit * lineEdit(){ return m_pLineEdit; }; + QString currentText(){ return m_pLineEdit->text(); }; public slots: virtual void setEnabled(bool bEnabled); }; diff --git a/src/modules/setup/SetupWizard.cpp b/src/modules/setup/SetupWizard.cpp index a4cefc66d..3a7fcf6d5 100644 --- a/src/modules/setup/SetupWizard.cpp +++ b/src/modules/setup/SetupWizard.cpp @@ -322,19 +322,12 @@ SetupWizard::SetupWizard() "If in doubt, just enter the first nick that comes to mind. " \ "You will be able to change it later in the Identity properties, or with the /NICK command.")); - QString nick; - char * nnn = KviEnvironment::getVariable("USER"); - if(nnn)nick = nnn; - else nick = "newbie"; - if(nick.isEmpty())nick = "newbie"; - if(nick == "root")nick = "newbie"; -//m_pIdentity->m_pVBox -//__tr2qs("Basic Properties") KviTalGroupBox * gbox = new KviTalGroupBox(Qt::Horizontal,QString(),m_pIdentity->m_pVBox); m_pNickSelector = new KviStringSelector(gbox,__tr2qs("Nickname:"),&(KVI_OPTION_STRING(KviOption_stringNickname1)),true); m_pNickSelector->setMinimumLabelWidth(120); m_pNickSelector->setMargin(0); + QObject::connect(m_pNickSelector->lineEdit(),SIGNAL(textChanged(const QString &)),this,SLOT(nickSelectorTextChanged(const QString &))); QValidator * v = new QRegExpValidator(QRegExp("[^-0-9 ][^ ]*"),gbox); m_pNickSelector->setValidator(v); @@ -416,7 +409,6 @@ SetupWizard::SetupWizard() setHelpEnabled(m_pIdentity,false); - ///////////////////////////////////////////////////////////////////////////////////////////////////////////// // Default theme m_pTheme = new SetupPage(this); @@ -576,7 +568,8 @@ SetupWizard::SetupWizard() if(!KviFileUtils::fileExists(szMircIni)) szMircIni = szMircDir + "/pirc.ini"; - if(KviFileUtils::fileExists(szMircIni)){ + if(KviFileUtils::fileExists(szMircIni)) + { KviConfigurationFile cfg(szMircIni,KviConfigurationFile::Read,true); if(cfg.hasGroup("mirc")) { @@ -613,6 +606,8 @@ SetupWizard::SetupWizard() newDirClicked(); //setMinimumSize(630,450); + + enableOrDisableIdentityPageNextButton(); } @@ -645,6 +640,17 @@ void SetupWizard::showEvent(QShowEvent *e) KviTalWizard::showEvent(e); } +void SetupWizard::enableOrDisableIdentityPageNextButton() +{ + setNextEnabled(m_pIdentity,!m_pNickSelector->currentText().trimmed().isEmpty()); +} + + +void SetupWizard::nickSelectorTextChanged(const QString & str) +{ + enableOrDisableIdentityPageNextButton(); +} + void SetupWizard::oldDirClicked() { m_pOldPathBox->setEnabled(true); @@ -659,17 +665,17 @@ void SetupWizard::oldDirClicked() else setNextEnabled(m_pDirectory,true); } -void SetupWizard::oldDataTextChanged ( const QString & str) +void SetupWizard::oldDataTextChanged(const QString & str) { setNextEnabled(m_pDirectory,!str.isEmpty()); } -void SetupWizard::newDataTextChanged ( const QString & str) +void SetupWizard::newDataTextChanged(const QString & str) { setNextEnabled(m_pDirectory,!str.isEmpty() && !m_pIncomingPathEdit->text().isEmpty()); } -void SetupWizard::newIncomingTextChanged ( const QString & str) +void SetupWizard::newIncomingTextChanged(const QString & str) { setNextEnabled(m_pDirectory,!str.isEmpty() && !m_pDataPathEdit->text().isEmpty()); } diff --git a/src/modules/setup/SetupWizard.h b/src/modules/setup/SetupWizard.h index 3b2204699..017ff49bc 100644 --- a/src/modules/setup/SetupWizard.h +++ b/src/modules/setup/SetupWizard.h @@ -138,6 +138,7 @@ protected: void makeLink(); void setUrlHandlers(); virtual void showEvent(QShowEvent *e); + void enableOrDisableIdentityPageNextButton(); public slots: void chooseOldDataPath(); void chooseDataPath(); @@ -149,9 +150,10 @@ public slots: void newDirClicked(); void portableClicked(); - void oldDataTextChanged ( const QString & ); - void newDataTextChanged ( const QString & ); - void newIncomingTextChanged ( const QString & ); + void nickSelectorTextChanged(const QString & ); + void oldDataTextChanged(const QString & ); + void newDataTextChanged(const QString & ); + void newIncomingTextChanged(const QString & ); }; |
