From 3be4b73530a61fae785b33a91eaeaefd7e94cd69 Mon Sep 17 00:00:00 2001 From: Szymon Tomasz Stefanek Date: Sat, 1 Aug 2015 01:18:19 +0200 Subject: Force the user to choose a nickname at first startup. Closes #1489 --- src/modules/setup/SetupWizard.cpp | 32 +++++++++++++++++++------------- src/modules/setup/SetupWizard.h | 8 +++++--- 2 files changed, 24 insertions(+), 16 deletions(-) (limited to 'src/modules/setup') 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 & ); }; -- cgit v1.3.1-10-gc9f91