Subversion Repositories Scribus

Rev

Rev 146 | Rev 249 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
3 paul 1
#include "reformdoc.h"
2
#include "reformdoc.moc"
3
extern QPixmap loadIcon(QString nam);
80 Franz 4
extern double UmReFaktor;
3 paul 5
 
80 Franz 6
ReformDoc::ReformDoc( QWidget* parent, double t, double l, double r, double b, double Pagebr, double Pageho, bool fp, bool fpe, int Einh)
3 paul 7
    : QDialog( parent, "r", true, 0 )
8
{
9
    QString ein;
173 Franz 10
        int decimals;
11
        einheit = Einh;
12
        switch (Einh)
13
                {
14
                case 0:
3 paul 15
                ein = " pt";
173 Franz 16
                        decimals = 100;
17
                        break;
18
                case 1:
3 paul 19
                ein = " mm";
173 Franz 20
                        decimals = 1000;
21
                        break;
22
                case 2:
3 paul 23
                ein = " in";
173 Franz 24
                        decimals = 10000;
25
                        break;
26
                case 3:
3 paul 27
                ein = " p";
173 Franz 28
                        decimals = 100;
29
                        break;
30
                }
31
        Breite = Pagebr * UmReFaktor;
32
        Hoehe = Pageho * UmReFaktor;
3 paul 33
    setCaption( tr( "Document Setup" ) );
83 Franz 34
        setIcon(loadIcon("AppIcon.png"));
3 paul 35
    ReformDocLayout = new QVBoxLayout( this );
36
    ReformDocLayout->setSpacing( 6 );
37
    ReformDocLayout->setMargin( 10 );
38
    GroupBox7 = new QGroupBox( this, "GroupBox7" );
39
    GroupBox7->setTitle( tr( "Margin Guides" ) );
40
    GroupBox7->setColumnLayout(0, Qt::Vertical );
41
    GroupBox7->layout()->setSpacing( 0 );
42
    GroupBox7->layout()->setMargin( 0 );
43
    GroupBox7Layout = new QHBoxLayout( GroupBox7->layout() );
44
    GroupBox7Layout->setAlignment( Qt::AlignTop );
45
    GroupBox7Layout->setSpacing( 0 );
46
    GroupBox7Layout->setMargin( 10 );
47
    Layout4 = new QGridLayout;
48
    Layout4->setSpacing( 6 );
49
    Layout4->setMargin( 0 );
50
    TextLabel5 = new QLabel( GroupBox7, "TextLabel5" );
51
    TextLabel5->setText( tr( "Top:" ) );
52
    Layout4->addWidget( TextLabel5, 0, 0 );
173 Franz 53
                TopR = new MSpinBox( GroupBox7, 4 );
3 paul 54
    TopR->setSuffix( ein );
173 Franz 55
        TopR->setDecimals( decimals );
36 Franz 56
                TopR->setMaxValue(Hoehe);
146 Franz 57
    TopR->setValue(t * UmReFaktor);
3 paul 58
    Layout4->addWidget( TopR, 0, 1 );
59
    Links = new QLabel( GroupBox7, "Links" );
60
    Links->setText( tr( "Left:" ) );
61
    Layout4->addWidget( Links, 0, 2 );
173 Franz 62
                LeftR = new MSpinBox( GroupBox7, 4 );
3 paul 63
    LeftR->setSuffix( ein );
173 Franz 64
        LeftR->setDecimals( decimals );
36 Franz 65
                LeftR->setMaxValue(Breite);
146 Franz 66
    LeftR->setValue(l * UmReFaktor);
3 paul 67
    Layout4->addWidget( LeftR, 0, 3 );
68
    TextLabel7 = new QLabel( GroupBox7, "TextLabel7" );
69
    TextLabel7->setText( tr( "Bottom:" ) );
70
    Layout4->addWidget( TextLabel7, 1, 0 );
173 Franz 71
                BottomR = new MSpinBox( GroupBox7, 4 );
3 paul 72
    BottomR->setSuffix( ein );
173 Franz 73
        BottomR->setDecimals( decimals );
36 Franz 74
                BottomR->setMaxValue(Hoehe);
146 Franz 75
    BottomR->setValue(b * UmReFaktor);
3 paul 76
    Layout4->addWidget( BottomR, 1, 1 );
77
    Rechts = new QLabel( GroupBox7, "Rechts" );
78
    Rechts->setText( tr( "Right:" ) );
79
    Layout4->addWidget( Rechts, 1, 2 );
173 Franz 80
                RightR = new MSpinBox( GroupBox7, 4 );
3 paul 81
    RightR->setSuffix( ein );
173 Franz 82
        RightR->setDecimals( decimals );
36 Franz 83
                RightR->setMaxValue(Breite);
146 Franz 84
    RightR->setValue(r * UmReFaktor);
3 paul 85
    Layout4->addWidget( RightR, 1, 3 );
86
    Doppelseiten = new QCheckBox( GroupBox7, "Doppelseiten" );
87
    Doppelseiten->setText( tr( "Facing Pages" ) );
88
    Doppelseiten->setChecked( fp );
89
    Layout4->addMultiCellWidget( Doppelseiten, 2, 2, 0, 1 );
90
    ErsteSeite = new QCheckBox( GroupBox7, "n" );
91
    ErsteSeite->setText( tr( "Left Page first" ) );
92
    ErsteSeite->setChecked( fpe );
93
    Layout4->addMultiCellWidget( ErsteSeite, 2, 2, 2, 3 );
94
    if (!fp)
95
        ErsteSeite->setEnabled(false);
96
    setDS();
97
    GroupBox7Layout->addLayout( Layout4 );
98
    ReformDocLayout->addWidget( GroupBox7 );
99
    Layout3 = new QHBoxLayout;
100
    Layout3->setSpacing( 6 );
101
    Layout3->setMargin( 0 );
102
    OKButton = new QPushButton( this, "OKButton" );
103
    OKButton->setText( tr( "OK" ) );
104
    OKButton->setDefault( true );
105
    Layout3->addWidget( OKButton );
106
    QSpacerItem* spacer = new QSpacerItem( 20, 20, QSizePolicy::Expanding, QSizePolicy::Minimum );
107
    Layout3->addItem( spacer );
108
    CancelB = new QPushButton( this, "CancelB" );
109
    CancelB->setText( tr( "Cancel" ) );
110
    CancelB->setAutoDefault( false );
111
    Layout3->addWidget( CancelB );
112
    ReformDocLayout->addLayout( Layout3 );
36 Franz 113
                RightR->setMaxValue(Breite - LeftR->value());
114
                LeftR->setMaxValue(Breite - RightR->value());
115
                TopR->setMaxValue(Hoehe - BottomR->value());
116
                BottomR->setMaxValue(Hoehe - TopR->value());
3 paul 117
 
118
    // signals and slots connections
119
    connect( Doppelseiten, SIGNAL( clicked() ), this, SLOT( setDS() ) );
120
    connect( OKButton, SIGNAL( clicked() ), this, SLOT( accept() ) );
121
    connect( CancelB, SIGNAL( clicked() ), this, SLOT( reject() ) );
36 Franz 122
                connect(TopR, SIGNAL(valueChanged(int)), this, SLOT(setTop(int)));
123
                connect(BottomR, SIGNAL(valueChanged(int)), this, SLOT(setBottom(int)));
124
                connect(LeftR, SIGNAL(valueChanged(int)), this, SLOT(setLeft(int)));
125
                connect(RightR, SIGNAL(valueChanged(int)), this, SLOT(setRight(int)));
3 paul 126
}
127
 
36 Franz 128
void ReformDoc::setTop(int v)
129
{
130
        BottomR->setMaxValue(Hoehe - TopR->value());
131
}
3 paul 132
 
36 Franz 133
void ReformDoc::setBottom(int v)
134
{
135
        TopR->setMaxValue(Hoehe - BottomR->value());
136
}
137
 
138
void ReformDoc::setLeft(int v)
139
{
140
        RightR->setMaxValue(Breite - LeftR->value());
141
}
142
 
143
void ReformDoc::setRight(int v)
144
{
145
        LeftR->setMaxValue(Breite - RightR->value());
146
}
147
 
3 paul 148
void ReformDoc::setDS()
149
{
150
    if (Doppelseiten->isChecked())
151
        {
152
        Links->setText( tr( "Inside:" ) );
153
        Rechts->setText( tr( "Outside:" ) );
154
        ErsteSeite->setEnabled(true);          
155
        }
156
    else
157
        {
158
        Links->setText( tr( "Left:" ) );
159
        Rechts->setText( tr( "Right:" ) );
160
        ErsteSeite->setEnabled(false);
161
        }
162
}
163