[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [kbibtex] src/program/docklets: Disabling Zotero widget's tabs on incomplete credentials
From:       Thomas Fischer <fischer () unix-ag ! uni-kl ! de>
Date:       2016-11-26 21:53:09
Message-ID: E1cAkuD-0006O8-W2 () code ! kde ! org
[Download RAW message or body]

Git commit 171b0d5b01317f6a37b939877707c5a9dd9ed0eb by Thomas Fischer.
Committed on 26/11/2016 at 21:49.
Pushed by thomasfischer into branch 'master'.

Disabling Zotero widget's tabs on incomplete credentials

M  +9    -4    src/program/docklets/zoterobrowser.cpp
M  +1    -1    src/program/docklets/zoterobrowser.h

https://commits.kde.org/kbibtex/171b0d5b01317f6a37b939877707c5a9dd9ed0eb

diff --git a/src/program/docklets/zoterobrowser.cpp \
b/src/program/docklets/zoterobrowser.cpp index f57c693..f90777a 100644
--- a/src/program/docklets/zoterobrowser.cpp
+++ b/src/program/docklets/zoterobrowser.cpp
@@ -277,11 +277,12 @@ void ZoteroBrowser::updateButtons()
     d->needToApplyCredentials = true;
 }
 
-void ZoteroBrowser::applyCredentials()
+bool ZoteroBrowser::applyCredentials()
 {
     bool ok = false;
     const int userId = d->lineEditNumericUserId->text().toInt(&ok);
-    if (ok) {
+    const QString apiKey = d->lineEditApiKey->text();
+    if (ok && !apiKey.isEmpty()) {
         setCursor(Qt::WaitCursor);
         setEnabled(false);
 
@@ -319,8 +320,10 @@ void ZoteroBrowser::applyCredentials()
         connect(d->tags, &Zotero::Tags::finishedLoading, this, \
&ZoteroBrowser::reenableWidget);  
         d->needToApplyCredentials = false;
+
+        return true;
     } else
-        KMessageBox::information(this, i18n("Value '%1' is not a valid numeric \
identifier of a user or a group.", d->lineEditNumericUserId->text()), i18n("Invalid \
numeric identifier")); +        return false;
 }
 
 void ZoteroBrowser::radioButtonsToggled() {
@@ -431,6 +434,8 @@ void ZoteroBrowser::writeOAuthCredentials(bool ok) {
 
 void ZoteroBrowser::tabChanged(int newTabIndex) {
     if (newTabIndex > 0 /** tabs after credential tab*/ && \
                d->needToApplyCredentials) {
-        applyCredentials();
+        const bool success = applyCredentials();
+        for (int i = 1; i < d->tabWidget->count(); ++i)
+            d->tabWidget->widget(i)->setEnabled(success);
     }
 }
diff --git a/src/program/docklets/zoterobrowser.h \
b/src/program/docklets/zoterobrowser.h index 76106c7..d092940 100644
--- a/src/program/docklets/zoterobrowser.h
+++ b/src/program/docklets/zoterobrowser.h
@@ -49,7 +49,7 @@ private slots:
     void showItem(QSharedPointer<Element>);
     void reenableWidget();
     void updateButtons();
-    void applyCredentials();
+    bool applyCredentials();
     void radioButtonsToggled();
     void groupListChanged();
     void retrieveGroupList();


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic