diff options
Diffstat (limited to 'konqueror/konq_profiledlg.cc')
-rw-r--r-- | konqueror/konq_profiledlg.cc | 266 |
1 files changed, 0 insertions, 266 deletions
diff --git a/konqueror/konq_profiledlg.cc b/konqueror/konq_profiledlg.cc deleted file mode 100644 index f7241713b..000000000 --- a/konqueror/konq_profiledlg.cc +++ /dev/null @@ -1,266 +0,0 @@ -/* This file is part of the KDE project - Copyright (C) 1999 Simon Hausmann <[email protected]> - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program 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 General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - -*/ - -#include "konq_profiledlg.h" -#include "konq_viewmgr.h" -#include "konq_settingsxt.h" - -#include <tqcheckbox.h> -#include <tqdir.h> -#include <tqvbox.h> -#include <tqlabel.h> -#include <tqheader.h> -#include <tqlineedit.h> - -#include <tdelistview.h> -#include <kdebug.h> -#include <kstdguiitem.h> -#include <tdeio/global.h> -#include <kstandarddirs.h> -#include <tdelocale.h> -#include <ksimpleconfig.h> -#include <kseparator.h> -#include <kpushbutton.h> - -KonqProfileMap KonqProfileDlg::readAllProfiles() -{ - KonqProfileMap mapProfiles; - - TQStringList profiles = TDEGlobal::dirs()->findAllResources( "data", "konqueror/profiles/*", false, true ); - TQStringList::ConstIterator pIt = profiles.begin(); - TQStringList::ConstIterator pEnd = profiles.end(); - for (; pIt != pEnd; ++pIt ) - { - TQFileInfo info( *pIt ); - TQString profileName = TDEIO::decodeFileName( info.baseName() ); - KSimpleConfig cfg( *pIt, true ); - if ( cfg.hasGroup( "Profile" ) ) - { - cfg.setGroup( "Profile" ); - if ( cfg.hasKey( "Name" ) ) - profileName = cfg.readEntry( "Name" ); - - mapProfiles.insert( profileName, *pIt ); - } - } - - return mapProfiles; -} - -KonqProfileItem::KonqProfileItem( TDEListView *parent, const TQString & text ) - : TQListViewItem( parent, text ), m_profileName( text ) -{ -} - -#define BTN_RENAME KDialogBase::User1 -#define BTN_DELETE KDialogBase::User2 -#define BTN_SAVE KDialogBase::User3 - -KonqProfileDlg::KonqProfileDlg( KonqViewManager *manager, const TQString & preselectProfile, TQWidget *parent ) -: KDialogBase( parent, "konq_profile_dialog", true, i18n( "Profile Management" ), - KDialogBase::Close | BTN_RENAME | BTN_DELETE | BTN_SAVE, BTN_SAVE, true, - KGuiItem( i18n( "&Rename Profile" ) ), - KGuiItem( i18n( "&Delete Profile" ), "edit-delete"), - KStdGuiItem::save() ) -{ - m_pViewManager = manager; - - TQVBox* box = new TQVBox( this ); - box->setSpacing( KDialog::spacingHint() ); - setMainWidget( box ); - - TQLabel *lblName = new TQLabel( i18n( "&Profile name:" ), box ); - - m_pProfileNameLineEdit = new TQLineEdit( box ); - m_pProfileNameLineEdit->setFocus(); - - lblName->setBuddy( m_pProfileNameLineEdit ); - - m_pListView = new TDEListView( box ); - m_pListView->setAllColumnsShowFocus(true); - m_pListView->header()->hide(); - m_pListView->addColumn(""); - m_pListView->setRenameable( 0 ); - - box->setStretchFactor( m_pListView, 1 ); - - connect( m_pListView, TQT_SIGNAL( itemRenamed( TQListViewItem * ) ), - TQT_SLOT( slotItemRenamed( TQListViewItem * ) ) ); - - loadAllProfiles( preselectProfile ); - m_pListView->setMinimumSize( m_pListView->sizeHint() ); - - m_cbSaveURLs = new TQCheckBox( i18n("Save &URLs in profile"), box ); - m_cbSaveURLs->setChecked( KonqSettings::saveURLInProfile() ); - - m_cbSaveSize = new TQCheckBox( i18n("Save &window size in profile"), box ); - m_cbSaveSize->setChecked( KonqSettings::saveWindowSizeInProfile() ); - - connect( m_pListView, TQT_SIGNAL( selectionChanged( TQListViewItem * ) ), - this, TQT_SLOT( slotSelectionChanged( TQListViewItem * ) ) ); - - connect( m_pProfileNameLineEdit, TQT_SIGNAL( textChanged( const TQString & ) ), - this, TQT_SLOT( slotTextChanged( const TQString & ) ) ); - - enableButton( BTN_RENAME, m_pListView->selectedItem ()!=0 ); - enableButton( BTN_DELETE, m_pListView->selectedItem ()!=0 ); - - resize( sizeHint() ); -} - -KonqProfileDlg::~KonqProfileDlg() -{ - KonqSettings::setSaveURLInProfile( m_cbSaveURLs->isChecked() ); - KonqSettings::setSaveWindowSizeInProfile( m_cbSaveSize->isChecked() ); -} - -void KonqProfileDlg::loadAllProfiles(const TQString & preselectProfile) -{ - bool profileFound = false; - m_mapEntries.clear(); - m_pListView->clear(); - m_mapEntries = readAllProfiles(); - KonqProfileMap::ConstIterator eIt = m_mapEntries.begin(); - KonqProfileMap::ConstIterator eEnd = m_mapEntries.end(); - for (; eIt != eEnd; ++eIt ) - { - TQListViewItem *item = new KonqProfileItem( m_pListView, eIt.key() ); - TQString filename = eIt.data().mid( eIt.data().findRev( '/' ) + 1 ); - kdDebug(1202) << filename << endl; - if ( filename == preselectProfile ) - { - profileFound = true; - m_pProfileNameLineEdit->setText( eIt.key() ); - m_pListView->setSelected( item, true ); - } - } - if (!profileFound) - m_pProfileNameLineEdit->setText( preselectProfile); -} - -void KonqProfileDlg::slotUser3() // Save button -{ - TQString name = TDEIO::encodeFileName( m_pProfileNameLineEdit->text() ); // in case of '/' - - // Reuse filename of existing item, if any - if ( m_pListView->selectedItem() ) - { - KonqProfileMap::Iterator it = m_mapEntries.find( m_pListView->selectedItem()->text(0) ); - if ( it != m_mapEntries.end() ) - { - TQFileInfo info( it.data() ); - name = info.baseName(); - } - } - - kdDebug(1202) << "Saving as " << name << endl; - m_pViewManager->saveViewProfile( name, m_pProfileNameLineEdit->text(), - m_cbSaveURLs->isChecked(), m_cbSaveSize->isChecked() ); - - accept(); -} - -void KonqProfileDlg::slotUser2() // Delete button -{ - if(!m_pListView->selectedItem()) - return; - KonqProfileMap::Iterator it = m_mapEntries.find( m_pListView->selectedItem()->text(0) ); - - if ( it != m_mapEntries.end() && TQFile::remove( it.data() ) ) - loadAllProfiles(); - - enableButton( BTN_RENAME, m_pListView->selectedItem() != 0 ); - enableButton( BTN_DELETE, m_pListView->selectedItem() != 0 ); -} - -void KonqProfileDlg::slotUser1() // Rename button -{ - TQListViewItem *item = m_pListView->selectedItem(); - - if ( item ) - m_pListView->rename( item, 0 ); -} - -void KonqProfileDlg::slotItemRenamed( TQListViewItem * item ) -{ - KonqProfileItem * profileItem = static_cast<KonqProfileItem *>( item ); - - TQString newName = profileItem->text(0); - TQString oldName = profileItem->m_profileName; - - if (!newName.isEmpty()) - { - KonqProfileMap::ConstIterator it = m_mapEntries.find( oldName ); - - if ( it != m_mapEntries.end() ) - { - TQString fileName = it.data(); - KSimpleConfig cfg( fileName ); - cfg.setGroup( "Profile" ); - cfg.writeEntry( "Name", newName ); - cfg.sync(); - // Didn't find how to change a key... - m_mapEntries.remove( oldName ); - m_mapEntries.insert( newName, fileName ); - m_pProfileNameLineEdit->setText( newName ); - profileItem->m_profileName = newName; - } - } -} - -void KonqProfileDlg::slotSelectionChanged( TQListViewItem * item ) -{ - m_pProfileNameLineEdit->setText( item ? item->text(0) : TQString::null ); -} - -void KonqProfileDlg::slotTextChanged( const TQString & text ) -{ - enableButton( KDialogBase::User3, !text.isEmpty() ); - - // If we type the name of a profile, select it in the list - - bool itemSelected = false; - TQListViewItem * item; - - for ( item = m_pListView->firstChild() ; item ; item = item->nextSibling() ) - if ( item->text(0) == text /*only full text, not partial*/ ) - { - itemSelected = true; - m_pListView->setSelected( item, true ); - break; - } - - if ( !itemSelected ) // otherwise, clear selection - m_pListView->clearSelection(); - - if ( itemSelected ) - { - TQFileInfo fi( m_mapEntries[ item->text( 0 ) ] ); - itemSelected = itemSelected && fi.isWritable(); - } - - enableButton( BTN_RENAME, itemSelected ); - enableButton( BTN_DELETE, itemSelected ); -} - -#undef BTN_RENAME -#undef BTN_DELETE -#undef BTN_SAVE - -#include "konq_profiledlg.moc" |