summaryrefslogtreecommitdiff
path: root/bibletime/frontend/cswordsetupinstallsourcesdialog.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'bibletime/frontend/cswordsetupinstallsourcesdialog.cpp')
-rw-r--r--bibletime/frontend/cswordsetupinstallsourcesdialog.cpp172
1 files changed, 0 insertions, 172 deletions
diff --git a/bibletime/frontend/cswordsetupinstallsourcesdialog.cpp b/bibletime/frontend/cswordsetupinstallsourcesdialog.cpp
deleted file mode 100644
index 504ab7d..0000000
--- a/bibletime/frontend/cswordsetupinstallsourcesdialog.cpp
+++ /dev/null
@@ -1,172 +0,0 @@
-/*********
-*
-* This file is part of BibleTime's source code, http://www.bibletime.info/.
-*
-* Copyright 1999-2006 by the BibleTime developers.
-* The BibleTime source code is licensed under the GNU General Public License version 2.0.
-*
-**********/
-
-
-
-//BT includes
-#include "cswordsetupinstallsourcesdialog.h"
-#include "util/scoped_resource.h"
-
-//Qt includes
-#include <qlayout.h>
-#include <qlabel.h>
-#include <qcombobox.h>
-#include <qlineedit.h>
-#include <qpushbutton.h>
-#include <qmessagebox.h>
-#include <qfileinfo.h>
-
-
-#include <klocale.h>
-#include <kdirselectdialog.h>
-
-namespace BookshelfManager {
-
- const QString PROTO_FILE( i18n("Local") ); //Local path
- const QString PROTO_FTP( i18n("Remote") ); //Remote path
-
-
- CSwordSetupInstallSourcesDialog::CSwordSetupInstallSourcesDialog(/*QWidget *parent*/)
-: QDialog() {
-
- QVBoxLayout* mainLayout = new QVBoxLayout( this );
- mainLayout->setMargin( 10 );
- mainLayout->setSpacing( 5 );
-
- QHBoxLayout *captionLayout = new QHBoxLayout( mainLayout );
- QLabel *label = new QLabel( i18n("Caption"), this );
- captionLayout->addWidget( label );
-
- m_captionEdit = new QLineEdit( this );
- m_captionEdit->setText("Crosswire Bible Society");
- captionLayout->addWidget( m_captionEdit );
-
- mainLayout->addSpacing( 10 );
-
- QGridLayout* layout = new QGridLayout( mainLayout, 3, 3 );
- layout->setSpacing( 5 );
-
- label = new QLabel(i18n("Type"), this);
- layout->addWidget( label, 0, 0);
-
- m_serverLabel = new QLabel(i18n("Server"), this);
- layout->addWidget( m_serverLabel, 0, 1);
-
- label = new QLabel(i18n("Path"), this);
- layout->addWidget( label, 0, 2 );
-
- m_protocolCombo = new QComboBox( this );
- layout->addWidget(m_protocolCombo, 1, 0);
- m_protocolCombo->insertItem( PROTO_FTP );
- m_protocolCombo->insertItem( PROTO_FILE );
-
- m_serverEdit = new QLineEdit( this );
- layout->addWidget( m_serverEdit, 1, 1 );
- m_serverEdit->setText("ftp.crosswire.org");
-
- m_pathEdit = new QLineEdit( this );
- layout->addWidget( m_pathEdit, 1, 2 );
- m_pathEdit->setText("/pub/sword/raw");
-
- mainLayout->addSpacing( 10 );
-
- QHBoxLayout* buttonLayout = new QHBoxLayout( mainLayout );
- buttonLayout->addStretch();
- QPushButton* okButton = new QPushButton( i18n("Ok"), this);
- QPushButton* discardButton = new QPushButton( i18n("Discard"), this);
- buttonLayout->addWidget( discardButton);
- buttonLayout->addWidget( okButton);
- buttonLayout->addStretch();
-
- connect( okButton, SIGNAL( clicked() ), this, SLOT( slotOk() ) );
- connect( discardButton, SIGNAL( clicked() ), this, SLOT( reject() ) );
- connect( m_protocolCombo, SIGNAL( activated(int) ), this, SLOT( slotProtocolChanged() ) );
-
- }
- void CSwordSetupInstallSourcesDialog::slotOk() {
- //run a few tests to validate the input first
- if ( m_captionEdit->text().stripWhiteSpace().isEmpty() ) { //no caption
- QMessageBox::information( this, i18n( "Error" ), i18n("Please provide a caption."), QMessageBox::Retry);
- return;
- }
-
- BTInstallMgr iMgr;
- sword::InstallSource is = BTInstallMgr::Tool::RemoteConfig::source( &iMgr, m_captionEdit->text() );
- if ( (QString)is.caption.c_str() == m_captionEdit->text() ) { //source already exists
- QMessageBox::information( this, i18n( "Error" ),
- i18n("A source with this caption already exists.<br>Please provide a different caption."), QMessageBox::Retry);
- return;
- }
-
- if ( m_protocolCombo->currentText() == PROTO_FTP &&
- m_serverEdit->text().stripWhiteSpace().isEmpty() ) { //no server name
- QMessageBox::information( this, i18n( "Error" ), i18n("Please provide a server name."), QMessageBox::Retry);
- return;
- }
-
- if ( m_protocolCombo->currentText() == PROTO_FILE) {
- const QFileInfo fi( m_pathEdit->text() );
- if (!fi.exists() || !fi.isReadable()) { //no valid and readable path
- QMessageBox::information( this, i18n( "Error" ), i18n("Please provide a valid, readable path."), QMessageBox::Retry);
- return;
- }
- else if ( m_pathEdit->text().isEmpty() ) {
- QMessageBox::information( this, i18n( "Error" ), i18n("Please provide a path."), QMessageBox::Retry);
-
- }
- }
-
- accept(); //only if nothing else failed
- }
-
- void CSwordSetupInstallSourcesDialog::slotProtocolChanged() {
- if (m_protocolCombo->currentText() == PROTO_FTP) { //REMOTE
- m_serverLabel->show();
- m_serverEdit->show();
- }
- else { //LOCAL, no server needed
- m_serverLabel->hide();
- m_serverEdit->hide();
-
- KURL url = KDirSelectDialog::selectDirectory(QString::null, true);
- if (url.isValid()) {
- m_pathEdit->setText( url.path() );
- }
- }
-
- }
-
- sword::InstallSource CSwordSetupInstallSourcesDialog::getSource() {
-
- util::scoped_ptr<CSwordSetupInstallSourcesDialog> dlg( new CSwordSetupInstallSourcesDialog() );
- sword::InstallSource newSource(""); //empty, invalid Source
-
- if (dlg->exec() == QDialog::Accepted) {
- if (dlg->m_protocolCombo->currentText() == PROTO_FTP) {
- newSource.type = "FTP";
- newSource.source = dlg->m_serverEdit->text().utf8();
-
- //a message to the user would be nice, but we're in message freeze right now (1.5.1)
- if (dlg->m_serverEdit->text().right(1) == "/") { //remove a trailing slash
- newSource.source = dlg->m_serverEdit->text().mid(0, dlg->m_serverEdit->text().length()-1).utf8();
- }
- }
- else {
- newSource.type = "DIR";
- newSource.source = "local";
- }
- newSource.caption = dlg->m_captionEdit->text().utf8();
- newSource.directory = dlg->m_pathEdit->text().utf8();
- }
-
- return newSource;
- }
-
-
-} //namespace