Source Code (Use browser search to find items of interest.)
Class Index
kmail'ConfigureDialog (./kdenetwork/kmail/configuredialog.h:140)
class ConfigureDialog : public KDialogBase
{
Q_OBJECT
private:
class ApplicationLaunch
{
public:
ApplicationLaunch( const QString &cmd );
void run( void );
private:
void doIt( void );
private:
QString mCmdline;
};
class ListView : public KListView
{
public:
ListView( QWidget *parent=0, const char *name=0, int visibleItem=10 );
void resizeColums( void );
void setVisibleItem( int visibleItem, bool updateSize=true );
virtual QSize sizeHint( void ) const;
protected:
virtual void resizeEvent( QResizeEvent *e );
virtual void showEvent( QShowEvent *e );
private:
int mVisibleItem;
};
struct IdentityWidget
{
int pageIndex;
QComboBox *identityCombo;
QPushButton *removeIdentityButton;
QLineEdit *nameEdit;
QLineEdit *organizationEdit;
QLineEdit *emailEdit;
QLineEdit *replytoEdit;
QLineEdit *signatureFileEdit;
QLabel *signatureFileLabel;
QCheckBox *signatureExecCheck;
QPushButton *signatureBrowseButton;
QPushButton *signatureEditButton;
QRadioButton *signatureFileRadio;
QRadioButton *signatureTextRadio;
QMultiLineEdit *signatureTextEdit;
QString mActiveIdentity;
};
struct NetworkWidget
{
int pageIndex;
QRadioButton *sendmailRadio;
QRadioButton *smtpRadio;
QPushButton *sendmailChooseButton;
QLineEdit *sendmailLocationEdit;
QLineEdit *smtpServerEdit;
QLineEdit *smtpPortEdit;
ListView *accountList;
QPushButton *addAccountButton;
QPushButton *modifyAccountButton;
QPushButton *removeAccountButton;
QComboBox *sendMethodCombo;
QComboBox *messagePropertyCombo;
QCheckBox *confirmSendCheck;
};
struct AppearanceWidget
{
AppearanceWidget( void )
{
activeFontIndex = -1;
}
int pageIndex;
QCheckBox *customFontCheck;
QLabel *fontLocationLabel;
QComboBox *fontLocationCombo;
KFontChooser *fontChooser;
QCheckBox *customColorCheck;
ColorListBox *colorList;
QCheckBox *longFolderCheck;
QCheckBox *nestedMessagesCheck;
int activeFontIndex;
QString fontString[6];
};
struct ComposerWidget
{
int pageIndex;
QLineEdit *phraseReplyEdit;
QLineEdit *phraseReplyAllEdit;
QLineEdit *phraseForwardEdit;
QLineEdit *phraseindentPrefixEdit;
QCheckBox *autoAppSignFileCheck;
QCheckBox *smartQuoteCheck;
QCheckBox *pgpAutoSignatureCheck;
QCheckBox *wordWrapCheck;
QSpinBox *wrapColumnSpin;
};
struct MimeWidget
{
MimeWidget( void )
{
currentTagItem = 0;
}
int pageIndex;
ListView *tagList;
QListViewItem *currentTagItem;
QLineEdit *tagNameEdit;
QLineEdit *tagValueEdit;
QLabel *tagNameLabel;
QLabel *tagValueLabel;
};
struct SecurityWidget
{
int pageIndex;
KpgpConfig *pgpConfig;
};
struct MiscWidget
{
int pageIndex;
QCheckBox *emptyTrashCheck;
QCheckBox *sendOutboxCheck;
QCheckBox *sendReceiptCheck;
QCheckBox *compactOnExitCheck;
QCheckBox *externalEditorCheck;
QLineEdit *externalEditorEdit;
QPushButton *externalEditorChooseButton;
QLabel *externalEditorLabel;
QLabel *externalEditorHelp;
QCheckBox *beepNewMailCheck;
QCheckBox *showMessageBoxCheck;
QCheckBox *mailCommandCheck;
QLineEdit *mailCommandEdit;
QPushButton *mailCommandChooseButton;
QLabel *mailCommandLabel;
};
enum EPage
{
page_identity = 0,
page_network,
page_appearance,
page_composer,
page_mimeheader,
page_security,
page_misc,
page_max
};
public:
ConfigureDialog( QWidget *parent=0, const char *name=0, bool modal=true );
~ConfigureDialog( void );
virtual void show( void );
protected:
virtual void slotDefault( void );
virtual void slotOk( void );
virtual void slotApply( void );
void setup( void );
private:
void makeIdentityPage( void );
void makeNetworkPage( void );
void makeApperancePage( void );
void makeComposerPage( void );
void makeMimePage( void );
void makeSecurityPage( void );
void makeMiscPage( void );
void setupIdentityPage( void );
void setupNetworkPage( void );
void setupApperancePage( void );
void setupComposerPage( void );
void setupMimePage( void );
void setupSecurityPage( void );
void setupMiscPage( void );
void saveActiveIdentity( void );
void setIdentityInformation( const QString &identityName );
QStringList identityStrings( void );
private slots:
void slotNewIdentity( void );
void slotRemoveIdentity( void );
void slotIdentitySelectorChanged( void );
void slotSignatureType( int id );
void slotSignatureChooser( void );
void slotSignatureEdit( void );
void slotSignatureFile( const QString &filename );
void slotSignatureExecMode( bool state );
void slotSendmailType( int id );
void slotSendmailChooser( void );
void slotAccountSelected( void );
void slotAddAccount( void );
void slotModifySelectedAccount( void );
void slotRemoveSelectedAccount( void );
void slotCustomFontSelectionChanged( void );
void slotFontSelectorChanged( int index );
void slotCustomColorSelectionChanged( void );
void slotWordWrapSelectionChanged( void );
void slotMimeHeaderSelectionChanged( void );
void slotMimeHeaderNameChanged( const QString &text );
void slotMimeHeaderValueChanged( const QString &text );
void slotNewMimeHeader( void );
void slotDeleteMimeHeader( void );
void slotExternalEditorSelectionChanged( void );
void slotMailCommandSelectionChanged( void );
void slotExternalEditorChooser( void );
void slotMailCommandChooser( void );
private:
IdentityWidget mIdentity;
NetworkWidget mNetwork;
AppearanceWidget mAppearance;
ComposerWidget mComposer;
MimeWidget mMime;
SecurityWidget mSecurity;
MiscWidget mMisc;
IdentityList mIdentityList;
};
kmail'ConfigureDialog::ConfigureDialog() (./kdenetwork/kmail/configuredialog.cpp:951)
ConfigureDialog::ConfigureDialog( QWidget *parent, const char *name,
bool modal )
:KDialogBase( IconList, i18n("Configure"), Help|Default|Apply|Ok|Cancel,
Ok, parent, name, modal, true )
{
setHelp( "kmail/kmail.html", QString::null );
setIconListAllVisible( true );
enableButton( Default, false );
makeIdentityPage();
makeNetworkPage();
makeApperancePage();
makeComposerPage();
makeMimePage();
makeSecurityPage();
makeMiscPage();
}
kmail'ConfigureDialog::~ConfigureDialog() (./kdenetwork/kmail/configuredialog.cpp:970)
ConfigureDialog::~ConfigureDialog( void )
{
}
kmail'ConfigureDialog::show() (./kdenetwork/kmail/configuredialog.cpp:975)
void ConfigureDialog::show( void )
{
if( isVisible() == false )
{
setup();
showPage(0);
}
KDialogBase::show();
}
kmail'ConfigureDialog::makeIdentityPage() (./kdenetwork/kmail/configuredialog.cpp:986)
void ConfigureDialog::makeIdentityPage( void )
{
QFrame *page = addPage( i18n("Identity"), i18n("Personal information"),
QPixmap(user_xpm) );
QVBoxLayout *topLevel = new QVBoxLayout( page, 0, spacingHint() );
mIdentity.pageIndex = pageIndex(page);
QGridLayout *glay = new QGridLayout( topLevel, 12, 3 );
glay->addColSpacing( 1, fontMetrics().maxWidth()*15 );
glay->addRowSpacing( 6, spacingHint() );
glay->setRowStretch( 11, 10 );
glay->setColStretch( 1, 10 );
QLabel *label = new QLabel( i18n("Identity:"), page );
glay->addWidget( label, 0, 0 );
QWidget *helper = new QWidget( page );
glay->addMultiCellWidget( helper, 0, 0, 1, 2 );
QHBoxLayout *hlay = new QHBoxLayout( helper, 0, spacingHint() );
mIdentity.identityCombo = new QComboBox( false, helper );
connect( mIdentity.identityCombo, SIGNAL(activated(int)),
this, SLOT(slotIdentitySelectorChanged()) );
hlay->addWidget( mIdentity.identityCombo, 10 );
QPushButton *newButton = new QPushButton( i18n("New..."), helper );
connect( newButton, SIGNAL(clicked()),
this, SLOT(slotNewIdentity()) );
newButton->setAutoDefault( false );
hlay->addWidget( newButton );
mIdentity.removeIdentityButton = new QPushButton( i18n("Remove"), helper );
connect( mIdentity.removeIdentityButton, SIGNAL(clicked()),
this, SLOT(slotRemoveIdentity()) );
mIdentity.removeIdentityButton->setAutoDefault( false );
hlay->addWidget( mIdentity.removeIdentityButton );
label = new QLabel( i18n("Name:"), page );
glay->addWidget( label, 2, 0 );
mIdentity.nameEdit = new QLineEdit( page );
glay->addMultiCellWidget( mIdentity.nameEdit, 2, 2, 1, 2 );
label = new QLabel( i18n("Organization:"), page );
glay->addWidget( label, 3, 0 );
mIdentity.organizationEdit = new QLineEdit( page );
glay->addMultiCellWidget( mIdentity.organizationEdit, 3, 3, 1, 2 );
label = new QLabel( i18n("Email Address:"), page );
glay->addWidget( label, 4, 0 );
mIdentity.emailEdit = new QLineEdit( page );
glay->addMultiCellWidget( mIdentity.emailEdit, 4, 4, 1, 2 );
label = new QLabel( i18n("Reply-To Address:"), page );
glay->addWidget( label, 5, 0 );
mIdentity.replytoEdit = new QLineEdit( page );
glay->addMultiCellWidget( mIdentity.replytoEdit, 5, 5, 1, 2 );
QButtonGroup *buttonGroup = new QButtonGroup( page );
connect( buttonGroup, SIGNAL(clicked(int)),
this, SLOT(slotSignatureType(int)) );
buttonGroup->hide();
mIdentity.signatureFileRadio =
new QRadioButton( i18n("Use a signature from file"), page );
buttonGroup->insert( mIdentity.signatureFileRadio );
glay->addMultiCellWidget( mIdentity.signatureFileRadio, 7, 7, 0, 2 );
mIdentity.signatureFileLabel = new QLabel( i18n("Signature File:"), page );
glay->addWidget( mIdentity.signatureFileLabel, 8, 0 );
mIdentity.signatureFileEdit = new QLineEdit( page );
connect( mIdentity.signatureFileEdit, SIGNAL(textChanged(const QString &)),
this, SLOT( slotSignatureFile(const QString &)) );
glay->addWidget( mIdentity.signatureFileEdit, 8, 1 );
mIdentity.signatureBrowseButton = new QPushButton( i18n("Choose..."), page );
connect( mIdentity.signatureBrowseButton, SIGNAL(clicked()),
this, SLOT(slotSignatureChooser()) );
mIdentity.signatureBrowseButton->setAutoDefault( false );
glay->addWidget( mIdentity.signatureBrowseButton, 8, 2 );
mIdentity.signatureExecCheck =
new QCheckBox( i18n("The file is a program"), page );
glay->addWidget( mIdentity.signatureExecCheck, 9, 1 );
mIdentity.signatureEditButton = new QPushButton( i18n("Edit File"), page );
connect( mIdentity.signatureEditButton, SIGNAL(clicked()),
this, SLOT(slotSignatureEdit()) );
mIdentity.signatureEditButton->setAutoDefault( false );
glay->addWidget( mIdentity.signatureEditButton, 9, 2 );
mIdentity.signatureTextRadio =
new QRadioButton( i18n("Specify signature below"), page );
buttonGroup->insert( mIdentity.signatureTextRadio );
glay->addMultiCellWidget( mIdentity.signatureTextRadio, 10, 10, 0, 2 );
mIdentity.signatureTextEdit = new QMultiLineEdit( page );
mIdentity.signatureTextEdit->setText("Does not work yet");
glay->addMultiCellWidget( mIdentity.signatureTextEdit, 11, 11, 0, 2 );
}
kmail'ConfigureDialog::makeNetworkPage() (./kdenetwork/kmail/configuredialog.cpp:1081)
void ConfigureDialog::makeNetworkPage( void )
{
QFrame *page = addPage( i18n("Network"),
i18n("Setup for sending and receiving messages"),
QPixmap(network_xpm) /*UserIcon("network")*/ );
QVBoxLayout *topLevel = new QVBoxLayout( page, 0, spacingHint() );
mNetwork.pageIndex = pageIndex(page);
QTabWidget *tabWidget = new QTabWidget( page, "tab" );
topLevel->addWidget( tabWidget );
QWidget *page1 = new QWidget( tabWidget );
tabWidget->addTab( page1, i18n("Sending Mail") );
QButtonGroup *buttonGroup = new QButtonGroup( page1 );
buttonGroup->hide();
connect( buttonGroup, SIGNAL(clicked(int)),
this, SLOT(slotSendmailType(int)) );
QGridLayout *glay = new QGridLayout( page1, 5, 4, spacingHint() );
glay->addColSpacing( 2, fontMetrics().maxWidth()*15 );
mNetwork.sendmailRadio = new QRadioButton( i18n("Sendmail"), page1 );
buttonGroup->insert(mNetwork.sendmailRadio);
glay->addMultiCellWidget(mNetwork.sendmailRadio, 0, 0, 0, 3);
QLabel *label = new QLabel( i18n("Location:"), page1 );
glay->addWidget( label, 1, 1 );
mNetwork.sendmailLocationEdit = new QLineEdit( page1 );
glay->addWidget( mNetwork.sendmailLocationEdit, 1, 2 );
mNetwork.sendmailChooseButton =
new QPushButton( i18n("Choose..."), page1 );
connect( mNetwork.sendmailChooseButton, SIGNAL(clicked()),
this, SLOT(slotSendmailChooser()) );
mNetwork.sendmailChooseButton->setAutoDefault( false );
glay->addWidget( mNetwork.sendmailChooseButton, 1, 3 );
mNetwork.smtpRadio = new QRadioButton( i18n("SMTP"), page1 );
buttonGroup->insert(mNetwork.smtpRadio);
glay->addMultiCellWidget(mNetwork.smtpRadio, 2, 2, 0, 3);
label = new QLabel( i18n("Server:"), page1 );
glay->addWidget( label, 3, 1 );
mNetwork.smtpServerEdit = new QLineEdit( page1 );
glay->addWidget( mNetwork.smtpServerEdit, 3, 2 );
label = new QLabel( i18n("Port:"), page1 );
glay->addWidget( label, 4, 1 );
mNetwork.smtpPortEdit = new QLineEdit( page1 );
mNetwork.smtpPortEdit->setValidator( new QIntValidator(page1) );
glay->addWidget( mNetwork.smtpPortEdit, 4, 2 );
QWidget *page2 = new QWidget( tabWidget );
tabWidget->addTab( page2, i18n("Properties") );
glay = new QGridLayout( page2, 4, 3, spacingHint() );
glay->setColStretch( 2, 10 );
label = new QLabel( i18n("Default send method:"), page2 );
glay->addWidget( label, 0, 0 );
mNetwork.sendMethodCombo = new QComboBox( page2 );
mNetwork.sendMethodCombo->insertItem(i18n("Send now"));
mNetwork.sendMethodCombo->insertItem(i18n("Send later"));
glay->addWidget( mNetwork.sendMethodCombo, 0, 1 );
label = new QLabel( i18n("Message Property:"), page2 );
glay->addWidget( label, 1, 0 );
mNetwork.messagePropertyCombo = new QComboBox( page2 );
mNetwork.messagePropertyCombo->insertItem(i18n("Allow 8-bit"));
mNetwork.messagePropertyCombo->insertItem(
i18n("MIME Compilant (Quoted Printable)"));
glay->addWidget( mNetwork.messagePropertyCombo, 1, 1 );
mNetwork.confirmSendCheck =
new QCheckBox(i18n("Confirm before send"), page2 );
glay->addMultiCellWidget( mNetwork.confirmSendCheck, 2, 2, 0, 1 );
buttonGroup = new QButtonGroup(i18n("&Incoming Mail"), page );
topLevel->addWidget(buttonGroup, 10 );
glay = new QGridLayout( buttonGroup, 6, 2, spacingHint() );
glay->addColSpacing( 0, fontMetrics().maxWidth()*15 );
glay->addRowSpacing( 0, fontMetrics().lineSpacing() );
glay->setColStretch( 0, 10 );
glay->setRowStretch( 5, 100 );
label = new QLabel( buttonGroup );
label->setText(i18n("Accounts: (add at least one account!)"));
glay->addMultiCellWidget(label, 1, 1, 0, 1);
mNetwork.accountList = new ListView( buttonGroup, "accountList", 5 );
mNetwork.accountList->addColumn( i18n("Name") );
mNetwork.accountList->addColumn( i18n("Type") );
mNetwork.accountList->addColumn( i18n("Folder") );
mNetwork.accountList->setAllColumnsShowFocus( true );
mNetwork.accountList->setFrameStyle( QFrame::WinPanel + QFrame::Sunken );
mNetwork.accountList->setSorting( -1 );
connect( mNetwork.accountList, SIGNAL(selectionChanged ()),
this, SLOT(slotAccountSelected()) );
connect( mNetwork.accountList, SIGNAL(doubleClicked( QListViewItem *)),
this, SLOT(slotModifySelectedAccount()) );
glay->addMultiCellWidget( mNetwork.accountList, 2, 5, 0, 0 );
mNetwork.addAccountButton =
new QPushButton( i18n("Add..."), buttonGroup );
mNetwork.addAccountButton->setAutoDefault( false );
connect( mNetwork.addAccountButton, SIGNAL(clicked()),
this, SLOT(slotAddAccount()) );
glay->addWidget( mNetwork.addAccountButton, 2, 1 );
mNetwork.modifyAccountButton =
new QPushButton( i18n("Modify..."), buttonGroup );
mNetwork.modifyAccountButton->setAutoDefault( false );
mNetwork.modifyAccountButton->setEnabled( false );
connect( mNetwork.modifyAccountButton, SIGNAL(clicked()),
this, SLOT(slotModifySelectedAccount()) );
glay->addWidget( mNetwork.modifyAccountButton, 3, 1 );
mNetwork.removeAccountButton
= new QPushButton( i18n("Remove..."), buttonGroup );
mNetwork.removeAccountButton->setAutoDefault( false );
mNetwork.removeAccountButton->setEnabled( false );
connect( mNetwork.removeAccountButton, SIGNAL(clicked()),
this, SLOT(slotRemoveSelectedAccount()) );
glay->addWidget( mNetwork.removeAccountButton, 4, 1 );
}
kmail'ConfigureDialog::makeApperancePage() (./kdenetwork/kmail/configuredialog.cpp:1208)
void ConfigureDialog::makeApperancePage( void )
{
QVBox *vbox = addVBoxPage( i18n("Appearance"),
i18n("Customize visual appearance"),
QPixmap(appearance_xpm));
QTabWidget *tabWidget = new QTabWidget( vbox, "tab" );
mAppearance.pageIndex = pageIndex(vbox);
QWidget *page1 = new QWidget( tabWidget );
tabWidget->addTab( page1, i18n("Fonts") );
QVBoxLayout *vlay = new QVBoxLayout( page1, spacingHint() );
mAppearance.customFontCheck =
new QCheckBox( i18n("Use custom fonts"), page1 );
connect( mAppearance.customFontCheck, SIGNAL(clicked() ),
this, SLOT(slotCustomFontSelectionChanged()) );
vlay->addWidget( mAppearance.customFontCheck );
QFrame *hline = new QFrame( page1 );
hline->setFrameStyle( QFrame::Sunken | QFrame::HLine );
vlay->addWidget( hline );
QHBoxLayout *hlay = new QHBoxLayout( vlay );
mAppearance.fontLocationLabel = new QLabel( i18n("Location:"), page1 );
hlay->addWidget( mAppearance.fontLocationLabel );
mAppearance.fontLocationCombo = new QComboBox( page1 );
QStringList fontStringList;
fontStringList.append( i18n("Message Body") );
fontStringList.append( i18n("Message List") );
fontStringList.append( i18n("Folder List") );
fontStringList.append( i18n("Quoted text - First level") );
fontStringList.append( i18n("Quoted text - Second level") );
fontStringList.append( i18n("Quoted text - Third level") );
mAppearance.fontLocationCombo->insertStringList(fontStringList);
connect( mAppearance.fontLocationCombo, SIGNAL(activated(int) ),
this, SLOT(slotFontSelectorChanged(int)) );
hlay->addWidget( mAppearance.fontLocationCombo );
hlay->addStretch(10);
vlay->addSpacing( spacingHint() );
mAppearance.fontChooser =
new KFontChooser( page1, "font", false, QStringList(), false, 4 );
vlay->addWidget( mAppearance.fontChooser );
QWidget *page2 = new QWidget( tabWidget );
tabWidget->addTab( page2, i18n("Colors") );
vlay = new QVBoxLayout( page2, spacingHint() );
mAppearance.customColorCheck =
new QCheckBox( i18n("Use custom colors"), page2 );
connect( mAppearance.customColorCheck, SIGNAL(clicked() ),
this, SLOT(slotCustomColorSelectionChanged()) );
vlay->addWidget( mAppearance.customColorCheck );
hline = new QFrame( page2 );
hline->setFrameStyle( QFrame::Sunken | QFrame::HLine );
vlay->addWidget( hline );
QStringList modeList;
modeList.append( i18n("Composer Background") );
modeList.append( i18n("Normal Text") );
modeList.append( i18n("Quoted Text - First level") );
modeList.append( i18n("Quoted Text - Second level") );
modeList.append( i18n("Quoted Text - Third level") );
modeList.append( i18n("URL Link/New") );
modeList.append( i18n("Followed Link/Unread") );
mAppearance.colorList = new ColorListBox( page2 );
vlay->addWidget( mAppearance.colorList, 10 );
for( uint i=0; i<modeList.count(); i++ )
{
ColorListItem *listItem = new ColorListItem( modeList[i] );
mAppearance.colorList->insertItem( listItem );
}
mAppearance.colorList->setCurrentItem(0);
QWidget *page3 = new QWidget( tabWidget );
tabWidget->addTab( page3, i18n("Layout") );
vlay = new QVBoxLayout( page3, spacingHint() );
mAppearance.longFolderCheck =
new QCheckBox( i18n("Show long folder list"), page3 );
vlay->addWidget( mAppearance.longFolderCheck );
mAppearance.nestedMessagesCheck =
new QCheckBox( i18n("Collect replies in a nested treelist"), page3 );
vlay->addWidget( mAppearance.nestedMessagesCheck );
vlay->addStretch(10); // Eat unused space a bottom
}
kmail'ConfigureDialog::makeComposerPage() (./kdenetwork/kmail/configuredialog.cpp:1299)
void ConfigureDialog::makeComposerPage( void )
{
QFrame *page = addPage( i18n("Composer"),
i18n("Phrases and general behavior"),
QPixmap(composer_xpm) );
QVBoxLayout *topLevel = new QVBoxLayout( page, 0, spacingHint() );
mComposer.pageIndex = pageIndex(page);
QGroupBox *group = new QGroupBox(i18n("Phrases"), page );
topLevel->addWidget( group );
QGridLayout *glay = new QGridLayout( group, 6, 2, spacingHint() );
glay->addRowSpacing( 0, fontMetrics().lineSpacing() );
glay->setColStretch( 1, 10 );
QLabel *label = new QLabel( group );
label->setText(
i18n( "The following placeholders are supported in the reply phrases:\n"
"%D=date, %S=subject, %F=sender, %%=percent sign, %_=space"));
glay->addMultiCellWidget( label, 1, 1, 0, 1 );
label = new QLabel( i18n("Reply to sender:"), group );
glay->addWidget( label, 2, 0 );
mComposer.phraseReplyEdit = new QLineEdit( group );
glay->addWidget( mComposer.phraseReplyEdit, 2, 1 );
label = new QLabel( i18n("Reply to all:"), group );
glay->addWidget( label, 3, 0 );
mComposer.phraseReplyAllEdit = new QLineEdit( group );
glay->addWidget( mComposer.phraseReplyAllEdit, 3, 1 );
label = new QLabel( i18n("Forward:"), group );
glay->addWidget( label, 4, 0 );
mComposer.phraseForwardEdit = new QLineEdit( group );
glay->addWidget( mComposer.phraseForwardEdit, 4, 1 );
label = new QLabel( i18n("Indentation:"), group );
glay->addWidget( label, 5, 0 );
mComposer.phraseindentPrefixEdit = new QLineEdit( group );
glay->addWidget( mComposer.phraseindentPrefixEdit, 5, 1 );
mComposer.autoAppSignFileCheck =
new QCheckBox( i18n("Automatically append signature"), page );
topLevel->addWidget( mComposer.autoAppSignFileCheck );
mComposer.smartQuoteCheck =
new QCheckBox( i18n("Use smart quoting"), page );
topLevel->addWidget( mComposer.smartQuoteCheck );
mComposer.pgpAutoSignatureCheck =
new QCheckBox( i18n("Automatically sign messages using PGP"), page );
topLevel->addWidget( mComposer.pgpAutoSignatureCheck );
QHBoxLayout *hlay = new QHBoxLayout( topLevel );
mComposer.wordWrapCheck =
new QCheckBox( i18n("Word wrap at column:"), page );
connect( mComposer.wordWrapCheck, SIGNAL(clicked() ),
this, SLOT(slotWordWrapSelectionChanged()) );
hlay->addWidget( mComposer.wordWrapCheck );
mComposer.wrapColumnSpin = new QSpinBox( page );
mComposer.wrapColumnSpin->setRange( 1, 10000 );
hlay->addWidget( mComposer.wrapColumnSpin, 0, AlignLeft );
hlay->addStretch(10);
topLevel->addStretch(10);
}
kmail'ConfigureDialog::makeMimePage() (./kdenetwork/kmail/configuredialog.cpp:1364)
void ConfigureDialog::makeMimePage( void )
{
QFrame *page = addPage( i18n("Mime Headers"),
i18n("Define custom mime header tags for outgoing emails"),
QPixmap(mime_xpm) );
QVBoxLayout *topLevel = new QVBoxLayout( page, 0, spacingHint() );
mMime.pageIndex = pageIndex(page);
QLabel *label = new QLabel( page );
label->setText(i18n("Define custom mime header tags for outgoing emails:"));
topLevel->addWidget( label );
mMime.tagList = new ListView( page, "tagList" );
mMime.tagList->addColumn( i18n("Name") );
mMime.tagList->addColumn( i18n("Value") );
mMime.tagList->setAllColumnsShowFocus( true );
mMime.tagList->setFrameStyle( QFrame::WinPanel + QFrame::Sunken );
mMime.tagList->setSorting( -1 );
connect( mMime.tagList, SIGNAL(selectionChanged()),
this, SLOT(slotMimeHeaderSelectionChanged()) );
topLevel->addWidget( mMime.tagList );
QGridLayout *glay = new QGridLayout( topLevel, 3, 2 );
glay->setColStretch( 1, 10 );
mMime.tagNameLabel = new QLabel(i18n("Name:"), page );
mMime.tagNameLabel->setEnabled(false);
glay->addWidget( mMime.tagNameLabel, 0, 0 );
mMime.tagNameEdit = new QLineEdit(page);
mMime.tagNameEdit->setEnabled(false);
connect( mMime.tagNameEdit, SIGNAL(textChanged(const QString&)),
this, SLOT(slotMimeHeaderNameChanged(const QString&)) );
glay->addWidget( mMime.tagNameEdit, 0, 1 );
mMime.tagValueLabel = new QLabel(i18n("Value:"), page );
mMime.tagValueLabel->setEnabled(false);
glay->addWidget( mMime.tagValueLabel, 1, 0 );
mMime.tagValueEdit = new QLineEdit(page);
mMime.tagValueEdit->setEnabled(false);
connect( mMime.tagValueEdit, SIGNAL(textChanged(const QString&)),
this, SLOT(slotMimeHeaderValueChanged(const QString&)) );
glay->addWidget( mMime.tagValueEdit, 1, 1 );
QWidget *helper = new QWidget( page );
glay->addWidget( helper, 2, 1 );
QHBoxLayout *hlay = new QHBoxLayout( helper, 0, spacingHint() );
QPushButton *pushButton = new QPushButton(i18n("&New"), helper );
connect( pushButton, SIGNAL(clicked()), this, SLOT(slotNewMimeHeader()) );
pushButton->setAutoDefault( false );
hlay->addWidget( pushButton );
pushButton = new QPushButton(i18n("Dele&te"), helper );
connect( pushButton, SIGNAL(clicked()), this, SLOT(slotDeleteMimeHeader()));
pushButton->setAutoDefault( false );
hlay->addWidget( pushButton );
hlay->addStretch(10);
topLevel->addSpacing( spacingHint()*2 );
}
kmail'ConfigureDialog::makeSecurityPage() (./kdenetwork/kmail/configuredialog.cpp:1424)
void ConfigureDialog::makeSecurityPage( void )
{
QVBox *vbox = addVBoxPage( i18n("Security"),
i18n("Security Settings"),
QPixmap(security_xpm) /*UserIcon("security")*/ );
mSecurity.pageIndex = pageIndex(vbox);
QTabWidget *tabWidget = new QTabWidget( vbox, "tab" );
QWidget *page1 = new QWidget( tabWidget );
tabWidget->addTab( page1, i18n("PGP") );
QVBoxLayout *vlay = new QVBoxLayout( page1, spacingHint() );
mSecurity.pgpConfig = new KpgpConfig(page1);
vlay->addWidget( mSecurity.pgpConfig );
vlay->addStretch(10);
}
kmail'ConfigureDialog::makeMiscPage() (./kdenetwork/kmail/configuredialog.cpp:1444)
void ConfigureDialog::makeMiscPage( void )
{
//KIconLoader *loader = instace->iconLoader();
///KGlobal::instance()->iconLoader()
QFrame *page = addPage( i18n("Miscellaneous"), i18n("Various settings"),
KGlobal::instance()->iconLoader()->loadIcon( "misc", KIcon::NoGroup,
KIcon::SizeMedium ));
QVBoxLayout *topLevel = new QVBoxLayout( page, 0, spacingHint() );
mMisc.pageIndex = pageIndex(page);
//---------- group: folders
QGroupBox *group = new QGroupBox( i18n("&Folders"), page );
topLevel->addWidget( group );
QVBoxLayout *vlay = new QVBoxLayout( group, spacingHint() );
vlay->addSpacing( fontMetrics().lineSpacing() );
mMisc.emptyTrashCheck =
new QCheckBox(i18n("Empty trash on exit"), group );
vlay->addWidget( mMisc.emptyTrashCheck );
mMisc.sendOutboxCheck =
new QCheckBox(i18n("Send Mail in outbox Folder on Check"), group );
vlay->addWidget( mMisc.sendOutboxCheck );
mMisc.sendReceiptCheck = new QCheckBox(
i18n("Automatically send receive- and read confirmations"), group );
vlay->addWidget( mMisc.sendReceiptCheck );
mMisc.compactOnExitCheck =
new QCheckBox(i18n("Compact all folders on exit"), group );
vlay->addWidget( mMisc.compactOnExitCheck );
//---------- group: External editor
group = new QGroupBox( i18n("&External Editor"), page );
topLevel->addWidget( group );
vlay = new QVBoxLayout( group, spacingHint() );
vlay->addSpacing( fontMetrics().lineSpacing() );
mMisc.externalEditorCheck =
new QCheckBox(i18n("Use external editor instead of composer"), group );
connect( mMisc.externalEditorCheck, SIGNAL(clicked() ),
this, SLOT(slotExternalEditorSelectionChanged()) );
vlay->addWidget( mMisc.externalEditorCheck );
QHBoxLayout *hlay = new QHBoxLayout( vlay );
mMisc.externalEditorLabel = new QLabel( i18n("Specify editor:"), group );
hlay->addWidget( mMisc.externalEditorLabel );
mMisc.externalEditorEdit = new QLineEdit( group );
hlay->addWidget( mMisc.externalEditorEdit );
mMisc.externalEditorChooseButton =
new QPushButton( i18n("Choose..."), group );
connect( mMisc.externalEditorChooseButton, SIGNAL(clicked()),
this, SLOT(slotExternalEditorChooser()) );
mMisc.externalEditorChooseButton->setAutoDefault( false );
hlay->addWidget( mMisc.externalEditorChooseButton );
mMisc.externalEditorHelp = new QLabel( group );
mMisc.externalEditorHelp->setText(
i18n("\"%f\" will be replaced with the filename to edit."));
vlay->addWidget( mMisc.externalEditorHelp );
//---------- group: New Mail Notification
group = new QGroupBox( i18n("&New Mail Notification"), page );
topLevel->addWidget( group );
vlay = new QVBoxLayout( group, spacingHint() );
vlay->addSpacing( fontMetrics().lineSpacing() );
mMisc.beepNewMailCheck =
new QCheckBox(i18n("Beep on new mail"), group );
vlay->addWidget( mMisc.beepNewMailCheck );
mMisc.showMessageBoxCheck =
new QCheckBox(i18n("Display message box on new mail"), group );
vlay->addWidget( mMisc.showMessageBoxCheck );
mMisc.mailCommandCheck =
new QCheckBox( i18n("Execute command line on new mail"), group );
vlay->addWidget( mMisc.mailCommandCheck );
connect( mMisc.mailCommandCheck, SIGNAL(clicked() ),
this, SLOT(slotMailCommandSelectionChanged()) );
hlay = new QHBoxLayout( vlay );
mMisc.mailCommandLabel = new QLabel( i18n("Specify command:"), group );
hlay->addWidget( mMisc.mailCommandLabel );
mMisc.mailCommandEdit = new QLineEdit( group );
hlay->addWidget( mMisc.mailCommandEdit );
mMisc.mailCommandChooseButton =
new QPushButton( i18n("Choose..."), group );
connect( mMisc.mailCommandChooseButton, SIGNAL(clicked()),
this, SLOT(slotMailCommandChooser()) );
mMisc.mailCommandChooseButton->setAutoDefault( false );
hlay->addWidget( mMisc.mailCommandChooseButton );
int w1 = mMisc.externalEditorLabel->sizeHint().width();
int w2 = mMisc.mailCommandLabel->sizeHint().width();
mMisc.externalEditorLabel->setMinimumWidth( QMAX( w1, w2 ) );
mMisc.mailCommandLabel->setMinimumWidth( QMAX( w1, w2 ) );
topLevel->addStretch( 10 );
}
kmail'ConfigureDialog::setup() (./kdenetwork/kmail/configuredialog.cpp:1537)
void ConfigureDialog::setup( void )
{
setupIdentityPage();
setupNetworkPage();
setupApperancePage();
setupComposerPage();
setupMimePage();
setupSecurityPage();
setupMiscPage();
}
kmail'ConfigureDialog::setupIdentityPage() (./kdenetwork/kmail/configuredialog.cpp:1551)
void ConfigureDialog::setupIdentityPage( void )
{
mIdentityList.importData();
mIdentity.identityCombo->clear();
mIdentity.identityCombo->insertStringList( mIdentityList.identities() );
slotIdentitySelectorChanged(); // This will trigger an update
}
kmail'ConfigureDialog::setupNetworkPage() (./kdenetwork/kmail/configuredialog.cpp:1560)
void ConfigureDialog::setupNetworkPage( void )
{
if( kernel->msgSender()->method() == KMSender::smMail )
{
mNetwork.sendmailRadio->setChecked(true);
slotSendmailType(0);
}
else if( kernel->msgSender()->method() == KMSender::smSMTP )
{
mNetwork.smtpRadio->setChecked(true);
slotSendmailType(1);
}
mNetwork.sendmailLocationEdit->setText( kernel->msgSender()->mailer() );
mNetwork.smtpServerEdit->setText( kernel->msgSender()->smtpHost() );
mNetwork.smtpPortEdit->setText(
QString().setNum(kernel->msgSender()->smtpPort()) );
KConfig &config = *kapp->config();
config.setGroup("Composer");
mNetwork.sendMethodCombo->setCurrentItem(
kernel->msgSender()->sendImmediate() ? 0 : 1 );
mNetwork.messagePropertyCombo->setCurrentItem(
kernel->msgSender()->sendQuotedPrintable() ? 1 : 0 );
mNetwork.confirmSendCheck->setChecked(
config.readBoolEntry( "confirm-before-send", false ) );
mNetwork.accountList->clear();
QListViewItem *top = 0;
for( KMAccount *a = kernel->acctMgr()->first(); a!=0;
a = kernel->acctMgr()->next() )
{
QListViewItem *listItem =
new QListViewItem( mNetwork.accountList, top, a->name(), a->type() );
if( a->folder() )
{
listItem->setText( 2, a->folder()->name() );
}
top = listItem;
}
QListViewItem *listItem = mNetwork.accountList->firstChild();
if( listItem != 0 )
{
mNetwork.accountList->setSelected( listItem, true );
}
}
kmail'ConfigureDialog::setupApperancePage() (./kdenetwork/kmail/configuredialog.cpp:1609)
void ConfigureDialog::setupApperancePage( void )
{
KConfig &config = *kapp->config();
config.setGroup("Fonts");
mAppearance.fontString[0] =
config.readEntry("body-font", "helvetica-medium-r-12");
mAppearance.fontString[1] =
config.readEntry("list-font", "helvetica-medium-r-12");
mAppearance.fontString[2] =
config.readEntry("folder-font", "helvetica-medium-r-12");
mAppearance.fontString[3] =
config.readEntry("quote1-font", "helvetica-medium-r-12");
mAppearance.fontString[4] =
config.readEntry("quote2-font", "helvetica-medium-r-12");
mAppearance.fontString[5] =
config.readEntry("quote3-font", "helvetica-medium-r-12");
bool state = config.readBoolEntry("defaultFonts", false );
mAppearance.customFontCheck->setChecked( state == false ? true : false );
slotCustomFontSelectionChanged();
slotFontSelectorChanged(0);
config.setGroup("Reader");
QColor defaultColor = QColor(kapp->palette().normal().base());
mAppearance.colorList->setColor(
0, config.readColorEntry("BackgroundColor",&defaultColor ) );
defaultColor = QColor(kapp->palette().normal().text());
mAppearance.colorList->setColor(
1, config.readColorEntry("ForegroundColor",&defaultColor ) );
defaultColor = QColor(kapp->palette().normal().text());
mAppearance.colorList->setColor(
2, config.readColorEntry("QuoutedText1",&defaultColor ) );
defaultColor = QColor(kapp->palette().normal().text());
mAppearance.colorList->setColor(
3, config.readColorEntry("QuoutedText2",&defaultColor ) );
defaultColor = QColor(kapp->palette().normal().text());
mAppearance.colorList->setColor(
4, config.readColorEntry("QuoutedText3",&defaultColor ) );
defaultColor = QColor("blue");
mAppearance.colorList->setColor(
5, config.readColorEntry("LinkColor",&defaultColor ) );
defaultColor = QColor("red");
mAppearance.colorList->setColor(
6, config.readColorEntry("FollowedColor",&defaultColor ) );
state = config.readBoolEntry("defaultColors", false );
mAppearance.customColorCheck->setChecked( state == false ? true : false );
slotCustomColorSelectionChanged();
config.setGroup("Geometry");
state = config.readBoolEntry( "longFolderList", false );
mAppearance.longFolderCheck->setChecked( state );
state = config.readBoolEntry( "nestedMessages", false );
mAppearance.nestedMessagesCheck->setChecked( state );
}
kmail'ConfigureDialog::setupComposerPage() (./kdenetwork/kmail/configuredialog.cpp:1675)
void ConfigureDialog::setupComposerPage( void )
{
KConfig &config = *kapp->config();
config.setGroup("KMMessage");
QString str = config.readEntry("phrase-reply");
if (str.isEmpty()) str = i18n("On %D, you wrote:");
mComposer.phraseReplyEdit->setText(str);
str = config.readEntry("phrase-reply-all");
if (str.isEmpty()) str = i18n("On %D, %F wrote:");
mComposer.phraseReplyAllEdit->setText(str);
str = config.readEntry("phrase-forward");
if (str.isEmpty()) str = i18n("Forwarded Message");
mComposer.phraseForwardEdit->setText(str);
str = config.readEntry("indent-prefix", ">%_");
mComposer.phraseindentPrefixEdit->setText(str );
config.setGroup("Composer");
bool state = stricmp( config.readEntry("signature"), "auto" ) == 0;
mComposer.autoAppSignFileCheck->setChecked( state );
state = config.readBoolEntry( "smart-quote", true );
mComposer.smartQuoteCheck->setChecked(state);
state = config.readBoolEntry( "pgp-auto-sign", false );
mComposer.pgpAutoSignatureCheck->setChecked(state);
state = config.readBoolEntry( "word-wrap", true );
mComposer.wordWrapCheck->setChecked( state );
int value = config.readEntry("break-at","78" ).toInt();
mComposer.wrapColumnSpin->setValue( mComposer.wrapColumnSpin->bound(value) );
slotWordWrapSelectionChanged();
}
kmail'ConfigureDialog::setupMimePage() (./kdenetwork/kmail/configuredialog.cpp:1714)
void ConfigureDialog::setupMimePage( void )
{
KConfig &config = *kapp->config();
config.setGroup("General");
mMime.tagList->clear();
QListViewItem *top = 0;
int count = config.readNumEntry( "mime-header-count", 0 );
mMime.tagList->clear();
for(int i = 0; i < count; i++)
{
config.setGroup( QString("Mime #%1").arg(i) );
QString name = config.readEntry("name", "");
QString value = config.readEntry("value", "");
if( name.length() > 0 )
{
QListViewItem *listItem =
new QListViewItem( mMime.tagList, top, name, value );
top = listItem;
}
}
}
kmail'ConfigureDialog::setupSecurityPage() (./kdenetwork/kmail/configuredialog.cpp:1739)
void ConfigureDialog::setupSecurityPage( void )
{
// Nothing here
}
kmail'ConfigureDialog::setupMiscPage() (./kdenetwork/kmail/configuredialog.cpp:1745)
void ConfigureDialog::setupMiscPage( void )
{
KConfig &config = *kapp->config();
config.setGroup("General");
bool state = config.readBoolEntry("empty-trash-on-exit",false);
mMisc.emptyTrashCheck->setChecked( state );
state = config.readBoolEntry("sendOnCheck", false);
mMisc.sendOutboxCheck->setChecked( state );
state = config.readBoolEntry("send-receipts", true );
mMisc.sendReceiptCheck->setChecked( state );
state = config.readNumEntry("compact-all-on-exit", 0 ) ? true : false;
mMisc.compactOnExitCheck->setChecked( state );
state = config.readBoolEntry( "use-external-editor", false );
mMisc.externalEditorCheck->setChecked( state );
mMisc.externalEditorEdit->setText( config.readEntry("external-editor", "") );
state = config.readBoolEntry("beep-on-mail", false );
mMisc.beepNewMailCheck->setChecked( state );
state = config.readBoolEntry("msgbox-on-mail", false);
mMisc.showMessageBoxCheck->setChecked( state );
state = config.readBoolEntry("exec-on-mail", false);
mMisc.mailCommandCheck->setChecked( state );
mMisc.mailCommandEdit->setText( config.readEntry("mail-notify-cmd", ""));
slotExternalEditorSelectionChanged();
slotMailCommandSelectionChanged();
}
kmail'ConfigureDialog::slotDefault() (./kdenetwork/kmail/configuredialog.cpp:1773)
void ConfigureDialog::slotDefault( void )
{
KMessageBox::sorry( this, i18n( "This feature is not working yet." ) );
}
kmail'ConfigureDialog::slotOk() (./kdenetwork/kmail/configuredialog.cpp:1779)
void ConfigureDialog::slotOk( void )
{
slotApply();
accept();
}
kmail'ConfigureDialog::slotApply() (./kdenetwork/kmail/configuredialog.cpp:1786)
void ConfigureDialog::slotApply( void )
{
KConfig &config = *kapp->config();
int activePage = activePageIndex();
if( activePage == mIdentity.pageIndex )
{
saveActiveIdentity(); // Copy from textfields into list
mIdentityList.exportData();
}
else if( activePage == mNetwork.pageIndex )
{
// Sending mail
if( mNetwork.sendmailRadio->isChecked() )
{
kernel->msgSender()->setMethod( KMSender::smMail );
}
else
{
kernel->msgSender()->setMethod( KMSender::smSMTP );
}
kernel->msgSender()->setMailer(mNetwork.sendmailLocationEdit->text() );
kernel->msgSender()->setSmtpHost( mNetwork.smtpServerEdit->text() );
kernel->msgSender()->setSmtpPort( mNetwork.smtpPortEdit->text().toInt() );
bool sendNow = mNetwork.sendMethodCombo->currentItem() == 0;
kernel->msgSender()->setSendImmediate( sendNow );
bool quotedPrintable = mNetwork.messagePropertyCombo->currentItem() == 1;
kernel->msgSender()->setSendQuotedPrintable( quotedPrintable );
kernel->msgSender()->writeConfig(FALSE);
// Moved from composer page !
config.setGroup("Composer");
bool confirmBeforeSend = mNetwork.confirmSendCheck->isChecked();
config.writeEntry("confirm-before-send", confirmBeforeSend );
// Incoming mail
kernel->acctMgr()->writeConfig(FALSE);
}
else if( activePage == mAppearance.pageIndex )
{
slotFontSelectorChanged( mAppearance.activeFontIndex );
config.setGroup("Fonts");
bool defaultFonts = !mAppearance.customFontCheck->isChecked();
config.writeEntry("defaultFonts", defaultFonts );
config.writeEntry( "body-font", mAppearance.fontString[0] );
config.writeEntry( "list-font", mAppearance.fontString[1] );
config.writeEntry( "folder-font", mAppearance.fontString[2] );
config.writeEntry( "quote1-font", mAppearance.fontString[3] );
config.writeEntry( "quote2-font", mAppearance.fontString[4] );
config.writeEntry( "quote3-font", mAppearance.fontString[5] );
config.setGroup("Reader");
bool defaultColors = !mAppearance.customColorCheck->isChecked();
config.writeEntry("defaultColors", defaultColors );
config.writeEntry("BackgroundColor", mAppearance.colorList->color(0) );
config.writeEntry("ForegroundColor", mAppearance.colorList->color(1) );
config.writeEntry("QuoutedText1", mAppearance.colorList->color(2) );
config.writeEntry("QuoutedText2", mAppearance.colorList->color(3) );
config.writeEntry("QuoutedText3", mAppearance.colorList->color(4) );
config.writeEntry("LinkColor", mAppearance.colorList->color(5) );
config.writeEntry("FollowedColor", mAppearance.colorList->color(6) );
config.setGroup("Geometry");
bool longFolderList = mAppearance.longFolderCheck->isChecked();
config.writeEntry( "longFolderList", longFolderList );
bool nestedMessages = mAppearance.nestedMessagesCheck->isChecked();
config.writeEntry( "nestedMessages", nestedMessages );
}
else if( activePage == mComposer.pageIndex )
{
config.setGroup("KMMessage");
config.writeEntry("phrase-reply",
mComposer.phraseReplyEdit->text() );
config.writeEntry("phrase-reply-all",
mComposer.phraseReplyAllEdit->text() );
config.writeEntry("phrase-forward",
mComposer.phraseForwardEdit->text() );
config.writeEntry("indent-prefix",
mComposer.phraseindentPrefixEdit->text() );
config.setGroup("Composer");
bool autoSignature = mComposer.autoAppSignFileCheck->isChecked();
config.writeEntry("signature", autoSignature ? "auto" : "manual" );
config.writeEntry("smart-quote", mComposer.smartQuoteCheck->isChecked() );
config.writeEntry("pgp-auto-sign",
mComposer.pgpAutoSignatureCheck->isChecked() );
config.writeEntry("word-wrap", mComposer.wordWrapCheck->isChecked() );
config.writeEntry("break-at", mComposer.wrapColumnSpin->value() );
}
else if( activePage == mMime.pageIndex )
{
int numValidEntry = 0;
int numEntry = mMime.tagList->childCount();
for (int i = 0; i < numEntry; i++)
{
config.setGroup(QString("Mime #%1").arg(i));
QListViewItem *item = mMime.tagList->firstChild();
if( item->text(0).length() > 0 )
{
config.writeEntry( "name", item->text(0) );
config.writeEntry( "value", item->text(1) );
numValidEntry += 1;
}
}
config.setGroup("General");
config.writeEntry("mime-header-count", numValidEntry );
}
else if( activePage == mSecurity.pageIndex )
{
mSecurity.pgpConfig->applySettings();
}
else if( activePage == mMisc.pageIndex )
{
config.setGroup("General");
config.writeEntry( "empty-trash-on-exit",
mMisc.emptyTrashCheck->isChecked() );
config.writeEntry( "sendOnCheck",
mMisc.emptyTrashCheck->isChecked() );
config.writeEntry( "send-receipts",
mMisc.sendReceiptCheck->isChecked() );
config.writeEntry( "compact-all-on-exit",
mMisc.compactOnExitCheck->isChecked() );
config.writeEntry( "use-external-editor",
mMisc.externalEditorCheck->isChecked() );
config.writeEntry( "external-editor",
mMisc.externalEditorEdit->text() );
config.writeEntry( "beep-on-mail",
mMisc.beepNewMailCheck->isChecked() );
config.writeEntry( "msgbox-on-mail",
mMisc.showMessageBoxCheck->isChecked() );
config.writeEntry( "exec-on-mail",
mMisc.mailCommandCheck->isChecked() );
config.writeEntry( "exec-on-mail-cmd",
mMisc.mailCommandEdit->text() );
}
//
// Always
//
config.setGroup("General");
config.writeEntry("first-start", false);
config.sync();
//
// Make other components read the new settings
//
KMMessage::readConfig();
QListIterator<KTMainWindow> it(*KTMainWindow::memberList);
for( it.toFirst(); it.current(); ++it )
{
if (it.current()->inherits("KMTopLevelWidget"))
{
((KMTopLevelWidget*)it.current())->readConfig();
}
}
}
kmail'ConfigureDialog::saveActiveIdentity() (./kdenetwork/kmail/configuredialog.cpp:1952)
void ConfigureDialog::saveActiveIdentity( void )
{
IdentityEntry *entry = mIdentityList.get(mIdentity.mActiveIdentity);
if( entry != 0 )
{
entry->setFullName( mIdentity.nameEdit->text() );
entry->setOrganization( mIdentity.organizationEdit->text() );
entry->setEmailAddress( mIdentity.emailEdit->text() );
entry->setReplyToAddress( mIdentity.replytoEdit->text() );
entry->setSignatureFileName( mIdentity.signatureFileEdit->text() );
entry->setSignatureInlineText( mIdentity.signatureTextEdit->text() );
entry->setSignatureFileIsAProgram(
mIdentity.signatureExecCheck->isChecked() );
entry->setUseSignatureFile( mIdentity.signatureFileRadio->isChecked() );
}
}
kmail'ConfigureDialog::setIdentityInformation() (./kdenetwork/kmail/configuredialog.cpp:1970)
void ConfigureDialog::setIdentityInformation( const QString &identity )
{
if( mIdentity.mActiveIdentity == identity )
{
return;
}
//
// 1. Save current settings to the list
//
saveActiveIdentity();
mIdentity.mActiveIdentity = identity;
//
// 2. Display the new settings
//
bool useSignatureFile;
IdentityEntry *entry = mIdentityList.get( mIdentity.mActiveIdentity );
if( entry == 0 )
{
mIdentity.nameEdit->setText("");
mIdentity.organizationEdit->setText("");
mIdentity.emailEdit->setText("");
mIdentity.replytoEdit->setText("");
mIdentity.signatureFileEdit->setText("");
mIdentity.signatureExecCheck->setChecked( false );
mIdentity.signatureTextEdit->setText( "" );
useSignatureFile = true;
}
else
{
mIdentity.nameEdit->setText( entry->fullName() );
mIdentity.organizationEdit->setText( entry->organization() );
mIdentity.emailEdit->setText( entry->emailAddress() );
mIdentity.replytoEdit->setText( entry->replyToAddress() );
mIdentity.signatureFileEdit->setText( entry->signatureFileName() );
mIdentity.signatureExecCheck->setChecked(entry->signatureFileIsAProgram());
mIdentity.signatureTextEdit->setText( entry->signatureInlineText() );
useSignatureFile = entry->useSignatureFile();
}
if( useSignatureFile == true )
{
mIdentity.signatureFileRadio->setChecked(true);
slotSignatureType(0);
}
else
{
mIdentity.signatureTextRadio->setChecked(true);
slotSignatureType(1);
}
}
kmail'ConfigureDialog::identityStrings() (./kdenetwork/kmail/configuredialog.cpp:2025)
QStringList ConfigureDialog::identityStrings( void )
{
QStringList list;
for( int i=0; i< mIdentity.identityCombo->count(); i++ )
{
list += mIdentity.identityCombo->text(i);
}
return( list );
}
kmail'ConfigureDialog::slotNewIdentity() (./kdenetwork/kmail/configuredialog.cpp:2037)
void ConfigureDialog::slotNewIdentity( void )
{
//
// First. Save current setting to the list. In the dialog box we
// can choose to copy from the list so it must be synced.
//
saveActiveIdentity();
//
// Make and open the dialog
//
NewIdentityDialog *dialog = new NewIdentityDialog( this, "new", true );
QStringList list = identityStrings();
dialog->setIdentities( list );
int result = dialog->exec();
if( result == QDialog::Accepted )
{
QString identityText = dialog->identityText().stripWhiteSpace();
if( identityText.isEmpty() == false )
{
//
// Add the new identity. Make sure the default identity is
// first in the otherwise sorted list
//
QString defaultIdentity = list.first();
list.remove( defaultIdentity );
list += identityText;
list.sort();
list.prepend( defaultIdentity );
//
// Set the modifiled list as the valid list in the combo and
// make the new identity the current item.
//
mIdentity.identityCombo->clear();
mIdentity.identityCombo->insertStringList(list);
mIdentity.identityCombo->setCurrentItem( list.findIndex(identityText) );
if( dialog->duplicateMode() == NewIdentityDialog::ControlCenter )
{
mIdentityList.add( identityText, this, true );
}
else if( dialog->duplicateMode() == NewIdentityDialog::ExistingEntry )
{
mIdentityList.add( identityText, dialog->duplicateText() );
}
else
{
mIdentityList.add( identityText, this, false );
}
slotIdentitySelectorChanged();
}
}
delete dialog;
}
kmail'ConfigureDialog::slotRemoveIdentity() (./kdenetwork/kmail/configuredialog.cpp:2095)
void ConfigureDialog::slotRemoveIdentity( void )
{
int currentItem = mIdentity.identityCombo->currentItem();
if( currentItem > 0 ) // Item 0 is the default and can not be removed.
{
QString msg = i18n(
"Do you really want to remove the identity\n"
"named \"%1\" ?").arg(mIdentity.identityCombo->currentText());
int result = KMessageBox::warningYesNo( this, msg );
if( result == KMessageBox::Yes )
{
mIdentityList.remove( mIdentity.identityCombo->currentText() );
mIdentity.identityCombo->removeItem( currentItem );
mIdentity.identityCombo->setCurrentItem( currentItem-1 );
slotIdentitySelectorChanged();
}
}
}
kmail'ConfigureDialog::slotIdentitySelectorChanged() (./kdenetwork/kmail/configuredialog.cpp:2115)
void ConfigureDialog::slotIdentitySelectorChanged( void )
{
int currentItem = mIdentity.identityCombo->currentItem();
mIdentity.removeIdentityButton->setEnabled( currentItem != 0 );
setIdentityInformation( mIdentity.identityCombo->currentText() );
}
kmail'ConfigureDialog::slotSignatureType() (./kdenetwork/kmail/configuredialog.cpp:2123)
void ConfigureDialog::slotSignatureType( int id )
{
bool flag;
if( id == 0 )
{
flag = true;
}
else if( id == 1 )
{
flag = false;
}
else
{
return;
}
mIdentity.signatureFileLabel->setEnabled( flag );
mIdentity.signatureFileEdit->setEnabled( flag );
mIdentity.signatureExecCheck->setEnabled( flag );
mIdentity.signatureBrowseButton->setEnabled( flag );
if( flag==true )
{
mIdentity.signatureEditButton->setEnabled(
!mIdentity.signatureExecCheck->isChecked() );
}
else
{
mIdentity.signatureEditButton->setEnabled( false );
}
mIdentity.signatureTextEdit->setEnabled( !flag );
}
kmail'ConfigureDialog::slotSignatureChooser() (./kdenetwork/kmail/configuredialog.cpp:2156)
void ConfigureDialog::slotSignatureChooser( void )
{
KFileDialog *d = new KFileDialog( QDir::homeDirPath(), "*", this, 0, true );
d->setCaption(i18n("Choose Signature File"));
if( d->exec() == QDialog::Accepted )
{
KURL url = d->selectedURL();
if( url.isEmpty() == true )
{
delete d;
return;
}
if( url.isLocalFile() == false )
{
KMessageBox::sorry( this, i18n( "Only local files supported yet." ) );
delete d;
return;
}
mIdentity.signatureFileEdit->setText(url.path());
}
delete d;
}
kmail'ConfigureDialog::slotSignatureFile() (./kdenetwork/kmail/configuredialog.cpp:2183)
void ConfigureDialog::slotSignatureFile( const QString &filename )
{
QString path = filename.stripWhiteSpace();
if( mIdentity.signatureFileRadio->isChecked() == true )
{
bool state = path.isEmpty() == false ? true : false;
mIdentity.signatureEditButton->setEnabled( state );
mIdentity.signatureExecCheck->setEnabled( state );
}
}
kmail'ConfigureDialog::slotSignatureEdit() (./kdenetwork/kmail/configuredialog.cpp:2195)
void ConfigureDialog::slotSignatureEdit( void )
{
QString fileName = mIdentity.signatureFileEdit->text().stripWhiteSpace();
if( fileName.isEmpty() == true )
{
KMessageBox::error( this, i18n("You must specify a filename") );
return;
}
QFileInfo fileInfo( fileName );
if( fileInfo.isDir() == true )
{
QString msg = i18n("You have specified a directory\n\n%1").arg(fileName);
KMessageBox::error( this, msg );
return;
}
if( fileInfo.exists() == false )
{
// Create the file first
QFile file( fileName );
if( file.open( IO_ReadWrite ) == false )
{
QString msg = i18n("Unable to create new file at\n\n%1").arg(fileName);
KMessageBox::error( this, msg );
return;
}
}
QString cmdline( "kedit %f" );
if( cmdline.length() == 0 )
{
cmdline = DEFAULT_EDITOR_STR;
}
QString argument = "\"" + fileName + "\"";
ApplicationLaunch kl(cmdline.replace(QRegExp("\\%f"), argument ));
kl.run();
}
kmail'ConfigureDialog::slotSignatureExecMode() (./kdenetwork/kmail/configuredialog.cpp:2236)
void ConfigureDialog::slotSignatureExecMode( bool state )
{
mIdentity.signatureEditButton->setEnabled( !state );
}
//
// Network page
//
kmail'ConfigureDialog::slotSendmailChooser() (./kdenetwork/kmail/configuredialog.cpp:2245)
void ConfigureDialog::slotSendmailChooser( void )
{
KFileDialog dialog("/", "*", this, 0, true );
dialog.setCaption(i18n("Choose Sendmail Location") );
if( dialog.exec() == QDialog::Accepted )
{
KURL url = dialog.selectedURL();
if( url.isEmpty() == true )
{
return;
}
if( url.isLocalFile() == false )
{
KMessageBox::sorry( 0L, i18n( "Only local files allowed." ) );
return;
}
mNetwork.sendmailLocationEdit->setText( url.path() );
}
}
kmail'ConfigureDialog::slotSendmailType() (./kdenetwork/kmail/configuredialog.cpp:2269)
void ConfigureDialog::slotSendmailType( int id )
{
bool useSendmail;
if( id == 0 )
{
useSendmail = true;
}
else if( id == 1 )
{
useSendmail = false;
}
else
{
return;
}
mNetwork.sendmailLocationEdit->setEnabled( useSendmail );
mNetwork.sendmailChooseButton->setEnabled( useSendmail );
mNetwork.smtpServerEdit->setEnabled( !useSendmail );
mNetwork.smtpPortEdit->setEnabled( !useSendmail );
}
kmail'ConfigureDialog::slotAccountSelected() (./kdenetwork/kmail/configuredialog.cpp:2294)
void ConfigureDialog::slotAccountSelected( void )
{
mNetwork.modifyAccountButton->setEnabled( true );
mNetwork.removeAccountButton->setEnabled( true );
}
kmail'ConfigureDialog::slotAddAccount() (./kdenetwork/kmail/configuredialog.cpp:2302)
void ConfigureDialog::slotAddAccount( void )
{
KMAcctSelDlg accountSelectorDialog( this, i18n("Select Account") );
if( accountSelectorDialog.exec() != QDialog::Accepted )
{
return;
}
const char *accountType = 0;
switch( accountSelectorDialog.selected() )
{
case 0:
accountType = "local";
break;
case 1:
accountType = "pop";
break;
case 2:
accountType = "experimental pop";
break;
default:
KMessageBox::sorry( this, i18n("Unknown account type selected") );
return;
break;
}
KMAccount *account = kernel->acctMgr()->create(accountType,i18n("Unnamed"));
if( account == 0 )
{
KMessageBox::sorry( this, i18n("Unable to create account") );
return;
}
account->init(); // fill the account fields with good default values
AccountDialog *dialog = new AccountDialog( account, identityStrings(), this);
dialog->setCaption( i18n("Add account") );
if( dialog->exec() == QDialog::Accepted )
{
QListViewItem *listItem =
new QListViewItem(mNetwork.accountList,account->name(),account->type());
if( account->folder() )
{
listItem->setText( 2, account->folder()->name() );
}
}
else
{
kernel->acctMgr()->remove(account);
}
delete dialog;
}
kmail'ConfigureDialog::slotModifySelectedAccount() (./kdenetwork/kmail/configuredialog.cpp:2360)
void ConfigureDialog::slotModifySelectedAccount( void )
{
QListViewItem *listItem = mNetwork.accountList->selectedItem();
if( listItem == 0 )
{
return;
}
KMAccount *account = kernel->acctMgr()->find( listItem->text(0) );
if( account == 0 )
{
KMessageBox::sorry( this, i18n("Unable to locate account") );
return;
}
AccountDialog *dialog = new AccountDialog( account, identityStrings(), this);
dialog->setCaption( i18n("Modify account") );
if( dialog->exec() == QDialog::Accepted )
{
listItem->setText( 0, account->name() );
listItem->setText( 1, account->type() );
if( account->folder() )
{
listItem->setText( 2, account->folder()->name() );
}
}
delete dialog;
}
kmail'ConfigureDialog::slotRemoveSelectedAccount() (./kdenetwork/kmail/configuredialog.cpp:2391)
void ConfigureDialog::slotRemoveSelectedAccount( void )
{
QListViewItem *listItem = mNetwork.accountList->selectedItem();
if( listItem == 0 )
{
return;
}
KMAccount *account = kernel->acctMgr()->find( listItem->text(0) );
if( account == 0 )
{
KMessageBox::sorry( this, i18n("Unable to locate account") );
return;
}
if( !kernel->acctMgr()->remove(account) )
{
return;
}
mNetwork.accountList->takeItem( listItem );
if( mNetwork.accountList->childCount() == 0 )
{
mNetwork.modifyAccountButton->setEnabled( false );
mNetwork.removeAccountButton->setEnabled( false );
}
else
{
mNetwork.accountList->setSelected(mNetwork.accountList->firstChild(),true);
}
}
kmail'ConfigureDialog::slotCustomFontSelectionChanged() (./kdenetwork/kmail/configuredialog.cpp:2424)
void ConfigureDialog::slotCustomFontSelectionChanged( void )
{
bool flag = mAppearance.customFontCheck->isChecked();
mAppearance.fontLocationLabel->setEnabled( flag );
mAppearance.fontLocationCombo->setEnabled( flag );
mAppearance.fontChooser->setEnabled( flag );
}
kmail'ConfigureDialog::slotFontSelectorChanged() (./kdenetwork/kmail/configuredialog.cpp:2432)
void ConfigureDialog::slotFontSelectorChanged( int index )
{
if( mAppearance.activeFontIndex >= 0 )
{
// Save prev setting
mAppearance.fontString[mAppearance.activeFontIndex] =
kfontToStr( mAppearance.fontChooser->font() );
}
mAppearance.activeFontIndex = index;
if( mAppearance.fontString[index].isEmpty() == false )
mAppearance.fontChooser->setFont( kstrToFont(mAppearance.fontString[index]));
}
kmail'ConfigureDialog::slotCustomColorSelectionChanged() (./kdenetwork/kmail/configuredialog.cpp:2445)
void ConfigureDialog::slotCustomColorSelectionChanged( void )
{
mAppearance.colorList->setEnabled(mAppearance.customColorCheck->isChecked());
}
kmail'ConfigureDialog::slotWordWrapSelectionChanged() (./kdenetwork/kmail/configuredialog.cpp:2450)
void ConfigureDialog::slotWordWrapSelectionChanged( void )
{
mComposer.wrapColumnSpin->setEnabled(mComposer.wordWrapCheck->isChecked());
}
kmail'ConfigureDialog::slotMimeHeaderSelectionChanged() (./kdenetwork/kmail/configuredialog.cpp:2456)
void ConfigureDialog::slotMimeHeaderSelectionChanged( void )
{
mMime.currentTagItem = mMime.tagList->selectedItem();
if( mMime.currentTagItem != 0 )
{
mMime.tagNameEdit->setText( mMime.currentTagItem->text(0) );
mMime.tagValueEdit->setText( mMime.currentTagItem->text(1) );
mMime.tagNameEdit->setEnabled(true);
mMime.tagValueEdit->setEnabled(true);
mMime.tagNameLabel->setEnabled(true);
mMime.tagValueLabel->setEnabled(true);
}
}
kmail'ConfigureDialog::slotMimeHeaderNameChanged() (./kdenetwork/kmail/configuredialog.cpp:2471)
void ConfigureDialog::slotMimeHeaderNameChanged( const QString &text )
{
if( mMime.currentTagItem != 0 )
{
mMime.currentTagItem->setText(0, text );
}
}
kmail'ConfigureDialog::slotMimeHeaderValueChanged() (./kdenetwork/kmail/configuredialog.cpp:2480)
void ConfigureDialog::slotMimeHeaderValueChanged( const QString &text )
{
if( mMime.currentTagItem != 0 )
{
mMime.currentTagItem->setText(1, text );
}
}
kmail'ConfigureDialog::slotNewMimeHeader() (./kdenetwork/kmail/configuredialog.cpp:2489)
void ConfigureDialog::slotNewMimeHeader( void )
{
QListViewItem *listItem = new QListViewItem( mMime.tagList, "", "" );
mMime.tagList->setCurrentItem( listItem );
mMime.tagList->setSelected( listItem, true );
mMime.currentTagItem = mMime.tagList->selectedItem();
if( mMime.currentTagItem != 0 )
{
mMime.tagNameEdit->setEnabled(true);
mMime.tagValueEdit->setEnabled(true);
mMime.tagNameLabel->setEnabled(true);
mMime.tagValueLabel->setEnabled(true);
mMime.tagNameEdit->setFocus();
}
}
kmail'ConfigureDialog::slotDeleteMimeHeader() (./kdenetwork/kmail/configuredialog.cpp:2507)
void ConfigureDialog::slotDeleteMimeHeader( void )
{
if( mMime.currentTagItem != 0 )
{
QListViewItem *next = mMime.currentTagItem->itemAbove();
if( next == 0 )
{
next = mMime.currentTagItem->itemBelow();
}
mMime.tagNameEdit->clear();
mMime.tagValueEdit->clear();
mMime.tagNameEdit->setEnabled(false);
mMime.tagValueEdit->setEnabled(false);
mMime.tagNameLabel->setEnabled(false);
mMime.tagValueLabel->setEnabled(false);
mMime.tagList->takeItem( mMime.currentTagItem );
mMime.currentTagItem = 0;
if( next != 0 )
{
mMime.tagList->setSelected( next, true );
}
}
}
kmail'ConfigureDialog::slotExternalEditorSelectionChanged() (./kdenetwork/kmail/configuredialog.cpp:2535)
void ConfigureDialog::slotExternalEditorSelectionChanged( void )
{
bool flag = mMisc.externalEditorCheck->isChecked();
mMisc.externalEditorEdit->setEnabled( flag );
mMisc.externalEditorChooseButton->setEnabled( flag );
mMisc.externalEditorLabel->setEnabled( flag );
mMisc.externalEditorHelp->setEnabled( flag );
}
kmail'ConfigureDialog::slotMailCommandSelectionChanged() (./kdenetwork/kmail/configuredialog.cpp:2545)
void ConfigureDialog::slotMailCommandSelectionChanged( void )
{
bool flag = mMisc.mailCommandCheck->isChecked();
mMisc.mailCommandEdit->setEnabled( flag );
mMisc.mailCommandChooseButton->setEnabled( flag );
mMisc.mailCommandLabel->setEnabled( flag );
}
kmail'ConfigureDialog::slotExternalEditorChooser() (./kdenetwork/kmail/configuredialog.cpp:2554)
void ConfigureDialog::slotExternalEditorChooser( void )
{
KFileDialog dialog("/", "*", this, 0, true );
dialog.setCaption(i18n("Choose External Editor") );
if( dialog.exec() == QDialog::Accepted )
{
KURL url = dialog.selectedURL();
if( url.isEmpty() == true )
{
return;
}
if( url.isLocalFile() == false )
{
KMessageBox::sorry( 0L, i18n( "Only local files allowed." ) );
return;
}
mMisc.externalEditorEdit->setText( url.path() );
}
}
kmail'ConfigureDialog::slotMailCommandChooser() (./kdenetwork/kmail/configuredialog.cpp:2578)
void ConfigureDialog::slotMailCommandChooser( void )
{
KFileDialog dialog("/", "*", this, 0, true );
dialog.setCaption(i18n("Choose External Command") );
if( dialog.exec() == QDialog::Accepted )
{
KURL url = dialog.selectedURL();
if( url.isEmpty() == true )
{
return;
}
if( url.isLocalFile() == false )
{
KMessageBox::sorry( 0L, i18n( "Only local files allowed." ) );
return;
}
mMisc.mailCommandEdit->setText( url.path() );
}
}