File: highlightingconfigpage.ui.h

package info (click to toggle)
kdevelop3 4%3A3.2.0-1
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 58,220 kB
  • ctags: 33,997
  • sloc: cpp: 278,404; ansic: 48,238; sh: 23,721; tcl: 19,882; perl: 5,498; makefile: 4,717; ruby: 1,610; python: 1,549; awk: 1,484; xml: 563; java: 359; php: 20; asm: 14; ada: 5; pascal: 4; fortran: 4; haskell: 2; sql: 1
file content (113 lines) | stat: -rw-r--r-- 3,440 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
/****************************************************************************
** ui.h extension file, included from the uic-generated form implementation.
**
** If you wish to add, delete or rename slots use Qt Designer which will
** update this file, preserving your code. Create an init() slot in place of
** a constructor, and a destroy() slot in place of a destructor.
*****************************************************************************/

#include "qeditor_view.h"
#include "qeditor_part.h"
#include "qsourcecolorizer.h"
#include <private/qrichtext_p.h>
#include <kdebug.h>
#include <kfontdialog.h>

using namespace std;

void HighlightingConfigPage::init()
{
    m_editor = 0;
}

void HighlightingConfigPage::destroy()
{
}

void HighlightingConfigPage::setEditor( QEditorPart* editor )
{
    m_editor = editor;

    if( !m_editor )
	return;

    // setup colorizer
    listElements->clear();
    QSourceColorizer* colorizer = m_editor->colorizer();
    QStringList styleList = colorizer->styleList();
    QStringList::Iterator it = styleList.begin();
    while( it != styleList.end() ){
	QTextFormat* fmt = colorizer->formatFromId( *it );
	m_map[ *it ] = qMakePair( fmt->font(), fmt->color() );
	++it;
    }
    listElements->insertStringList( styleList );
    listElements->setCurrentItem( 0 );
}

void HighlightingConfigPage::accept()
{
    QSourceColorizer* colorizer = m_editor->colorizer();
    colorizer->updateStyles( m_map );
}

void HighlightingConfigPage::slotUpdatePreview()
{
    kdDebug() << "HighlightingConfigPage::slotUpdatePreview()" << endl;

    QFont font( comboFontFamily->currentText(), spinFontSize->value() );
    font.setBold( checkBold->isChecked() );
    font.setItalic( checkItalic->isChecked() );
    font.setUnderline( checkUnderline->isChecked() );
    editPreview->setFont( font );

    QPalette pal = editPreview->palette();
    QColor color = buttonColor->color();
    pal.setColor( QPalette::Active, QColorGroup::Text,  color );
    pal.setColor( QPalette::Active, QColorGroup::Foreground, color );

    m_map[ listElements->currentText() ] = qMakePair( font, color );

    editPreview->setPalette( pal );
}


void HighlightingConfigPage::slotSelectionChanged()
{
    QString id = listElements->currentText();
    QFont font = m_map[ id ].first;
    QColor color = m_map[ id ].second;

    comboFontFamily->setCurrentFont( font.family() );
    spinFontSize->setValue( font.pointSize() );
    checkBold->setChecked( font.bold() );
    checkItalic->setChecked( font.italic() );
    checkUnderline->setChecked( font.underline() );
    buttonColor->setColor( color );
}


void HighlightingConfigPage::slotAdjustAllElements()
{
  QFont changes;
  int diffFlags = 0;
  if (KFontDialog::getFontDiff(changes, diffFlags)) {
      for(uint c=0;c<listElements->count();c++) {
	  QString id = listElements->text(c);
	  QFont font = m_map[ id ].first;
	  QColor color = m_map[ id ].second;
	  if (diffFlags & KFontChooser::FontDiffFamily)
	      font.setFamily( changes.family() );
	  if (diffFlags & KFontChooser::FontDiffStyle) {
 	      font.setWeight( changes.weight() );
	      font.setItalic( changes.italic() );
	      font.setStrikeOut( changes.strikeOut() );
	      font.setUnderline( changes.underline() );
	  }
	  if (diffFlags & KFontChooser::FontDiffSize)
	      font.setPointSize( changes.pointSize() );
	  m_map[ id ] = qMakePair(font, color);
      }
      slotSelectionChanged();
  }
}