Source Code (Use browser search to find items of interest.)
Class Index
khexedit'COptionDialog (./kdeutils/khexedit/optiondialog.h:90)
class COptionDialog : public KDialogBase
{
Q_OBJECT
public:
enum EPage
{
page_layout = 0,
page_cursor,
page_font,
page_color,
page_file,
page_misc,
page_max
};
COptionDialog( QWidget *parent = 0, char *name = 0, bool modal = false );
~COptionDialog( void );
void setLayout( SDisplayLayout &layout, SDisplayLine &line );
void setCursor( SDisplayCursor &cursor );
void setColor( SDisplayColor &color );
void setFont( SDisplayFont &font );
void setFile( SDisplayMisc &misc );
void setMisc( SDisplayMisc &misc );
void setState( SDisplayState &state );
protected:
virtual void showEvent( QShowEvent *e );
protected slots:
void slotModeSelectorChanged( int index );
void slotLineSizeChanged( int value );
void slotColumnSizeChanged( int value );
void slotColumnSepCheck( bool state );
void slotBlinkIntervalCheck( bool state );
void slotBlockCursorCheck( bool state );
void slotFontSystem( bool state );
void slotColorSystem( bool state );
void slotThresholdConfirm( void );
virtual void slotDefault( void );
virtual void slotOk( void );
virtual void slotApply( void );
private:
struct SLayoutWidgets
{
QComboBox *formatCombo;
QSpinBox *lineSizeSpin;
QSpinBox *columnSizeSpin;
QCheckBox *lockLineCheck;
QCheckBox *lockColumnCheck;
QCheckBox *columnCheck;
QComboBox *gridCombo;
QLabel *leftSepLabel;
QLabel *rightSepLabel;
QSpinBox *leftSepWidthSpin;
QSpinBox *rightSepWidthSpin;
QSpinBox *separatorSpin;
QSpinBox *edgeSpin;
QLabel *columnSepLabel;
QSpinBox *columnSepSpin;
};
struct SCursorWidgets
{
QCheckBox *blinkCheck;
QSpinBox *blinkSpin;
QLabel *blinkLabel;
QCheckBox *blockCheck;
QCheckBox *thickCheck;
QRadioButton *stopRadio;
QRadioButton *hideRadio;
QRadioButton *nothingRadio;
};
struct SColorWidgets
{
enum colorType
{
FirstTextBg = 0,
SecondTextBg,
OffsetBg,
InactiveBg,
EvenColumnFg,
OddColumnFg,
NonPrintFg,
OffsetFg,
SecondaryFg,
MarkedBg,
MarkedFg,
CursorBg,
CursorFg,
SeparatorFg,
GridFg,
MAX_COLOR
};
QCheckBox *checkSystem;
CColorListBox *colorList;
};
struct SFontWidgets
{
QCheckBox *checkSystem;
KFontChooser *chooser;
QLineEdit *nonPrintInput;
};
struct SFileWidgets
{
QComboBox *openCombo;
QCheckBox *gotoOffsetCheck;
QCheckBox *reloadOffsetCheck;
QCheckBox *writeProtectCheck;
QCheckBox *backupCheck;
QCheckBox *discardRecentCheck;
};
struct SMiscWidgets
{
QSpinBox *undoSpin;
QCheckBox *inputCheck;
QCheckBox *fatalCheck;
QCheckBox *autoCheck;
QCheckBox *insertCheck;
QCheckBox *confirmWrapCheck;
QCheckBox *cursorJumpCheck;
QCheckBox *thresholdCheck;
QLabel *thresholdLabel;
QSpinBox *thresholdSpin;
};
private:
void setupLayoutPage( void );
void setupCursorPage( void );
void setupColorPage( void );
void setupFontPage( void );
void setupFilePage( void );
void setupMiscPage( void );
SDisplayCursor::EFocusMode cursorFocusMode( void );
signals:
void lineSizeChoice( const SDisplayLine &lineSize );
void layoutChoice( const SDisplayLayout &layout );
void cursorChoice( const SDisplayCursor &cursor );
void colorChoice( const SDisplayColor &color );
void fontChoice( const SDisplayFont &font );
void miscChoice( const SDisplayMisc &misc );
void removeRecentFiles( void );
private:
SDisplayState mDisplayState;
SLayoutWidgets mLayout;
SCursorWidgets mCursor;
SColorWidgets mColor;
SFontWidgets mFont;
SFileWidgets mFile;
SMiscWidgets mMisc;
};
khexedit'COptionDialog::COptionDialog() (./kdeutils/khexedit/optiondialog.cc:76)
COptionDialog::COptionDialog( QWidget *parent, char *name, bool modal )
:KDialogBase( IconList, i18n("Configure"), Help|Default|Apply|Ok|Cancel,
Ok, parent, name, modal, true )
{
setHelp( "khexedit/khexedit.html", QString::null );
setupLayoutPage();
setupCursorPage();
setupFontPage();
setupColorPage();
setupFilePage();
setupMiscPage();
}
khexedit'COptionDialog::~COptionDialog() (./kdeutils/khexedit/optiondialog.cc:91)
COptionDialog::~COptionDialog( void )
{
}
khexedit'COptionDialog::showEvent() (./kdeutils/khexedit/optiondialog.cc:96)
void COptionDialog::showEvent( QShowEvent *e )
{
KDialogBase::showEvent(e);
showPage(0);
mLayout.lineSizeSpin->setFocus();
}
khexedit'COptionDialog::setupLayoutPage() (./kdeutils/khexedit/optiondialog.cc:104)
void COptionDialog::setupLayoutPage( void )
{
QString text;
QFrame *page = addPage( i18n("Layout"), i18n("Data layout in editor"),
BarIcon("layout") );
QGridLayout *gbox = new QGridLayout( page, 15, 2, 0, spacingHint() );
gbox->setColStretch( 1, 10 );
mLayout.formatCombo = new QComboBox( false, page );
QStringList modeList;
modeList.append( i18n("Hexadecimal mode") );
modeList.append( i18n("Decimal mode") );
modeList.append( i18n("Octal mode") );
modeList.append( i18n("Binary mode") );
modeList.append( i18n("Text only mode") );
mLayout.formatCombo->insertStringList( modeList );
connect( mLayout.formatCombo, SIGNAL(activated(int)),
SLOT(slotModeSelectorChanged(int)) );
gbox->addWidget( mLayout.formatCombo, 0, 1 );
//
// I am setting the min. width for one widget in the second column
// This widtk will be used by every widget in this column.
//
mLayout.lineSizeSpin = new QSpinBox( page );
mLayout.lineSizeSpin->setMinimumWidth( fontMetrics().width("M") * 10 );
mLayout.lineSizeSpin->setRange( 1, 10000 );
connect( mLayout.lineSizeSpin, SIGNAL(valueChanged(int)),
SLOT(slotLineSizeChanged(int) ) );
gbox->addWidget( mLayout.lineSizeSpin, 1, 1 );
mLayout.columnSizeSpin = new QSpinBox( page );
mLayout.columnSizeSpin->setRange( 1, 10000 );
connect( mLayout.columnSizeSpin, SIGNAL(valueChanged(int)),
SLOT(slotColumnSizeChanged(int) ) );
gbox->addWidget( mLayout.columnSizeSpin, 2, 1 );
text = i18n("Default l&ine size [bytes]");
QLabel *label = new QLabel( mLayout.lineSizeSpin, text, page );
gbox->addWidget( label, 1, 0 );
text = i18n("Colu&mn size [bytes]");
label = new QLabel( mLayout.columnSizeSpin, text, page );
gbox->addWidget( label, 2, 0 );
QFrame *hline = new QFrame( page );
hline->setFrameStyle( QFrame::Sunken | QFrame::HLine );
gbox->addMultiCellWidget( hline, 3, 3, 0, 1 );
text = i18n("Line size is &fixed (use scrollbar when required)");
mLayout.lockLineCheck = new QCheckBox( text, page );
gbox->addMultiCellWidget( mLayout.lockLineCheck, 4, 4, 0, 1, AlignLeft );
text = i18n("Loc&k column at end of line (when column size > 1)");
mLayout.lockColumnCheck = new QCheckBox( text, page );
gbox->addMultiCellWidget( mLayout.lockColumnCheck, 5, 5, 0, 1 );
hline = new QFrame( page );
hline->setFrameStyle( QFrame::Sunken | QFrame::HLine );
gbox->addMultiCellWidget( hline, 6, 6, 0, 1 );
QStringList gridList;
gridList.append( i18n("None") );
gridList.append( i18n("Vertical only") );
gridList.append( i18n("Horizontal only") );
gridList.append( i18n("Both directions") );
mLayout.gridCombo = new QComboBox( false, page );
mLayout.gridCombo->insertStringList( gridList );
text = i18n("&Gridlines between text");
label = new QLabel( mLayout.gridCombo, text, page );
gbox->addWidget( label, 7, 0 );
gbox->addWidget( mLayout.gridCombo, 7, 1 );
mLayout.leftSepWidthSpin = new QSpinBox( page );
mLayout.leftSepWidthSpin->setRange( 0, 20 );
gbox->addWidget( mLayout.leftSepWidthSpin, 8, 1 );
mLayout.rightSepWidthSpin = new QSpinBox( page );
mLayout.rightSepWidthSpin->setRange( 0, 20 );
gbox->addWidget( mLayout.rightSepWidthSpin, 9, 1 );
text = i18n("&Left separator width [pixels]");
mLayout.leftSepLabel = new QLabel( mLayout.leftSepWidthSpin, text, page );
gbox->addWidget( mLayout.leftSepLabel, 8, 0 );
text = i18n("&Right separator width [pixels]");
mLayout.rightSepLabel = new QLabel( mLayout.rightSepWidthSpin, text, page );
gbox->addWidget( mLayout.rightSepLabel, 9, 0 );
mLayout.separatorSpin = new QSpinBox( page );
mLayout.separatorSpin->setRange( 0, 20 );
gbox->addWidget( mLayout.separatorSpin, 10, 1 );
mLayout.edgeSpin = new QSpinBox( page );
mLayout.edgeSpin->setRange( 0, 20 );
gbox->addWidget( mLayout.edgeSpin, 11, 1 );
text = i18n("&Separator margin width [pixels]");
label = new QLabel( mLayout.separatorSpin, text, page );
gbox->addWidget( label, 10, 0 );
text = i18n("&Edge margin width [pixels]");
label = new QLabel( mLayout.edgeSpin, text, page );
gbox->addWidget( label, 11, 0 );
text = i18n("Column separation is e&qual to one character");
mLayout.columnCheck = new QCheckBox( text, page );
gbox->addMultiCellWidget( mLayout.columnCheck, 12, 12, 0, 1, AlignLeft );
connect( mLayout.columnCheck, SIGNAL(toggled(bool)),
SLOT( slotColumnSepCheck(bool)));
mLayout.columnSepSpin = new QSpinBox( page );
mLayout.columnSepSpin->setRange( 1, 100 );
text = i18n("Column separa&tion [pixels]");
mLayout.columnSepLabel = new QLabel( mLayout.columnSepSpin, text, page );
gbox->addWidget( mLayout.columnSepLabel, 13, 0 );
gbox->addWidget( mLayout.columnSepSpin, 13, 1 );
gbox->setRowStretch( 14, 10 );
}
khexedit'COptionDialog::setupCursorPage() (./kdeutils/khexedit/optiondialog.cc:232)
void COptionDialog::setupCursorPage( void )
{
QString text;
QFrame *page = addPage( i18n("Cursor"),
i18n("Cursor behavior. Only valid for editor"), UserIcon("mouse") );
QVBoxLayout *topLayout = new QVBoxLayout( page, 0, spacingHint() );
QVButtonGroup *group = new QVButtonGroup( i18n("Blinking"), page );
group->layout()->setMargin( spacingHint() );
topLayout->addWidget( group );
text = i18n("Do not b&link");
mCursor.blinkCheck = new QCheckBox( i18n("Do not b&link"), group );
connect( mCursor.blinkCheck, SIGNAL(toggled(bool)),
SLOT( slotBlinkIntervalCheck(bool)));
QHBox *hbox = new QHBox( group );
mCursor.blinkLabel = new QLabel( i18n("&Blink interval [ms]" ), hbox );
mCursor.blinkSpin = new QSpinBox( hbox );
mCursor.blinkSpin->setMinimumWidth( fontMetrics().width("M") * 10 );
mCursor.blinkSpin->setRange( 100, 1000 );
mCursor.blinkSpin->setSteps( 100, 100 );
mCursor.blinkSpin->setValue( 500 );
mCursor.blinkLabel->setBuddy(mCursor.blinkSpin);
group = new QVButtonGroup( i18n("Shape"), page );
group->layout()->setMargin( spacingHint() );
topLayout->addWidget( group );
text = i18n("Always &use block (rectangular) cursor");
mCursor.blockCheck = new QCheckBox( text, group );
connect( mCursor.blockCheck, SIGNAL(toggled(bool)),
SLOT( slotBlockCursorCheck(bool)));
text = i18n("Use &thick cursor in insert mode");
mCursor.thickCheck = new QCheckBox( text, group );
text = i18n("Cursor behavior when editor looses focus");
group = new QVButtonGroup( text, page );
group->layout()->setMargin( spacingHint() );
topLayout->addWidget( group );
text = i18n("&Stop blinking (if blinking is enabled)");
mCursor.stopRadio = new QRadioButton( text, group, "radio1" );
mCursor.hideRadio = new QRadioButton( i18n("H&ide"), group, "radio2" );
text = i18n("Do ¬hing");
mCursor.nothingRadio = new QRadioButton( text, group, "radio3" );
topLayout->addStretch(10);
}
khexedit'COptionDialog::setupColorPage() (./kdeutils/khexedit/optiondialog.cc:283)
void COptionDialog::setupColorPage( void )
{
QString text;
QFrame *page = addPage( i18n("Colors"),
i18n("Editor colors. System selection color is always used"),
UserIcon("colors") );
QVBoxLayout *topLayout = new QVBoxLayout( page, 0, spacingHint() );
text = i18n("&Use system colors (as chosen in Control Center)");
mColor.checkSystem = new QCheckBox( text, page );
connect( mColor.checkSystem, SIGNAL(toggled(bool)),
SLOT( slotColorSystem(bool)));
topLayout->addWidget( mColor.checkSystem );
QFrame *hline = new QFrame( page );
hline->setFrameStyle( QFrame::Sunken | QFrame::HLine );
topLayout->addWidget( hline );
QStringList modeList;
modeList.append( i18n("First, third ... line background") );
modeList.append( i18n("Second, fourth ... line background") );
modeList.append( i18n("Offset background") );
modeList.append( i18n("Inactive background") );
modeList.append( i18n("Even column text") );
modeList.append( i18n("Odd column text") );
modeList.append( i18n("Non printable text") );
modeList.append( i18n("Offset text") );
modeList.append( i18n("Secondary text") );
modeList.append( i18n("Marked background") );
modeList.append( i18n("Marked text") );
modeList.append( i18n("Cursor background") );
modeList.append( i18n("Cursor text (block shape)") );
modeList.append( i18n("Separator") );
modeList.append( i18n("Grid lines") );
mColor.colorList = new CColorListBox( page );
topLayout->addWidget( mColor.colorList, 10 );
for( uint i=0; i<15; i++ )
{
CColorListItem *listItem = new CColorListItem( modeList[i] );
mColor.colorList->insertItem( listItem );
}
mColor.colorList->setCurrentItem(0);
}
khexedit'COptionDialog::setupFontPage() (./kdeutils/khexedit/optiondialog.cc:330)
void COptionDialog::setupFontPage( void )
{
QString text;
QFrame *page = addPage( i18n("Font"),
i18n("Font selection. Editor can only use a fixed font"),
UserIcon("fonts") );
QVBoxLayout *topLayout = new QVBoxLayout( page, 0, spacingHint() );
text = i18n("&Use system font (as chosen in Control Center)");
mFont.checkSystem = new QCheckBox( text, page );
connect( mFont.checkSystem, SIGNAL(toggled(bool)),
this, SLOT( slotFontSystem(bool)));
topLayout->addWidget( mFont.checkSystem );
QFrame *hline = new QFrame( page );
hline->setFrameStyle( QFrame::Sunken | QFrame::HLine );
topLayout->addWidget( hline );
QStringList fixedList;
KFontChooser::getFontList( fixedList, "-*-*-*-*-*-*-*-*-*-*-m-*-*-*" );
fixedList.append("fixed"); // Not detected above!
fixedList.sort();
mFont.chooser = new KFontChooser( page, "font", true, fixedList, false, 4 );
topLayout->addWidget( mFont.chooser );
mFont.chooser->setFont( QFont( "courier", 12, QFont::Bold, FALSE ), true );
mFont.chooser->setSampleText( i18n("KHexEdit editor font") );
hline = new QFrame( page );
hline->setFrameStyle( QFrame::Sunken | QFrame::HLine );
topLayout->addWidget( hline );
QHBoxLayout *hbox = new QHBoxLayout();
topLayout->addLayout( hbox );
mFont.nonPrintInput = new QLineEdit( page );
mFont.nonPrintInput->setMaxLength( 1 );
text = i18n("&Map non printable characters to:");
QLabel *nonPrintLabel = new QLabel( mFont.nonPrintInput, text, page );
hbox->addWidget( nonPrintLabel, 0, AlignLeft );
hbox->addSpacing( spacingHint() );
hbox->addWidget( mFont.nonPrintInput, 10 );
topLayout->addStretch(10);
}
khexedit'COptionDialog::setupFilePage() (./kdeutils/khexedit/optiondialog.cc:380)
void COptionDialog::setupFilePage( void )
{
QString text;
QFrame *page = addPage( i18n("Files"), i18n("File management"),
UserIcon("files") );
QVBoxLayout *topLayout = new QVBoxLayout( page, 0, spacingHint() );
QGridLayout *gbox = new QGridLayout( 2, 2, spacingHint() );
topLayout->addLayout( gbox );
mFile.openCombo = new QComboBox( false, page );
QStringList modeList;
modeList.append( i18n("None") );
modeList.append( i18n("Most recent document") );
modeList.append( i18n("All recent documents") );
mFile.openCombo->insertStringList( modeList );
mFile.openCombo->setMinimumWidth( mFile.openCombo->sizeHint().width() );
text = i18n("Open doc&uments on startup");
QLabel *label = new QLabel( mFile.openCombo, text, page );
gbox->addWidget( label, 0, 0 );
gbox->addWidget( mFile.openCombo, 0, 1 );
text = i18n("&Jump to previous cursor position on startup");
mFile.gotoOffsetCheck = new QCheckBox( text, page );
topLayout->addWidget( mFile.gotoOffsetCheck, 0, AlignLeft );
QFrame *hline = new QFrame( page );
hline->setFrameStyle( QFrame::Sunken | QFrame::HLine );
topLayout->addWidget( hline );
text = i18n("Open document with &write proctection enabled");
mFile.writeProtectCheck = new QCheckBox( text, page );
topLayout->addWidget( mFile.writeProtectCheck, 0, AlignLeft );
text = i18n("&Keep cursor position after reloading document");
mFile.reloadOffsetCheck = new QCheckBox( text, page );
topLayout->addWidget( mFile.reloadOffsetCheck, 0, AlignLeft );
text = i18n("&Make a backup when saving document");
mFile.backupCheck = new QCheckBox( text, page );
topLayout->addWidget( mFile.backupCheck, 0, AlignLeft );
hline = new QFrame( page );
hline->setFrameStyle( QFrame::Sunken | QFrame::HLine );
topLayout->addWidget( hline );
text = i18n("Don't &save \"Recent\" document list on exit");
mFile.discardRecentCheck = new QCheckBox( text, page );
topLayout->addWidget( mFile.discardRecentCheck, 0, AlignLeft );
text = i18n("Clear \"Recent\" document list &now");
QPushButton *discardRecentButton = new QPushButton( page );
discardRecentButton->setText( text );
topLayout->addWidget( discardRecentButton, 0, AlignCenter );
connect( discardRecentButton, SIGNAL(clicked()),
SIGNAL(removeRecentFiles()) );
topLayout->addStretch(10);
}
khexedit'COptionDialog::setupMiscPage() (./kdeutils/khexedit/optiondialog.cc:444)
void COptionDialog::setupMiscPage( void )
{
QString text;
QLabel *label;
QFrame *page = addPage( i18n("Miscellaneous"), i18n("Various properties"),
UserIcon("misc") );
QVBoxLayout *topLayout = new QVBoxLayout( page, 0, spacingHint() );
text = i18n("Auto&matic copy to clipboard when selection is ready");
mMisc.autoCheck = new QCheckBox( text, page );
topLayout->addWidget( mMisc.autoCheck, 0, AlignLeft );
text = i18n("&Editor starts in \"insert\" mode" );
mMisc.insertCheck = new QCheckBox( text, page );
topLayout->addWidget( mMisc.insertCheck, 0, AlignLeft );
text = i18n("Confirm &wrapping (to beginning or end) during search");
mMisc.confirmWrapCheck = new QCheckBox( text, page );
topLayout->addWidget( mMisc.confirmWrapCheck, 0, AlignLeft );
text = i18n("Cursor jumps to &nearest byte when moved");
mMisc.cursorJumpCheck = new QCheckBox( text, page );
topLayout->addWidget( mMisc.cursorJumpCheck, 0, AlignLeft );
QVButtonGroup *group = new QVButtonGroup( i18n("Sounds"), page );
group->layout()->setMargin( spacingHint() );
topLayout->addWidget( group );
text = i18n("Make sound on data &input (eg. typing) failure");
mMisc.inputCheck = new QCheckBox( text, group );
text = i18n("Make sound on &fatal failure");
mMisc.fatalCheck = new QCheckBox( text, group );
text = i18n("Confirm when number of printed pages will e&xceed limit");
mMisc.thresholdCheck = new QCheckBox( text, page );
connect( mMisc.thresholdCheck, SIGNAL(clicked()),
SLOT( slotThresholdConfirm()));
topLayout->addWidget( mMisc.thresholdCheck, 0, AlignLeft );
QGridLayout *glay = new QGridLayout( 3, 3 );
glay->setColStretch(2,10);
topLayout->addLayout( glay );
mMisc.thresholdSpin = new QSpinBox( page );
mMisc.thresholdSpin->setMinimumWidth( fontMetrics().width("M") * 10 );
mMisc.thresholdSpin->setRange( 5, MAXINT );
mMisc.thresholdSpin->setSteps( 5, 5 );
mMisc.thresholdSpin->setValue( 5 );
text = i18n("&Threshold [pages]" );
mMisc.thresholdLabel = new QLabel( mMisc.thresholdSpin, text, page );
glay->addWidget( mMisc.thresholdLabel, 0, 0 );
glay->addWidget( mMisc.thresholdSpin, 0, 1 );
QFrame *hline = new QFrame( page );
hline->setFrameStyle( QFrame::Sunken | QFrame::HLine );
glay->addMultiCellWidget( hline, 1, 1, 0, 2 );
mMisc.undoSpin = new QSpinBox( page );
mMisc.undoSpin->setRange( 10, 10000 );
mMisc.undoSpin->setSteps( 5, 5 );
mMisc.undoSpin->setValue( 50 );
label = new QLabel( mMisc.undoSpin, i18n("&Undo limit"), page );
glay->addWidget( label, 2, 0 );
glay->addWidget( mMisc.undoSpin, 2, 1 );
topLayout->addStretch(10);
}
khexedit'COptionDialog::slotModeSelectorChanged() (./kdeutils/khexedit/optiondialog.cc:519)
void COptionDialog::slotModeSelectorChanged( int index )
{
int lineSize = mDisplayState.line.getLineSize( index );
int colSize = mDisplayState.line.getColumnSize( index );
mLayout.lineSizeSpin->setValue( lineSize );
mLayout.columnSizeSpin->setValue( colSize );
}
khexedit'COptionDialog::slotLineSizeChanged() (./kdeutils/khexedit/optiondialog.cc:527)
void COptionDialog::slotLineSizeChanged( int value )
{
int index = mLayout.formatCombo->currentItem();
mDisplayState.line.setLineSize( index, value );
if( index == SDisplayLine::textOnly )
{
mLayout.columnSizeSpin->setValue( value );
}
}
khexedit'COptionDialog::slotColumnSizeChanged() (./kdeutils/khexedit/optiondialog.cc:537)
void COptionDialog::slotColumnSizeChanged( int value )
{
int index = mLayout.formatCombo->currentItem();
mDisplayState.line.setColumnSize( index, value );
if( index == SDisplayLine::textOnly )
{
mLayout.lineSizeSpin->setValue( value );
}
}
khexedit'COptionDialog::slotColumnSepCheck() (./kdeutils/khexedit/optiondialog.cc:547)
void COptionDialog::slotColumnSepCheck( bool state )
{
state = state == true ? false: true;
mLayout.columnSepLabel->setEnabled( state );
mLayout.columnSepSpin->setEnabled( state );
}
khexedit'COptionDialog::slotBlinkIntervalCheck() (./kdeutils/khexedit/optiondialog.cc:555)
void COptionDialog::slotBlinkIntervalCheck( bool state )
{
state = state == true ? false : true;
mCursor.blinkSpin->setEnabled( state );
mCursor.blinkLabel->setEnabled( state );
}
khexedit'COptionDialog::slotBlockCursorCheck() (./kdeutils/khexedit/optiondialog.cc:562)
void COptionDialog::slotBlockCursorCheck( bool state )
{
state = state == true ? false : true;
mCursor.thickCheck->setEnabled( state );
}
khexedit'COptionDialog::slotFontSystem() (./kdeutils/khexedit/optiondialog.cc:568)
void COptionDialog::slotFontSystem( bool state )
{
mFont.chooser->setEnabled( state == true ? false : true );
}
khexedit'COptionDialog::slotColorSystem() (./kdeutils/khexedit/optiondialog.cc:573)
void COptionDialog::slotColorSystem( bool state )
{
state = state == true ? false : true;
mColor.colorList->setEnabled( state );
}
khexedit'COptionDialog::slotThresholdConfirm() (./kdeutils/khexedit/optiondialog.cc:581)
void COptionDialog::slotThresholdConfirm( void )
{
bool state = mMisc.thresholdCheck->isChecked();
mMisc.thresholdLabel->setEnabled( state );
mMisc.thresholdSpin->setEnabled( state );
}
khexedit'COptionDialog::slotDefault() (./kdeutils/khexedit/optiondialog.cc:589)
void COptionDialog::slotDefault( void )
{
//
// We use the constructor settings as default values
//
switch( activePageIndex() )
{
case page_layout:
{
SDisplayLayout layout;
SDisplayLine line;
setLayout( layout, line );
}
break;
case page_cursor:
{
SDisplayCursor cursor;
setCursor( cursor );
}
break;
case page_color:
{
SDisplayColor color;
setColor( color );
}
break;
case page_font:
{
SDisplayFont font;
setFont( font );
}
break;
case page_file:
{
SDisplayMisc misc;
setFile( misc );
}
break;
case page_misc:
{
SDisplayMisc misc;
setMisc( misc );
}
break;
}
}
khexedit'COptionDialog::slotOk() (./kdeutils/khexedit/optiondialog.cc:642)
void COptionDialog::slotOk( void )
{
slotApply();
accept();
}
khexedit'COptionDialog::slotApply() (./kdeutils/khexedit/optiondialog.cc:648)
void COptionDialog::slotApply( void )
{
switch( activePageIndex() )
{
case page_layout:
{
int index = mLayout.formatCombo->currentItem();
mDisplayState.line.setLineSize(index, mLayout.lineSizeSpin->value());
mDisplayState.line.setColumnSize(index, mLayout.columnSizeSpin->value());
emit lineSizeChoice( mDisplayState.line );
SDisplayLayout &l = mDisplayState.layout;
l.lockLine = mLayout.lockLineCheck->isChecked();
l.lockColumn = mLayout.lockColumnCheck->isChecked();
l.leftSeparatorWidth = mLayout.leftSepWidthSpin->value();
l.rightSeparatorWidth = mLayout.rightSepWidthSpin->value();
l.separatorMarginWidth = mLayout.separatorSpin->value();
l.edgeMarginWidth = mLayout.edgeSpin->value();
l.leftSeparatorWidth = mLayout.leftSepWidthSpin->value();
l.rightSeparatorWidth = mLayout.rightSepWidthSpin->value();
l.columnCharSpace = mLayout.columnCheck->isChecked();
l.columnSpacing = mLayout.columnSepSpin->value();
if( mLayout.gridCombo->currentItem() == 0 )
{
l.horzGridWidth = l.vertGridWidth = 0;
}
else if( mLayout.gridCombo->currentItem() == 1 )
{
l.horzGridWidth = 0;
l.vertGridWidth = 1;
}
else if( mLayout.gridCombo->currentItem() == 2 )
{
l.horzGridWidth = 1;
l.vertGridWidth = 0;
}
else
{
l.horzGridWidth = l.vertGridWidth = 1;
}
emit layoutChoice( mDisplayState.layout );
}
break;
case page_cursor:
{
SDisplayCursor &c = mDisplayState.cursor;
c.alwaysVisible = mCursor.blinkCheck->isChecked();
c.interval = mCursor.blinkSpin->value();
c.alwaysBlockShape = mCursor.blockCheck->isChecked();
c.thickInsertShape = mCursor.thickCheck->isChecked();
c.focusMode = cursorFocusMode();
emit cursorChoice( mDisplayState.cursor );
}
break;
case page_color:
{
SDisplayColor &c = mDisplayState.color;
c.useSystemColor = mColor.checkSystem->isChecked();
c.textBg = mColor.colorList->color( SColorWidgets::FirstTextBg );
c.secondTextBg = mColor.colorList->color( SColorWidgets::SecondTextBg );
c.offsetBg = mColor.colorList->color( SColorWidgets::OffsetBg );
c.inactiveBg = mColor.colorList->color( SColorWidgets::InactiveBg );
c.markBg = mColor.colorList->color( SColorWidgets::MarkedBg );
c.markFg = mColor.colorList->color( SColorWidgets::MarkedFg );
c.primaryFg[0] = mColor.colorList->color( SColorWidgets::EvenColumnFg );
c.primaryFg[1] = mColor.colorList->color( SColorWidgets::OddColumnFg );
c.offsetFg = mColor.colorList->color( SColorWidgets::OffsetFg );
c.secondaryFg = mColor.colorList->color( SColorWidgets::SecondaryFg );
c.cursorBg = mColor.colorList->color( SColorWidgets::CursorBg );
c.cursorFg = mColor.colorList->color( SColorWidgets::CursorFg );
c.leftSeparatorFg = mColor.colorList->color(SColorWidgets::SeparatorFg);
c.rightSeparatorFg = mColor.colorList->color(SColorWidgets::SeparatorFg);
c.nonPrintFg = mColor.colorList->color( SColorWidgets::NonPrintFg );
c.gridFg = mColor.colorList->color( SColorWidgets::GridFg );
emit colorChoice( mDisplayState.color );
}
break;
case page_font:
{
SDisplayFont &f = mDisplayState.font;
f.useSystemFont = mFont.checkSystem->isChecked();
f.localFont = mFont.chooser->font();
const char *nonPrintText = mFont.nonPrintInput->text();
if( nonPrintText == 0 || strlen(nonPrintText) == 0 )
{
f.nonPrintChar = ' ';
}
else
{
f.nonPrintChar = nonPrintText[0];
}
emit fontChoice( mDisplayState.font );
}
break;
case page_file:
case page_misc:
{
SDisplayMisc &m = mDisplayState.misc;
m.undoLevel = mMisc.undoSpin->value();
m.autoCopyToClipboard = mMisc.autoCheck->isChecked();
m.insertMode = mMisc.insertCheck->isChecked();
m.inputSound = mMisc.inputCheck->isChecked();
m.confirmWrap = mMisc.confirmWrapCheck->isChecked();
m.cursorJump = mMisc.cursorJumpCheck->isChecked();
m.fatalSound = mMisc.fatalCheck->isChecked();
m.confirmThreshold = mMisc.thresholdCheck->isChecked();
m.thresholdValue = mMisc.thresholdSpin->value();
m.openFile = (SDisplayMisc::EOpenFile)mFile.openCombo->currentItem();
m.gotoOnStartup = mFile.gotoOffsetCheck->isChecked();
m.writeProtect = mFile.writeProtectCheck->isChecked();
m.gotoOnReload = mFile.reloadOffsetCheck->isChecked();
m.makeBackup = mFile.backupCheck->isChecked();
m.discardRecent = mFile.discardRecentCheck->isChecked();
emit miscChoice( mDisplayState.misc );
}
break;
}
}
khexedit'COptionDialog::setLayout() (./kdeutils/khexedit/optiondialog.cc:778)
void COptionDialog::setLayout( SDisplayLayout &layout, SDisplayLine &line )
{
mDisplayState.line = line;
mDisplayState.layout = layout;
slotModeSelectorChanged( mLayout.formatCombo->currentItem() );
mLayout.lockLineCheck->setChecked( layout.lockLine );
mLayout.lockColumnCheck->setChecked( layout.lockColumn );
mLayout.leftSepWidthSpin->setValue( layout.leftSeparatorWidth );
mLayout.rightSepWidthSpin->setValue( layout.rightSeparatorWidth );
mLayout.separatorSpin->setValue( layout.separatorMarginWidth );
mLayout.edgeSpin->setValue( layout.edgeMarginWidth );
mLayout.leftSepWidthSpin->setValue( layout.leftSeparatorWidth );
mLayout.rightSepWidthSpin->setValue( layout.rightSeparatorWidth );
mLayout.columnCheck->setChecked( layout.columnCharSpace );
slotColumnSepCheck( layout.columnCharSpace );
mLayout.columnSepSpin->setValue( layout.columnSpacing );
if( layout.horzGridWidth == 0 && layout.vertGridWidth == 0 )
{
mLayout.gridCombo->setCurrentItem(0);
}
else if( layout.horzGridWidth != 0 && layout.vertGridWidth != 0 )
{
mLayout.gridCombo->setCurrentItem(3);
}
else
{
mLayout.gridCombo->setCurrentItem( layout.vertGridWidth != 0 ? 1 : 2 );
}
}
khexedit'COptionDialog::setCursor() (./kdeutils/khexedit/optiondialog.cc:812)
void COptionDialog::setCursor( SDisplayCursor &cursor )
{
mDisplayState.cursor = cursor;
mCursor.blinkCheck->setChecked( cursor.alwaysVisible );
mCursor.blinkSpin->setValue( cursor.interval );
mCursor.blockCheck->setChecked( cursor.alwaysBlockShape );
mCursor.thickCheck->setChecked( cursor.thickInsertShape );
bool state = cursor.focusMode == SDisplayCursor::stopBlinking ? true : false;
mCursor.stopRadio->setChecked( state );
state = cursor.focusMode == SDisplayCursor::hide ? true : false;
mCursor.hideRadio->setChecked( state );
state = cursor.focusMode == SDisplayCursor::ignore ? true : false;
mCursor.nothingRadio->setChecked( state );
}
khexedit'COptionDialog::setColor() (./kdeutils/khexedit/optiondialog.cc:829)
void COptionDialog::setColor( SDisplayColor &color )
{
mDisplayState.color = color;
mColor.checkSystem->setChecked( color.useSystemColor );
mColor.colorList->setColor( SColorWidgets::FirstTextBg, color.textBg );
mColor.colorList->setColor( SColorWidgets::SecondTextBg, color.secondTextBg);
mColor.colorList->setColor( SColorWidgets::OffsetBg, color.offsetBg );
mColor.colorList->setColor( SColorWidgets::InactiveBg, color.inactiveBg );
mColor.colorList->setColor( SColorWidgets::MarkedBg, color.markBg );
mColor.colorList->setColor( SColorWidgets::MarkedFg, color.markFg );
mColor.colorList->setColor( SColorWidgets::EvenColumnFg, color.primaryFg[0]);
mColor.colorList->setColor( SColorWidgets::OddColumnFg, color.primaryFg[1] );
mColor.colorList->setColor( SColorWidgets::OffsetFg, color.offsetFg );
mColor.colorList->setColor( SColorWidgets::SecondaryFg, color.secondaryFg );
mColor.colorList->setColor( SColorWidgets::CursorBg, color.cursorBg );
mColor.colorList->setColor( SColorWidgets::CursorFg, color.cursorFg );
mColor.colorList->setColor(SColorWidgets::SeparatorFg,color.leftSeparatorFg);
mColor.colorList->setColor( SColorWidgets::NonPrintFg, color.nonPrintFg );
mColor.colorList->setColor( SColorWidgets::GridFg, color.gridFg );
}
khexedit'COptionDialog::setFont() (./kdeutils/khexedit/optiondialog.cc:852)
void COptionDialog::setFont( SDisplayFont &font )
{
mDisplayState.font = font;
mFont.checkSystem->setChecked( font.useSystemFont );
mFont.chooser->setFont( font.localFont, true );
char buf[2] = { font.nonPrintChar, 0 };
mFont.nonPrintInput->setText( buf );
}
khexedit'COptionDialog::setMisc() (./kdeutils/khexedit/optiondialog.cc:863)
void COptionDialog::setMisc( SDisplayMisc &misc )
{
mDisplayState.misc.undoLevel = misc.undoLevel;
mDisplayState.misc.inputSound = misc.inputSound;
mDisplayState.misc.fatalSound = misc.fatalSound;
mDisplayState.misc.autoCopyToClipboard = misc.autoCopyToClipboard;
mDisplayState.misc.insertMode = misc.insertMode;
mDisplayState.misc.confirmWrap = misc.confirmWrap;
mDisplayState.misc.cursorJump = misc.cursorJump;
mDisplayState.misc.confirmThreshold = misc.confirmThreshold;
mDisplayState.misc.thresholdValue = misc.thresholdValue;
mMisc.undoSpin->setValue( misc.undoLevel );
mMisc.inputCheck->setChecked( misc.inputSound );
mMisc.fatalCheck->setChecked( misc.fatalSound );
mMisc.autoCheck->setChecked( misc.autoCopyToClipboard );
mMisc.insertCheck->setChecked( misc.insertMode );
mMisc.confirmWrapCheck->setChecked( misc.confirmWrap );
mMisc.cursorJumpCheck->setChecked( misc.cursorJump );
mMisc.thresholdCheck->setChecked( misc.confirmThreshold );
mMisc.thresholdSpin->setValue( misc.thresholdValue );
slotThresholdConfirm();
}
khexedit'COptionDialog::setFile() (./kdeutils/khexedit/optiondialog.cc:890)
void COptionDialog::setFile( SDisplayMisc &misc )
{
mDisplayState.misc.openFile = misc.openFile;
mDisplayState.misc.gotoOnStartup = misc.gotoOnStartup;
mDisplayState.misc.writeProtect = misc.writeProtect;
mDisplayState.misc.gotoOnReload = misc.gotoOnReload;
mDisplayState.misc.discardRecent = misc.discardRecent;
mDisplayState.misc.makeBackup = misc.makeBackup;
mFile.openCombo->setCurrentItem( (uint)misc.openFile );
mFile.gotoOffsetCheck->setChecked( misc.gotoOnStartup );
mFile.writeProtectCheck->setChecked( misc.writeProtect );
mFile.reloadOffsetCheck->setChecked( misc.gotoOnReload );
mFile.discardRecentCheck->setChecked( misc.discardRecent );
mFile.backupCheck->setChecked( misc.makeBackup );
}
khexedit'COptionDialog::setState() (./kdeutils/khexedit/optiondialog.cc:908)
void COptionDialog::setState( SDisplayState &state )
{
setLayout( state.layout, state.line );
setCursor( state.cursor );
setColor( state.color );
setFont( state.font );
setFile( state.misc );
setMisc( state.misc );
}
SDisplayCursor::EFocusMode COptionDialog::cursorFocusMode( void )
{
if( mCursor.stopRadio->isChecked() == true )
{
return( SDisplayCursor::stopBlinking );
}
else if( mCursor.hideRadio->isChecked() == true )
{
return( SDisplayCursor::hide );
}
else
{
return( SDisplayCursor::ignore );
}
}