summaryrefslogtreecommitdiffstats
path: root/kdeprint/management/kmwlocal.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kdeprint/management/kmwlocal.cpp')
-rw-r--r--kdeprint/management/kmwlocal.cpp206
1 files changed, 0 insertions, 206 deletions
diff --git a/kdeprint/management/kmwlocal.cpp b/kdeprint/management/kmwlocal.cpp
deleted file mode 100644
index 7b56b2deb..000000000
--- a/kdeprint/management/kmwlocal.cpp
+++ /dev/null
@@ -1,206 +0,0 @@
-/*
- * This file is part of the KDE libraries
- * Copyright (c) 2001 Michael Goffioul <tdeprint@swing.be>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License version 2 as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public License
- * along with this library; see the file COPYING.LIB. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- **/
-
-#include "kmwlocal.h"
-#include "kmwizard.h"
-#include "kmprinter.h"
-#include "kmfactory.h"
-#include "kmmanager.h"
-
-#include <klocale.h>
-#include <tqlayout.h>
-#include <tqlineedit.h>
-#include <tqlabel.h>
-#include <tqheader.h>
-#include <klistview.h>
-#include <kmessagebox.h>
-#include <kiconloader.h>
-
-KMWLocal::KMWLocal(TQWidget *parent, const char *name)
-: KMWizardPage(parent,name)
-{
- m_title = i18n("Local Port Selection");
- m_ID = KMWizard::Local;
- m_nextpage = KMWizard::Driver;
- m_initialized = false;
- m_block = false;
-
- m_ports = new KListView(this);
- m_ports->setFrameStyle(TQFrame::WinPanel|TQFrame::Sunken);
- m_ports->setLineWidth(1);
- m_ports->header()->hide();
- m_ports->addColumn("");
- m_ports->setSorting(-1);
- TQListViewItem *root = new TQListViewItem(m_ports, i18n("Local System"));
- root->setPixmap(0, SmallIcon("tdeprint_computer"));
- root->setOpen(true);
- connect(m_ports, TQT_SIGNAL(selectionChanged(TQListViewItem*)), TQT_SLOT(slotPortSelected(TQListViewItem*)));
- TQLabel *l1 = new TQLabel(i18n("URI:"), this);
- m_localuri = new TQLineEdit(this);
- connect( m_localuri, TQT_SIGNAL( textChanged( const TQString& ) ), TQT_SLOT( slotTextChanged( const TQString& ) ) );
- m_parents[0] = new TQListViewItem(root, i18n("Parallel"));
- m_parents[1] = new TQListViewItem(root, m_parents[0], i18n("Serial"));
- m_parents[2] = new TQListViewItem(root, m_parents[1], i18n("USB"));
- m_parents[3] = new TQListViewItem(root, m_parents[2], i18n("Others"));
- for (int i=0;i<4;i++)
- m_parents[i]->setPixmap(0, SmallIcon("input_devices_settings"));
- TQLabel *l2 = new TQLabel(i18n("<p>Select a valid detected port, or enter directly the corresponding URI in the bottom edit field.</p>"), this);
-
- TQVBoxLayout *lay0 = new TQVBoxLayout(this, 0, 10);
- TQHBoxLayout *lay1 = new TQHBoxLayout(0, 0, 10);
- lay0->addWidget(l2, 0);
- lay0->addWidget(m_ports, 1);
- lay0->addLayout(lay1, 0);
- lay1->addWidget(l1, 0);
- lay1->addWidget(m_localuri, 1);
-}
-
-bool KMWLocal::isValid(TQString& msg)
-{
- if (m_localuri->text().isEmpty())
- {
- msg = i18n("The URI is empty","Empty URI.");
- return false;
- }
- else if (m_uris.findIndex(m_localuri->text()) == -1)
- {
- if (KMessageBox::warningContinueCancel(this, i18n("The local URI doesn't correspond to a detected port. Continue?")) == KMessageBox::Cancel)
- {
- msg = i18n("Select a valid port.");
- return false;
- }
- }
- return true;
-}
-
-void KMWLocal::slotPortSelected(TQListViewItem *item)
-{
- if ( m_block )
- return;
-
- TQString uri;
- if (!item || item->depth() <= 1 || item->depth() > 3)
- uri = TQString::null;
- else if (item->depth() == 3)
- uri = item->parent()->text( 1 );
- else
- uri = item->text( 1 );
- m_block = true;
- m_localuri->setText( uri );
- m_block = false;
-}
-
-void KMWLocal::updatePrinter(KMPrinter *printer)
-{
- TQListViewItem *item = m_ports->selectedItem();
- if ( item && item->depth() == 3 )
- printer->setOption( "kde-autodetect", item->text( 0 ) );
- printer->setDevice(m_localuri->text());
-}
-
-void KMWLocal::initPrinter(KMPrinter *printer)
-{
- if (!m_initialized)
- initialize();
-
- if (printer)
- {
- m_localuri->setText(printer->device());
- }
-}
-
-TQListViewItem* KMWLocal::lookForItem( const TQString& uri )
-{
- for ( int i=0; i<4; i++ )
- {
- TQListViewItem *item = m_parents[ i ]->firstChild();
- while ( item )
- if ( item->text( 1 ) == uri )
- if ( item->firstChild() )
- return item->firstChild();
- else
- return item;
- else
- item = item->nextSibling();
- }
- return 0;
-}
-
-void KMWLocal::slotTextChanged( const TQString& txt )
-{
- if ( m_block )
- return;
-
- TQListViewItem *item = lookForItem( txt );
- if ( item )
- {
- m_block = true;
- m_ports->setSelected( item, true );
- m_block = false;
- }
- else
- m_ports->clearSelection();
-}
-
-void KMWLocal::initialize()
-{
- TQStringList list = KMFactory::self()->manager()->detectLocalPrinters();
- if (list.isEmpty() || (list.count() % 4) != 0)
- {
- KMessageBox::error(this, i18n("Unable to detect local ports."));
- return;
- }
- TQListViewItem *last[4] = {0, 0, 0, 0};
- for (TQStringList::Iterator it=list.begin(); it!=list.end(); ++it)
- {
- TQString cl = *it;
- ++it;
-
- TQString uri = *it;
- int p = uri.find( ':' );
- TQString desc = *(++it), prot = ( p != -1 ? uri.left( p ) : TQString::null );
- TQString printer = *(++it);
- int index(-1);
- if (desc.isEmpty())
- desc = uri;
- if (prot == "parallel" || prot == "file")
- index = 0;
- else if (prot == "serial")
- index = 1;
- else if (prot == "usb")
- index = 2;
- else if (cl == "direct")
- index = 3;
- else
- continue;
- last[index] = new TQListViewItem(m_parents[index], last[index], desc, uri);
- last[index]->setPixmap(0, SmallIcon("blockdevice"));
- m_parents[index]->setOpen(true);
- m_uris << uri;
- if (!printer.isEmpty())
- {
- TQListViewItem *pItem = new TQListViewItem(last[index], printer);
- last[index]->setOpen(true);
- pItem->setPixmap(0, SmallIcon("tdeprint_printer"));
- }
- }
- m_initialized = true;
-}
-
-#include "kmwlocal.moc"