Source Code (Use browser search to find items of interest.)
Class Index
kcontrol'KRootOptions (./kdebase/kcontrol/konq/rootopts.h:32)
class KRootOptions : public KCModule
{
Q_OBJECT
public:
KRootOptions(KConfig *config, QWidget *parent = 0L, const char *name = 0L );
virtual void load();
virtual void save();
virtual void defaults();
private slots:
void changed();
private:
KConfig *g_pConfig;
// Checkboxes
QCheckBox *showHiddenBox;
QCheckBox *VertAlignBox;
// Combo for the menus
void fillMenuCombo( QComboBox * combo );
//QComboBox *leftComboBox;
QComboBox *middleComboBox;
QComboBox *rightComboBox;
typedef enum { NOTHING = 0, WINDOWLISTMENU, DESKTOPMENU, APPMENU } menuChoice;
// Desktop Paths
QLineEdit *leDesktop;
QLineEdit *leTrash;
QLineEdit *leTemplates;
QLineEdit *leAutostart;
void moveDir( QString src, QString dest );
private slots:
void slotResult( KIO::Job * job );
};
kcontrol'KRootOptions::KRootOptions() (./kdebase/kcontrol/konq/rootopts.cpp:44)
KRootOptions::KRootOptions(KConfig *config, QWidget *parent, const char *name )
: KCModule( parent, name ), g_pConfig(config)
{
QLabel * tmpLabel;
kcontrol'KRootOptions::fillMenuCombo() (./kdebase/kcontrol/konq/rootopts.cpp:150)
void KRootOptions::fillMenuCombo( QComboBox * combo )
{
combo->insertItem( i18n("No action") );
combo->insertItem( i18n("Window List Menu") );
combo->insertItem( i18n("Desktop Menu") );
combo->insertItem( i18n("Application Menu") );
}
kcontrol'KRootOptions::load() (./kdebase/kcontrol/konq/rootopts.cpp:158)
void KRootOptions::load()
{
g_pConfig->setGroup( "Desktop Icons" );
bool bShowHidden = g_pConfig->readBoolEntry("ShowHidden", DEFAULT_SHOW_HIDDEN_ROOT_ICONS);
showHiddenBox->setChecked(bShowHidden);
bool bVertAlign = g_pConfig->readNumEntry("VertAlign", DEFAULT_VERT_ALIGN);
VertAlignBox->setChecked(bVertAlign);
//
g_pConfig->setGroup( "Mouse Buttons" );
QString s;
/*
s = g_pConfig->readEntry( "Left", "None" );
for ( int c = 0 ; c < 4 ; c ++ )
if (s == s_choices[c])
{ leftComboBox->setCurrentItem( c ); break; }
*/
s = g_pConfig->readEntry( "Middle", "WindowListMenu" );
for ( int c = 0 ; c < 4 ; c ++ )
if (s == s_choices[c])
{ middleComboBox->setCurrentItem( c ); break; }
s = g_pConfig->readEntry( "Right", "DesktopMenu" );
for ( int c = 0 ; c < 4 ; c ++ )
if (s == s_choices[c])
{ rightComboBox->setCurrentItem( c ); break; }
// Desktop Paths
leDesktop->setText( KGlobalSettings::desktopPath() );
leTrash->setText( KGlobalSettings::trashPath() );
leTemplates->setText( KGlobalSettings::templatesPath() );
leAutostart->setText( KGlobalSettings::autostartPath() );
}
kcontrol'KRootOptions::defaults() (./kdebase/kcontrol/konq/rootopts.cpp:190)
void KRootOptions::defaults()
{
showHiddenBox->setChecked(DEFAULT_SHOW_HIDDEN_ROOT_ICONS);
VertAlignBox->setChecked(true);
//leftComboBox->setCurrentItem( NOTHING );
middleComboBox->setCurrentItem( WINDOWLISTMENU );
rightComboBox->setCurrentItem( DESKTOPMENU );
// Desktop Paths
leDesktop->setText( QDir::homeDirPath() + "/Desktop/" );
leTrash->setText( QDir::homeDirPath() + "/Desktop/Trash/" );
leTemplates->setText( QDir::homeDirPath() + "/Desktop/Templates/" );
leAutostart->setText( QDir::homeDirPath() + "/Desktop/Autostart/" );
}
kcontrol'KRootOptions::save() (./kdebase/kcontrol/konq/rootopts.cpp:205)
void KRootOptions::save()
{
g_pConfig->setGroup( "Desktop Icons" );
g_pConfig->writeEntry("ShowHidden", showHiddenBox->isChecked());
g_pConfig->writeEntry("VertAlign",VertAlignBox->isChecked());
g_pConfig->setGroup( "Mouse Buttons" );
g_pConfig->writeEntry("Left", "" /* s_choices[ leftComboBox->currentItem() ]*/);
g_pConfig->writeEntry("Middle", s_choices[ middleComboBox->currentItem() ]);
g_pConfig->writeEntry("Right", s_choices[ rightComboBox->currentItem() ]);
KConfig *config = KGlobal::config();
KConfigGroupSaver cgs( config, "Paths" );
bool pathChanged = false;
if ( leDesktop->text() != KGlobalSettings::desktopPath() )
{
//TODO
// Test which other paths were inside this one (as it is by default)
// and for each, test where it should go.
// * Inside destination -> let them be moved with the desktop (but adjust name if necessary)
// * Not inside destination -> move first
// !!!
moveDir( KGlobalSettings::desktopPath(), leDesktop->text() );
config->writeEntry( "Desktop", leDesktop->text(), true, true );
pathChanged = true;
}
if ( leTrash->text() != KGlobalSettings::trashPath() )
{
moveDir( KGlobalSettings::trashPath(), leTrash->text() );
config->writeEntry( "Trash", leTrash->text(), true, true );
pathChanged = true;
}
if ( leTemplates->text() != KGlobalSettings::templatesPath() )
{
moveDir( KGlobalSettings::templatesPath(), leTemplates->text() );
config->writeEntry( "Templates", leTemplates->text(), true, true );
pathChanged = true;
}
if ( leAutostart->text() != KGlobalSettings::autostartPath() )
{
moveDir( KGlobalSettings::autostartPath(), leAutostart->text() );
config->writeEntry( "Autostart", leAutostart->text(), true, true );
pathChanged = true;
}
if (pathChanged)
KIPC::sendMessageAll(KIPC::SettingsChanged, KApplication::SETTINGS_PATHS);
config->sync();
g_pConfig->sync();
}
kcontrol'KRootOptions::moveDir() (./kdebase/kcontrol/konq/rootopts.cpp:263)
void KRootOptions::moveDir( QString src, QString dest )
{
KURL::encode(src);
KURL::encode(dest);
KIO::Job * job = KIO::move( KURL(src), KURL(dest) );
connect( job, SIGNAL( result( KIO::Job * ) ), this, SLOT( slotResult( KIO::Job * ) ) );
// wait for job
qApp->enter_loop();
}
kcontrol'KRootOptions::slotResult() (./kdebase/kcontrol/konq/rootopts.cpp:273)
void KRootOptions::slotResult( KIO::Job * job )
{
qApp->exit_loop();
if (job->error())
job->showErrorDialog(this);
}
kcontrol'KRootOptions::changed() (./kdebase/kcontrol/konq/rootopts.cpp:281)
void KRootOptions::changed()
{
emit KCModule::changed(true);
}